diff --git a/gui_support/app/EDFMAppController.m b/gui_support/app/EDFMAppController.m index fcb4217..a02a852 100644 --- a/gui_support/app/EDFMAppController.m +++ b/gui_support/app/EDFMAppController.m @@ -21,9 +21,9 @@ classdef EDFMAppController < handle obj.setDropDownItems('ResultTypeDropDown', {'Time Steps', 'Newtons vs Time'}, 'Time Steps'); obj.setDropDownItems('ModelGridModelDropDown', {'1', '2'}, '1'); obj.setDropDownItems('ModelFlowModelDropDown', {'1', '2', '3'}, '1'); - obj.setDropDownItems('GWgas_modelDropDown', {'1', '2'}, '1'); + obj.setDropDownItems('GWgas_modelDropDown', {'1'}, '1'); obj.setDropDownItems('OWoil_modelDropDown', {'1', '2'}, '1'); - obj.setDropDownItems('MCgas_modelDropDown', {'1', '2'}, '1'); + obj.setDropDownItems('MCgas_modelDropDown', {'1'}, '1'); obj.configureWellTables(); obj.applyFixedUIState(); @@ -337,6 +337,9 @@ classdef EDFMAppController < handle obj.App.InitStatusLabel.Text = 'Init: multi-component'; end end + + obj.applyDiscretizationVisibility(gridModel); + obj.applyFlowVisibility(flowModel); end end @@ -373,47 +376,70 @@ classdef EDFMAppController < handle obj.setTextAreaExpr('SPMatrixKyTextArea', c.discretization.sp.matrix.ky); obj.setTextAreaExpr('SPMatrixKzTextArea', c.discretization.sp.matrix.kz); obj.setTextAreaExpr('SPMatrixPoriTextArea', c.discretization.sp.matrix.pori); - obj.setNumericFieldValue('SPMatrixPrporEditField', c.discretization.sp.matrix.prpor); - obj.setNumericFieldValue('SPMatrixCporEditField', c.discretization.sp.matrix.cpor); obj.setNumericFieldValue('SPRockDensityEditField', c.discretization.sp.matrix.rock_density); - obj.setTextAreaExpr('SPFractureKfTextArea', c.discretization.sp.fracture.Kf); - obj.setTextAreaExpr('SPFractureWfTextArea', c.discretization.sp.fracture.Wf); - obj.setTextAreaExpr('SPFracturePorfTextArea', c.discretization.sp.fracture.Porf); - obj.setNumericFieldValue('SPFracturePrporEditField', c.discretization.sp.fracture.prporf); - obj.setNumericFieldValue('SPFractureCporfEditField', c.discretization.sp.fracture.cporf); - obj.setNumericFieldValue('SPStressFractureEditField', c.discretization.sp.stress.fracture_factor); - obj.setNumericFieldValue('SPStressMatrixEditField', c.discretization.sp.stress.matrix_factor); - obj.setNumericFieldValue('SPStressRefPressureEditField', c.discretization.sp.stress.ref_pressure); - obj.setTextAreaExpr('DPkxTextArea', c.discretization.dp.fracture_layer.kx); - obj.setTextAreaExpr('DPkyTextArea', c.discretization.dp.fracture_layer.ky); - obj.setTextAreaExpr('DPkzTextArea', c.discretization.dp.fracture_layer.kz); - obj.setTextAreaExpr('DPkx_matrixLayerTextArea', c.discretization.dp.matrix_layer.kx); - obj.setTextAreaExpr('DPky_matrixLayerTextArea', c.discretization.dp.matrix_layer.ky); - obj.setTextAreaExpr('DPkz_matrixLayerTextArea', c.discretization.dp.matrix_layer.kz); - obj.setTextAreaExpr('DPpori_matrixLayerTextArea', c.discretization.dp.matrix_layer.pori); - obj.setTextAreaExpr('DPsigmaTextArea', c.discretization.dp.shape_factor); - obj.setTextAreaExpr('DPNTGTextArea', c.discretization.dp.NTG); - obj.setNumericFieldValue('DPprporEditField', c.discretization.dp.prpor); - obj.setNumericFieldValue('DPcporEditField', c.discretization.dp.cpor); - obj.setTextAreaExpr('DPKfTextArea', c.discretization.dp.fracture.Kf); - obj.setTextAreaExpr('DPWfTextArea', c.discretization.dp.fracture.Wf); - obj.setTextAreaExpr('DPPorfTextArea', c.discretization.dp.fracture.Porf); - obj.setNumericFieldValue('DPprporfEditField', c.discretization.dp.fracture.prporf); - obj.setNumericFieldValue('DPcporfEditField', c.discretization.dp.fracture.cporf); - obj.setNumericFieldValue('DPstress_factor_fractureEditField', c.discretization.dp.stress.fracture_factor); - obj.setNumericFieldValue('DPstress_factor_matrixEditField', c.discretization.dp.stress.matrix_factor); - obj.setNumericFieldValue('DPstress_factor_ref_pressureEditField', c.discretization.dp.stress.ref_pressure); + obj.setTextAreaExpr('DPFractureLayerKxTextArea', c.discretization.dp.fracture_layer.kx); + obj.setTextAreaExpr('DPFractureLayerKyTextArea', c.discretization.dp.fracture_layer.ky); + obj.setTextAreaExpr('DPFractureLayerKzTextArea', c.discretization.dp.fracture_layer.kz); + obj.setTextAreaExpr('DPMatrixLayerKxTextArea', c.discretization.dp.matrix_layer.kx); + obj.setTextAreaExpr('DPMatrixLayerKyTextArea', c.discretization.dp.matrix_layer.ky); + obj.setTextAreaExpr('DPMatrixLayerKzTextArea', c.discretization.dp.matrix_layer.kz); + obj.setTextAreaExpr('DPMatrixLayerPoriTextArea', c.discretization.dp.matrix_layer.pori); + obj.setTextAreaExpr('DPShapeFactorTextArea', c.discretization.dp.shape_factor); + + commonDiscretization = obj.getCommonDiscretizationSource(c); + obj.setNumericFieldValue('CommonPrporEditField', commonDiscretization.prpor); + obj.setNumericFieldValue('CommonCporEditField', commonDiscretization.cpor); + obj.setTextAreaExpr('CommonKfTextArea', commonDiscretization.Kf); + obj.setTextAreaExpr('CommonWfTextArea', commonDiscretization.Wf); + obj.setTextAreaExpr('CommonPorfTextArea', commonDiscretization.Porf); + obj.setNumericFieldValue('CommonPrporfEditField', commonDiscretization.prporf); + obj.setNumericFieldValue('CommonCporfEditField', commonDiscretization.cporf); + obj.setNumericFieldValue('CommonStressFractureEditField', commonDiscretization.stress_fracture); + obj.setNumericFieldValue('CommonStressMatrixEditField', commonDiscretization.stress_matrix); + obj.setNumericFieldValue('CommonStressRefPressureEditField', commonDiscretization.stress_ref_pressure); + obj.setNumericFieldValue('CommonRptEditField', commonDiscretization.Rpt); + obj.setNumericFieldValue('CommonCfEditField', commonDiscretization.cf); + obj.setNumericFieldValue('CommonCaEditField', commonDiscretization.ca); obj.setNumericFieldValue('InitialPressureEditField', obj.firstScalar(c.initial.pressure)); obj.setNumericFieldValue('InitialSwEditField', obj.firstScalar(c.initial.sw)); obj.setNumericFieldValue('InitialCsEditField', obj.firstScalar(c.initial.cs)); obj.setNumericFieldValue('InitialCbEditField', obj.firstScalar(c.initial.cb)); + commonFlow = obj.getCommonFlowSource(c); + obj.setNumericFieldValue('FlowCommonDensityWScEditField', commonFlow.density_w_sc); + obj.setNumericFieldValue('FlowCommonPrwEditField', commonFlow.prw); + obj.setNumericFieldValue('FlowCommonBwiEditField', commonFlow.Bwi); + obj.setNumericFieldValue('FlowCommonCwEditField', commonFlow.cw); + obj.setNumericFieldValue('FlowCommonVwiEditField', commonFlow.vwi); + obj.setNumericFieldValue('FlowCommonCvwEditField', commonFlow.cvw); + obj.setNumericFieldValue('FlowCommonPGradThresholdEditField', commonFlow.p_grad_threshold); + obj.setNumericFieldValue('FlowCommonDensityGScEditField', commonFlow.density_g_sc); + obj.setNumericFieldValue('FlowCommonGasPrgEditField', commonFlow.prg); + obj.setNumericFieldValue('FlowCommonGasBgiEditField', commonFlow.Bgi); + obj.setNumericFieldValue('FlowCommonGasCgEditField', commonFlow.cg); + obj.setNumericFieldValue('FlowCommonGasVgiEditField', commonFlow.vgi); + obj.setNumericFieldValue('FlowCommonGasCvgEditField', commonFlow.cvg); + obj.setNumericFieldValue('FlowCommonGasVLEditField', commonFlow.gas_VL); + obj.setNumericFieldValue('FlowCommonGasPLEditField', commonFlow.gas_PL); + obj.setNumericFieldValue('FlowCommonGasKnEditField', commonFlow.gas_Kn); + obj.setNumericFieldValue('FlowCommonGasBetaNonDarcyEditField', commonFlow.gas_beta_non_darcy); + obj.setTextAreaExpr('GWPRFTextArea', c.flow.gas_water.fracture_relperm_table); obj.setTextAreaExpr('GWRPGWTextArea', c.flow.gas_water.matrix_relperm_table); + obj.setNumericFieldValue('GWifpcglEditField', c.flow.gas_water.ifpcgl); + obj.setTextAreaExpr('OWPRFTextArea', c.flow.oil_water.fracture_relperm_table); obj.setTextAreaExpr('OWPRMTextArea', c.flow.oil_water.matrix_relperm_table); + obj.setDropDownValue('OWoil_modelDropDown', c.flow.oil_water.oil_model); + obj.setNumericFieldValue('OWdensity_o_scEditField', c.flow.oil_water.density_o_sc); + obj.setNumericFieldValue('OWproEditField', obj.firstScalar(c.flow.oil_water.pro)); + obj.setNumericFieldValue('OWBoiEditField', obj.firstScalar(c.flow.oil_water.Boi)); + obj.setNumericFieldValue('OWcoEditField', obj.firstScalar(c.flow.oil_water.co)); + obj.setNumericFieldValue('OWvoiEditField', obj.firstScalar(c.flow.oil_water.voi)); + obj.setNumericFieldValue('OWcvoEditField', obj.firstScalar(c.flow.oil_water.cvo)); + obj.setNumericFieldValue('OWifpcowEditField', c.flow.oil_water.ifpcow); obj.setTextAreaExpr('MCcs_NcTextArea', c.flow.multi_component.cs_Nc); obj.setTextAreaExpr('MCkr_nosurfTextArea', c.flow.multi_component.kr_nosurf); @@ -423,30 +449,10 @@ classdef EDFMAppController < handle obj.setTextAreaExpr('MCkr_nosurf_fractureTextArea', c.flow.multi_component.kr_nosurf_fracture); obj.setTextAreaExpr('MCkr_surf_fractureTextArea', c.flow.multi_component.kr_surf_fracture); obj.setTextAreaExpr('MCPC_fractureTextArea', c.flow.multi_component.PC_fracture); - obj.setNumericFieldValue('MCp_grad_thresholdEditField', c.flow.multi_component.p_grad_threshold); - obj.setNumericFieldValue('MCgas_propVLEditField', c.flow.multi_component.gas_prop.VL); - obj.setNumericFieldValue('MCgas_propPLEditField', c.flow.multi_component.gas_prop.PL); - obj.setNumericFieldValue('MCgas_propKnEditField', c.flow.multi_component.gas_prop.Kn); + obj.setNumericFieldValue('MCifpcglEditField', c.flow.multi_component.ifpcgl); obj.setNumericFieldValue('MCstress_factor_fractureEditField', c.flow.multi_component.gas_prop.stress_factor_fracture); obj.setNumericFieldValue('MCstress_factor_matrixEditField', c.flow.multi_component.gas_prop.stress_factor_matrix); obj.setNumericFieldValue('MCstress_factor_ref_pressureEditField', c.flow.multi_component.gas_prop.stress_factor_ref_pressure); - obj.setNumericFieldValue('MCbeta_non_darcy_flowEditField', c.flow.multi_component.gas_prop.beta_non_darcy_flow); - obj.setNumericFieldValue('MCdensity_g_scEditField', c.flow.multi_component.density_g_sc); - obj.setDropDownValue('MCgas_modelDropDown', c.flow.multi_component.gas_model); - obj.setNumericFieldValue('MCprgEditField', obj.firstScalar(c.flow.multi_component.prg)); - obj.setNumericFieldValue('MCBgiEditField', obj.firstScalar(c.flow.multi_component.Bgi)); - obj.setNumericFieldValue('MCcgEditField', obj.firstScalar(c.flow.multi_component.cg)); - obj.setNumericFieldValue('MCvgiEditField', obj.firstScalar(c.flow.multi_component.vgi)); - obj.setNumericFieldValue('MCcvgEditField', obj.firstScalar(c.flow.multi_component.cvg)); - obj.setTextAreaExpr('MCPprTextArea', c.flow.multi_component.Ppr); - obj.setTextAreaExpr('MCBGTextArea', c.flow.multi_component.BG); - obj.setTextAreaExpr('MCMUGTextArea', c.flow.multi_component.MUG); - obj.setNumericFieldValue('MCdensity_w_scEditField', c.flow.multi_component.density_w_sc); - obj.setNumericFieldValue('MCprwEditField', obj.firstScalar(c.flow.multi_component.prw)); - obj.setNumericFieldValue('MCBwiEditField', obj.firstScalar(c.flow.multi_component.Bwi)); - obj.setNumericFieldValue('MCcwEditField', obj.firstScalar(c.flow.multi_component.cw)); - obj.setNumericFieldValue('MCvwiEditField', obj.firstScalar(c.flow.multi_component.vwi)); - obj.setNumericFieldValue('MCcvwEditField', obj.firstScalar(c.flow.multi_component.cvw)); obj.setTableValue('Well1Table', c.wells.well1); obj.setTableValue('FractureWellLocationTable', obj.unwrapFirstCell(c.wells.welloc)); @@ -492,47 +498,123 @@ classdef EDFMAppController < handle c.discretization.sp.matrix.ky = obj.getTextAreaExpr('SPMatrixKyTextArea', c.discretization.sp.matrix.ky); c.discretization.sp.matrix.kz = obj.getTextAreaExpr('SPMatrixKzTextArea', c.discretization.sp.matrix.kz); c.discretization.sp.matrix.pori = obj.getTextAreaExpr('SPMatrixPoriTextArea', c.discretization.sp.matrix.pori); - c.discretization.sp.matrix.prpor = obj.getNumericFieldValue('SPMatrixPrporEditField', c.discretization.sp.matrix.prpor); - c.discretization.sp.matrix.cpor = obj.getNumericFieldValue('SPMatrixCporEditField', c.discretization.sp.matrix.cpor); c.discretization.sp.matrix.rock_density = obj.getNumericFieldValue('SPRockDensityEditField', c.discretization.sp.matrix.rock_density); - c.discretization.sp.fracture.Kf = obj.getTextAreaExpr('SPFractureKfTextArea', c.discretization.sp.fracture.Kf); - c.discretization.sp.fracture.Wf = obj.getTextAreaExpr('SPFractureWfTextArea', c.discretization.sp.fracture.Wf); - c.discretization.sp.fracture.Porf = obj.getTextAreaExpr('SPFracturePorfTextArea', c.discretization.sp.fracture.Porf); - c.discretization.sp.fracture.prporf = obj.getNumericFieldValue('SPFracturePrporEditField', c.discretization.sp.fracture.prporf); - c.discretization.sp.fracture.cporf = obj.getNumericFieldValue('SPFractureCporfEditField', c.discretization.sp.fracture.cporf); - c.discretization.sp.stress.fracture_factor = obj.getNumericFieldValue('SPStressFractureEditField', c.discretization.sp.stress.fracture_factor); - c.discretization.sp.stress.matrix_factor = obj.getNumericFieldValue('SPStressMatrixEditField', c.discretization.sp.stress.matrix_factor); - c.discretization.sp.stress.ref_pressure = obj.getNumericFieldValue('SPStressRefPressureEditField', c.discretization.sp.stress.ref_pressure); - c.discretization.dp.fracture_layer.kx = obj.getTextAreaExpr('DPkxTextArea', c.discretization.dp.fracture_layer.kx); - c.discretization.dp.fracture_layer.ky = obj.getTextAreaExpr('DPkyTextArea', c.discretization.dp.fracture_layer.ky); - c.discretization.dp.fracture_layer.kz = obj.getTextAreaExpr('DPkzTextArea', c.discretization.dp.fracture_layer.kz); - c.discretization.dp.matrix_layer.kx = obj.getTextAreaExpr('DPkx_matrixLayerTextArea', c.discretization.dp.matrix_layer.kx); - c.discretization.dp.matrix_layer.ky = obj.getTextAreaExpr('DPky_matrixLayerTextArea', c.discretization.dp.matrix_layer.ky); - c.discretization.dp.matrix_layer.kz = obj.getTextAreaExpr('DPkz_matrixLayerTextArea', c.discretization.dp.matrix_layer.kz); - c.discretization.dp.matrix_layer.pori = obj.getTextAreaExpr('DPpori_matrixLayerTextArea', c.discretization.dp.matrix_layer.pori); - c.discretization.dp.shape_factor = obj.getTextAreaExpr('DPsigmaTextArea', c.discretization.dp.shape_factor); - c.discretization.dp.NTG = obj.getTextAreaExpr('DPNTGTextArea', c.discretization.dp.NTG); - c.discretization.dp.prpor = obj.getNumericFieldValue('DPprporEditField', c.discretization.dp.prpor); - c.discretization.dp.cpor = obj.getNumericFieldValue('DPcporEditField', c.discretization.dp.cpor); - c.discretization.dp.fracture.Kf = obj.getTextAreaExpr('DPKfTextArea', c.discretization.dp.fracture.Kf); - c.discretization.dp.fracture.Wf = obj.getTextAreaExpr('DPWfTextArea', c.discretization.dp.fracture.Wf); - c.discretization.dp.fracture.Porf = obj.getTextAreaExpr('DPPorfTextArea', c.discretization.dp.fracture.Porf); - c.discretization.dp.fracture.prporf = obj.getNumericFieldValue('DPprporfEditField', c.discretization.dp.fracture.prporf); - c.discretization.dp.fracture.cporf = obj.getNumericFieldValue('DPcporfEditField', c.discretization.dp.fracture.cporf); - c.discretization.dp.stress.fracture_factor = obj.getNumericFieldValue('DPstress_factor_fractureEditField', c.discretization.dp.stress.fracture_factor); - c.discretization.dp.stress.matrix_factor = obj.getNumericFieldValue('DPstress_factor_matrixEditField', c.discretization.dp.stress.matrix_factor); - c.discretization.dp.stress.ref_pressure = obj.getNumericFieldValue('DPstress_factor_ref_pressureEditField', c.discretization.dp.stress.ref_pressure); + c.discretization.dp.fracture_layer.kx = obj.getTextAreaExpr('DPFractureLayerKxTextArea', c.discretization.dp.fracture_layer.kx); + c.discretization.dp.fracture_layer.ky = obj.getTextAreaExpr('DPFractureLayerKyTextArea', c.discretization.dp.fracture_layer.ky); + c.discretization.dp.fracture_layer.kz = obj.getTextAreaExpr('DPFractureLayerKzTextArea', c.discretization.dp.fracture_layer.kz); + c.discretization.dp.matrix_layer.kx = obj.getTextAreaExpr('DPMatrixLayerKxTextArea', c.discretization.dp.matrix_layer.kx); + c.discretization.dp.matrix_layer.ky = obj.getTextAreaExpr('DPMatrixLayerKyTextArea', c.discretization.dp.matrix_layer.ky); + c.discretization.dp.matrix_layer.kz = obj.getTextAreaExpr('DPMatrixLayerKzTextArea', c.discretization.dp.matrix_layer.kz); + c.discretization.dp.matrix_layer.pori = obj.getTextAreaExpr('DPMatrixLayerPoriTextArea', c.discretization.dp.matrix_layer.pori); + c.discretization.dp.shape_factor = obj.getTextAreaExpr('DPShapeFactorTextArea', c.discretization.dp.shape_factor); + c.discretization.dp.NTG = c.grid.NTG; + + commonPrpor = obj.getNumericFieldValue('CommonPrporEditField', c.discretization.sp.matrix.prpor); + commonCpor = obj.getNumericFieldValue('CommonCporEditField', c.discretization.sp.matrix.cpor); + commonKf = obj.getTextAreaExpr('CommonKfTextArea', c.discretization.sp.fracture.Kf); + commonWf = obj.getTextAreaExpr('CommonWfTextArea', c.discretization.sp.fracture.Wf); + commonPorf = obj.getTextAreaExpr('CommonPorfTextArea', c.discretization.sp.fracture.Porf); + commonPrporf = obj.getNumericFieldValue('CommonPrporfEditField', c.discretization.sp.fracture.prporf); + commonCporf = obj.getNumericFieldValue('CommonCporfEditField', c.discretization.sp.fracture.cporf); + commonStressFracture = obj.getNumericFieldValue('CommonStressFractureEditField', c.discretization.sp.stress.fracture_factor); + commonStressMatrix = obj.getNumericFieldValue('CommonStressMatrixEditField', c.discretization.sp.stress.matrix_factor); + commonStressRefPressure = obj.getNumericFieldValue('CommonStressRefPressureEditField', c.discretization.sp.stress.ref_pressure); + commonRpt = obj.getNumericFieldValue('CommonRptEditField', c.discretization.sp.stress.Rpt); + commonCf = obj.getNumericFieldValue('CommonCfEditField', c.discretization.sp.stress.cf); + commonCa = obj.getNumericFieldValue('CommonCaEditField', c.discretization.sp.stress.ca); + + c.discretization.sp.matrix.prpor = commonPrpor; + c.discretization.sp.matrix.cpor = commonCpor; + c.discretization.sp.fracture.Kf = commonKf; + c.discretization.sp.fracture.Wf = commonWf; + c.discretization.sp.fracture.Porf = commonPorf; + c.discretization.sp.fracture.prporf = commonPrporf; + c.discretization.sp.fracture.cporf = commonCporf; + c.discretization.sp.stress.fracture_factor = commonStressFracture; + c.discretization.sp.stress.matrix_factor = commonStressMatrix; + c.discretization.sp.stress.ref_pressure = commonStressRefPressure; + c.discretization.sp.stress.Rpt = commonRpt; + c.discretization.sp.stress.cf = commonCf; + c.discretization.sp.stress.ca = commonCa; + + c.discretization.dp.prpor = commonPrpor; + c.discretization.dp.cpor = commonCpor; + c.discretization.dp.fracture.Kf = commonKf; + c.discretization.dp.fracture.Wf = commonWf; + c.discretization.dp.fracture.Porf = commonPorf; + c.discretization.dp.fracture.prporf = commonPrporf; + c.discretization.dp.fracture.cporf = commonCporf; + c.discretization.dp.stress.fracture_factor = commonStressFracture; + c.discretization.dp.stress.matrix_factor = commonStressMatrix; + c.discretization.dp.stress.ref_pressure = commonStressRefPressure; + c.discretization.dp.Rpt = commonRpt; + c.discretization.dp.cf = commonCf; + c.discretization.dp.ca = commonCa; c.initial.pressure = obj.getNumericFieldValue('InitialPressureEditField', c.initial.pressure); c.initial.sw = obj.getNumericFieldValue('InitialSwEditField', c.initial.sw); c.initial.cs = obj.getNumericFieldValue('InitialCsEditField', c.initial.cs); c.initial.cb = obj.getNumericFieldValue('InitialCbEditField', c.initial.cb); + commonDensityWSc = obj.getNumericFieldValue('FlowCommonDensityWScEditField', c.flow.gas_water.density_w_sc); + commonPrw = obj.getNumericFieldValue('FlowCommonPrwEditField', c.flow.gas_water.prw); + commonBwi = obj.getNumericFieldValue('FlowCommonBwiEditField', c.flow.gas_water.Bwi); + commonCw = obj.getNumericFieldValue('FlowCommonCwEditField', c.flow.gas_water.cw); + commonVwi = obj.getNumericFieldValue('FlowCommonVwiEditField', c.flow.gas_water.vwi); + commonCvw = obj.getNumericFieldValue('FlowCommonCvwEditField', c.flow.gas_water.cvw); + commonPGradThreshold = obj.getNumericFieldValue('FlowCommonPGradThresholdEditField', c.flow.gas_water.p_grad_threshold); + commonDensityGSc = obj.getNumericFieldValue('FlowCommonDensityGScEditField', c.flow.gas_water.density_g_sc); + commonGasPrg = obj.getNumericFieldValue('FlowCommonGasPrgEditField', c.flow.gas_water.prg); + commonGasBgi = obj.getNumericFieldValue('FlowCommonGasBgiEditField', c.flow.gas_water.Bgi); + commonGasCg = obj.getNumericFieldValue('FlowCommonGasCgEditField', c.flow.gas_water.cg); + commonGasVgi = obj.getNumericFieldValue('FlowCommonGasVgiEditField', c.flow.gas_water.vgi); + commonGasCvg = obj.getNumericFieldValue('FlowCommonGasCvgEditField', c.flow.gas_water.cvg); + commonGasVL = obj.getNumericFieldValue('FlowCommonGasVLEditField', c.flow.gas_water.gas_prop.VL); + commonGasPL = obj.getNumericFieldValue('FlowCommonGasPLEditField', c.flow.gas_water.gas_prop.PL); + commonGasKn = obj.getNumericFieldValue('FlowCommonGasKnEditField', c.flow.gas_water.gas_prop.Kn); + commonGasBeta = obj.getNumericFieldValue('FlowCommonGasBetaNonDarcyEditField', c.flow.gas_water.gas_prop.beta_non_darcy_flow); + + c.flow.gas_water.density_w_sc = commonDensityWSc; + c.flow.gas_water.prw = commonPrw; + c.flow.gas_water.Bwi = commonBwi; + c.flow.gas_water.cw = commonCw; + c.flow.gas_water.vwi = commonVwi; + c.flow.gas_water.cvw = commonCvw; + c.flow.gas_water.p_grad_threshold = commonPGradThreshold; + c.flow.gas_water.density_g_sc = commonDensityGSc; + c.flow.gas_water.prg = commonGasPrg; + c.flow.gas_water.Bgi = commonGasBgi; + c.flow.gas_water.cg = commonGasCg; + c.flow.gas_water.vgi = commonGasVgi; + c.flow.gas_water.cvg = commonGasCvg; + c.flow.gas_water.gas_model = 1; + c.flow.gas_water.gas_prop.VL = commonGasVL; + c.flow.gas_water.gas_prop.PL = commonGasPL; + c.flow.gas_water.gas_prop.Kn = commonGasKn; + c.flow.gas_water.gas_prop.beta_non_darcy_flow = commonGasBeta; c.flow.gas_water.matrix_relperm_table = obj.getTextAreaExpr('GWRPGWTextArea', c.flow.gas_water.matrix_relperm_table); c.flow.gas_water.fracture_relperm_table = obj.getTextAreaExpr('GWPRFTextArea', c.flow.gas_water.fracture_relperm_table); + c.flow.gas_water.ifpcgl = obj.getNumericFieldValue('GWifpcglEditField', c.flow.gas_water.ifpcgl); + + c.flow.oil_water.density_w_sc = commonDensityWSc; + c.flow.oil_water.prw = commonPrw; + c.flow.oil_water.Bwi = commonBwi; + c.flow.oil_water.cw = commonCw; + c.flow.oil_water.vwi = commonVwi; + c.flow.oil_water.cvw = commonCvw; + c.flow.oil_water.p_grad_threshold = commonPGradThreshold; + c.flow.oil_water.oil_model = obj.getNumericDropDownValue('OWoil_modelDropDown', c.flow.oil_water.oil_model); + c.flow.oil_water.density_o_sc = obj.getNumericFieldValue('OWdensity_o_scEditField', c.flow.oil_water.density_o_sc); + c.flow.oil_water.pro = obj.getNumericFieldValue('OWproEditField', c.flow.oil_water.pro); + c.flow.oil_water.Boi = obj.getNumericFieldValue('OWBoiEditField', c.flow.oil_water.Boi); + c.flow.oil_water.co = obj.getNumericFieldValue('OWcoEditField', c.flow.oil_water.co); + c.flow.oil_water.voi = obj.getNumericFieldValue('OWvoiEditField', c.flow.oil_water.voi); + c.flow.oil_water.cvo = obj.getNumericFieldValue('OWcvoEditField', c.flow.oil_water.cvo); c.flow.oil_water.matrix_relperm_table = obj.getTextAreaExpr('OWPRMTextArea', c.flow.oil_water.matrix_relperm_table); c.flow.oil_water.fracture_relperm_table = obj.getTextAreaExpr('OWPRFTextArea', c.flow.oil_water.fracture_relperm_table); + c.flow.oil_water.ifpcow = obj.getNumericFieldValue('OWifpcowEditField', c.flow.oil_water.ifpcow); + c.flow.oil_water.beta_non_darcy_flow = commonGasBeta; c.flow.multi_component.cs_Nc = obj.getTextAreaExpr('MCcs_NcTextArea', c.flow.multi_component.cs_Nc); c.flow.multi_component.kr_nosurf = obj.getTextAreaExpr('MCkr_nosurfTextArea', c.flow.multi_component.kr_nosurf); @@ -542,30 +624,28 @@ classdef EDFMAppController < handle c.flow.multi_component.kr_nosurf_fracture = obj.getTextAreaExpr('MCkr_nosurf_fractureTextArea', c.flow.multi_component.kr_nosurf_fracture); c.flow.multi_component.kr_surf_fracture = obj.getTextAreaExpr('MCkr_surf_fractureTextArea', c.flow.multi_component.kr_surf_fracture); c.flow.multi_component.PC_fracture = obj.getTextAreaExpr('MCPC_fractureTextArea', c.flow.multi_component.PC_fracture); - c.flow.multi_component.p_grad_threshold = obj.getNumericFieldValue('MCp_grad_thresholdEditField', c.flow.multi_component.p_grad_threshold); - c.flow.multi_component.gas_prop.VL = obj.getNumericFieldValue('MCgas_propVLEditField', c.flow.multi_component.gas_prop.VL); - c.flow.multi_component.gas_prop.PL = obj.getNumericFieldValue('MCgas_propPLEditField', c.flow.multi_component.gas_prop.PL); - c.flow.multi_component.gas_prop.Kn = obj.getNumericFieldValue('MCgas_propKnEditField', c.flow.multi_component.gas_prop.Kn); + c.flow.multi_component.ifpcgl = obj.getNumericFieldValue('MCifpcglEditField', c.flow.multi_component.ifpcgl); + c.flow.multi_component.p_grad_threshold = commonPGradThreshold; + c.flow.multi_component.gas_prop.VL = commonGasVL; + c.flow.multi_component.gas_prop.PL = commonGasPL; + c.flow.multi_component.gas_prop.Kn = commonGasKn; c.flow.multi_component.gas_prop.stress_factor_fracture = obj.getNumericFieldValue('MCstress_factor_fractureEditField', c.flow.multi_component.gas_prop.stress_factor_fracture); c.flow.multi_component.gas_prop.stress_factor_matrix = obj.getNumericFieldValue('MCstress_factor_matrixEditField', c.flow.multi_component.gas_prop.stress_factor_matrix); c.flow.multi_component.gas_prop.stress_factor_ref_pressure = obj.getNumericFieldValue('MCstress_factor_ref_pressureEditField', c.flow.multi_component.gas_prop.stress_factor_ref_pressure); - c.flow.multi_component.gas_prop.beta_non_darcy_flow = obj.getNumericFieldValue('MCbeta_non_darcy_flowEditField', c.flow.multi_component.gas_prop.beta_non_darcy_flow); - c.flow.multi_component.density_g_sc = obj.getNumericFieldValue('MCdensity_g_scEditField', c.flow.multi_component.density_g_sc); - c.flow.multi_component.gas_model = obj.getNumericDropDownValue('MCgas_modelDropDown', c.flow.multi_component.gas_model); - c.flow.multi_component.prg = obj.getNumericFieldValue('MCprgEditField', c.flow.multi_component.prg); - c.flow.multi_component.Bgi = obj.getNumericFieldValue('MCBgiEditField', c.flow.multi_component.Bgi); - c.flow.multi_component.cg = obj.getNumericFieldValue('MCcgEditField', c.flow.multi_component.cg); - c.flow.multi_component.vgi = obj.getNumericFieldValue('MCvgiEditField', c.flow.multi_component.vgi); - c.flow.multi_component.cvg = obj.getNumericFieldValue('MCcvgEditField', c.flow.multi_component.cvg); - c.flow.multi_component.Ppr = obj.getTextAreaExpr('MCPprTextArea', c.flow.multi_component.Ppr); - c.flow.multi_component.BG = obj.getTextAreaExpr('MCBGTextArea', c.flow.multi_component.BG); - c.flow.multi_component.MUG = obj.getTextAreaExpr('MCMUGTextArea', c.flow.multi_component.MUG); - c.flow.multi_component.density_w_sc = obj.getNumericFieldValue('MCdensity_w_scEditField', c.flow.multi_component.density_w_sc); - c.flow.multi_component.prw = obj.getNumericFieldValue('MCprwEditField', c.flow.multi_component.prw); - c.flow.multi_component.Bwi = obj.getNumericFieldValue('MCBwiEditField', c.flow.multi_component.Bwi); - c.flow.multi_component.cw = obj.getNumericFieldValue('MCcwEditField', c.flow.multi_component.cw); - c.flow.multi_component.vwi = obj.getNumericFieldValue('MCvwiEditField', c.flow.multi_component.vwi); - c.flow.multi_component.cvw = obj.getNumericFieldValue('MCcvwEditField', c.flow.multi_component.cvw); + c.flow.multi_component.gas_prop.beta_non_darcy_flow = commonGasBeta; + c.flow.multi_component.density_g_sc = commonDensityGSc; + c.flow.multi_component.gas_model = 1; + c.flow.multi_component.prg = commonGasPrg; + c.flow.multi_component.Bgi = commonGasBgi; + c.flow.multi_component.cg = commonGasCg; + c.flow.multi_component.vgi = commonGasVgi; + c.flow.multi_component.cvg = commonGasCvg; + c.flow.multi_component.density_w_sc = commonDensityWSc; + c.flow.multi_component.prw = commonPrw; + c.flow.multi_component.Bwi = commonBwi; + c.flow.multi_component.cw = commonCw; + c.flow.multi_component.vwi = commonVwi; + c.flow.multi_component.cvw = commonCvw; c.wells.well1 = obj.getTableValue('Well1Table', c.wells.well1); fractureWellLocation = obj.getNumericTableValue( ... @@ -609,6 +689,155 @@ classdef EDFMAppController < handle obj.setEditableState('FractureInputStyleDropDown', false); end + function applyDiscretizationVisibility(obj, gridModel) + showBoundary = false; + if gridModel == 1 && ~isempty(fieldnames(obj.Config)) ... + && isfield(obj.Config, 'discretization') ... + && isfield(obj.Config.discretization, 'sp') ... + && isfield(obj.Config.discretization.sp, 'boundary_polygon') + showBoundary = ~isempty(obj.Config.discretization.sp.boundary_polygon); + end + + obj.setControlVisible('BoundaryTextAreaLabel', showBoundary); + obj.setControlVisible('SPBoundaryTextArea', showBoundary); + end + + function applyFlowVisibility(obj, flowModel) + showGasCommon = flowModel ~= 2; + gasCommonProps = { ... + 'GasLabel', ... + 'FlowCommonDensityGScEditField', 'DensityGScLabel', ... + 'FlowCommonGasPrgEditField', 'GasPrgLabel', ... + 'FlowCommonGasBgiEditField', 'GasBgiLabel', ... + 'FlowCommonGasCgEditField', 'GasCgLabel', ... + 'FlowCommonGasVgiEditField', 'GasVgiLabel', ... + 'FlowCommonGasCvgEditField', 'GasCvgLabel', ... + 'FlowCommonGasVLEditField', 'GasVLLabel', ... + 'FlowCommonGasPLEditField', 'GasPLLabel', ... + 'FlowCommonGasKnEditField', 'GasKnLabel', ... + 'FlowCommonGasBetaNonDarcyEditField', 'GasBetaNonDarcyLabel'}; + for i = 1:numel(gasCommonProps) + obj.setControlVisible(gasCommonProps{i}, showGasCommon); + end + end + + function commonData = getCommonFlowSource(obj, c) + if c.model.flow_model == 3 + waterSource = struct( ... + 'density_w_sc', c.flow.multi_component.density_w_sc, ... + 'prw', c.flow.multi_component.prw, ... + 'Bwi', c.flow.multi_component.Bwi, ... + 'cw', c.flow.multi_component.cw, ... + 'vwi', c.flow.multi_component.vwi, ... + 'cvw', c.flow.multi_component.cvw, ... + 'p_grad_threshold', c.flow.multi_component.p_grad_threshold); + gasSource = struct( ... + 'density_g_sc', c.flow.multi_component.density_g_sc, ... + 'prg', c.flow.multi_component.prg, ... + 'Bgi', c.flow.multi_component.Bgi, ... + 'cg', c.flow.multi_component.cg, ... + 'vgi', c.flow.multi_component.vgi, ... + 'cvg', c.flow.multi_component.cvg, ... + 'gas_VL', c.flow.multi_component.gas_prop.VL, ... + 'gas_PL', c.flow.multi_component.gas_prop.PL, ... + 'gas_Kn', c.flow.multi_component.gas_prop.Kn, ... + 'gas_beta_non_darcy', c.flow.multi_component.gas_prop.beta_non_darcy_flow); + elseif c.model.flow_model == 2 + waterSource = struct( ... + 'density_w_sc', c.flow.oil_water.density_w_sc, ... + 'prw', c.flow.oil_water.prw, ... + 'Bwi', c.flow.oil_water.Bwi, ... + 'cw', c.flow.oil_water.cw, ... + 'vwi', c.flow.oil_water.vwi, ... + 'cvw', c.flow.oil_water.cvw, ... + 'p_grad_threshold', c.flow.oil_water.p_grad_threshold); + gasSource = struct( ... + 'density_g_sc', c.flow.gas_water.density_g_sc, ... + 'prg', c.flow.gas_water.prg, ... + 'Bgi', c.flow.gas_water.Bgi, ... + 'cg', c.flow.gas_water.cg, ... + 'vgi', c.flow.gas_water.vgi, ... + 'cvg', c.flow.gas_water.cvg, ... + 'gas_VL', c.flow.gas_water.gas_prop.VL, ... + 'gas_PL', c.flow.gas_water.gas_prop.PL, ... + 'gas_Kn', c.flow.gas_water.gas_prop.Kn, ... + 'gas_beta_non_darcy', c.flow.gas_water.gas_prop.beta_non_darcy_flow); + else + waterSource = struct( ... + 'density_w_sc', c.flow.gas_water.density_w_sc, ... + 'prw', c.flow.gas_water.prw, ... + 'Bwi', c.flow.gas_water.Bwi, ... + 'cw', c.flow.gas_water.cw, ... + 'vwi', c.flow.gas_water.vwi, ... + 'cvw', c.flow.gas_water.cvw, ... + 'p_grad_threshold', c.flow.gas_water.p_grad_threshold); + gasSource = struct( ... + 'density_g_sc', c.flow.gas_water.density_g_sc, ... + 'prg', c.flow.gas_water.prg, ... + 'Bgi', c.flow.gas_water.Bgi, ... + 'cg', c.flow.gas_water.cg, ... + 'vgi', c.flow.gas_water.vgi, ... + 'cvg', c.flow.gas_water.cvg, ... + 'gas_VL', c.flow.gas_water.gas_prop.VL, ... + 'gas_PL', c.flow.gas_water.gas_prop.PL, ... + 'gas_Kn', c.flow.gas_water.gas_prop.Kn, ... + 'gas_beta_non_darcy', c.flow.gas_water.gas_prop.beta_non_darcy_flow); + end + + commonData = struct( ... + 'density_w_sc', waterSource.density_w_sc, ... + 'prw', waterSource.prw, ... + 'Bwi', waterSource.Bwi, ... + 'cw', waterSource.cw, ... + 'vwi', waterSource.vwi, ... + 'cvw', waterSource.cvw, ... + 'p_grad_threshold', waterSource.p_grad_threshold, ... + 'density_g_sc', gasSource.density_g_sc, ... + 'prg', gasSource.prg, ... + 'Bgi', gasSource.Bgi, ... + 'cg', gasSource.cg, ... + 'vgi', gasSource.vgi, ... + 'cvg', gasSource.cvg, ... + 'gas_VL', gasSource.gas_VL, ... + 'gas_PL', gasSource.gas_PL, ... + 'gas_Kn', gasSource.gas_Kn, ... + 'gas_beta_non_darcy', gasSource.gas_beta_non_darcy); + end + + function commonData = getCommonDiscretizationSource(obj, c) + if c.model.grid_model == 2 + commonData = struct( ... + 'prpor', c.discretization.dp.prpor, ... + 'cpor', c.discretization.dp.cpor, ... + 'Kf', c.discretization.dp.fracture.Kf, ... + 'Wf', c.discretization.dp.fracture.Wf, ... + 'Porf', c.discretization.dp.fracture.Porf, ... + 'prporf', c.discretization.dp.fracture.prporf, ... + 'cporf', c.discretization.dp.fracture.cporf, ... + 'stress_fracture', c.discretization.dp.stress.fracture_factor, ... + 'stress_matrix', c.discretization.dp.stress.matrix_factor, ... + 'stress_ref_pressure', c.discretization.dp.stress.ref_pressure, ... + 'Rpt', c.discretization.dp.Rpt, ... + 'cf', c.discretization.dp.cf, ... + 'ca', c.discretization.dp.ca); + else + commonData = struct( ... + 'prpor', c.discretization.sp.matrix.prpor, ... + 'cpor', c.discretization.sp.matrix.cpor, ... + 'Kf', c.discretization.sp.fracture.Kf, ... + 'Wf', c.discretization.sp.fracture.Wf, ... + 'Porf', c.discretization.sp.fracture.Porf, ... + 'prporf', c.discretization.sp.fracture.prporf, ... + 'cporf', c.discretization.sp.fracture.cporf, ... + 'stress_fracture', c.discretization.sp.stress.fracture_factor, ... + 'stress_matrix', c.discretization.sp.stress.matrix_factor, ... + 'stress_ref_pressure', c.discretization.sp.stress.ref_pressure, ... + 'Rpt', c.discretization.sp.stress.Rpt, ... + 'cf', c.discretization.sp.stress.cf, ... + 'ca', c.discretization.sp.stress.ca); + end + end + function refreshResults(obj) summary = {}; if isempty(fieldnames(obj.Results)) diff --git a/gui_support/app/EDFM_Simulator_App.mlapp b/gui_support/app/EDFM_Simulator_App.mlapp index 402e578..f094274 100644 Binary files a/gui_support/app/EDFM_Simulator_App.mlapp and b/gui_support/app/EDFM_Simulator_App.mlapp differ diff --git a/gui_support/app/context.txt b/gui_support/app/context.txt index fc4042e..905dc03 100644 --- a/gui_support/app/context.txt +++ b/gui_support/app/context.txt @@ -2,377 +2,253 @@ classdef EDFM_Simulator_App < matlab.apps.AppBase % Properties that correspond to app components properties (Access = public) - UIFigure matlab.ui.Figure - NewConfigButton matlab.ui.control.Button - TabGroup matlab.ui.container.TabGroup - ModelTab matlab.ui.container.Tab - ModelFlowModelDropDown matlab.ui.control.DropDown - FlowModelDropDownLabel matlab.ui.control.Label - ModelGridModelDropDown matlab.ui.control.DropDown - GridModelDropDownLabel matlab.ui.control.Label - ModelFlagDropDown matlab.ui.control.DropDown - ModelFlagDropDownLabel matlab.ui.control.Label - GridTab matlab.ui.container.Tab - GridNTGTextArea matlab.ui.control.TextArea - NTGTextAreaLabel matlab.ui.control.Label - GridDzTextArea matlab.ui.control.TextArea - DzTextAreaLabel matlab.ui.control.Label - GridDyTextArea matlab.ui.control.TextArea - DyTextAreaLabel matlab.ui.control.Label - GridDxTextArea matlab.ui.control.TextArea - DxTextAreaLabel matlab.ui.control.Label - FractureTab matlab.ui.container.Tab - FractureFlowBarrierFlagsTextArea matlab.ui.control.TextArea - FlowBarrierFlagsTextAreaLabel matlab.ui.control.Label - FractureHeightsTextArea matlab.ui.control.TextArea - FractureHeightsTextAreaLabel matlab.ui.control.Label - FractureLinesTextArea matlab.ui.control.TextArea - FractureLinesTextAreaLabel matlab.ui.control.Label - FractureInputTextArea matlab.ui.control.TextArea - FractureInputTextAreaLabel matlab.ui.control.Label - FractureInputStyleDropDown matlab.ui.control.DropDown - FractureInputStyleDropDownLabel matlab.ui.control.Label - DiscretizationTab matlab.ui.container.Tab - TabGroup3 matlab.ui.container.TabGroup - SPTab matlab.ui.container.Tab - SPcaEditField matlab.ui.control.NumericEditField - caEditFieldLabel matlab.ui.control.Label - SPcfEditField matlab.ui.control.NumericEditField - cfEditFieldLabel matlab.ui.control.Label - SPRptEditField matlab.ui.control.NumericEditField - RptEditFieldLabel matlab.ui.control.Label - SPStressRefPressureEditField matlab.ui.control.NumericEditField - StressRefPressureEditFieldLabel matlab.ui.control.Label - SPStressMatrixEditField matlab.ui.control.NumericEditField - StressMatrixEditFieldLabel matlab.ui.control.Label - SPStressFractureEditField matlab.ui.control.NumericEditField - StressFractureEditFieldLabel matlab.ui.control.Label - SPFracturePrporEditField matlab.ui.control.NumericEditField - FracturePrporEditFieldLabel matlab.ui.control.Label - SPFractureCporfEditField matlab.ui.control.NumericEditField - FractureCporfEditFieldLabel matlab.ui.control.Label - SPFracturePorfTextArea matlab.ui.control.TextArea - FracturePorfTextAreaLabel matlab.ui.control.Label - SPFractureWfTextArea matlab.ui.control.TextArea - FractureWfTextAreaLabel matlab.ui.control.Label - SPFractureKfTextArea matlab.ui.control.TextArea - FractureKfTextAreaLabel matlab.ui.control.Label - SPRockDensityEditField matlab.ui.control.NumericEditField - RockDensityEditFieldLabel matlab.ui.control.Label - SPMatrixCporEditField matlab.ui.control.NumericEditField - MatrixCporEditFieldLabel matlab.ui.control.Label - SPMatrixPrporEditField matlab.ui.control.NumericEditField - MatrixPrporEditFieldLabel matlab.ui.control.Label - SPMatrixPoriTextArea matlab.ui.control.TextArea - MatrixPoriTextAreaLabel matlab.ui.control.Label - SPMatrixKzTextArea matlab.ui.control.TextArea - MatrixKzTextAreaLabel matlab.ui.control.Label - SPMatrixKyTextArea matlab.ui.control.TextArea - MatrixKyTextAreaLabel matlab.ui.control.Label - SPMatrixKxTextArea matlab.ui.control.TextArea - MatrixKxTextAreaLabel matlab.ui.control.Label - SPInvalidLayerTextArea matlab.ui.control.TextArea - InvalidLayerTextAreaLabel matlab.ui.control.Label - SPBoundaryTextArea matlab.ui.control.TextArea - BoundaryTextAreaLabel matlab.ui.control.Label - DPTab matlab.ui.container.Tab - DPcaEditField matlab.ui.control.NumericEditField - caEditFieldLabel_2 matlab.ui.control.Label - DPcffEditField matlab.ui.control.NumericEditField - cffEditFieldLabel matlab.ui.control.Label - DPRptEditField matlab.ui.control.NumericEditField - RptEditFieldLabel_2 matlab.ui.control.Label - DPstress_factor_ref_pressureEditField matlab.ui.control.NumericEditField - stress_factor_ref_pressureEditFieldLabel matlab.ui.control.Label - DPstress_factor_matrixEditField matlab.ui.control.NumericEditField - stress_factor_matrixEditFieldLabel matlab.ui.control.Label - DPstress_factor_fractureEditField matlab.ui.control.NumericEditField - stress_factor_fractureEditFieldLabel matlab.ui.control.Label - DPcporfEditField matlab.ui.control.NumericEditField - cporfEditFieldLabel matlab.ui.control.Label - DPprporfEditField matlab.ui.control.NumericEditField - prporfEditFieldLabel matlab.ui.control.Label - DPPorfTextArea matlab.ui.control.TextArea - PorfTextAreaLabel matlab.ui.control.Label - DPWfTextArea matlab.ui.control.TextArea - WfTextAreaLabel matlab.ui.control.Label - DPKfTextArea matlab.ui.control.TextArea - KfTextAreaLabel matlab.ui.control.Label - DPcporEditField matlab.ui.control.NumericEditField - cporLabel matlab.ui.control.Label - DPprporEditField matlab.ui.control.NumericEditField - prporEditFieldLabel matlab.ui.control.Label - DPNTGTextArea matlab.ui.control.TextArea - NTGTextArea_2Label matlab.ui.control.Label - DPsigmaTextArea matlab.ui.control.TextArea - sigmaTextAreaLabel matlab.ui.control.Label - DPpori_matrixLayerTextArea matlab.ui.control.TextArea - pori_matrixLayerTextAreaLabel matlab.ui.control.Label - DPkz_matrixLayerTextArea matlab.ui.control.TextArea - kz_matrixLayerTextAreaLabel matlab.ui.control.Label - DPky_matrixLayerTextArea matlab.ui.control.TextArea - ky_matrixLayerTextAreaLabel matlab.ui.control.Label - DPkx_matrixLayerTextArea matlab.ui.control.TextArea - kx_matrixLayerTextAreaLabel matlab.ui.control.Label - DPkzTextArea matlab.ui.control.TextArea - kzTextAreaLabel matlab.ui.control.Label - DPkyTextArea matlab.ui.control.TextArea - kyTextAreaLabel matlab.ui.control.Label - DPkxTextArea matlab.ui.control.TextArea - kxTextAreaLabel matlab.ui.control.Label - FlowTab matlab.ui.container.Tab - InitialCbEditField matlab.ui.control.NumericEditField - InitialCbEditFieldLabel matlab.ui.control.Label - InitialCsEditField matlab.ui.control.NumericEditField - InitialCsEditFieldLabel matlab.ui.control.Label - InitialSwEditField matlab.ui.control.NumericEditField - InitialSwEditFieldLabel matlab.ui.control.Label - InitialPressureEditField matlab.ui.control.NumericEditField - InitialPressureEditFieldLabel matlab.ui.control.Label - InitStatusLabel matlab.ui.control.Label - TabGroup2 matlab.ui.container.TabGroup - GasWaterTab matlab.ui.container.Tab - GWPRFTextArea matlab.ui.control.TextArea - PRFTextAreaLabel matlab.ui.control.Label - GWRPGWTextArea matlab.ui.control.TextArea - RPGWTextAreaLabel matlab.ui.control.Label - GWifpcglEditField matlab.ui.control.NumericEditField - ifpcglEditFieldLabel matlab.ui.control.Label - GWcvwEditField matlab.ui.control.NumericEditField - cvwEditFieldLabel matlab.ui.control.Label - GWvwiEditField matlab.ui.control.NumericEditField - vwiEditFieldLabel matlab.ui.control.Label - GWcwEditField matlab.ui.control.NumericEditField - cwEditFieldLabel matlab.ui.control.Label - GWBwiEditField matlab.ui.control.NumericEditField - BwiEditFieldLabel matlab.ui.control.Label - GWprwEditField matlab.ui.control.NumericEditField - prwEditFieldLabel matlab.ui.control.Label - GWMUGTextArea matlab.ui.control.TextArea - MUGTextAreaLabel matlab.ui.control.Label - GWBGTextArea matlab.ui.control.TextArea - BGTextAreaLabel matlab.ui.control.Label - GWPprTextArea matlab.ui.control.TextArea - PprTextAreaLabel matlab.ui.control.Label - GWcvgEditField matlab.ui.control.NumericEditField - cvgEditFieldLabel matlab.ui.control.Label - GWvgiEditField matlab.ui.control.NumericEditField - vgiEditFieldLabel matlab.ui.control.Label - GWcgEditField matlab.ui.control.NumericEditField - cgEditFieldLabel matlab.ui.control.Label - GWBgiEditField matlab.ui.control.NumericEditField - BgiEditFieldLabel matlab.ui.control.Label - GWprgEditField matlab.ui.control.NumericEditField - prgEditFieldLabel matlab.ui.control.Label - GWgas_modelDropDown matlab.ui.control.DropDown - gas_modelDropDownLabel matlab.ui.control.Label - GWdensity_w_scEditField matlab.ui.control.NumericEditField - density_w_scEditFieldLabel matlab.ui.control.Label - GWdensity_g_scEditField matlab.ui.control.NumericEditField - density_g_scEditFieldLabel matlab.ui.control.Label - GWp_grad_thresholdEditField matlab.ui.control.NumericEditField - p_grad_thresholdEditFieldLabel matlab.ui.control.Label - GWbeta_non_darcy_flowEditField matlab.ui.control.NumericEditField - beta_non_darcy_flowEditFieldLabel matlab.ui.control.Label - GWgas_propKnEditField matlab.ui.control.NumericEditField - gas_propKnEditFieldLabel matlab.ui.control.Label - GWgas_propPLEditField matlab.ui.control.NumericEditField - gas_propPLEditFieldLabel matlab.ui.control.Label - GWgas_propVLEditField matlab.ui.control.NumericEditField - gas_propVLEditFieldLabel matlab.ui.control.Label - OilWaterTab matlab.ui.container.Tab - OWp_grad_thresholdEditField matlab.ui.control.NumericEditField - p_grad_thresholdEditFieldLabel_2 matlab.ui.control.Label - OWbeta_non_Darcy_flowEditField matlab.ui.control.NumericEditField - beta_non_Darcy_flowEditFieldLabel matlab.ui.control.Label - OWPRFTextArea matlab.ui.control.TextArea - PRFTextAreaLabel_2 matlab.ui.control.Label - OWPRMTextArea matlab.ui.control.TextArea - PRMTextAreaLabel matlab.ui.control.Label - OWifpcowEditField matlab.ui.control.NumericEditField - ifpcowEditFieldLabel matlab.ui.control.Label - OWcvwEditField matlab.ui.control.NumericEditField - cvwEditFieldLabel_2 matlab.ui.control.Label - OWvwiEditField matlab.ui.control.NumericEditField - vwiEditFieldLabel_2 matlab.ui.control.Label - OWcwEditField matlab.ui.control.NumericEditField - cwEditFieldLabel_2 matlab.ui.control.Label - OWBwiEditField matlab.ui.control.NumericEditField - BwiEditFieldLabel_2 matlab.ui.control.Label - OWprwEditField matlab.ui.control.NumericEditField - prwEditFieldLabel_2 matlab.ui.control.Label - OWMUOTextArea matlab.ui.control.TextArea - MUOTextAreaLabel matlab.ui.control.Label - OWBOTextArea matlab.ui.control.TextArea - BOTextAreaLabel matlab.ui.control.Label - OWPprTextArea matlab.ui.control.TextArea - PprTextAreaLabel_2 matlab.ui.control.Label - OWcvoEditField matlab.ui.control.NumericEditField - cvoEditFieldLabel matlab.ui.control.Label - OWvoiEditField matlab.ui.control.NumericEditField - voiEditFieldLabel matlab.ui.control.Label - OWcoEditField matlab.ui.control.NumericEditField - coEditFieldLabel matlab.ui.control.Label - OWBoiEditField matlab.ui.control.NumericEditField - BoiEditFieldLabel matlab.ui.control.Label - OWproEditField matlab.ui.control.NumericEditField - proEditFieldLabel matlab.ui.control.Label - OWoil_modelDropDown matlab.ui.control.DropDown - oil_modelDropDownLabel matlab.ui.control.Label - OWdensity_w_scEditField matlab.ui.control.NumericEditField - density_w_scEditFieldLabel_2 matlab.ui.control.Label - OWdensity_o_scEditField matlab.ui.control.NumericEditField - density_o_scEditFieldLabel matlab.ui.control.Label - MultiComponentTab matlab.ui.container.Tab - MCcvwEditField matlab.ui.control.NumericEditField - cvwEditFieldLabel_3 matlab.ui.control.Label - MCvwiEditField matlab.ui.control.NumericEditField - vwiEditFieldLabel_3 matlab.ui.control.Label - MCcwEditField matlab.ui.control.NumericEditField - cwEditFieldLabel_3 matlab.ui.control.Label - MCBwiEditField matlab.ui.control.NumericEditField - BwiEditFieldLabel_3 matlab.ui.control.Label - MCprwEditField matlab.ui.control.NumericEditField - prwEditFieldLabel_3 matlab.ui.control.Label - MCdensity_w_scEditField matlab.ui.control.NumericEditField - density_w_scEditFieldLabel_3 matlab.ui.control.Label - MCMUGTextArea matlab.ui.control.TextArea - MUGTextAreaLabel_2 matlab.ui.control.Label - MCBGTextArea matlab.ui.control.TextArea - BGTextAreaLabel_2 matlab.ui.control.Label - MCPprTextArea matlab.ui.control.TextArea - PprTextAreaLabel_3 matlab.ui.control.Label - MCcvgEditField matlab.ui.control.NumericEditField - cvgEditFieldLabel_2 matlab.ui.control.Label - MCvgiEditField matlab.ui.control.NumericEditField - vgiEditFieldLabel_2 matlab.ui.control.Label - MCcgEditField matlab.ui.control.NumericEditField - cgEditFieldLabel_2 matlab.ui.control.Label - MCBgiEditField matlab.ui.control.NumericEditField - BgiEditFieldLabel_2 matlab.ui.control.Label - MCprgEditField matlab.ui.control.NumericEditField - prgEditFieldLabel_2 matlab.ui.control.Label - MCgas_modelDropDown matlab.ui.control.DropDown - gas_modelDropDownLabel_2 matlab.ui.control.Label - MCdensity_g_scEditField matlab.ui.control.NumericEditField - density_g_scEditFieldLabel_2 matlab.ui.control.Label - MCbeta_non_darcy_flowEditField matlab.ui.control.NumericEditField - beta_non_darcy_flowEditFieldLabel_2 matlab.ui.control.Label + UIFigure matlab.ui.Figure + NewConfigButton matlab.ui.control.Button + TabGroup matlab.ui.container.TabGroup + ModelTab matlab.ui.container.Tab + ModelFlowModelDropDown matlab.ui.control.DropDown + FlowModelDropDownLabel matlab.ui.control.Label + ModelGridModelDropDown matlab.ui.control.DropDown + GridModelDropDownLabel matlab.ui.control.Label + GridTab matlab.ui.container.Tab + GridNTGTextArea matlab.ui.control.TextArea + NTGTextAreaLabel matlab.ui.control.Label + GridDzTextArea matlab.ui.control.TextArea + DzTextAreaLabel matlab.ui.control.Label + GridDyTextArea matlab.ui.control.TextArea + DyTextAreaLabel matlab.ui.control.Label + GridDxTextArea matlab.ui.control.TextArea + DxTextAreaLabel matlab.ui.control.Label + FractureTab matlab.ui.container.Tab + FractureInputTextArea matlab.ui.control.TextArea + FractureInputTextAreaLabel matlab.ui.control.Label + DiscretizationTab matlab.ui.container.Tab + CommonCporEditField matlab.ui.control.NumericEditField + CommonCporLabel matlab.ui.control.Label + CommonPrporEditField matlab.ui.control.NumericEditField + CommonPrporLabel matlab.ui.control.Label + CommonCaEditField matlab.ui.control.NumericEditField + CommonCaLabel matlab.ui.control.Label + CommonCfEditField matlab.ui.control.NumericEditField + CommonCfLabel matlab.ui.control.Label + CommonRptEditField matlab.ui.control.NumericEditField + CommonRptLabel matlab.ui.control.Label + CommonStressRefPressureEditField matlab.ui.control.NumericEditField + CommonStressRefPressureLabel matlab.ui.control.Label + CommonStressMatrixEditField matlab.ui.control.NumericEditField + CommonStressMatrixLabel matlab.ui.control.Label + CommonStressFractureEditField matlab.ui.control.NumericEditField + CommonStressFractureLabel matlab.ui.control.Label + CommonPrporfEditField matlab.ui.control.NumericEditField + CommonPrporfLabel matlab.ui.control.Label + CommonCporfEditField matlab.ui.control.NumericEditField + CommonCporfLabel matlab.ui.control.Label + CommonPorfTextArea matlab.ui.control.TextArea + CommonPorfLabel matlab.ui.control.Label + CommonWfTextArea matlab.ui.control.TextArea + CommonWfLabel matlab.ui.control.Label + CommonKfTextArea matlab.ui.control.TextArea + CommonKfLabel matlab.ui.control.Label + TabGroup3 matlab.ui.container.TabGroup + SPTab matlab.ui.container.Tab + SPRockDensityEditField matlab.ui.control.NumericEditField + RockDensityEditFieldLabel matlab.ui.control.Label + SPMatrixPoriTextArea matlab.ui.control.TextArea + MatrixPoriTextAreaLabel matlab.ui.control.Label + SPMatrixKzTextArea matlab.ui.control.TextArea + MatrixKzTextAreaLabel matlab.ui.control.Label + SPMatrixKyTextArea matlab.ui.control.TextArea + MatrixKyTextAreaLabel matlab.ui.control.Label + SPMatrixKxTextArea matlab.ui.control.TextArea + MatrixKxTextAreaLabel matlab.ui.control.Label + SPInvalidLayerTextArea matlab.ui.control.TextArea + InvalidLayerTextAreaLabel matlab.ui.control.Label + SPBoundaryTextArea matlab.ui.control.TextArea + BoundaryTextAreaLabel matlab.ui.control.Label + DPTab matlab.ui.container.Tab + DPShapeFactorTextArea matlab.ui.control.TextArea + sigmaTextAreaLabel matlab.ui.control.Label + DPMatrixLayerPoriTextArea matlab.ui.control.TextArea + pori_matrixLayerTextAreaLabel matlab.ui.control.Label + DPMatrixLayerKzTextArea matlab.ui.control.TextArea + kz_matrixLayerTextAreaLabel matlab.ui.control.Label + DPMatrixLayerKyTextArea matlab.ui.control.TextArea + ky_matrixLayerTextAreaLabel matlab.ui.control.Label + DPMatrixLayerKxTextArea matlab.ui.control.TextArea + kx_matrixLayerTextAreaLabel matlab.ui.control.Label + DPFractureLayerKzTextArea matlab.ui.control.TextArea + kzTextAreaLabel matlab.ui.control.Label + DPFractureLayerKyTextArea matlab.ui.control.TextArea + kyTextAreaLabel matlab.ui.control.Label + DPFractureLayerKxTextArea matlab.ui.control.TextArea + kxTextAreaLabel matlab.ui.control.Label + FlowTab matlab.ui.container.Tab + FlowCommonGasBetaNonDarcyEditField matlab.ui.control.NumericEditField + GasBetaNonDarcyLabel matlab.ui.control.Label + FlowCommonGasKnEditField matlab.ui.control.NumericEditField + GasKnLabel matlab.ui.control.Label + FlowCommonGasPLEditField matlab.ui.control.NumericEditField + GasPLLabel matlab.ui.control.Label + FlowCommonGasVLEditField matlab.ui.control.NumericEditField + GasVLLabel matlab.ui.control.Label + FlowCommonGasCvgEditField matlab.ui.control.NumericEditField + GasCvgLabel matlab.ui.control.Label + FlowCommonGasVgiEditField matlab.ui.control.NumericEditField + GasVgiLabel matlab.ui.control.Label + FlowCommonGasCgEditField matlab.ui.control.NumericEditField + GasCgLabel matlab.ui.control.Label + FlowCommonGasBgiEditField matlab.ui.control.NumericEditField + GasBgiLabel matlab.ui.control.Label + FlowCommonGasPrgEditField matlab.ui.control.NumericEditField + GasPrgLabel matlab.ui.control.Label + FlowCommonDensityGScEditField matlab.ui.control.NumericEditField + DensityGScLabel matlab.ui.control.Label + WaterLabel matlab.ui.control.Label + FlowCommonPGradThresholdEditField matlab.ui.control.NumericEditField + PGradThresholdLabel matlab.ui.control.Label + FlowCommonCvwEditField matlab.ui.control.NumericEditField + CvwLabel matlab.ui.control.Label + FlowCommonVwiEditField matlab.ui.control.NumericEditField + VwiLabel matlab.ui.control.Label + FlowCommonCwEditField matlab.ui.control.NumericEditField + CwLabel matlab.ui.control.Label + FlowCommonBwiEditField matlab.ui.control.NumericEditField + BwiLabel matlab.ui.control.Label + FlowCommonPrwEditField matlab.ui.control.NumericEditField + PrwLabel matlab.ui.control.Label + GasLabel matlab.ui.control.Label + FlowCommonDensityWScEditField matlab.ui.control.NumericEditField + DensityWScLabel matlab.ui.control.Label + InitialCbEditField matlab.ui.control.NumericEditField + InitialCbEditFieldLabel matlab.ui.control.Label + InitialCsEditField matlab.ui.control.NumericEditField + InitialCsEditFieldLabel matlab.ui.control.Label + InitialSwEditField matlab.ui.control.NumericEditField + InitialSwEditFieldLabel matlab.ui.control.Label + InitialPressureEditField matlab.ui.control.NumericEditField + InitialPressureEditFieldLabel matlab.ui.control.Label + InitStatusLabel matlab.ui.control.Label + TabGroup2 matlab.ui.container.TabGroup + GasWaterTab matlab.ui.container.Tab + GWPRFTextArea matlab.ui.control.TextArea + PRFTextAreaLabel matlab.ui.control.Label + GWRPGWTextArea matlab.ui.control.TextArea + RPGWTextAreaLabel matlab.ui.control.Label + GWifpcglEditField matlab.ui.control.NumericEditField + ifpcglEditFieldLabel matlab.ui.control.Label + OilWaterTab matlab.ui.container.Tab + OWoil_modelDropDown matlab.ui.control.DropDown + oil_modelLabel matlab.ui.control.Label + OWPRFTextArea matlab.ui.control.TextArea + PRFTextAreaLabel_2 matlab.ui.control.Label + OWPRMTextArea matlab.ui.control.TextArea + PRMTextAreaLabel matlab.ui.control.Label + OWifpcowEditField matlab.ui.control.NumericEditField + ifpcowEditFieldLabel matlab.ui.control.Label + OWcvoEditField matlab.ui.control.NumericEditField + cvoEditFieldLabel matlab.ui.control.Label + OWvoiEditField matlab.ui.control.NumericEditField + voiEditFieldLabel matlab.ui.control.Label + OWcoEditField matlab.ui.control.NumericEditField + coEditFieldLabel matlab.ui.control.Label + OWBoiEditField matlab.ui.control.NumericEditField + BoiEditFieldLabel matlab.ui.control.Label + OWproEditField matlab.ui.control.NumericEditField + proEditFieldLabel matlab.ui.control.Label + OWdensity_o_scEditField matlab.ui.control.NumericEditField + density_o_scEditFieldLabel matlab.ui.control.Label + MultiComponentTab matlab.ui.container.Tab MCstress_factor_ref_pressureEditField matlab.ui.control.NumericEditField stress_factor_ref_pressureEditFieldLabel_2 matlab.ui.control.Label MCstress_factor_matrixEditField matlab.ui.control.NumericEditField stress_factor_matrixEditFieldLabel_2 matlab.ui.control.Label MCstress_factor_fractureEditField matlab.ui.control.NumericEditField stress_factor_fractureEditFieldLabel_2 matlab.ui.control.Label - MCgas_propKnEditField matlab.ui.control.NumericEditField - gas_propKnEditFieldLabel_2 matlab.ui.control.Label - MCgas_propPLEditField matlab.ui.control.NumericEditField - gas_propPLEditFieldLabel_2 matlab.ui.control.Label - MCgas_propVLEditField matlab.ui.control.NumericEditField - gas_propVLEditFieldLabel_2 matlab.ui.control.Label - MCp_grad_thresholdEditField matlab.ui.control.NumericEditField - p_grad_thresholdEditFieldLabel_3 matlab.ui.control.Label - MCifpcglEditField matlab.ui.control.NumericEditField - ifpcglEditFieldLabel_2 matlab.ui.control.Label - MCPC_fractureTextArea matlab.ui.control.TextArea - PC_fractureTextAreaLabel matlab.ui.control.Label - MCkr_surf_fractureTextArea matlab.ui.control.TextArea - kr_surf_fractureTextAreaLabel matlab.ui.control.Label - MCkr_nosurf_fractureTextArea matlab.ui.control.TextArea + MCifpcglEditField matlab.ui.control.NumericEditField + ifpcglEditFieldLabel_2 matlab.ui.control.Label + MCPC_fractureTextArea matlab.ui.control.TextArea + PC_fractureTextAreaLabel matlab.ui.control.Label + MCkr_surf_fractureTextArea matlab.ui.control.TextArea + kr_surf_fractureTextAreaLabel matlab.ui.control.Label + MCkr_nosurf_fractureTextArea matlab.ui.control.TextArea kr_nosurf_fractureTextAreaLabel matlab.ui.control.Label - MCcs_Nc_fractureTextArea matlab.ui.control.TextArea - cs_Nc_fractureTextAreaLabel matlab.ui.control.Label - MCPCTextArea matlab.ui.control.TextArea - PCTextAreaLabel matlab.ui.control.Label - MCkr_surfTextArea matlab.ui.control.TextArea - kr_surfTextAreaLabel matlab.ui.control.Label - MCkr_nosurfTextArea matlab.ui.control.TextArea - kr_nosurfTextAreaLabel matlab.ui.control.Label - MCcs_NcTextArea matlab.ui.control.TextArea - cs_NcTextAreaLabel matlab.ui.control.Label - MCTemperatureEditField matlab.ui.control.NumericEditField - TemperatureEditFieldLabel matlab.ui.control.Label - MCVmEditField matlab.ui.control.NumericEditField - VmEditFieldLabel matlab.ui.control.Label - MCREditField matlab.ui.control.NumericEditField - REditFieldLabel matlab.ui.control.Label - MCc_ca_tableTextArea matlab.ui.control.TextArea - c_ca_tableTextAreaLabel matlab.ui.control.Label - MCDbEditField matlab.ui.control.NumericEditField - DbEditFieldLabel matlab.ui.control.Label - MCDsEditField matlab.ui.control.NumericEditField - DsEditFieldLabel matlab.ui.control.Label - WellsTab matlab.ui.container.Tab - ScheduleLabel matlab.ui.control.Label - WellLocationLabel matlab.ui.control.Label - Well2Label matlab.ui.control.Label - Well1Label matlab.ui.control.Label - ScheduleTimeConfigLabel matlab.ui.control.Label - AddFracLocRowButton matlab.ui.control.Button - DeleteFracLocRowButton matlab.ui.control.Button - DeleteScheduleRowButton matlab.ui.control.Button - AddScheduleRowButton matlab.ui.control.Button - AddWell2RowButton matlab.ui.control.Button - DeleteWell2RowButton matlab.ui.control.Button - DeleteWell1RowButton matlab.ui.control.Button - AddWell1RowButton matlab.ui.control.Button - DtMaxTextArea matlab.ui.control.TextArea - DtMaxTextAreaLabel matlab.ui.control.Label - DtMinTextArea matlab.ui.control.TextArea - DtMinTextAreaLabel matlab.ui.control.Label - TimeTextArea matlab.ui.control.TextArea - TimeTextAreaLabel matlab.ui.control.Label - ScheduleTable matlab.ui.control.Table - Well2Table matlab.ui.control.Table - FractureWellLocationTable matlab.ui.control.Table - Well1Table matlab.ui.control.Table - SoloverTab matlab.ui.container.Tab - SolverRunTab matlab.ui.container.Tab - EpsMaxEditField matlab.ui.control.NumericEditField - EpsMaxEditFieldLabel matlab.ui.control.Label - EpsAveEditField matlab.ui.control.NumericEditField - EpsAveEditFieldLabel matlab.ui.control.Label - NmaxEditField matlab.ui.control.NumericEditField - NmaxEditFieldLabel matlab.ui.control.Label - OmegaEditField matlab.ui.control.NumericEditField - OmegaEditFieldLabel matlab.ui.control.Label - YitaSEditField matlab.ui.control.NumericEditField - YitaSEditFieldLabel matlab.ui.control.Label - YitaPEditField matlab.ui.control.NumericEditField - YitaPEditFieldLabel matlab.ui.control.Label - RunProgressLabel matlab.ui.control.Label - RunLogTextArea matlab.ui.control.TextArea - RunLogTextAreaLabel matlab.ui.control.Label - ResultsTab matlab.ui.container.Tab - ResultSummaryTextArea matlab.ui.control.TextArea - ResultSummaryTextAreaLabel matlab.ui.control.Label - PlotTimeStepValueLabel matlab.ui.control.Label - PlotTimeStepSlider matlab.ui.control.Slider - PlotWellDropDown matlab.ui.control.DropDown - PlotWellDropDownLabel matlab.ui.control.Label - PlotMetricDropDown matlab.ui.control.DropDown - PlotMetricDropDownLabel matlab.ui.control.Label - PlotPropertyDropDown matlab.ui.control.DropDown - PlotPropertyDropDownLabel matlab.ui.control.Label - PlotLayerDropDown matlab.ui.control.DropDown - PlotLayerDropDownLabel matlab.ui.control.Label - PlotWellResponseButton matlab.ui.control.Button - PlotSPDPButton matlab.ui.control.Button - PlotPermButton matlab.ui.control.Button - Plot3DDistributionButton matlab.ui.control.Button - Plot2DLayerButton matlab.ui.control.Button - ResultTab matlab.ui.control.Table - Button matlab.ui.control.Button - ResultTypeDropDown matlab.ui.control.DropDown - ResultAxes matlab.ui.control.UIAxes - StatusLabel matlab.ui.control.Label - ExportResultButton matlab.ui.control.Button - ImportResultButton matlab.ui.control.Button - RunButton matlab.ui.control.Button - ExportConfigButton matlab.ui.control.Button - ImportConfigButton matlab.ui.control.Button - LoadTemplateButton matlab.ui.control.Button - TemplateDropDown matlab.ui.control.DropDown + MCcs_Nc_fractureTextArea matlab.ui.control.TextArea + cs_Nc_fractureTextAreaLabel matlab.ui.control.Label + MCPCTextArea matlab.ui.control.TextArea + PCTextAreaLabel matlab.ui.control.Label + MCkr_surfTextArea matlab.ui.control.TextArea + kr_surfTextAreaLabel matlab.ui.control.Label + MCkr_nosurfTextArea matlab.ui.control.TextArea + kr_nosurfTextAreaLabel matlab.ui.control.Label + MCcs_NcTextArea matlab.ui.control.TextArea + cs_NcTextAreaLabel matlab.ui.control.Label + WellsTab matlab.ui.container.Tab + ScheduleLabel matlab.ui.control.Label + WellLocationLabel matlab.ui.control.Label + Well2Label matlab.ui.control.Label + Well1Label matlab.ui.control.Label + ScheduleTimeConfigLabel matlab.ui.control.Label + AddFracLocRowButton matlab.ui.control.Button + DeleteFracLocRowButton matlab.ui.control.Button + DeleteScheduleRowButton matlab.ui.control.Button + AddScheduleRowButton matlab.ui.control.Button + AddWell2RowButton matlab.ui.control.Button + DeleteWell2RowButton matlab.ui.control.Button + DeleteWell1RowButton matlab.ui.control.Button + AddWell1RowButton matlab.ui.control.Button + DtMaxTextArea matlab.ui.control.TextArea + DtMaxTextAreaLabel matlab.ui.control.Label + DtMinTextArea matlab.ui.control.TextArea + DtMinTextAreaLabel matlab.ui.control.Label + TimeTextArea matlab.ui.control.TextArea + TimeTextAreaLabel matlab.ui.control.Label + ScheduleTable matlab.ui.control.Table + Well2Table matlab.ui.control.Table + FractureWellLocationTable matlab.ui.control.Table + Well1Table matlab.ui.control.Table + SolverRunTab matlab.ui.container.Tab + EpsMaxEditField matlab.ui.control.NumericEditField + EpsMaxEditFieldLabel matlab.ui.control.Label + EpsAveEditField matlab.ui.control.NumericEditField + EpsAveEditFieldLabel matlab.ui.control.Label + NmaxEditField matlab.ui.control.NumericEditField + NmaxEditFieldLabel matlab.ui.control.Label + OmegaEditField matlab.ui.control.NumericEditField + OmegaEditFieldLabel matlab.ui.control.Label + YitaSEditField matlab.ui.control.NumericEditField + YitaSEditFieldLabel matlab.ui.control.Label + YitaPEditField matlab.ui.control.NumericEditField + YitaPEditFieldLabel matlab.ui.control.Label + RunProgressLabel matlab.ui.control.Label + RunLogTextArea matlab.ui.control.TextArea + RunLogTextAreaLabel matlab.ui.control.Label + ResultsTab matlab.ui.container.Tab + ResultSummaryTextArea matlab.ui.control.TextArea + ResultSummaryTextAreaLabel matlab.ui.control.Label + PlotTimeStepValueLabel matlab.ui.control.Label + PlotTimeStepSlider matlab.ui.control.Slider + PlotWellDropDown matlab.ui.control.DropDown + PlotWellDropDownLabel matlab.ui.control.Label + PlotMetricDropDown matlab.ui.control.DropDown + PlotMetricDropDownLabel matlab.ui.control.Label + PlotPropertyDropDown matlab.ui.control.DropDown + PlotPropertyDropDownLabel matlab.ui.control.Label + PlotLayerDropDown matlab.ui.control.DropDown + PlotLayerDropDownLabel matlab.ui.control.Label + PlotWellResponseButton matlab.ui.control.Button + PlotSPDPButton matlab.ui.control.Button + PlotPermButton matlab.ui.control.Button + Plot3DDistributionButton matlab.ui.control.Button + Plot2DLayerButton matlab.ui.control.Button + ResultAxes matlab.ui.control.UIAxes + StatusLabel matlab.ui.control.Label + ExportResultButton matlab.ui.control.Button + ImportResultButton matlab.ui.control.Button + RunButton matlab.ui.control.Button + ExportConfigButton matlab.ui.control.Button + ImportConfigButton matlab.ui.control.Button + LoadTemplateButton matlab.ui.control.Button + TemplateDropDown matlab.ui.control.DropDown end @@ -433,7 +309,7 @@ classdef EDFM_Simulator_App < matlab.apps.AppBase app.Controller.exportResults(); end - % Button pushed function: Button + % Callback function function onPlotResult(app, event) app.Controller.plotResults(); end @@ -629,40 +505,28 @@ classdef EDFM_Simulator_App < matlab.apps.AppBase app.ModelTab = uitab(app.TabGroup); app.ModelTab.Title = 'Model'; - % Create ModelFlagDropDownLabel - app.ModelFlagDropDownLabel = uilabel(app.ModelTab); - app.ModelFlagDropDownLabel.HorizontalAlignment = 'right'; - app.ModelFlagDropDownLabel.Position = [66 614 61 22]; - app.ModelFlagDropDownLabel.Text = 'ModelFlag'; - - % Create ModelFlagDropDown - app.ModelFlagDropDown = uidropdown(app.ModelTab); - app.ModelFlagDropDown.Items = {'1', '', '', ''}; - app.ModelFlagDropDown.Position = [142 614 100 22]; - app.ModelFlagDropDown.Value = ''; - % Create GridModelDropDownLabel app.GridModelDropDownLabel = uilabel(app.ModelTab); app.GridModelDropDownLabel.HorizontalAlignment = 'right'; - app.GridModelDropDownLabel.Position = [67 552 60 22]; + app.GridModelDropDownLabel.Position = [62 630 60 22]; app.GridModelDropDownLabel.Text = 'GridModel'; % Create ModelGridModelDropDown app.ModelGridModelDropDown = uidropdown(app.ModelTab); app.ModelGridModelDropDown.Items = {'1', '2', '', ''}; - app.ModelGridModelDropDown.Position = [142 552 100 22]; + app.ModelGridModelDropDown.Position = [137 630 100 22]; app.ModelGridModelDropDown.Value = ''; % Create FlowModelDropDownLabel app.FlowModelDropDownLabel = uilabel(app.ModelTab); app.FlowModelDropDownLabel.HorizontalAlignment = 'right'; - app.FlowModelDropDownLabel.Position = [66 488 63 22]; + app.FlowModelDropDownLabel.Position = [67 566 63 22]; app.FlowModelDropDownLabel.Text = 'FlowModel'; % Create ModelFlowModelDropDown app.ModelFlowModelDropDown = uidropdown(app.ModelTab); app.ModelFlowModelDropDown.Items = {'1', '2', '3'}; - app.ModelFlowModelDropDown.Position = [144 488 100 22]; + app.ModelFlowModelDropDown.Position = [145 566 100 22]; app.ModelFlowModelDropDown.Value = '1'; % Create GridTab @@ -713,18 +577,6 @@ classdef EDFM_Simulator_App < matlab.apps.AppBase app.FractureTab = uitab(app.TabGroup); app.FractureTab.Title = 'Fracture'; - % Create FractureInputStyleDropDownLabel - app.FractureInputStyleDropDownLabel = uilabel(app.FractureTab); - app.FractureInputStyleDropDownLabel.HorizontalAlignment = 'right'; - app.FractureInputStyleDropDownLabel.Position = [48 622 103 22]; - app.FractureInputStyleDropDownLabel.Text = 'FractureInputStyle'; - - % Create FractureInputStyleDropDown - app.FractureInputStyleDropDown = uidropdown(app.FractureTab); - app.FractureInputStyleDropDown.Items = {''}; - app.FractureInputStyleDropDown.Position = [166 622 218 22]; - app.FractureInputStyleDropDown.Value = ''; - % Create FractureInputTextAreaLabel app.FractureInputTextAreaLabel = uilabel(app.FractureTab); app.FractureInputTextAreaLabel.HorizontalAlignment = 'right'; @@ -735,43 +587,13 @@ classdef EDFM_Simulator_App < matlab.apps.AppBase app.FractureInputTextArea = uitextarea(app.FractureTab); app.FractureInputTextArea.Position = [150 497 241 98]; - % Create FractureLinesTextAreaLabel - app.FractureLinesTextAreaLabel = uilabel(app.FractureTab); - app.FractureLinesTextAreaLabel.HorizontalAlignment = 'right'; - app.FractureLinesTextAreaLabel.Position = [62 448 78 22]; - app.FractureLinesTextAreaLabel.Text = 'FractureLines'; - - % Create FractureLinesTextArea - app.FractureLinesTextArea = uitextarea(app.FractureTab); - app.FractureLinesTextArea.Position = [155 353 237 119]; - - % Create FractureHeightsTextAreaLabel - app.FractureHeightsTextAreaLabel = uilabel(app.FractureTab); - app.FractureHeightsTextAreaLabel.HorizontalAlignment = 'right'; - app.FractureHeightsTextAreaLabel.Position = [52 316 90 22]; - app.FractureHeightsTextAreaLabel.Text = 'FractureHeights'; - - % Create FractureHeightsTextArea - app.FractureHeightsTextArea = uitextarea(app.FractureTab); - app.FractureHeightsTextArea.Position = [157 254 234 86]; - - % Create FlowBarrierFlagsTextAreaLabel - app.FlowBarrierFlagsTextAreaLabel = uilabel(app.FractureTab); - app.FlowBarrierFlagsTextAreaLabel.HorizontalAlignment = 'right'; - app.FlowBarrierFlagsTextAreaLabel.Position = [50 215 96 22]; - app.FlowBarrierFlagsTextAreaLabel.Text = 'FlowBarrierFlags'; - - % Create FractureFlowBarrierFlagsTextArea - app.FractureFlowBarrierFlagsTextArea = uitextarea(app.FractureTab); - app.FractureFlowBarrierFlagsTextArea.Position = [161 158 234 81]; - % Create DiscretizationTab app.DiscretizationTab = uitab(app.TabGroup); app.DiscretizationTab.Title = 'Discretization'; % Create TabGroup3 app.TabGroup3 = uitabgroup(app.DiscretizationTab); - app.TabGroup3.Position = [48 37 1156 623]; + app.TabGroup3.Position = [48 37 1156 430]; % Create SPTab app.SPTab = uitab(app.TabGroup3); @@ -780,202 +602,72 @@ classdef EDFM_Simulator_App < matlab.apps.AppBase % Create BoundaryTextAreaLabel app.BoundaryTextAreaLabel = uilabel(app.SPTab); app.BoundaryTextAreaLabel.HorizontalAlignment = 'right'; - app.BoundaryTextAreaLabel.Position = [30 553 56 22]; + app.BoundaryTextAreaLabel.Position = [30 360 56 22]; app.BoundaryTextAreaLabel.Text = 'Boundary'; % Create SPBoundaryTextArea app.SPBoundaryTextArea = uitextarea(app.SPTab); - app.SPBoundaryTextArea.Position = [101 500 150 77]; + app.SPBoundaryTextArea.Position = [101 307 150 77]; % Create InvalidLayerTextAreaLabel app.InvalidLayerTextAreaLabel = uilabel(app.SPTab); app.InvalidLayerTextAreaLabel.HorizontalAlignment = 'right'; - app.InvalidLayerTextAreaLabel.Position = [19 458 70 22]; + app.InvalidLayerTextAreaLabel.Position = [19 265 70 22]; app.InvalidLayerTextAreaLabel.Text = 'InvalidLayer'; % Create SPInvalidLayerTextArea app.SPInvalidLayerTextArea = uitextarea(app.SPTab); - app.SPInvalidLayerTextArea.Position = [104 404 150 78]; + app.SPInvalidLayerTextArea.Position = [104 211 150 78]; % Create MatrixKxTextAreaLabel app.MatrixKxTextAreaLabel = uilabel(app.SPTab); app.MatrixKxTextAreaLabel.HorizontalAlignment = 'right'; - app.MatrixKxTextAreaLabel.Position = [301 548 52 22]; + app.MatrixKxTextAreaLabel.Position = [301 355 52 22]; app.MatrixKxTextAreaLabel.Text = 'MatrixKx'; % Create SPMatrixKxTextArea app.SPMatrixKxTextArea = uitextarea(app.SPTab); - app.SPMatrixKxTextArea.Position = [368 512 150 60]; + app.SPMatrixKxTextArea.Position = [368 319 150 60]; % Create MatrixKyTextAreaLabel app.MatrixKyTextAreaLabel = uilabel(app.SPTab); app.MatrixKyTextAreaLabel.HorizontalAlignment = 'right'; - app.MatrixKyTextAreaLabel.Position = [302 452 52 22]; + app.MatrixKyTextAreaLabel.Position = [302 259 52 22]; app.MatrixKyTextAreaLabel.Text = 'MatrixKy'; % Create SPMatrixKyTextArea app.SPMatrixKyTextArea = uitextarea(app.SPTab); - app.SPMatrixKyTextArea.Position = [369 416 150 60]; + app.SPMatrixKyTextArea.Position = [369 223 150 60]; % Create MatrixKzTextAreaLabel app.MatrixKzTextAreaLabel = uilabel(app.SPTab); app.MatrixKzTextAreaLabel.HorizontalAlignment = 'right'; - app.MatrixKzTextAreaLabel.Position = [301 350 52 22]; + app.MatrixKzTextAreaLabel.Position = [301 157 52 22]; app.MatrixKzTextAreaLabel.Text = 'MatrixKz'; % Create SPMatrixKzTextArea app.SPMatrixKzTextArea = uitextarea(app.SPTab); - app.SPMatrixKzTextArea.Position = [368 314 150 60]; + app.SPMatrixKzTextArea.Position = [368 121 150 60]; % Create MatrixPoriTextAreaLabel app.MatrixPoriTextAreaLabel = uilabel(app.SPTab); app.MatrixPoriTextAreaLabel.HorizontalAlignment = 'right'; - app.MatrixPoriTextAreaLabel.Position = [294 244 59 22]; + app.MatrixPoriTextAreaLabel.Position = [294 51 59 22]; app.MatrixPoriTextAreaLabel.Text = 'MatrixPori'; % Create SPMatrixPoriTextArea app.SPMatrixPoriTextArea = uitextarea(app.SPTab); - app.SPMatrixPoriTextArea.Position = [368 208 150 60]; - - % Create MatrixPrporEditFieldLabel - app.MatrixPrporEditFieldLabel = uilabel(app.SPTab); - app.MatrixPrporEditFieldLabel.HorizontalAlignment = 'right'; - app.MatrixPrporEditFieldLabel.Position = [17 310 67 22]; - app.MatrixPrporEditFieldLabel.Text = 'MatrixPrpor'; - - % Create SPMatrixPrporEditField - app.SPMatrixPrporEditField = uieditfield(app.SPTab, 'numeric'); - app.SPMatrixPrporEditField.Position = [99 310 148 22]; - - % Create MatrixCporEditFieldLabel - app.MatrixCporEditFieldLabel = uilabel(app.SPTab); - app.MatrixCporEditFieldLabel.HorizontalAlignment = 'right'; - app.MatrixCporEditFieldLabel.Position = [18 263 64 22]; - app.MatrixCporEditFieldLabel.Text = 'MatrixCpor'; - - % Create SPMatrixCporEditField - app.SPMatrixCporEditField = uieditfield(app.SPTab, 'numeric'); - app.SPMatrixCporEditField.Position = [97 263 150 22]; + app.SPMatrixPoriTextArea.Position = [368 15 150 60]; % Create RockDensityEditFieldLabel app.RockDensityEditFieldLabel = uilabel(app.SPTab); app.RockDensityEditFieldLabel.HorizontalAlignment = 'right'; - app.RockDensityEditFieldLabel.Position = [16 358 72 22]; + app.RockDensityEditFieldLabel.Position = [16 165 72 22]; app.RockDensityEditFieldLabel.Text = 'RockDensity'; % Create SPRockDensityEditField app.SPRockDensityEditField = uieditfield(app.SPTab, 'numeric'); - app.SPRockDensityEditField.Position = [103 358 144 22]; - - % Create FractureKfTextAreaLabel - app.FractureKfTextAreaLabel = uilabel(app.SPTab); - app.FractureKfTextAreaLabel.HorizontalAlignment = 'right'; - app.FractureKfTextAreaLabel.Position = [289 146 61 22]; - app.FractureKfTextAreaLabel.Text = 'FractureKf'; - - % Create SPFractureKfTextArea - app.SPFractureKfTextArea = uitextarea(app.SPTab); - app.SPFractureKfTextArea.Position = [365 110 150 60]; - - % Create FractureWfTextAreaLabel - app.FractureWfTextAreaLabel = uilabel(app.SPTab); - app.FractureWfTextAreaLabel.HorizontalAlignment = 'right'; - app.FractureWfTextAreaLabel.Position = [601 549 64 22]; - app.FractureWfTextAreaLabel.Text = 'FractureWf'; - - % Create SPFractureWfTextArea - app.SPFractureWfTextArea = uitextarea(app.SPTab); - app.SPFractureWfTextArea.Position = [680 513 150 60]; - - % Create FracturePorfTextAreaLabel - app.FracturePorfTextAreaLabel = uilabel(app.SPTab); - app.FracturePorfTextAreaLabel.HorizontalAlignment = 'right'; - app.FracturePorfTextAreaLabel.Position = [601 452 72 22]; - app.FracturePorfTextAreaLabel.Text = 'FracturePorf'; - - % Create SPFracturePorfTextArea - app.SPFracturePorfTextArea = uitextarea(app.SPTab); - app.SPFracturePorfTextArea.Position = [688 416 150 60]; - - % Create FractureCporfEditFieldLabel - app.FractureCporfEditFieldLabel = uilabel(app.SPTab); - app.FractureCporfEditFieldLabel.HorizontalAlignment = 'right'; - app.FractureCporfEditFieldLabel.Position = [11 213 79 22]; - app.FractureCporfEditFieldLabel.Text = 'FractureCporf'; - - % Create SPFractureCporfEditField - app.SPFractureCporfEditField = uieditfield(app.SPTab, 'numeric'); - app.SPFractureCporfEditField.Position = [105 213 142 22]; - - % Create FracturePrporEditFieldLabel - app.FracturePrporEditFieldLabel = uilabel(app.SPTab); - app.FracturePrporEditFieldLabel.HorizontalAlignment = 'right'; - app.FracturePrporEditFieldLabel.Position = [12 171 79 22]; - app.FracturePrporEditFieldLabel.Text = 'FracturePrpor'; - - % Create SPFracturePrporEditField - app.SPFracturePrporEditField = uieditfield(app.SPTab, 'numeric'); - app.SPFracturePrporEditField.Position = [106 171 140 22]; - - % Create StressFractureEditFieldLabel - app.StressFractureEditFieldLabel = uilabel(app.SPTab); - app.StressFractureEditFieldLabel.HorizontalAlignment = 'right'; - app.StressFractureEditFieldLabel.Position = [10 123 84 22]; - app.StressFractureEditFieldLabel.Text = 'StressFracture'; - - % Create SPStressFractureEditField - app.SPStressFractureEditField = uieditfield(app.SPTab, 'numeric'); - app.SPStressFractureEditField.Position = [109 123 138 22]; - - % Create StressMatrixEditFieldLabel - app.StressMatrixEditFieldLabel = uilabel(app.SPTab); - app.StressMatrixEditFieldLabel.HorizontalAlignment = 'right'; - app.StressMatrixEditFieldLabel.Position = [17 81 72 22]; - app.StressMatrixEditFieldLabel.Text = 'StressMatrix'; - - % Create SPStressMatrixEditField - app.SPStressMatrixEditField = uieditfield(app.SPTab, 'numeric'); - app.SPStressMatrixEditField.Position = [104 81 142 22]; - - % Create StressRefPressureEditFieldLabel - app.StressRefPressureEditFieldLabel = uilabel(app.SPTab); - app.StressRefPressureEditFieldLabel.HorizontalAlignment = 'right'; - app.StressRefPressureEditFieldLabel.Position = [-5 41 106 22]; - app.StressRefPressureEditFieldLabel.Text = 'StressRefPressure'; - - % Create SPStressRefPressureEditField - app.SPStressRefPressureEditField = uieditfield(app.SPTab, 'numeric'); - app.SPStressRefPressureEditField.Position = [116 41 129 22]; - - % Create RptEditFieldLabel - app.RptEditFieldLabel = uilabel(app.SPTab); - app.RptEditFieldLabel.HorizontalAlignment = 'right'; - app.RptEditFieldLabel.Position = [621 354 25 22]; - app.RptEditFieldLabel.Text = 'Rpt'; - - % Create SPRptEditField - app.SPRptEditField = uieditfield(app.SPTab, 'numeric'); - app.SPRptEditField.Position = [661 354 170 22]; - - % Create cfEditFieldLabel - app.cfEditFieldLabel = uilabel(app.SPTab); - app.cfEditFieldLabel.HorizontalAlignment = 'right'; - app.cfEditFieldLabel.Position = [619 303 25 22]; - app.cfEditFieldLabel.Text = 'cf'; - - % Create SPcfEditField - app.SPcfEditField = uieditfield(app.SPTab, 'numeric'); - app.SPcfEditField.Position = [659 303 172 22]; - - % Create caEditFieldLabel - app.caEditFieldLabel = uilabel(app.SPTab); - app.caEditFieldLabel.HorizontalAlignment = 'right'; - app.caEditFieldLabel.Position = [621 244 25 22]; - app.caEditFieldLabel.Text = 'ca'; - - % Create SPcaEditField - app.SPcaEditField = uieditfield(app.SPTab, 'numeric'); - app.SPcaEditField.Position = [661 244 165 22]; + app.SPRockDensityEditField.Position = [103 165 144 22]; % Create DPTab app.DPTab = uitab(app.TabGroup3); @@ -984,222 +676,212 @@ classdef EDFM_Simulator_App < matlab.apps.AppBase % Create kxTextAreaLabel app.kxTextAreaLabel = uilabel(app.DPTab); app.kxTextAreaLabel.HorizontalAlignment = 'right'; - app.kxTextAreaLabel.Position = [66 558 25 22]; + app.kxTextAreaLabel.Position = [66 365 25 22]; app.kxTextAreaLabel.Text = 'kx'; - % Create DPkxTextArea - app.DPkxTextArea = uitextarea(app.DPTab); - app.DPkxTextArea.Position = [106 522 150 60]; + % Create DPFractureLayerKxTextArea + app.DPFractureLayerKxTextArea = uitextarea(app.DPTab); + app.DPFractureLayerKxTextArea.Position = [106 329 150 60]; % Create kyTextAreaLabel app.kyTextAreaLabel = uilabel(app.DPTab); app.kyTextAreaLabel.HorizontalAlignment = 'right'; - app.kyTextAreaLabel.Position = [68 482 25 22]; + app.kyTextAreaLabel.Position = [68 289 25 22]; app.kyTextAreaLabel.Text = 'ky'; - % Create DPkyTextArea - app.DPkyTextArea = uitextarea(app.DPTab); - app.DPkyTextArea.Position = [108 446 150 60]; + % Create DPFractureLayerKyTextArea + app.DPFractureLayerKyTextArea = uitextarea(app.DPTab); + app.DPFractureLayerKyTextArea.Position = [108 253 150 60]; % Create kzTextAreaLabel app.kzTextAreaLabel = uilabel(app.DPTab); app.kzTextAreaLabel.HorizontalAlignment = 'right'; - app.kzTextAreaLabel.Position = [76 400 25 22]; + app.kzTextAreaLabel.Position = [76 207 25 22]; app.kzTextAreaLabel.Text = 'kz'; - % Create DPkzTextArea - app.DPkzTextArea = uitextarea(app.DPTab); - app.DPkzTextArea.Position = [116 364 150 60]; + % Create DPFractureLayerKzTextArea + app.DPFractureLayerKzTextArea = uitextarea(app.DPTab); + app.DPFractureLayerKzTextArea.Position = [116 171 150 60]; % Create kx_matrixLayerTextAreaLabel app.kx_matrixLayerTextAreaLabel = uilabel(app.DPTab); app.kx_matrixLayerTextAreaLabel.HorizontalAlignment = 'right'; - app.kx_matrixLayerTextAreaLabel.Position = [32 314 86 22]; + app.kx_matrixLayerTextAreaLabel.Position = [701 190 86 22]; app.kx_matrixLayerTextAreaLabel.Text = 'kx_matrixLayer'; - % Create DPkx_matrixLayerTextArea - app.DPkx_matrixLayerTextArea = uitextarea(app.DPTab); - app.DPkx_matrixLayerTextArea.Position = [133 278 150 60]; + % Create DPMatrixLayerKxTextArea + app.DPMatrixLayerKxTextArea = uitextarea(app.DPTab); + app.DPMatrixLayerKxTextArea.Position = [802 154 150 60]; % Create ky_matrixLayerTextAreaLabel app.ky_matrixLayerTextAreaLabel = uilabel(app.DPTab); app.ky_matrixLayerTextAreaLabel.HorizontalAlignment = 'right'; - app.ky_matrixLayerTextAreaLabel.Position = [27 218 86 22]; + app.ky_matrixLayerTextAreaLabel.Position = [341 173 86 22]; app.ky_matrixLayerTextAreaLabel.Text = 'ky_matrixLayer'; - % Create DPky_matrixLayerTextArea - app.DPky_matrixLayerTextArea = uitextarea(app.DPTab); - app.DPky_matrixLayerTextArea.Position = [128 182 150 60]; + % Create DPMatrixLayerKyTextArea + app.DPMatrixLayerKyTextArea = uitextarea(app.DPTab); + app.DPMatrixLayerKyTextArea.Position = [442 137 150 60]; % Create kz_matrixLayerTextAreaLabel app.kz_matrixLayerTextAreaLabel = uilabel(app.DPTab); app.kz_matrixLayerTextAreaLabel.HorizontalAlignment = 'right'; - app.kz_matrixLayerTextAreaLabel.Position = [15 117 86 22]; + app.kz_matrixLayerTextAreaLabel.Position = [349 260 86 22]; app.kz_matrixLayerTextAreaLabel.Text = 'kz_matrixLayer'; - % Create DPkz_matrixLayerTextArea - app.DPkz_matrixLayerTextArea = uitextarea(app.DPTab); - app.DPkz_matrixLayerTextArea.Position = [116 81 150 60]; + % Create DPMatrixLayerKzTextArea + app.DPMatrixLayerKzTextArea = uitextarea(app.DPTab); + app.DPMatrixLayerKzTextArea.Position = [450 224 150 60]; % Create pori_matrixLayerTextAreaLabel app.pori_matrixLayerTextAreaLabel = uilabel(app.DPTab); app.pori_matrixLayerTextAreaLabel.HorizontalAlignment = 'right'; - app.pori_matrixLayerTextAreaLabel.Position = [-8 47 94 22]; + app.pori_matrixLayerTextAreaLabel.Position = [618 283 94 22]; app.pori_matrixLayerTextAreaLabel.Text = 'pori_matrixLayer'; - % Create DPpori_matrixLayerTextArea - app.DPpori_matrixLayerTextArea = uitextarea(app.DPTab); - app.DPpori_matrixLayerTextArea.Position = [101 11 150 60]; + % Create DPMatrixLayerPoriTextArea + app.DPMatrixLayerPoriTextArea = uitextarea(app.DPTab); + app.DPMatrixLayerPoriTextArea.Position = [727 247 150 60]; % Create sigmaTextAreaLabel app.sigmaTextAreaLabel = uilabel(app.DPTab); app.sigmaTextAreaLabel.HorizontalAlignment = 'right'; - app.sigmaTextAreaLabel.Position = [373 559 37 22]; + app.sigmaTextAreaLabel.Position = [373 366 37 22]; app.sigmaTextAreaLabel.Text = 'sigma'; - % Create DPsigmaTextArea - app.DPsigmaTextArea = uitextarea(app.DPTab); - app.DPsigmaTextArea.Position = [425 523 150 60]; + % Create DPShapeFactorTextArea + app.DPShapeFactorTextArea = uitextarea(app.DPTab); + app.DPShapeFactorTextArea.Position = [425 330 150 60]; - % Create NTGTextArea_2Label - app.NTGTextArea_2Label = uilabel(app.DPTab); - app.NTGTextArea_2Label.HorizontalAlignment = 'right'; - app.NTGTextArea_2Label.Position = [376 469 30 22]; - app.NTGTextArea_2Label.Text = 'NTG'; + % Create CommonKfLabel + app.CommonKfLabel = uilabel(app.DiscretizationTab); + app.CommonKfLabel.HorizontalAlignment = 'right'; + app.CommonKfLabel.Position = [83 655 65 22]; + app.CommonKfLabel.Text = 'CommonKf'; - % Create DPNTGTextArea - app.DPNTGTextArea = uitextarea(app.DPTab); - app.DPNTGTextArea.Position = [421 433 150 60]; + % Create CommonKfTextArea + app.CommonKfTextArea = uitextarea(app.DiscretizationTab); + app.CommonKfTextArea.Position = [163 619 150 60]; - % Create prporEditFieldLabel - app.prporEditFieldLabel = uilabel(app.DPTab); - app.prporEditFieldLabel.HorizontalAlignment = 'right'; - app.prporEditFieldLabel.Position = [411 358 33 22]; - app.prporEditFieldLabel.Text = 'prpor'; + % Create CommonWfLabel + app.CommonWfLabel = uilabel(app.DiscretizationTab); + app.CommonWfLabel.HorizontalAlignment = 'right'; + app.CommonWfLabel.Position = [333 653 68 22]; + app.CommonWfLabel.Text = 'CommonWf'; - % Create DPprporEditField - app.DPprporEditField = uieditfield(app.DPTab, 'numeric'); - app.DPprporEditField.Position = [459 358 100 22]; + % Create CommonWfTextArea + app.CommonWfTextArea = uitextarea(app.DiscretizationTab); + app.CommonWfTextArea.Position = [416 617 150 60]; - % Create cporLabel - app.cporLabel = uilabel(app.DPTab); - app.cporLabel.HorizontalAlignment = 'right'; - app.cporLabel.Position = [427 307 28 22]; - app.cporLabel.Text = 'cpor'; + % Create CommonPorfLabel + app.CommonPorfLabel = uilabel(app.DiscretizationTab); + app.CommonPorfLabel.HorizontalAlignment = 'right'; + app.CommonPorfLabel.Position = [594 655 76 22]; + app.CommonPorfLabel.Text = 'CommonPorf'; - % Create DPcporEditField - app.DPcporEditField = uieditfield(app.DPTab, 'numeric'); - app.DPcporEditField.Position = [470 307 100 22]; + % Create CommonPorfTextArea + app.CommonPorfTextArea = uitextarea(app.DiscretizationTab); + app.CommonPorfTextArea.Position = [685 619 150 60]; - % Create KfTextAreaLabel - app.KfTextAreaLabel = uilabel(app.DPTab); - app.KfTextAreaLabel.HorizontalAlignment = 'right'; - app.KfTextAreaLabel.Position = [401 258 25 22]; - app.KfTextAreaLabel.Text = 'Kf'; + % Create CommonCporfLabel + app.CommonCporfLabel = uilabel(app.DiscretizationTab); + app.CommonCporfLabel.HorizontalAlignment = 'right'; + app.CommonCporfLabel.Position = [844 651 83 22]; + app.CommonCporfLabel.Text = 'CommonCporf'; - % Create DPKfTextArea - app.DPKfTextArea = uitextarea(app.DPTab); - app.DPKfTextArea.Position = [441 222 150 60]; + % Create CommonCporfEditField + app.CommonCporfEditField = uieditfield(app.DiscretizationTab, 'numeric'); + app.CommonCporfEditField.Position = [942 651 142 22]; - % Create WfTextAreaLabel - app.WfTextAreaLabel = uilabel(app.DPTab); - app.WfTextAreaLabel.HorizontalAlignment = 'right'; - app.WfTextAreaLabel.Position = [394 176 25 22]; - app.WfTextAreaLabel.Text = 'Wf'; + % Create CommonPrporfLabel + app.CommonPrporfLabel = uilabel(app.DiscretizationTab); + app.CommonPrporfLabel.HorizontalAlignment = 'right'; + app.CommonPrporfLabel.Position = [843 622 86 22]; + app.CommonPrporfLabel.Text = 'CommonPrporf'; - % Create DPWfTextArea - app.DPWfTextArea = uitextarea(app.DPTab); - app.DPWfTextArea.Position = [434 140 150 60]; + % Create CommonPrporfEditField + app.CommonPrporfEditField = uieditfield(app.DiscretizationTab, 'numeric'); + app.CommonPrporfEditField.Position = [944 622 140 22]; - % Create PorfTextAreaLabel - app.PorfTextAreaLabel = uilabel(app.DPTab); - app.PorfTextAreaLabel.HorizontalAlignment = 'right'; - app.PorfTextAreaLabel.Position = [412 72 27 22]; - app.PorfTextAreaLabel.Text = 'Porf'; + % Create CommonStressFractureLabel + app.CommonStressFractureLabel = uilabel(app.DiscretizationTab); + app.CommonStressFractureLabel.HorizontalAlignment = 'right'; + app.CommonStressFractureLabel.Position = [19 588 132 22]; + app.CommonStressFractureLabel.Text = 'CommonStressFracture'; - % Create DPPorfTextArea - app.DPPorfTextArea = uitextarea(app.DPTab); - app.DPPorfTextArea.Position = [454 36 150 60]; + % Create CommonStressFractureEditField + app.CommonStressFractureEditField = uieditfield(app.DiscretizationTab, 'numeric'); + app.CommonStressFractureEditField.Position = [166 588 138 22]; - % Create prporfEditFieldLabel - app.prporfEditFieldLabel = uilabel(app.DPTab); - app.prporfEditFieldLabel.HorizontalAlignment = 'right'; - app.prporfEditFieldLabel.Position = [744 537 36 22]; - app.prporfEditFieldLabel.Text = 'prporf'; + % Create CommonStressMatrixLabel + app.CommonStressMatrixLabel = uilabel(app.DiscretizationTab); + app.CommonStressMatrixLabel.HorizontalAlignment = 'right'; + app.CommonStressMatrixLabel.Position = [326 580 120 22]; + app.CommonStressMatrixLabel.Text = 'CommonStressMatrix'; - % Create DPprporfEditField - app.DPprporfEditField = uieditfield(app.DPTab, 'numeric'); - app.DPprporfEditField.Position = [795 537 100 22]; + % Create CommonStressMatrixEditField + app.CommonStressMatrixEditField = uieditfield(app.DiscretizationTab, 'numeric'); + app.CommonStressMatrixEditField.Position = [461 580 142 22]; - % Create cporfEditFieldLabel - app.cporfEditFieldLabel = uilabel(app.DPTab); - app.cporfEditFieldLabel.HorizontalAlignment = 'right'; - app.cporfEditFieldLabel.Position = [748 491 32 22]; - app.cporfEditFieldLabel.Text = 'cporf'; + % Create CommonStressRefPressureLabel + app.CommonStressRefPressureLabel = uilabel(app.DiscretizationTab); + app.CommonStressRefPressureLabel.HorizontalAlignment = 'right'; + app.CommonStressRefPressureLabel.Position = [666 580 154 22]; + app.CommonStressRefPressureLabel.Text = 'CommonStressRefPressure'; - % Create DPcporfEditField - app.DPcporfEditField = uieditfield(app.DPTab, 'numeric'); - app.DPcporfEditField.Position = [795 491 100 22]; + % Create CommonStressRefPressureEditField + app.CommonStressRefPressureEditField = uieditfield(app.DiscretizationTab, 'numeric'); + app.CommonStressRefPressureEditField.Position = [835 580 129 22]; - % Create stress_factor_fractureEditFieldLabel - app.stress_factor_fractureEditFieldLabel = uilabel(app.DPTab); - app.stress_factor_fractureEditFieldLabel.HorizontalAlignment = 'right'; - app.stress_factor_fractureEditFieldLabel.Position = [660 424 121 22]; - app.stress_factor_fractureEditFieldLabel.Text = 'stress_factor_fracture'; + % Create CommonRptLabel + app.CommonRptLabel = uilabel(app.DiscretizationTab); + app.CommonRptLabel.HorizontalAlignment = 'right'; + app.CommonRptLabel.Position = [53 542 72 22]; + app.CommonRptLabel.Text = 'CommonRpt'; - % Create DPstress_factor_fractureEditField - app.DPstress_factor_fractureEditField = uieditfield(app.DPTab, 'numeric'); - app.DPstress_factor_fractureEditField.Position = [796 424 100 22]; + % Create CommonRptEditField + app.CommonRptEditField = uieditfield(app.DiscretizationTab, 'numeric'); + app.CommonRptEditField.Position = [140 542 170 22]; - % Create stress_factor_matrixEditFieldLabel - app.stress_factor_matrixEditFieldLabel = uilabel(app.DPTab); - app.stress_factor_matrixEditFieldLabel.HorizontalAlignment = 'right'; - app.stress_factor_matrixEditFieldLabel.Position = [628 379 113 22]; - app.stress_factor_matrixEditFieldLabel.Text = 'stress_factor_matrix'; + % Create CommonCfLabel + app.CommonCfLabel = uilabel(app.DiscretizationTab); + app.CommonCfLabel.HorizontalAlignment = 'right'; + app.CommonCfLabel.Position = [317 545 66 22]; + app.CommonCfLabel.Text = 'CommonCf'; - % Create DPstress_factor_matrixEditField - app.DPstress_factor_matrixEditField = uieditfield(app.DPTab, 'numeric'); - app.DPstress_factor_matrixEditField.Position = [756 379 100 22]; + % Create CommonCfEditField + app.CommonCfEditField = uieditfield(app.DiscretizationTab, 'numeric'); + app.CommonCfEditField.Position = [398 545 172 22]; - % Create stress_factor_ref_pressureEditFieldLabel - app.stress_factor_ref_pressureEditFieldLabel = uilabel(app.DPTab); - app.stress_factor_ref_pressureEditFieldLabel.HorizontalAlignment = 'right'; - app.stress_factor_ref_pressureEditFieldLabel.Position = [604 320 148 22]; - app.stress_factor_ref_pressureEditFieldLabel.Text = 'stress_factor_ref_pressure'; + % Create CommonCaLabel + app.CommonCaLabel = uilabel(app.DiscretizationTab); + app.CommonCaLabel.HorizontalAlignment = 'right'; + app.CommonCaLabel.Position = [691 542 69 22]; + app.CommonCaLabel.Text = 'CommonCa'; - % Create DPstress_factor_ref_pressureEditField - app.DPstress_factor_ref_pressureEditField = uieditfield(app.DPTab, 'numeric'); - app.DPstress_factor_ref_pressureEditField.Position = [767 320 100 22]; + % Create CommonCaEditField + app.CommonCaEditField = uieditfield(app.DiscretizationTab, 'numeric'); + app.CommonCaEditField.Position = [775 542 165 22]; - % Create RptEditFieldLabel_2 - app.RptEditFieldLabel_2 = uilabel(app.DPTab); - app.RptEditFieldLabel_2.HorizontalAlignment = 'right'; - app.RptEditFieldLabel_2.Position = [740 251 25 22]; - app.RptEditFieldLabel_2.Text = 'Rpt'; + % Create CommonPrporLabel + app.CommonPrporLabel = uilabel(app.DiscretizationTab); + app.CommonPrporLabel.HorizontalAlignment = 'right'; + app.CommonPrporLabel.Position = [58 503 83 22]; + app.CommonPrporLabel.Text = 'CommonPrpor'; - % Create DPRptEditField - app.DPRptEditField = uieditfield(app.DPTab, 'numeric'); - app.DPRptEditField.Position = [780 251 100 22]; + % Create CommonPrporEditField + app.CommonPrporEditField = uieditfield(app.DiscretizationTab, 'numeric'); + app.CommonPrporEditField.Position = [156 503 148 22]; - % Create cffEditFieldLabel - app.cffEditFieldLabel = uilabel(app.DPTab); - app.cffEditFieldLabel.HorizontalAlignment = 'right'; - app.cffEditFieldLabel.Position = [733 192 25 22]; - app.cffEditFieldLabel.Text = 'cff'; + % Create CommonCporLabel + app.CommonCporLabel = uilabel(app.DiscretizationTab); + app.CommonCporLabel.HorizontalAlignment = 'right'; + app.CommonCporLabel.Position = [325 502 80 22]; + app.CommonCporLabel.Text = 'CommonCpor'; - % Create DPcffEditField - app.DPcffEditField = uieditfield(app.DPTab, 'numeric'); - app.DPcffEditField.Position = [773 192 100 22]; - - % Create caEditFieldLabel_2 - app.caEditFieldLabel_2 = uilabel(app.DPTab); - app.caEditFieldLabel_2.HorizontalAlignment = 'right'; - app.caEditFieldLabel_2.Position = [744 123 25 22]; - app.caEditFieldLabel_2.Text = 'ca'; - - % Create DPcaEditField - app.DPcaEditField = uieditfield(app.DPTab, 'numeric'); - app.DPcaEditField.Position = [784 123 100 22]; + % Create CommonCporEditField + app.CommonCporEditField = uieditfield(app.DiscretizationTab, 'numeric'); + app.CommonCporEditField.Position = [420 502 150 22]; % Create FlowTab app.FlowTab = uitab(app.TabGroup); @@ -1207,253 +889,41 @@ classdef EDFM_Simulator_App < matlab.apps.AppBase % Create TabGroup2 app.TabGroup2 = uitabgroup(app.FlowTab); - app.TabGroup2.Position = [69 38 1120 529]; + app.TabGroup2.Position = [54 12 1120 267]; % Create GasWaterTab app.GasWaterTab = uitab(app.TabGroup2); app.GasWaterTab.Title = 'GasWater'; - % Create gas_propVLEditFieldLabel - app.gas_propVLEditFieldLabel = uilabel(app.GasWaterTab); - app.gas_propVLEditFieldLabel.HorizontalAlignment = 'right'; - app.gas_propVLEditFieldLabel.Position = [39 448 73 22]; - app.gas_propVLEditFieldLabel.Text = 'gas_prop.VL'; - - % Create GWgas_propVLEditField - app.GWgas_propVLEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWgas_propVLEditField.Position = [127 448 122 22]; - - % Create gas_propPLEditFieldLabel - app.gas_propPLEditFieldLabel = uilabel(app.GasWaterTab); - app.gas_propPLEditFieldLabel.HorizontalAlignment = 'right'; - app.gas_propPLEditFieldLabel.Position = [41 407 73 22]; - app.gas_propPLEditFieldLabel.Text = 'gas_prop.PL'; - - % Create GWgas_propPLEditField - app.GWgas_propPLEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWgas_propPLEditField.Position = [129 407 119 22]; - - % Create gas_propKnEditFieldLabel - app.gas_propKnEditFieldLabel = uilabel(app.GasWaterTab); - app.gas_propKnEditFieldLabel.HorizontalAlignment = 'right'; - app.gas_propKnEditFieldLabel.Position = [42 364 73 22]; - app.gas_propKnEditFieldLabel.Text = 'gas_prop.Kn'; - - % Create GWgas_propKnEditField - app.GWgas_propKnEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWgas_propKnEditField.Position = [130 364 118 22]; - - % Create beta_non_darcy_flowEditFieldLabel - app.beta_non_darcy_flowEditFieldLabel = uilabel(app.GasWaterTab); - app.beta_non_darcy_flowEditFieldLabel.HorizontalAlignment = 'right'; - app.beta_non_darcy_flowEditFieldLabel.Position = [14 323 119 22]; - app.beta_non_darcy_flowEditFieldLabel.Text = 'beta_non_darcy_flow'; - - % Create GWbeta_non_darcy_flowEditField - app.GWbeta_non_darcy_flowEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWbeta_non_darcy_flowEditField.Position = [148 323 100 22]; - - % Create p_grad_thresholdEditFieldLabel - app.p_grad_thresholdEditFieldLabel = uilabel(app.GasWaterTab); - app.p_grad_thresholdEditFieldLabel.HorizontalAlignment = 'right'; - app.p_grad_thresholdEditFieldLabel.Position = [19 279 98 22]; - app.p_grad_thresholdEditFieldLabel.Text = 'p_grad_threshold'; - - % Create GWp_grad_thresholdEditField - app.GWp_grad_thresholdEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWp_grad_thresholdEditField.Position = [132 279 112 22]; - - % Create density_g_scEditFieldLabel - app.density_g_scEditFieldLabel = uilabel(app.GasWaterTab); - app.density_g_scEditFieldLabel.HorizontalAlignment = 'right'; - app.density_g_scEditFieldLabel.Position = [36 237 75 22]; - app.density_g_scEditFieldLabel.Text = 'density_g_sc'; - - % Create GWdensity_g_scEditField - app.GWdensity_g_scEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWdensity_g_scEditField.Position = [126 237 119 22]; - - % Create density_w_scEditFieldLabel - app.density_w_scEditFieldLabel = uilabel(app.GasWaterTab); - app.density_w_scEditFieldLabel.HorizontalAlignment = 'right'; - app.density_w_scEditFieldLabel.Position = [25 200 77 22]; - app.density_w_scEditFieldLabel.Text = 'density_w_sc'; - - % Create GWdensity_w_scEditField - app.GWdensity_w_scEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWdensity_w_scEditField.Position = [117 200 128 22]; - - % Create gas_modelDropDownLabel - app.gas_modelDropDownLabel = uilabel(app.GasWaterTab); - app.gas_modelDropDownLabel.HorizontalAlignment = 'right'; - app.gas_modelDropDownLabel.Position = [41 156 64 22]; - app.gas_modelDropDownLabel.Text = 'gas_model'; - - % Create GWgas_modelDropDown - app.GWgas_modelDropDown = uidropdown(app.GasWaterTab); - app.GWgas_modelDropDown.Items = {''}; - app.GWgas_modelDropDown.Position = [120 156 125 22]; - app.GWgas_modelDropDown.Value = ''; - - % Create prgEditFieldLabel - app.prgEditFieldLabel = uilabel(app.GasWaterTab); - app.prgEditFieldLabel.HorizontalAlignment = 'right'; - app.prgEditFieldLabel.Position = [68 99 25 22]; - app.prgEditFieldLabel.Text = 'prg'; - - % Create GWprgEditField - app.GWprgEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWprgEditField.Position = [108 99 137 22]; - - % Create BgiEditFieldLabel - app.BgiEditFieldLabel = uilabel(app.GasWaterTab); - app.BgiEditFieldLabel.HorizontalAlignment = 'right'; - app.BgiEditFieldLabel.Position = [67 57 25 22]; - app.BgiEditFieldLabel.Text = 'Bgi'; - - % Create GWBgiEditField - app.GWBgiEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWBgiEditField.Position = [107 57 134 22]; - - % Create cgEditFieldLabel - app.cgEditFieldLabel = uilabel(app.GasWaterTab); - app.cgEditFieldLabel.HorizontalAlignment = 'right'; - app.cgEditFieldLabel.Position = [66 10 25 22]; - app.cgEditFieldLabel.Text = 'cg'; - - % Create GWcgEditField - app.GWcgEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWcgEditField.Position = [106 10 137 22]; - - % Create vgiEditFieldLabel - app.vgiEditFieldLabel = uilabel(app.GasWaterTab); - app.vgiEditFieldLabel.HorizontalAlignment = 'right'; - app.vgiEditFieldLabel.Position = [345 320 25 22]; - app.vgiEditFieldLabel.Text = 'vgi'; - - % Create GWvgiEditField - app.GWvgiEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWvgiEditField.Position = [385 320 134 22]; - - % Create cvgEditFieldLabel - app.cvgEditFieldLabel = uilabel(app.GasWaterTab); - app.cvgEditFieldLabel.HorizontalAlignment = 'right'; - app.cvgEditFieldLabel.Position = [339 280 25 22]; - app.cvgEditFieldLabel.Text = 'cvg'; - - % Create GWcvgEditField - app.GWcvgEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWcvgEditField.Position = [379 280 141 22]; - - % Create PprTextAreaLabel - app.PprTextAreaLabel = uilabel(app.GasWaterTab); - app.PprTextAreaLabel.HorizontalAlignment = 'right'; - app.PprTextAreaLabel.Position = [330 231 25 22]; - app.PprTextAreaLabel.Text = 'Ppr'; - - % Create GWPprTextArea - app.GWPprTextArea = uitextarea(app.GasWaterTab); - app.GWPprTextArea.Position = [370 195 150 60]; - - % Create BGTextAreaLabel - app.BGTextAreaLabel = uilabel(app.GasWaterTab); - app.BGTextAreaLabel.HorizontalAlignment = 'right'; - app.BGTextAreaLabel.Position = [329 156 25 22]; - app.BGTextAreaLabel.Text = 'BG'; - - % Create GWBGTextArea - app.GWBGTextArea = uitextarea(app.GasWaterTab); - app.GWBGTextArea.Position = [369 120 150 60]; - - % Create MUGTextAreaLabel - app.MUGTextAreaLabel = uilabel(app.GasWaterTab); - app.MUGTextAreaLabel.HorizontalAlignment = 'right'; - app.MUGTextAreaLabel.Position = [323 66 33 22]; - app.MUGTextAreaLabel.Text = 'MUG'; - - % Create GWMUGTextArea - app.GWMUGTextArea = uitextarea(app.GasWaterTab); - app.GWMUGTextArea.Position = [371 30 150 60]; - - % Create prwEditFieldLabel - app.prwEditFieldLabel = uilabel(app.GasWaterTab); - app.prwEditFieldLabel.HorizontalAlignment = 'right'; - app.prwEditFieldLabel.Position = [344 444 25 22]; - app.prwEditFieldLabel.Text = 'prw'; - - % Create GWprwEditField - app.GWprwEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWprwEditField.Position = [384 444 135 22]; - - % Create BwiEditFieldLabel - app.BwiEditFieldLabel = uilabel(app.GasWaterTab); - app.BwiEditFieldLabel.HorizontalAlignment = 'right'; - app.BwiEditFieldLabel.Position = [348 403 25 22]; - app.BwiEditFieldLabel.Text = 'Bwi'; - - % Create GWBwiEditField - app.GWBwiEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWBwiEditField.Position = [388 403 136 22]; - - % Create cwEditFieldLabel - app.cwEditFieldLabel = uilabel(app.GasWaterTab); - app.cwEditFieldLabel.HorizontalAlignment = 'right'; - app.cwEditFieldLabel.Position = [349 363 25 22]; - app.cwEditFieldLabel.Text = 'cw'; - - % Create GWcwEditField - app.GWcwEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWcwEditField.Position = [389 363 130 22]; - - % Create vwiEditFieldLabel - app.vwiEditFieldLabel = uilabel(app.GasWaterTab); - app.vwiEditFieldLabel.HorizontalAlignment = 'right'; - app.vwiEditFieldLabel.Position = [605 448 25 22]; - app.vwiEditFieldLabel.Text = 'vwi'; - - % Create GWvwiEditField - app.GWvwiEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWvwiEditField.Position = [645 448 100 22]; - - % Create cvwEditFieldLabel - app.cvwEditFieldLabel = uilabel(app.GasWaterTab); - app.cvwEditFieldLabel.HorizontalAlignment = 'right'; - app.cvwEditFieldLabel.Position = [603 399 26 22]; - app.cvwEditFieldLabel.Text = 'cvw'; - - % Create GWcvwEditField - app.GWcvwEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWcvwEditField.Position = [644 399 100 22]; - % Create ifpcglEditFieldLabel app.ifpcglEditFieldLabel = uilabel(app.GasWaterTab); app.ifpcglEditFieldLabel.HorizontalAlignment = 'right'; - app.ifpcglEditFieldLabel.Position = [596 353 33 22]; + app.ifpcglEditFieldLabel.Position = [37 197 33 22]; app.ifpcglEditFieldLabel.Text = 'ifpcgl'; % Create GWifpcglEditField app.GWifpcglEditField = uieditfield(app.GasWaterTab, 'numeric'); - app.GWifpcglEditField.Position = [644 353 100 22]; + app.GWifpcglEditField.Position = [85 197 100 22]; % Create RPGWTextAreaLabel app.RPGWTextAreaLabel = uilabel(app.GasWaterTab); app.RPGWTextAreaLabel.HorizontalAlignment = 'right'; - app.RPGWTextAreaLabel.Position = [590 304 42 22]; + app.RPGWTextAreaLabel.Position = [21 148 42 22]; app.RPGWTextAreaLabel.Text = 'RPGW'; % Create GWRPGWTextArea app.GWRPGWTextArea = uitextarea(app.GasWaterTab); - app.GWRPGWTextArea.Position = [647 268 150 60]; + app.GWRPGWTextArea.Position = [78 112 150 60]; % Create PRFTextAreaLabel app.PRFTextAreaLabel = uilabel(app.GasWaterTab); app.PRFTextAreaLabel.HorizontalAlignment = 'right'; - app.PRFTextAreaLabel.Position = [603 223 29 22]; + app.PRFTextAreaLabel.Position = [43 71 29 22]; app.PRFTextAreaLabel.Text = 'PRF'; % Create GWPRFTextArea app.GWPRFTextArea = uitextarea(app.GasWaterTab); - app.GWPRFTextArea.Position = [647 187 150 60]; + app.GWPRFTextArea.Position = [87 35 150 60]; % Create OilWaterTab app.OilWaterTab = uitab(app.TabGroup2); @@ -1462,610 +932,228 @@ classdef EDFM_Simulator_App < matlab.apps.AppBase % Create density_o_scEditFieldLabel app.density_o_scEditFieldLabel = uilabel(app.OilWaterTab); app.density_o_scEditFieldLabel.HorizontalAlignment = 'right'; - app.density_o_scEditFieldLabel.Position = [23 457 75 22]; + app.density_o_scEditFieldLabel.Position = [242 199 75 22]; app.density_o_scEditFieldLabel.Text = 'density_o_sc'; % Create OWdensity_o_scEditField app.OWdensity_o_scEditField = uieditfield(app.OilWaterTab, 'numeric'); - app.OWdensity_o_scEditField.Position = [113 457 100 22]; - - % Create density_w_scEditFieldLabel_2 - app.density_w_scEditFieldLabel_2 = uilabel(app.OilWaterTab); - app.density_w_scEditFieldLabel_2.HorizontalAlignment = 'right'; - app.density_w_scEditFieldLabel_2.Position = [18 416 77 22]; - app.density_w_scEditFieldLabel_2.Text = 'density_w_sc'; - - % Create OWdensity_w_scEditField - app.OWdensity_w_scEditField = uieditfield(app.OilWaterTab, 'numeric'); - app.OWdensity_w_scEditField.Position = [110 416 100 22]; - - % Create oil_modelDropDownLabel - app.oil_modelDropDownLabel = uilabel(app.OilWaterTab); - app.oil_modelDropDownLabel.HorizontalAlignment = 'right'; - app.oil_modelDropDownLabel.Position = [41 367 56 22]; - app.oil_modelDropDownLabel.Text = 'oil_model'; - - % Create OWoil_modelDropDown - app.OWoil_modelDropDown = uidropdown(app.OilWaterTab); - app.OWoil_modelDropDown.Items = {''}; - app.OWoil_modelDropDown.Position = [112 367 100 22]; - app.OWoil_modelDropDown.Value = ''; + app.OWdensity_o_scEditField.Position = [332 199 100 22]; % Create proEditFieldLabel app.proEditFieldLabel = uilabel(app.OilWaterTab); app.proEditFieldLabel.HorizontalAlignment = 'right'; - app.proEditFieldLabel.Position = [69 330 25 22]; + app.proEditFieldLabel.Position = [255 168 25 22]; app.proEditFieldLabel.Text = 'pro'; % Create OWproEditField app.OWproEditField = uieditfield(app.OilWaterTab, 'numeric'); - app.OWproEditField.Position = [109 330 100 22]; + app.OWproEditField.Position = [295 168 100 22]; % Create BoiEditFieldLabel app.BoiEditFieldLabel = uilabel(app.OilWaterTab); app.BoiEditFieldLabel.HorizontalAlignment = 'right'; - app.BoiEditFieldLabel.Position = [60 294 25 22]; + app.BoiEditFieldLabel.Position = [254 132 25 22]; app.BoiEditFieldLabel.Text = 'Boi'; % Create OWBoiEditField app.OWBoiEditField = uieditfield(app.OilWaterTab, 'numeric'); - app.OWBoiEditField.Position = [100 294 112 22]; + app.OWBoiEditField.Position = [294 132 112 22]; % Create coEditFieldLabel app.coEditFieldLabel = uilabel(app.OilWaterTab); app.coEditFieldLabel.HorizontalAlignment = 'right'; - app.coEditFieldLabel.Position = [61 258 25 22]; + app.coEditFieldLabel.Position = [248 94 25 22]; app.coEditFieldLabel.Text = 'co'; % Create OWcoEditField app.OWcoEditField = uieditfield(app.OilWaterTab, 'numeric'); - app.OWcoEditField.Position = [101 258 111 22]; + app.OWcoEditField.Position = [288 94 111 22]; % Create voiEditFieldLabel app.voiEditFieldLabel = uilabel(app.OilWaterTab); app.voiEditFieldLabel.HorizontalAlignment = 'right'; - app.voiEditFieldLabel.Position = [60 219 25 22]; + app.voiEditFieldLabel.Position = [266 60 25 22]; app.voiEditFieldLabel.Text = 'voi'; % Create OWvoiEditField app.OWvoiEditField = uieditfield(app.OilWaterTab, 'numeric'); - app.OWvoiEditField.Position = [100 219 110 22]; + app.OWvoiEditField.Position = [306 60 110 22]; % Create cvoEditFieldLabel app.cvoEditFieldLabel = uilabel(app.OilWaterTab); app.cvoEditFieldLabel.HorizontalAlignment = 'right'; - app.cvoEditFieldLabel.Position = [56 183 25 22]; + app.cvoEditFieldLabel.Position = [462 194 25 22]; app.cvoEditFieldLabel.Text = 'cvo'; % Create OWcvoEditField app.OWcvoEditField = uieditfield(app.OilWaterTab, 'numeric'); - app.OWcvoEditField.Position = [96 183 112 22]; - - % Create PprTextAreaLabel_2 - app.PprTextAreaLabel_2 = uilabel(app.OilWaterTab); - app.PprTextAreaLabel_2.HorizontalAlignment = 'right'; - app.PprTextAreaLabel_2.Position = [20 143 25 22]; - app.PprTextAreaLabel_2.Text = 'Ppr'; - - % Create OWPprTextArea - app.OWPprTextArea = uitextarea(app.OilWaterTab); - app.OWPprTextArea.Position = [60 107 150 60]; - - % Create BOTextAreaLabel - app.BOTextAreaLabel = uilabel(app.OilWaterTab); - app.BOTextAreaLabel.HorizontalAlignment = 'right'; - app.BOTextAreaLabel.Position = [20 57 25 22]; - app.BOTextAreaLabel.Text = 'BO'; - - % Create OWBOTextArea - app.OWBOTextArea = uitextarea(app.OilWaterTab); - app.OWBOTextArea.Position = [60 21 150 60]; - - % Create MUOTextAreaLabel - app.MUOTextAreaLabel = uilabel(app.OilWaterTab); - app.MUOTextAreaLabel.HorizontalAlignment = 'right'; - app.MUOTextAreaLabel.Position = [303 464 33 22]; - app.MUOTextAreaLabel.Text = 'MUO'; - - % Create OWMUOTextArea - app.OWMUOTextArea = uitextarea(app.OilWaterTab); - app.OWMUOTextArea.Position = [351 428 150 60]; - - % Create prwEditFieldLabel_2 - app.prwEditFieldLabel_2 = uilabel(app.OilWaterTab); - app.prwEditFieldLabel_2.HorizontalAlignment = 'right'; - app.prwEditFieldLabel_2.Position = [325 383 25 22]; - app.prwEditFieldLabel_2.Text = 'prw'; - - % Create OWprwEditField - app.OWprwEditField = uieditfield(app.OilWaterTab, 'numeric'); - app.OWprwEditField.Position = [365 383 136 22]; - - % Create BwiEditFieldLabel_2 - app.BwiEditFieldLabel_2 = uilabel(app.OilWaterTab); - app.BwiEditFieldLabel_2.HorizontalAlignment = 'right'; - app.BwiEditFieldLabel_2.Position = [328 336 25 22]; - app.BwiEditFieldLabel_2.Text = 'Bwi'; - - % Create OWBwiEditField - app.OWBwiEditField = uieditfield(app.OilWaterTab, 'numeric'); - app.OWBwiEditField.Position = [368 336 133 22]; - - % Create cwEditFieldLabel_2 - app.cwEditFieldLabel_2 = uilabel(app.OilWaterTab); - app.cwEditFieldLabel_2.HorizontalAlignment = 'right'; - app.cwEditFieldLabel_2.Position = [325 286 25 22]; - app.cwEditFieldLabel_2.Text = 'cw'; - - % Create OWcwEditField - app.OWcwEditField = uieditfield(app.OilWaterTab, 'numeric'); - app.OWcwEditField.Position = [365 286 133 22]; - - % Create vwiEditFieldLabel_2 - app.vwiEditFieldLabel_2 = uilabel(app.OilWaterTab); - app.vwiEditFieldLabel_2.HorizontalAlignment = 'right'; - app.vwiEditFieldLabel_2.Position = [325 236 25 22]; - app.vwiEditFieldLabel_2.Text = 'vwi'; - - % Create OWvwiEditField - app.OWvwiEditField = uieditfield(app.OilWaterTab, 'numeric'); - app.OWvwiEditField.Position = [365 236 132 22]; - - % Create cvwEditFieldLabel_2 - app.cvwEditFieldLabel_2 = uilabel(app.OilWaterTab); - app.cvwEditFieldLabel_2.HorizontalAlignment = 'right'; - app.cvwEditFieldLabel_2.Position = [325 187 26 22]; - app.cvwEditFieldLabel_2.Text = 'cvw'; - - % Create OWcvwEditField - app.OWcvwEditField = uieditfield(app.OilWaterTab, 'numeric'); - app.OWcvwEditField.Position = [366 187 129 22]; + app.OWcvoEditField.Position = [502 194 112 22]; % Create ifpcowEditFieldLabel app.ifpcowEditFieldLabel = uilabel(app.OilWaterTab); app.ifpcowEditFieldLabel.HorizontalAlignment = 'right'; - app.ifpcowEditFieldLabel.Position = [324 139 39 22]; + app.ifpcowEditFieldLabel.Position = [27 123 39 22]; app.ifpcowEditFieldLabel.Text = 'ifpcow'; % Create OWifpcowEditField app.OWifpcowEditField = uieditfield(app.OilWaterTab, 'numeric'); - app.OWifpcowEditField.Position = [378 139 120 22]; + app.OWifpcowEditField.Position = [81 123 120 22]; % Create PRMTextAreaLabel app.PRMTextAreaLabel = uilabel(app.OilWaterTab); app.PRMTextAreaLabel.HorizontalAlignment = 'right'; - app.PRMTextAreaLabel.Position = [305 76 32 22]; + app.PRMTextAreaLabel.Position = [470 148 32 22]; app.PRMTextAreaLabel.Text = 'PRM'; % Create OWPRMTextArea app.OWPRMTextArea = uitextarea(app.OilWaterTab); - app.OWPRMTextArea.Position = [352 40 150 60]; + app.OWPRMTextArea.Position = [508 112 150 60]; % Create PRFTextAreaLabel_2 app.PRFTextAreaLabel_2 = uilabel(app.OilWaterTab); app.PRFTextAreaLabel_2.HorizontalAlignment = 'right'; - app.PRFTextAreaLabel_2.Position = [603 469 29 22]; + app.PRFTextAreaLabel_2.Position = [18 82 29 22]; app.PRFTextAreaLabel_2.Text = 'PRF'; % Create OWPRFTextArea app.OWPRFTextArea = uitextarea(app.OilWaterTab); - app.OWPRFTextArea.Position = [647 433 150 60]; + app.OWPRFTextArea.Position = [62 46 150 60]; - % Create beta_non_Darcy_flowEditFieldLabel - app.beta_non_Darcy_flowEditFieldLabel = uilabel(app.OilWaterTab); - app.beta_non_Darcy_flowEditFieldLabel.HorizontalAlignment = 'right'; - app.beta_non_Darcy_flowEditFieldLabel.Position = [565 379 121 22]; - app.beta_non_Darcy_flowEditFieldLabel.Text = 'beta_non_Darcy_flow'; + % Create oil_modelLabel + app.oil_modelLabel = uilabel(app.OilWaterTab); + app.oil_modelLabel.HorizontalAlignment = 'right'; + app.oil_modelLabel.Position = [50 205 56 22]; + app.oil_modelLabel.Text = 'oil_model'; - % Create OWbeta_non_Darcy_flowEditField - app.OWbeta_non_Darcy_flowEditField = uieditfield(app.OilWaterTab, 'numeric'); - app.OWbeta_non_Darcy_flowEditField.Position = [701 379 100 22]; - - % Create p_grad_thresholdEditFieldLabel_2 - app.p_grad_thresholdEditFieldLabel_2 = uilabel(app.OilWaterTab); - app.p_grad_thresholdEditFieldLabel_2.HorizontalAlignment = 'right'; - app.p_grad_thresholdEditFieldLabel_2.Position = [586 336 98 22]; - app.p_grad_thresholdEditFieldLabel_2.Text = 'p_grad_threshold'; - - % Create OWp_grad_thresholdEditField - app.OWp_grad_thresholdEditField = uieditfield(app.OilWaterTab, 'numeric'); - app.OWp_grad_thresholdEditField.Position = [699 336 100 22]; + % Create OWoil_modelDropDown + app.OWoil_modelDropDown = uidropdown(app.OilWaterTab); + app.OWoil_modelDropDown.Items = {''}; + app.OWoil_modelDropDown.Position = [121 205 100 22]; + app.OWoil_modelDropDown.Value = ''; % Create MultiComponentTab app.MultiComponentTab = uitab(app.TabGroup2); app.MultiComponentTab.Title = 'MultiComponent'; - % Create DsEditFieldLabel - app.DsEditFieldLabel = uilabel(app.MultiComponentTab); - app.DsEditFieldLabel.HorizontalAlignment = 'right'; - app.DsEditFieldLabel.Position = [54 470 25 22]; - app.DsEditFieldLabel.Text = 'Ds'; - - % Create MCDsEditField - app.MCDsEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCDsEditField.Position = [94 470 136 22]; - - % Create DbEditFieldLabel - app.DbEditFieldLabel = uilabel(app.MultiComponentTab); - app.DbEditFieldLabel.HorizontalAlignment = 'right'; - app.DbEditFieldLabel.Position = [48 430 25 22]; - app.DbEditFieldLabel.Text = 'Db'; - - % Create MCDbEditField - app.MCDbEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCDbEditField.Position = [88 430 138 22]; - - % Create c_ca_tableTextAreaLabel - app.c_ca_tableTextAreaLabel = uilabel(app.MultiComponentTab); - app.c_ca_tableTextAreaLabel.HorizontalAlignment = 'right'; - app.c_ca_tableTextAreaLabel.Position = [-2 386 63 22]; - app.c_ca_tableTextAreaLabel.Text = 'c_ca_table'; - - % Create MCc_ca_tableTextArea - app.MCc_ca_tableTextArea = uitextarea(app.MultiComponentTab); - app.MCc_ca_tableTextArea.Position = [76 350 150 60]; - - % Create REditFieldLabel - app.REditFieldLabel = uilabel(app.MultiComponentTab); - app.REditFieldLabel.HorizontalAlignment = 'right'; - app.REditFieldLabel.Position = [44 312 25 22]; - app.REditFieldLabel.Text = 'R'; - - % Create MCREditField - app.MCREditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCREditField.Position = [84 312 139 22]; - - % Create VmEditFieldLabel - app.VmEditFieldLabel = uilabel(app.MultiComponentTab); - app.VmEditFieldLabel.HorizontalAlignment = 'right'; - app.VmEditFieldLabel.Position = [45 277 25 22]; - app.VmEditFieldLabel.Text = 'Vm'; - - % Create MCVmEditField - app.MCVmEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCVmEditField.Position = [85 277 138 22]; - - % Create TemperatureEditFieldLabel - app.TemperatureEditFieldLabel = uilabel(app.MultiComponentTab); - app.TemperatureEditFieldLabel.HorizontalAlignment = 'right'; - app.TemperatureEditFieldLabel.Position = [31 240 72 22]; - app.TemperatureEditFieldLabel.Text = 'Temperature'; - - % Create MCTemperatureEditField - app.MCTemperatureEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCTemperatureEditField.Position = [118 240 100 22]; - % Create cs_NcTextAreaLabel app.cs_NcTextAreaLabel = uilabel(app.MultiComponentTab); app.cs_NcTextAreaLabel.HorizontalAlignment = 'right'; - app.cs_NcTextAreaLabel.Position = [16 198 38 22]; + app.cs_NcTextAreaLabel.Position = [16 191 38 22]; app.cs_NcTextAreaLabel.Text = 'cs_Nc'; % Create MCcs_NcTextArea app.MCcs_NcTextArea = uitextarea(app.MultiComponentTab); - app.MCcs_NcTextArea.Position = [69 162 150 60]; + app.MCcs_NcTextArea.Position = [68 156 150 60]; % Create kr_nosurfTextAreaLabel app.kr_nosurfTextAreaLabel = uilabel(app.MultiComponentTab); app.kr_nosurfTextAreaLabel.HorizontalAlignment = 'right'; - app.kr_nosurfTextAreaLabel.Position = [2 127 55 22]; + app.kr_nosurfTextAreaLabel.Position = [17 121 55 22]; app.kr_nosurfTextAreaLabel.Text = 'kr_nosurf'; % Create MCkr_nosurfTextArea app.MCkr_nosurfTextArea = uitextarea(app.MultiComponentTab); - app.MCkr_nosurfTextArea.Position = [72 91 150 60]; + app.MCkr_nosurfTextArea.Position = [86 86 150 60]; % Create kr_surfTextAreaLabel app.kr_surfTextAreaLabel = uilabel(app.MultiComponentTab); app.kr_surfTextAreaLabel.HorizontalAlignment = 'right'; - app.kr_surfTextAreaLabel.Position = [16 55 42 22]; + app.kr_surfTextAreaLabel.Position = [11 44 42 22]; app.kr_surfTextAreaLabel.Text = 'kr_surf'; % Create MCkr_surfTextArea app.MCkr_surfTextArea = uitextarea(app.MultiComponentTab); - app.MCkr_surfTextArea.Position = [73 19 150 60]; + app.MCkr_surfTextArea.Position = [67 9 150 60]; % Create PCTextAreaLabel app.PCTextAreaLabel = uilabel(app.MultiComponentTab); app.PCTextAreaLabel.HorizontalAlignment = 'right'; - app.PCTextAreaLabel.Position = [304 468 25 22]; + app.PCTextAreaLabel.Position = [863 189 25 22]; app.PCTextAreaLabel.Text = 'PC'; % Create MCPCTextArea app.MCPCTextArea = uitextarea(app.MultiComponentTab); - app.MCPCTextArea.Position = [344 432 150 60]; + app.MCPCTextArea.Position = [903 153 150 60]; % Create cs_Nc_fractureTextAreaLabel app.cs_Nc_fractureTextAreaLabel = uilabel(app.MultiComponentTab); app.cs_Nc_fractureTextAreaLabel.HorizontalAlignment = 'right'; - app.cs_Nc_fractureTextAreaLabel.Position = [244 400 86 22]; + app.cs_Nc_fractureTextAreaLabel.Position = [258 213 86 22]; app.cs_Nc_fractureTextAreaLabel.Text = 'cs_Nc_fracture'; % Create MCcs_Nc_fractureTextArea app.MCcs_Nc_fractureTextArea = uitextarea(app.MultiComponentTab); - app.MCcs_Nc_fractureTextArea.Position = [345 370 150 54]; + app.MCcs_Nc_fractureTextArea.Position = [359 183 150 54]; % Create kr_nosurf_fractureTextAreaLabel app.kr_nosurf_fractureTextAreaLabel = uilabel(app.MultiComponentTab); app.kr_nosurf_fractureTextAreaLabel.HorizontalAlignment = 'right'; - app.kr_nosurf_fractureTextAreaLabel.Position = [229 336 102 22]; + app.kr_nosurf_fractureTextAreaLabel.Position = [244 157 102 22]; app.kr_nosurf_fractureTextAreaLabel.Text = 'kr_nosurf_fracture'; % Create MCkr_nosurf_fractureTextArea app.MCkr_nosurf_fractureTextArea = uitextarea(app.MultiComponentTab); - app.MCkr_nosurf_fractureTextArea.Position = [346 305 150 55]; + app.MCkr_nosurf_fractureTextArea.Position = [361 126 150 55]; % Create kr_surf_fractureTextAreaLabel app.kr_surf_fractureTextAreaLabel = uilabel(app.MultiComponentTab); app.kr_surf_fractureTextAreaLabel.HorizontalAlignment = 'right'; - app.kr_surf_fractureTextAreaLabel.Position = [241 270 89 22]; + app.kr_surf_fractureTextAreaLabel.Position = [254 94 89 22]; app.kr_surf_fractureTextAreaLabel.Text = 'kr_surf_fracture'; % Create MCkr_surf_fractureTextArea app.MCkr_surf_fractureTextArea = uitextarea(app.MultiComponentTab); - app.MCkr_surf_fractureTextArea.Position = [345 242 150 52]; + app.MCkr_surf_fractureTextArea.Position = [358 66 150 52]; % Create PC_fractureTextAreaLabel app.PC_fractureTextAreaLabel = uilabel(app.MultiComponentTab); app.PC_fractureTextAreaLabel.HorizontalAlignment = 'right'; - app.PC_fractureTextAreaLabel.Position = [260 204 69 22]; + app.PC_fractureTextAreaLabel.Position = [271 33 69 22]; app.PC_fractureTextAreaLabel.Text = 'PC_fracture'; % Create MCPC_fractureTextArea app.MCPC_fractureTextArea = uitextarea(app.MultiComponentTab); - app.MCPC_fractureTextArea.Position = [344 176 150 52]; + app.MCPC_fractureTextArea.Position = [355 5 150 52]; % Create ifpcglEditFieldLabel_2 app.ifpcglEditFieldLabel_2 = uilabel(app.MultiComponentTab); app.ifpcglEditFieldLabel_2.HorizontalAlignment = 'right'; - app.ifpcglEditFieldLabel_2.Position = [345 132 33 22]; + app.ifpcglEditFieldLabel_2.Position = [314 -25 33 22]; app.ifpcglEditFieldLabel_2.Text = 'ifpcgl'; % Create MCifpcglEditField app.MCifpcglEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCifpcglEditField.Position = [393 132 100 22]; - - % Create p_grad_thresholdEditFieldLabel_3 - app.p_grad_thresholdEditFieldLabel_3 = uilabel(app.MultiComponentTab); - app.p_grad_thresholdEditFieldLabel_3.HorizontalAlignment = 'right'; - app.p_grad_thresholdEditFieldLabel_3.Position = [280 101 98 22]; - app.p_grad_thresholdEditFieldLabel_3.Text = 'p_grad_threshold'; - - % Create MCp_grad_thresholdEditField - app.MCp_grad_thresholdEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCp_grad_thresholdEditField.Position = [393 101 100 22]; - - % Create gas_propVLEditFieldLabel_2 - app.gas_propVLEditFieldLabel_2 = uilabel(app.MultiComponentTab); - app.gas_propVLEditFieldLabel_2.HorizontalAlignment = 'right'; - app.gas_propVLEditFieldLabel_2.Position = [307 67 73 22]; - app.gas_propVLEditFieldLabel_2.Text = 'gas_prop.VL'; - - % Create MCgas_propVLEditField - app.MCgas_propVLEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCgas_propVLEditField.Position = [395 67 100 22]; - - % Create gas_propPLEditFieldLabel_2 - app.gas_propPLEditFieldLabel_2 = uilabel(app.MultiComponentTab); - app.gas_propPLEditFieldLabel_2.HorizontalAlignment = 'right'; - app.gas_propPLEditFieldLabel_2.Position = [305 33 73 22]; - app.gas_propPLEditFieldLabel_2.Text = 'gas_prop.PL'; - - % Create MCgas_propPLEditField - app.MCgas_propPLEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCgas_propPLEditField.Position = [393 33 100 22]; - - % Create gas_propKnEditFieldLabel_2 - app.gas_propKnEditFieldLabel_2 = uilabel(app.MultiComponentTab); - app.gas_propKnEditFieldLabel_2.HorizontalAlignment = 'right'; - app.gas_propKnEditFieldLabel_2.Position = [306 10 73 22]; - app.gas_propKnEditFieldLabel_2.Text = 'gas_prop.Kn'; - - % Create MCgas_propKnEditField - app.MCgas_propKnEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCgas_propKnEditField.Position = [394 10 100 22]; + app.MCifpcglEditField.Position = [362 -25 100 22]; % Create stress_factor_fractureEditFieldLabel_2 app.stress_factor_fractureEditFieldLabel_2 = uilabel(app.MultiComponentTab); app.stress_factor_fractureEditFieldLabel_2.HorizontalAlignment = 'right'; - app.stress_factor_fractureEditFieldLabel_2.Position = [523 470 121 22]; + app.stress_factor_fractureEditFieldLabel_2.Position = [541 197 121 22]; app.stress_factor_fractureEditFieldLabel_2.Text = 'stress_factor_fracture'; % Create MCstress_factor_fractureEditField app.MCstress_factor_fractureEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCstress_factor_fractureEditField.Position = [659 470 100 22]; + app.MCstress_factor_fractureEditField.Position = [677 197 100 22]; % Create stress_factor_matrixEditFieldLabel_2 app.stress_factor_matrixEditFieldLabel_2 = uilabel(app.MultiComponentTab); app.stress_factor_matrixEditFieldLabel_2.HorizontalAlignment = 'right'; - app.stress_factor_matrixEditFieldLabel_2.Position = [534 434 113 22]; + app.stress_factor_matrixEditFieldLabel_2.Position = [554 168 113 22]; app.stress_factor_matrixEditFieldLabel_2.Text = 'stress_factor_matrix'; % Create MCstress_factor_matrixEditField app.MCstress_factor_matrixEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCstress_factor_matrixEditField.Position = [662 434 100 22]; + app.MCstress_factor_matrixEditField.Position = [682 168 100 22]; % Create stress_factor_ref_pressureEditFieldLabel_2 app.stress_factor_ref_pressureEditFieldLabel_2 = uilabel(app.MultiComponentTab); app.stress_factor_ref_pressureEditFieldLabel_2.HorizontalAlignment = 'right'; - app.stress_factor_ref_pressureEditFieldLabel_2.Position = [499 403 148 22]; + app.stress_factor_ref_pressureEditFieldLabel_2.Position = [514 142 148 22]; app.stress_factor_ref_pressureEditFieldLabel_2.Text = 'stress_factor_ref_pressure'; % Create MCstress_factor_ref_pressureEditField app.MCstress_factor_ref_pressureEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCstress_factor_ref_pressureEditField.Position = [662 403 100 22]; - - % Create beta_non_darcy_flowEditFieldLabel_2 - app.beta_non_darcy_flowEditFieldLabel_2 = uilabel(app.MultiComponentTab); - app.beta_non_darcy_flowEditFieldLabel_2.HorizontalAlignment = 'right'; - app.beta_non_darcy_flowEditFieldLabel_2.Position = [525 372 119 22]; - app.beta_non_darcy_flowEditFieldLabel_2.Text = 'beta_non_darcy_flow'; - - % Create MCbeta_non_darcy_flowEditField - app.MCbeta_non_darcy_flowEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCbeta_non_darcy_flowEditField.Position = [659 372 100 22]; - - % Create density_g_scEditFieldLabel_2 - app.density_g_scEditFieldLabel_2 = uilabel(app.MultiComponentTab); - app.density_g_scEditFieldLabel_2.HorizontalAlignment = 'right'; - app.density_g_scEditFieldLabel_2.Position = [568 338 75 22]; - app.density_g_scEditFieldLabel_2.Text = 'density_g_sc'; - - % Create MCdensity_g_scEditField - app.MCdensity_g_scEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCdensity_g_scEditField.Position = [658 338 100 22]; - - % Create gas_modelDropDownLabel_2 - app.gas_modelDropDownLabel_2 = uilabel(app.MultiComponentTab); - app.gas_modelDropDownLabel_2.HorizontalAlignment = 'right'; - app.gas_modelDropDownLabel_2.Position = [575 305 64 22]; - app.gas_modelDropDownLabel_2.Text = 'gas_model'; - - % Create MCgas_modelDropDown - app.MCgas_modelDropDown = uidropdown(app.MultiComponentTab); - app.MCgas_modelDropDown.Items = {''}; - app.MCgas_modelDropDown.Position = [654 305 100 22]; - app.MCgas_modelDropDown.Value = ''; - - % Create prgEditFieldLabel_2 - app.prgEditFieldLabel_2 = uilabel(app.MultiComponentTab); - app.prgEditFieldLabel_2.HorizontalAlignment = 'right'; - app.prgEditFieldLabel_2.Position = [609 273 25 22]; - app.prgEditFieldLabel_2.Text = 'prg'; - - % Create MCprgEditField - app.MCprgEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCprgEditField.Position = [649 273 100 22]; - - % Create BgiEditFieldLabel_2 - app.BgiEditFieldLabel_2 = uilabel(app.MultiComponentTab); - app.BgiEditFieldLabel_2.HorizontalAlignment = 'right'; - app.BgiEditFieldLabel_2.Position = [613 240 25 22]; - app.BgiEditFieldLabel_2.Text = 'Bgi'; - - % Create MCBgiEditField - app.MCBgiEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCBgiEditField.Position = [653 240 100 22]; - - % Create cgEditFieldLabel_2 - app.cgEditFieldLabel_2 = uilabel(app.MultiComponentTab); - app.cgEditFieldLabel_2.HorizontalAlignment = 'right'; - app.cgEditFieldLabel_2.Position = [610 208 25 22]; - app.cgEditFieldLabel_2.Text = 'cg'; - - % Create MCcgEditField - app.MCcgEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCcgEditField.Position = [650 208 100 22]; - - % Create vgiEditFieldLabel_2 - app.vgiEditFieldLabel_2 = uilabel(app.MultiComponentTab); - app.vgiEditFieldLabel_2.HorizontalAlignment = 'right'; - app.vgiEditFieldLabel_2.Position = [613 177 25 22]; - app.vgiEditFieldLabel_2.Text = 'vgi'; - - % Create MCvgiEditField - app.MCvgiEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCvgiEditField.Position = [653 177 100 22]; - - % Create cvgEditFieldLabel_2 - app.cvgEditFieldLabel_2 = uilabel(app.MultiComponentTab); - app.cvgEditFieldLabel_2.HorizontalAlignment = 'right'; - app.cvgEditFieldLabel_2.Position = [610 144 25 22]; - app.cvgEditFieldLabel_2.Text = 'cvg'; - - % Create MCcvgEditField - app.MCcvgEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCcvgEditField.Position = [650 144 100 22]; - - % Create PprTextAreaLabel_3 - app.PprTextAreaLabel_3 = uilabel(app.MultiComponentTab); - app.PprTextAreaLabel_3.HorizontalAlignment = 'right'; - app.PprTextAreaLabel_3.Position = [565 109 25 22]; - app.PprTextAreaLabel_3.Text = 'Ppr'; - - % Create MCPprTextArea - app.MCPprTextArea = uitextarea(app.MultiComponentTab); - app.MCPprTextArea.Position = [605 73 150 60]; - - % Create BGTextAreaLabel_2 - app.BGTextAreaLabel_2 = uilabel(app.MultiComponentTab); - app.BGTextAreaLabel_2.HorizontalAlignment = 'right'; - app.BGTextAreaLabel_2.Position = [569 42 25 22]; - app.BGTextAreaLabel_2.Text = 'BG'; - - % Create MCBGTextArea - app.MCBGTextArea = uitextarea(app.MultiComponentTab); - app.MCBGTextArea.Position = [609 6 150 60]; - - % Create MUGTextAreaLabel_2 - app.MUGTextAreaLabel_2 = uilabel(app.MultiComponentTab); - app.MUGTextAreaLabel_2.HorizontalAlignment = 'right'; - app.MUGTextAreaLabel_2.Position = [823 468 33 22]; - app.MUGTextAreaLabel_2.Text = 'MUG'; - - % Create MCMUGTextArea - app.MCMUGTextArea = uitextarea(app.MultiComponentTab); - app.MCMUGTextArea.Position = [871 432 150 60]; - - % Create density_w_scEditFieldLabel_3 - app.density_w_scEditFieldLabel_3 = uilabel(app.MultiComponentTab); - app.density_w_scEditFieldLabel_3.HorizontalAlignment = 'right'; - app.density_w_scEditFieldLabel_3.Position = [821 400 77 22]; - app.density_w_scEditFieldLabel_3.Text = 'density_w_sc'; - - % Create MCdensity_w_scEditField - app.MCdensity_w_scEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCdensity_w_scEditField.Position = [913 400 100 22]; - - % Create prwEditFieldLabel_3 - app.prwEditFieldLabel_3 = uilabel(app.MultiComponentTab); - app.prwEditFieldLabel_3.HorizontalAlignment = 'right'; - app.prwEditFieldLabel_3.Position = [867 371 25 22]; - app.prwEditFieldLabel_3.Text = 'prw'; - - % Create MCprwEditField - app.MCprwEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCprwEditField.Position = [907 371 100 22]; - - % Create BwiEditFieldLabel_3 - app.BwiEditFieldLabel_3 = uilabel(app.MultiComponentTab); - app.BwiEditFieldLabel_3.HorizontalAlignment = 'right'; - app.BwiEditFieldLabel_3.Position = [873 340 25 22]; - app.BwiEditFieldLabel_3.Text = 'Bwi'; - - % Create MCBwiEditField - app.MCBwiEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCBwiEditField.Position = [913 340 100 22]; - - % Create cwEditFieldLabel_3 - app.cwEditFieldLabel_3 = uilabel(app.MultiComponentTab); - app.cwEditFieldLabel_3.HorizontalAlignment = 'right'; - app.cwEditFieldLabel_3.Position = [875 309 25 22]; - app.cwEditFieldLabel_3.Text = 'cw'; - - % Create MCcwEditField - app.MCcwEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCcwEditField.Position = [915 309 100 22]; - - % Create vwiEditFieldLabel_3 - app.vwiEditFieldLabel_3 = uilabel(app.MultiComponentTab); - app.vwiEditFieldLabel_3.HorizontalAlignment = 'right'; - app.vwiEditFieldLabel_3.Position = [875 279 25 22]; - app.vwiEditFieldLabel_3.Text = 'vwi'; - - % Create MCvwiEditField - app.MCvwiEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCvwiEditField.Position = [915 279 100 22]; - - % Create cvwEditFieldLabel_3 - app.cvwEditFieldLabel_3 = uilabel(app.MultiComponentTab); - app.cvwEditFieldLabel_3.HorizontalAlignment = 'right'; - app.cvwEditFieldLabel_3.Position = [874 246 26 22]; - app.cvwEditFieldLabel_3.Text = 'cvw'; - - % Create MCcvwEditField - app.MCcvwEditField = uieditfield(app.MultiComponentTab, 'numeric'); - app.MCcvwEditField.Position = [915 246 100 22]; + app.MCstress_factor_ref_pressureEditField.Position = [677 142 100 22]; % Create InitStatusLabel app.InitStatusLabel = uilabel(app.FlowTab); @@ -2112,6 +1200,186 @@ classdef EDFM_Simulator_App < matlab.apps.AppBase app.InitialCbEditField = uieditfield(app.FlowTab, 'numeric'); app.InitialCbEditField.Position = [869 609 100 22]; + % Create DensityWScLabel + app.DensityWScLabel = uilabel(app.FlowTab); + app.DensityWScLabel.HorizontalAlignment = 'right'; + app.DensityWScLabel.Position = [40 529 70 22]; + app.DensityWScLabel.Text = 'DensityWSc'; + + % Create FlowCommonDensityWScEditField + app.FlowCommonDensityWScEditField = uieditfield(app.FlowTab, 'numeric'); + app.FlowCommonDensityWScEditField.Position = [125 529 100 22]; + + % Create GasLabel + app.GasLabel = uilabel(app.FlowTab); + app.GasLabel.Position = [84 503 27 22]; + app.GasLabel.Text = 'Gas'; + + % Create PrwLabel + app.PrwLabel = uilabel(app.FlowTab); + app.PrwLabel.HorizontalAlignment = 'right'; + app.PrwLabel.Position = [247 531 26 22]; + app.PrwLabel.Text = 'Prw'; + + % Create FlowCommonPrwEditField + app.FlowCommonPrwEditField = uieditfield(app.FlowTab, 'numeric'); + app.FlowCommonPrwEditField.Position = [288 531 100 22]; + + % Create BwiLabel + app.BwiLabel = uilabel(app.FlowTab); + app.BwiLabel.HorizontalAlignment = 'right'; + app.BwiLabel.Position = [423 529 25 22]; + app.BwiLabel.Text = 'Bwi'; + + % Create FlowCommonBwiEditField + app.FlowCommonBwiEditField = uieditfield(app.FlowTab, 'numeric'); + app.FlowCommonBwiEditField.Position = [463 529 100 22]; + + % Create CwLabel + app.CwLabel = uilabel(app.FlowTab); + app.CwLabel.HorizontalAlignment = 'right'; + app.CwLabel.Position = [582 529 25 22]; + app.CwLabel.Text = 'Cw'; + + % Create FlowCommonCwEditField + app.FlowCommonCwEditField = uieditfield(app.FlowTab, 'numeric'); + app.FlowCommonCwEditField.Position = [622 529 100 22]; + + % Create VwiLabel + app.VwiLabel = uilabel(app.FlowTab); + app.VwiLabel.HorizontalAlignment = 'right'; + app.VwiLabel.Position = [737 529 25 22]; + app.VwiLabel.Text = 'Vwi'; + + % Create FlowCommonVwiEditField + app.FlowCommonVwiEditField = uieditfield(app.FlowTab, 'numeric'); + app.FlowCommonVwiEditField.Position = [777 529 100 22]; + + % Create CvwLabel + app.CvwLabel = uilabel(app.FlowTab); + app.CvwLabel.HorizontalAlignment = 'right'; + app.CvwLabel.Position = [896 529 28 22]; + app.CvwLabel.Text = 'Cvw'; + + % Create FlowCommonCvwEditField + app.FlowCommonCvwEditField = uieditfield(app.FlowTab, 'numeric'); + app.FlowCommonCvwEditField.Position = [939 529 100 22]; + + % Create PGradThresholdLabel + app.PGradThresholdLabel = uilabel(app.FlowTab); + app.PGradThresholdLabel.HorizontalAlignment = 'right'; + app.PGradThresholdLabel.Position = [1037 529 93 22]; + app.PGradThresholdLabel.Text = 'PGradThreshold'; + + % Create FlowCommonPGradThresholdEditField + app.FlowCommonPGradThresholdEditField = uieditfield(app.FlowTab, 'numeric'); + app.FlowCommonPGradThresholdEditField.Position = [1145 529 100 22]; + + % Create WaterLabel + app.WaterLabel = uilabel(app.FlowTab); + app.WaterLabel.Position = [78 565 37 22]; + app.WaterLabel.Text = 'Water'; + + % Create DensityGScLabel + app.DensityGScLabel = uilabel(app.FlowTab); + app.DensityGScLabel.HorizontalAlignment = 'right'; + app.DensityGScLabel.Position = [38 476 68 22]; + app.DensityGScLabel.Text = 'DensityGSc'; + + % Create FlowCommonDensityGScEditField + app.FlowCommonDensityGScEditField = uieditfield(app.FlowTab, 'numeric'); + app.FlowCommonDensityGScEditField.Position = [121 476 100 22]; + + % Create GasPrgLabel + app.GasPrgLabel = uilabel(app.FlowTab); + app.GasPrgLabel.HorizontalAlignment = 'right'; + app.GasPrgLabel.Position = [244 476 46 22]; + app.GasPrgLabel.Text = 'GasPrg'; + + % Create FlowCommonGasPrgEditField + app.FlowCommonGasPrgEditField = uieditfield(app.FlowTab, 'numeric'); + app.FlowCommonGasPrgEditField.Position = [305 476 100 22]; + + % Create GasBgiLabel + app.GasBgiLabel = uilabel(app.FlowTab); + app.GasBgiLabel.HorizontalAlignment = 'right'; + app.GasBgiLabel.Position = [418 476 44 22]; + app.GasBgiLabel.Text = 'GasBgi'; + + % Create FlowCommonGasBgiEditField + app.FlowCommonGasBgiEditField = uieditfield(app.FlowTab, 'numeric'); + app.FlowCommonGasBgiEditField.Position = [477 476 100 22]; + + % Create GasCgLabel + app.GasCgLabel = uilabel(app.FlowTab); + app.GasCgLabel.HorizontalAlignment = 'right'; + app.GasCgLabel.Position = [604 476 42 22]; + app.GasCgLabel.Text = 'GasCg'; + + % Create FlowCommonGasCgEditField + app.FlowCommonGasCgEditField = uieditfield(app.FlowTab, 'numeric'); + app.FlowCommonGasCgEditField.Position = [661 476 100 22]; + + % Create GasVgiLabel + app.GasVgiLabel = uilabel(app.FlowTab); + app.GasVgiLabel.HorizontalAlignment = 'right'; + app.GasVgiLabel.Position = [787 476 44 22]; + app.GasVgiLabel.Text = 'GasVgi'; + + % Create FlowCommonGasVgiEditField + app.FlowCommonGasVgiEditField = uieditfield(app.FlowTab, 'numeric'); + app.FlowCommonGasVgiEditField.Position = [846 476 100 22]; + + % Create GasCvgLabel + app.GasCvgLabel = uilabel(app.FlowTab); + app.GasCvgLabel.HorizontalAlignment = 'right'; + app.GasCvgLabel.Position = [964 476 48 22]; + app.GasCvgLabel.Text = 'GasCvg'; + + % Create FlowCommonGasCvgEditField + app.FlowCommonGasCvgEditField = uieditfield(app.FlowTab, 'numeric'); + app.FlowCommonGasCvgEditField.Position = [1027 476 100 22]; + + % Create GasVLLabel + app.GasVLLabel = uilabel(app.FlowTab); + app.GasVLLabel.HorizontalAlignment = 'right'; + app.GasVLLabel.Position = [55 442 42 22]; + app.GasVLLabel.Text = 'GasVL'; + + % Create FlowCommonGasVLEditField + app.FlowCommonGasVLEditField = uieditfield(app.FlowTab, 'numeric'); + app.FlowCommonGasVLEditField.Position = [112 442 100 22]; + + % Create GasPLLabel + app.GasPLLabel = uilabel(app.FlowTab); + app.GasPLLabel.HorizontalAlignment = 'right'; + app.GasPLLabel.Position = [246 442 42 22]; + app.GasPLLabel.Text = 'GasPL'; + + % Create FlowCommonGasPLEditField + app.FlowCommonGasPLEditField = uieditfield(app.FlowTab, 'numeric'); + app.FlowCommonGasPLEditField.Position = [303 442 100 22]; + + % Create GasKnLabel + app.GasKnLabel = uilabel(app.FlowTab); + app.GasKnLabel.HorizontalAlignment = 'right'; + app.GasKnLabel.Position = [431 434 42 22]; + app.GasKnLabel.Text = 'GasKn'; + + % Create FlowCommonGasKnEditField + app.FlowCommonGasKnEditField = uieditfield(app.FlowTab, 'numeric'); + app.FlowCommonGasKnEditField.Position = [488 434 100 22]; + + % Create GasBetaNonDarcyLabel + app.GasBetaNonDarcyLabel = uilabel(app.FlowTab); + app.GasBetaNonDarcyLabel.HorizontalAlignment = 'right'; + app.GasBetaNonDarcyLabel.Position = [623 426 105 22]; + app.GasBetaNonDarcyLabel.Text = 'GasBetaNonDarcy'; + + % Create FlowCommonGasBetaNonDarcyEditField + app.FlowCommonGasBetaNonDarcyEditField = uieditfield(app.FlowTab, 'numeric'); + app.FlowCommonGasBetaNonDarcyEditField.Position = [743 426 100 22]; + % Create WellsTab app.WellsTab = uitab(app.TabGroup); app.WellsTab.Title = 'Wells'; @@ -2251,10 +1519,6 @@ classdef EDFM_Simulator_App < matlab.apps.AppBase app.ScheduleLabel.Position = [555 127 55 22]; app.ScheduleLabel.Text = 'Schedule'; - % Create SoloverTab - app.SoloverTab = uitab(app.TabGroup); - app.SoloverTab.Title = 'Solover'; - % Create SolverRunTab app.SolverRunTab = uitab(app.TabGroup); app.SolverRunTab.Title = 'Solver&Run'; @@ -2346,22 +1610,6 @@ classdef EDFM_Simulator_App < matlab.apps.AppBase zlabel(app.ResultAxes, 'Z') app.ResultAxes.Position = [217 22 987 585]; - % Create ResultTypeDropDown - app.ResultTypeDropDown = uidropdown(app.ResultsTab); - app.ResultTypeDropDown.Position = [1236 1 10 22]; - - % Create Button - app.Button = uibutton(app.ResultsTab, 'push'); - app.Button.ButtonPushedFcn = createCallbackFcn(app, @onPlotResult, true); - app.Button.Position = [1239 1 10 15]; - app.Button.Text = ''; - - % Create ResultTab - app.ResultTab = uitable(app.ResultsTab); - app.ResultTab.ColumnName = {'Result'}; - app.ResultTab.RowName = {}; - app.ResultTab.Position = [1235 36 12 13]; - % Create Plot2DLayerButton app.Plot2DLayerButton = uibutton(app.ResultsTab, 'push'); app.Plot2DLayerButton.ButtonPushedFcn = createCallbackFcn(app, @Plot2DLayerButtonPushed, true); diff --git a/gui_support/config/create_empty_config.m b/gui_support/config/create_empty_config.m index f7b2ce2..110f51e 100644 --- a/gui_support/config/create_empty_config.m +++ b/gui_support/config/create_empty_config.m @@ -68,7 +68,10 @@ config.discretization = struct( ... 'stress', struct( ... 'fracture_factor', 0, ... 'matrix_factor', 0, ... - 'ref_pressure', 20)), ... + 'ref_pressure', 20, ... + 'Rpt', 0, ... + 'cf', 0, ... + 'ca', 0)), ... 'dp', struct( ... 'valid_grids', [], ... 'NTG', [], ... @@ -95,7 +98,10 @@ config.discretization = struct( ... 'stress', struct( ... 'fracture_factor', 0, ... 'matrix_factor', 0, ... - 'ref_pressure', 20)), ... + 'ref_pressure', 20), ... + 'Rpt', 0, ... + 'cf', 0, ... + 'ca', 0), ... 'notes', ''); config.flow = struct( ... diff --git a/gui_support/config/normalize_config.m b/gui_support/config/normalize_config.m index 9790e8f..5d4e779 100644 --- a/gui_support/config/normalize_config.m +++ b/gui_support/config/normalize_config.m @@ -11,6 +11,8 @@ config = merge_struct_defaults(config, defaults); config.model.grid_model = first_nonempty_scalar(config.model.grid_model, 1); config.model.flow_model = first_nonempty_scalar(config.model.flow_model, 1); +config.flow.gas_water.gas_model = 1; +config.flow.multi_component.gas_model = 1; legacy_model_fields = {'modelflag'}; legacy_fracture_fields = {'input_style', 'fractureLines', 'fractureHeights', 'flowBarrierFlags'}; diff --git a/gui_support/runtime/run_case.m b/gui_support/runtime/run_case.m index a48720c..fb8ff3d 100644 --- a/gui_support/runtime/run_case.m +++ b/gui_support/runtime/run_case.m @@ -169,9 +169,9 @@ end function tf = has_complete_gas_water_config(gw) required_fields = { ... - 'density_g_sc', 'density_w_sc', 'gas_model', 'prw', 'Bwi', 'cw', ... + 'density_g_sc', 'density_w_sc', 'prw', 'Bwi', 'cw', ... 'vwi', 'cvw', 'ifpcgl', 'matrix_relperm_table', 'fracture_relperm_table', ... - 'p_grad_threshold'}; + 'p_grad_threshold', 'prg', 'Bgi', 'cg', 'vgi', 'cvg'}; tf = true; for i = 1:numel(required_fields) @@ -187,14 +187,7 @@ if ~isfield(gw, 'gas_prop') || isempty(gw.gas_prop) return; end -if gw.gas_model == 1 - tf = all(isfield(gw, {'prg', 'Bgi', 'cg', 'vgi', 'cvg'})) && ... - ~isempty(gw.prg) && ~isempty(gw.Bgi) && ~isempty(gw.cg) && ... - ~isempty(gw.vgi) && ~isempty(gw.cvg); -else - tf = all(isfield(gw, {'Ppr', 'BG', 'MUG'})) && ... - ~isempty(gw.Ppr) && ~isempty(gw.BG) && ~isempty(gw.MUG); -end +tf = true; end function tf = has_complete_oil_water_config(ow) @@ -223,13 +216,7 @@ end end function [f, state0] = build_gas_water_flow_from_config(gw, initial_config, r) -if gw.gas_model == 1 - [Ppr, BG, MUG] = cal_gas_prop(gw.prg, gw.Bgi, gw.cg, gw.vgi, gw.cvg); -else - Ppr = gw.Ppr; - BG = gw.BG; - MUG = gw.MUG; -end +[Ppr, BG, MUG] = cal_gas_prop(gw.prg, gw.Bgi, gw.cg, gw.vgi, gw.cvg); matrix_table = gw.matrix_relperm_table; fracture_table = gw.fracture_relperm_table; @@ -290,7 +277,8 @@ required_fields = { ... 'Ds', 'Db', 'c_ca_table', 'R', 'Vm', 'Temperature', ... 'cs_Nc', 'kr_nosurf', 'kr_surf', 'PC', ... 'cs_Nc_fracture', 'kr_nosurf_fracture', 'kr_surf_fracture', 'PC_fracture', ... - 'density_g_sc', 'density_w_sc', 'gas_model', 'prw', 'Bwi', 'cw', 'vwi', 'cvw'}; + 'density_g_sc', 'density_w_sc', 'prw', 'Bwi', 'cw', 'vwi', 'cvw', ... + 'prg', 'Bgi', 'cg', 'vgi', 'cvg'}; tf = true; for i = 1:numel(required_fields) @@ -306,14 +294,7 @@ if ~isfield(mc, 'gas_prop') || isempty(mc.gas_prop) return; end -if mc.gas_model == 1 - tf = all(isfield(mc, {'prg', 'Bgi', 'cg', 'vgi', 'cvg'})) && ... - ~isempty(mc.prg) && ~isempty(mc.Bgi) && ~isempty(mc.cg) && ... - ~isempty(mc.vgi) && ~isempty(mc.cvg); -else - tf = all(isfield(mc, {'Ppr', 'BG', 'MUG'})) && ... - ~isempty(mc.Ppr) && ~isempty(mc.BG) && ~isempty(mc.MUG); -end +tf = true; end function [f, state0] = build_multi_component_flow_from_config(mc, initial_config, r) @@ -324,13 +305,7 @@ cba_data = mc.c_ca_table(:, 3) * 1e-3; Nc_nosurf = min(mc.cs_Nc(:, 2)); Nc_surf = max(mc.cs_Nc(:, 2)); -if mc.gas_model == 1 - [Ppr, BG, MUG] = cal_gas_prop(mc.prg, mc.Bgi, mc.cg, mc.vgi, mc.cvg); -else - Ppr = mc.Ppr; - BG = mc.BG; - MUG = mc.MUG; -end +[Ppr, BG, MUG] = cal_gas_prop(mc.prg, mc.Bgi, mc.cg, mc.vgi, mc.cvg); f = fluidPVT_new( ... Ppr, BG, MUG, mc.Bwi, mc.prw, mc.cw, mc.vwi, mc.cvw, ...