Files
3D_EDFM_SIM-X/docs/parameter_registry.md
T
2026-04-01 18:58:03 +08:00

24 KiB

Parameter Registry

This registry maps the current hard-coded parameters to a unified config structure. It is intentionally field-oriented so the future GUI can be built against a stable schema.

Conventions

  • Config Path: target field in the unified config
  • Source Variable: current variable name in code
  • Source File: current MATLAB file where the parameter is defined
  • Cases: which example folders currently use the field
  • Editable: whether the GUI should expose the field
  • Notes: behavior, enum meaning, or shape

Meta

Config Path Source Variable Source File Cases Editable Notes
meta.case_name none template-level all yes Display name
meta.case_id none template-level all yes Stable preset ID
meta.description none template-level all yes Free text
meta.source_case_folder folder name template-level all no Traceability
meta.created_from_template none template-level all no Preset source
meta.version none config system all no Schema version

Model

Config Path Source Variable Source File Cases Editable Notes
model.grid_model grid_model main1.m 1-7 yes 1 SP, 2 DP
model.flow_model flow_model main1.m 1-7 yes 1 gas-water, 2 oil-water, 3 multi-component

Current GUI/runtime simplification:

  • modelflag has been removed from the editable config schema.
  • Runtime always uses modelflag = 1.

Grid Geometry

Config Path Source Variable Source File Cases Editable Notes
grid.dx dx main1.m 1-7 yes Vector
grid.dy dy main1.m 1-7 yes Vector
grid.dz dz main1.m 1-7 yes Vector
grid.nx nx main1.m 1-7 no Derived from dx
grid.ny ny main1.m 1-7 no Derived from dy
grid.nz nz main1.m 1-7 no Derived from dz
grid.NTG NTG main1.m 1-7 no Array sized nx*ny*nz

Derived fields produced by GridProp_pre.m:

  • grid.coordinates
  • grid.nodes
  • grid.nP
  • grid.nmc
  • grid.dxv
  • grid.dyv
  • grid.dzv
  • grid.zm
  • grid.vm
  • grid.xrao
  • grid.yrao
  • grid.zrao
  • grid.cell_mid_coords

Fracture Input

Config Path Source Variable Source File Cases Editable Notes
fracture.input_content input_content main1.m 1-7 yes Engineering fracture table
fracture.f f main1.m / helper outputs 1-7 advanced Vector fracture representation
fracture.fellip fellip main1.m / helper outputs 1-7 advanced Elliptic fractures
fracture.frac_information frac_information helper outputs 1-7 no Generated by helper functions
fracture.nf nf main1.m 1-7 no Derived fracture count

Current GUI/runtime simplification:

  • FractureInputStyle has been removed from the editable config schema.
  • Runtime always uses the engineering-table path that reads fracture.input_content.
  • fractureLines, fractureHeights, and flowBarrierFlags have been removed from the editable schema.

Discretization Selection

Config Path Source Variable Source File Cases Editable Notes
discretization.mode grid_model main1.m 1-7 yes Mirrors model.grid_model
discretization.use_operator implicit main1.m 1-7 no OperatorRS is always called currently

SP Rock And Boundary Parameters

These are critical editable parameters and were previously undercounted.

Config Path Source Variable Source File Cases Editable Notes
discretization.sp.boundary_polygon boundary grid_discretization_SP_model.m 1 yes Irregular domain polygon
discretization.sp.invalid_layer invalid_layer grid_discretization_SP_model.m 1,2,4,5,6,7 yes Layer indices disabled from simulation
discretization.sp.valid_grids valid_grids grid_discretization_SP_model.m 1,2,4,5,6,7 no Derived from boundary/layers
discretization.sp.matrix.kx kx grid_discretization_SP_model.m 1,2,4,5,6,7 yes Array or generated field
discretization.sp.matrix.ky ky grid_discretization_SP_model.m 1,2,4,5,6,7 yes Array or generated field
discretization.sp.matrix.kz kz grid_discretization_SP_model.m 1,2,4,5,6,7 yes Array or generated field
discretization.sp.matrix.pori pori grid_discretization_SP_model.m 1,2,4,5,6,7 yes Array or generated field
discretization.sp.matrix.prpor prpor grid_discretization_SP_model.m 1,2,4,5,6,7 yes Matrix reference pressure
discretization.sp.matrix.cpor cpor grid_discretization_SP_model.m 1,2,4,5,6,7 yes Matrix compressibility
discretization.sp.matrix.rock_density rock_density / density_rock grid_discretization_SP_model.m 1,2,4,5,6,7 yes Naming is inconsistent across cases
discretization.sp.fracture.Kf Kf grid_discretization_SP_model.m 1,2,4,5,6,7 yes Fracture permeability
discretization.sp.fracture.Wf Wf grid_discretization_SP_model.m 1,2,4,5,6,7 yes Fracture aperture
discretization.sp.fracture.Porf Porf grid_discretization_SP_model.m 1,2,4,5,6,7 yes Fracture porosity
discretization.sp.fracture.prporf prporf grid_discretization_SP_model.m 1,2,4,5,6,7 yes Fracture reference pressure
discretization.sp.fracture.cporf cporf grid_discretization_SP_model.m 1,2,4,5,6,7 yes Fracture compressibility
discretization.sp.stress.fracture_factor stress_factor_fracture grid_discretization_SP_model.m 1,2,4,5,6,7 yes Stress sensitivity
discretization.sp.stress.matrix_factor stress_factor_matrix grid_discretization_SP_model.m 1,2,4,5,6,7 yes Stress sensitivity
discretization.sp.stress.ref_pressure stress_factor_ref_pressure grid_discretization_SP_model.m 1,2,4,5,6,7 yes Reference pressure
discretization.sp.stress.Rpt Rpt grid_discretization_SP_model.m 1,2,4,5,6,7 yes Unknown
discretization.sp.stress.cf cf grid_discretization_SP_model.m 1,2,4,5,6,7 yes Unknown
discretization.sp.stress.ca ca grid_discretization_SP_model.m 1,2,4,5,6,7 yes Unknown

Case-specific notes:

  • Case 1 uses spatial functions and an irregular polygon boundary.
  • Cases 2 and 4 use invalid_layer to deactivate the second layer when applicable.
  • Cases 5 and 7 use different constant matrix properties than cases 2, 4, and 6.

DP Rock Parameters

Config Path Source Variable Source File Cases Editable Notes
discretization.dp.fracture_layer.kx kx grid_discretization_DP_model.m 3 yes Dual-medium fracture layer
discretization.dp.fracture_layer.ky ky grid_discretization_DP_model.m 3 yes Dual-medium fracture layer
discretization.dp.fracture_layer.kz kz grid_discretization_DP_model.m 3 yes Dual-medium fracture layer
discretization.dp.fracture_layer.pori pori grid_discretization_DP_model.m 3 no Dual-medium fracture layer porosity
discretization.dp.matrix_layer.kx kx_matrixLayer grid_discretization_DP_model.m 3 yes Matrix layer permeability
discretization.dp.matrix_layer.ky ky_matrixLayer grid_discretization_DP_model.m 3 yes Matrix layer permeability
discretization.dp.matrix_layer.kz kz_matrixLayer grid_discretization_DP_model.m 3 yes Matrix layer permeability
discretization.dp.matrix_layer.pori pori_matrixLayer grid_discretization_DP_model.m 3 yes Matrix layer porosity
discretization.dp.shape_factor sigma grid_discretization_DP_model.m 3 yes Interporosity shape factor
discretization.dp.valid_grids valid_grids grid_discretization_DP_model.m 3 no All ones in current example
discretization.dp.NTG NTG grid_discretization_DP_model.m 3 yes Reassigned in file
discretization.dp.prpor prpor grid_discretization_DP_model.m 3 yes Reference pressure
discretization.dp.cpor cpor grid_discretization_DP_model.m 3 yes Compressibility
discretization.dp.fracture.Kf Kf grid_discretization_DP_model.m 3 yes Fracture permeability
discretization.dp.fracture.Wf Wf grid_discretization_DP_model.m 3 yes Fracture aperture
discretization.dp.fracture.Porf Porf grid_discretization_DP_model.m 3 yes Fracture porosity
discretization.dp.fracture.prporf prporf grid_discretization_DP_model.m 3 yes Fracture reference pressure
discretization.dp.fracture.cporf cporf grid_discretization_DP_model.m 3 yes Fracture compressibility
discretization.dp.stress.fracture_factor stress_factor_fracture grid_discretization_DP_model.m 3 yes Stress sensitivity
discretization.dp.stress.matrix_factor stress_factor_matrix grid_discretization_DP_model.m 3 yes Stress sensitivity
discretization.dp.stress.ref_pressure stress_factor_ref_pressure grid_discretization_DP_model.m 3 yes Reference pressure
discretization.dp.rock_density rock_density grid_discretization_DP_model.m 3 yes Rock density
discretization.dp.Rpt Rpt grid_discretization_DP_model.m 3 yes Unknown
discretization.dp.cf cf grid_discretization_DP_model.m 3 yes Unknown
discretization.dp.ca ca grid_discretization_DP_model.m 3 yes Unknown

Flow: Gas-Water

Config Path Source Variable Source File Cases Editable Notes
flow.gas_water.gas_prop.VL gas_prop.VL gas_water_flow.m 4 yes Langmuir volume
flow.gas_water.gas_prop.PL gas_prop.PL gas_water_flow.m 4 yes Langmuir pressure
flow.gas_water.gas_prop.Kn gas_prop.Kn gas_water_flow.m 4 yes Knudsen number
flow.gas_water.gas_prop.Kn_modified_factor gas_prop.Kn_modified_factor gas_water_flow.m 4 no Derived
flow.gas_water.gas_prop.beta_non_darcy_flow gas_prop.beta_non_Darcy_flow gas_water_flow.m 4 yes High-velocity term
flow.gas_water.p_grad_threshold p_grad_threshold gas_water_flow.m 4 yes Threshold pressure gradient
flow.gas_water.density_g_sc density_g_sc gas_water_flow.m 4 yes Gas density at standard conditions
flow.gas_water.density_w_sc density_w_sc gas_water_flow.m 4 yes Water density at standard conditions
flow.gas_water.gas_model gas_model gas_water_flow.m 4 yes 1 generated PVT, 2 tabulated PVT
flow.gas_water.prg prg gas_water_flow.m 4 yes Only in model 1
flow.gas_water.Bgi Bgi gas_water_flow.m 4 yes Only in model 1
flow.gas_water.cg cg gas_water_flow.m 4 yes Only in model 1
flow.gas_water.vgi vgi gas_water_flow.m 4 yes Only in model 1
flow.gas_water.cvg cvg gas_water_flow.m 4 yes Only in model 1
flow.gas_water.Ppr Ppr gas_water_flow.m 4 yes Table or generated
flow.gas_water.BG BG gas_water_flow.m 4 yes Table or generated
flow.gas_water.MUG MUG gas_water_flow.m 4 yes Table or generated
flow.gas_water.prw prw gas_water_flow.m 4 yes Water reference pressure
flow.gas_water.Bwi Bwi gas_water_flow.m 4 yes Water volume factor
flow.gas_water.cw cw gas_water_flow.m 4 yes Water compressibility
flow.gas_water.vwi vwi gas_water_flow.m 4 yes Water viscosity
flow.gas_water.cvw cvw gas_water_flow.m 4 yes Water viscosity-pressure coefficient
flow.gas_water.ifpcgl ifpcgl gas_water_flow.m 4 yes Capillary pressure switch
flow.gas_water.matrix_relperm_table RPGW gas_water_flow.m 4 yes Matrix table
flow.gas_water.fracture_relperm_table PRF gas_water_flow.m 4 yes Fracture table

Flow: Oil-Water

Config Path Source Variable Source File Cases Editable Notes
flow.oil_water.density_o_sc density_o_sc oil_water_flow.m 5,6,7 yes Oil density
flow.oil_water.density_w_sc density_w_sc oil_water_flow.m 5,6,7 yes Water density
flow.oil_water.oil_model oil_model oil_water_flow.m 5,6,7 yes 1 generated PVT, 2 tabulated
flow.oil_water.pro pro oil_water_flow.m 5,6,7 yes Oil ref pressure
flow.oil_water.Boi Boi oil_water_flow.m 5,6,7 yes Oil volume factor
flow.oil_water.co co oil_water_flow.m 5,6,7 yes Oil compressibility
flow.oil_water.voi voi oil_water_flow.m 5,6,7 yes Oil viscosity
flow.oil_water.cvo cvo oil_water_flow.m 5,6,7 yes Oil viscosity-pressure coefficient
flow.oil_water.Ppr Ppr oil_water_flow.m 5,6,7 yes Table or generated
flow.oil_water.BO BO oil_water_flow.m 5,6,7 yes Table or generated
flow.oil_water.MUO MUO oil_water_flow.m 5,6,7 yes Table or generated
flow.oil_water.prw prw oil_water_flow.m 5,6,7 yes Water ref pressure
flow.oil_water.Bwi Bwi oil_water_flow.m 5,6,7 yes Water volume factor
flow.oil_water.cw cw oil_water_flow.m 5,6,7 yes Water compressibility
flow.oil_water.vwi vwi oil_water_flow.m 5,6,7 yes Water viscosity
flow.oil_water.cvw cvw oil_water_flow.m 5,6,7 yes Water viscosity-pressure coefficient
flow.oil_water.ifpcow ifpcow oil_water_flow.m 5,6,7 yes Capillary pressure switch
flow.oil_water.matrix_relperm_table PRM oil_water_flow.m 5,6,7 yes Matrix table
flow.oil_water.fracture_relperm_table PRF oil_water_flow.m 5,6,7 yes Fracture table
flow.oil_water.beta_non_darcy_flow beta_non_Darcy_flow oil_water_flow.m 5,6,7 yes Non-Darcy coefficient
flow.oil_water.p_grad_threshold p_grad_threshold oil_water_flow.m 5,6,7 yes Threshold gradient

Flow: Multi-Component

Config Path Source Variable Source File Cases Editable Notes
flow.multi_component.Ds Ds multi_component_flow.m 1,2,3 yes Surfactant diffusion
flow.multi_component.Db Db multi_component_flow.m 1,2,3 yes Salt diffusion
flow.multi_component.c_ca_table c_ca_table multi_component_flow.m 1,2,3 yes Adsorption table
flow.multi_component.cs_data cs_data multi_component_flow.m 1,2,3 no Derived from table
flow.multi_component.cb_data cb_data multi_component_flow.m 1,2,3 no Derived from table
flow.multi_component.csa_data csa_data multi_component_flow.m 1,2,3 no Derived from table
flow.multi_component.cba_data cba_data multi_component_flow.m 1,2,3 no Derived from table
flow.multi_component.R R multi_component_flow.m 1,2,3 yes Chemistry constant
flow.multi_component.Vm Vm multi_component_flow.m 1,2,3 yes Molar volume
flow.multi_component.Temperature Temperature multi_component_flow.m 1,2,3 yes Temperature
flow.multi_component.chemistry_cof chemistry_cof multi_component_flow.m 1,2,3 no Derived
flow.multi_component.x_matrix!!!! xm multi_component_flow.m 1,2,3 yes Chemistry activity factor for matrix cells
flow.multi_component.x_fracture!!! xf multi_component_flow.m 1,2,3 yes Chemistry activity factor for fracture cells
flow.multi_component.cs_Nc cs_Nc multi_component_flow.m 1,2,3 yes Dynamic relative permeability mapping
flow.multi_component.Nc_nosurf Nc_nosurf multi_component_flow.m 1,2,3 no Derived
flow.multi_component.Nc_surf Nc_surf multi_component_flow.m 1,2,3 no Derived
flow.multi_component.kr_nosurf kr_nosurf multi_component_flow.m 1,2,3 yes Relative permeability table
flow.multi_component.kr_surf kr_surf multi_component_flow.m 1,2,3 yes Relative permeability table
flow.multi_component.PC PC multi_component_flow.m 1,2,3 yes Capillary pressure table
flow.multi_component.cs_Nc_fracture cs_Nc_fracture multi_component_flow.m 1,2,3 yes Fracture table
flow.multi_component.kr_nosurf_fracture kr_nosurf_fracture multi_component_flow.m 1,2,3 yes Fracture table
flow.multi_component.kr_surf_fracture kr_surf_fracture multi_component_flow.m 1,2,3 yes Fracture table
flow.multi_component.PC_fracture PC_fracture multi_component_flow.m 1,2,3 yes Fracture capillary table
flow.multi_component.ifpcgl ifpcgl multi_component_flow.m 1,2,3 yes Capillary pressure switch
flow.multi_component.p_grad_threshold p_grad_threshold multi_component_flow.m 1,2,3 yes Threshold gradient
flow.multi_component.gas_prop.VL gas_prop.VL multi_component_flow.m 1,2,3 yes Often zero for oil-like use
flow.multi_component.gas_prop.PL gas_prop.PL multi_component_flow.m 1,2,3 yes Langmuir pressure
flow.multi_component.gas_prop.Kn gas_prop.Kn multi_component_flow.m 1,2,3 yes Knudsen number
flow.multi_component.gas_prop.Kn_modified_factor gas_prop.Kn_modified_factor multi_component_flow.m 1,2,3 no Derived
flow.multi_component.gas_prop.stress_factor_fracture gas_prop.stress_factor_fracture multi_component_flow.m 1,2,3 yes Present in case-specific flow files
flow.multi_component.gas_prop.stress_factor_matrix gas_prop.stress_factor_matrix multi_component_flow.m 1,2,3 yes Present in case-specific flow files
flow.multi_component.gas_prop.stress_factor_ref_pressure gas_prop.stress_factor_ref_pressure multi_component_flow.m 1,2,3 yes Present in case-specific flow files
flow.multi_component.gas_prop.beta_non_darcy_flow gas_prop.beta_non_Darcy_flow multi_component_flow.m 1,2,3 yes Non-Darcy coefficient
flow.multi_component.density_g_sc density_g_sc multi_component_flow.m 1,2,3 yes Standard density
flow.multi_component.gas_model gas_model multi_component_flow.m 1,2,3 yes 1 generated, 2 tabulated
flow.multi_component.prg prg multi_component_flow.m 1,2,3 yes Ref pressure
flow.multi_component.Bgi Bgi multi_component_flow.m 1,2,3 yes Volume factor
flow.multi_component.cg cg multi_component_flow.m 1,2,3 yes Compressibility
flow.multi_component.vgi vgi multi_component_flow.m 1,2,3 yes Viscosity
flow.multi_component.cvg cvg multi_component_flow.m 1,2,3 yes Viscosity-pressure coefficient
flow.multi_component.Ppr Ppr multi_component_flow.m 1,2,3 yes Table or generated
flow.multi_component.BG BG multi_component_flow.m 1,2,3 yes Table or generated
flow.multi_component.MUG MUG multi_component_flow.m 1,2,3 yes Table or generated
flow.multi_component.density_w_sc density_w_sc multi_component_flow.m 1,2,3 yes Water density
flow.multi_component.prw prw multi_component_flow.m 1,2,3 yes Water ref pressure
flow.multi_component.Bwi Bwi multi_component_flow.m 1,2,3 yes Water volume factor
flow.multi_component.cw cw multi_component_flow.m 1,2,3 yes Water compressibility
flow.multi_component.vwi vwi multi_component_flow.m 1,2,3 yes Water viscosity
flow.multi_component.cvw cvw multi_component_flow.m 1,2,3 yes Water viscosity-pressure coefficient
flow.multi_component.number_state_variables number_state_variables multi_component_flow.m 1,2,3 no Fixed as 4 in current code

Initial Conditions

Config Path Source Variable Source File Cases Editable Notes
initial.pressure P flow files 1-7 yes Initial pressure array
initial.sw Sw flow files 1-7 yes Initial water saturation array
initial.cs Cs multi_component_flow.m 1,2,3 yes Initial surfactant concentration
initial.cb Cb multi_component_flow.m 1,2,3 yes Initial salt concentration

Wells

Config Path Source Variable Source File Cases Editable Notes
wells.well1 well1 main1.m 1-7 yes Conventional wells table
wells.num_fracture_wells num_fracture_wells main1.m 1-7 yes Count
wells.welloc welloc main1.m 1-7 yes Fracture well coordinates
wells.perfnum perfnum helper output 1-7 no Derived from findWelloc
wells.well2 well2 main1.m 1-7 yes Fracture-well table
wells.Wellc Wellc helper output 1-7 no Combined runtime structure

Conventional well row shape:

  • well name
  • perforation count
  • perforation grid index matrix
  • well radius
  • skin
  • well type

Fracture-well row shape:

  • well name
  • perforation count
  • perforation indices
  • well radius
  • skin
  • well type

Schedule

Config Path Source Variable Source File Cases Editable Notes
schedule.number_phases number_phases main1.m 1-7 yes Stage count
schedule.well_schedules well_schedules main1.m 1-7 yes Per-stage control rows
schedule.time time main1.m 1-7 yes Stage duration vector
schedule.dtmax dtmax main1.m 1-7 yes Max timestep per stage
schedule.dtmin dtmin main1.m 1-7 yes Min timestep per stage

Schedule row fields observed:

  • well name
  • well state
  • well role
  • control mode
  • target value 1
  • target value 2
  • optional Cs_inj
  • optional Cb_inj

Solver

Config Path Source Variable Source File Cases Editable Notes
solver.yitap yitap main1.m 1-7 yes Adaptive timestep control
solver.yitas yitas main1.m 1-7 yes Adaptive timestep control
solver.omega omega main1.m 1-7 yes Adaptive timestep control
solver.Nmax Nmax main1.m 1-7 yes Max Newton iterations
solver.epsave epsave main1.m 1-7 yes Average residual tolerance
solver.epsmax epsmax main1.m 1-7 yes Max residual tolerance

Runtime / Output

Config Path Source Variable Source File Cases Editable Notes
output.result_name none future GUI all yes Result label
output.save_input_path none future GUI all yes Save location
output.save_result_path none future GUI all yes Save location
output.plot_requests none future GUI all yes Requested result plots

Runtime-only outputs:

  • Times
  • OutputRs
  • Wellpara
  • trun

Known Inconsistencies To Normalize

  • rock_density and density_rock are both used in SP discretization files.
  • Some fields are editable expressions in one case and constant arrays in another, especially kx, ky, kz, and pori.
  • boundary exists in case 1 but not in the other SP examples.
  • DP mode introduces extra fields absent from SP mode.

These inconsistencies are exactly why the GUI must be built on a normalized config instead of the raw scripts.