# 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.