FEHM icon indicating copy to clipboard operation
FEHM copied to clipboard

NON DARCY Code merge with George's new files

Open millerta opened this issue 11 months ago • 3 comments

Files from George Z. for non darcy codes and tests to be merged with last release. Files sent from George: /project/eesdev/FEHM/from_george/NONDARCY_PKG_jan2025/NONDARCY_PKG_LANL_280125

Missing files found in full project: /project/eesdev/FEHM/from_george/NONDARCY_PKG_jan2025/FEHM3.6_VER_HP_wo_tests/FEHM3.6_VER_HP_240125/src_050924

Important these files with George's names replace master with correct names: input_w_nondarcy_2.f copied to input.f gensl2_w_nondarcy.f copied to gensl2.f

Summary of code changes

First files sent from George:

New: com_nondarcy.f - new use module with non-darcy variables innondarcy.f - new subroutine to read in non-darcy flow parameter geneq2_nondarcy.f - new subroutine that assembles discrete equations

Modified with George's name, rename to master names: gensl2.f = gensl2_w_nondarcy.f - added coding for enabling and testing non-darcy flow input.f = input_w_nondarcy.f - added coding for input of non-darcy flow, use com_nondarcy, allocate hdflow, enable macro ndar for non darcy

Modified: airctr.f - added arrays related to non-darcy flow allocmem.f - none (changed date only) bnswer.f - added iad_min_sv (minimum NR iteration if changed during simulation) add a line for debugging(disabled) comai.f - added addiad_min_sv comji.f - added small array for non-darcy application fehmn.f - change and add write statements and parsing for vtk fluid_prop_control.f - corrected small error related to vapor pressue memory for non-darcy isothermal flow, n_allocate_iso added and replaces some n_allocate variables gradctr.f - fixed error when using saved zones and 'grad' keyword inpres.f - minor changed date plot_new.f - corrected error for history plot of sir pressure structured.f - init ifdm_elem = 0 thrair.f - allocated variables needed for non-darcy flow

Files from George's project merged with master:

inflow.f - calls hdbc_mod and pflow comdi.f - define hdflow flow_boundary_conditions.f - init hdflow to tempb and call hdbc_mod mainrip.f - corrected so src has PC version, GFORTRAN has UNIX version Sub_FEHM_tec_to_vtk.f - fixed bad characters appearing in vtk log file name steady.f - add pdifmax_old for max calculations zone.f - add subroutine hdbc_mod and additions for BC or zones elevation mismatch

Files fixed for linux by removing long lines and change 0.0 to 0.0d0 in arguments. compute_exit_new.f fem_elastic_stiffness.f rdcon.f rlperm.f setconnarray.f stressperm_24.f sub_bcgstabnn.f

Build files for Linux: Makefile and Makefile.depends Build file for WINDOWS: FEHM3.6_VER2.vfproj (rename to FEHM3.6_VER3.vfproj)

millerta avatar Feb 25 '25 22:02 millerta

Update from George Feb 13 2025

I have the latest GitHub FEHM Intel project up and running. All good with some subtle differences with the latest non-GitHub version I have. I have a 2D seepage face problem that I don't believe is in the verification suite. To get the same total water mass comparison (aka mass balance error) I had to fiddle with the Impedance factor in the flo3 macro. Not a big deal but I need to know why.

millerta avatar Feb 25 '25 22:02 millerta

Update Received from George Jun 16 2025 Put on new branch gaz-nondarcy2 by tamiller Copied to local space at /project/eesdev/FEHM/from_george/SRC_150625/ Working on merge at /project/eesdev/FEHM/FEHM_BRANCHES/FEHM_gaz-nondarcy2/src

Hi Terry and Phil. I am trying to get the new source to you pretty fast because I think it will improve a majority of the ndar problems.

Comments:

  1. Fixed the VTK issue where FEHM crashes sometimes after the simulation has finished (igeo must be "1" to generate an element list, I insured this internally)

  2. Corrected bugs in isothermal 2-phase flow with ndar. (included single phase as well).

  3. Added heat and mass (water) 2- phase ndar flow.

  4. I ran the V+V that I have. All tests passed except Richards Eq and "barometric". I think Richards Eq does work, but the pearl scripts do not seem to find the output they need ( I'll check more).

     airctr_a.f added code for testing and debugging
     allocmem.f allocated array t5_nd (holds area term necessary for ndar)
     com_nondarcy.f added variables xrl_nd, xrv_nd to track ndar rel perms
     comci.f added arrays rlf_nd(:) and other rel perm arrays used fo ndar
     comji.f added arrays t5_nd(:) t8_nd(:) t9_nd(:) for ndar
     fehmn.f can't find any changes for this time period
     geneq1_w_nondarcy_c.f major new ndar subroutine  added use com_nondarcy, added ndar local variables
     geneq2_nondarcy_c3.f corrected ndar derivative bugs
     gensl1_w_nondarcy.f   added call to geneq1_w_nondarcy
     gensl2_w_nondarcy_a.f modified the way fully saturated flow accumulation term is assembled
     innondarcy.f allocate rlf_nd and related arrays if ndar simulations
     input_w_nondarcy_2.f added use file to allow iogeo to be used (a fix for vtk, vtk always needs geometry)
     non_darcy_subroutines_b3.f added coding for ndar WH 2-phase flow derivatives
     plot_new.f corrected bug for cap presssure when flow if saturated only flow
     read_avs_io.f parameter igeo now set in scanin, igeo = 1 is necessary for vtk
     storsx_read.f can't find change
     thermw.f added coding to save rel perm data for use in equation generation with ndar
     thrair_c.f modified coding to save rel perm data for ndar
    

millerta avatar Jun 16 '25 16:06 millerta

rename based on subroutines matched to github src files: /project/eesdev/FEHM/from_george/SRC_150625/SRC_150625/src_renamed

New files: geneq1_w_nondarcy.f with subroutine geneq1_w_nondarcy() non_darcy_subroutines.f with nd_flow_vel() and nd_props() that used to be in geneq2_nondarcy.f

mv geneq2_nondarcy_c3.f geneq2_nondarcy.f mv non_darcy_subroutines_b3.f non_darcy_subroutines.f mv airctr_a.f airctr.f mv geneq1_w_nondarcy_c.f geneq1_w_nondarcy.f mv gensl1_w_nondarcy.f gensl1.f mv gensl2_w_nondarcy_a.f gensl2.f mv input_w_nondarcy_2.f input.f mv thrair_c.f thrair.f

millerta avatar Jun 17 '25 15:06 millerta