OGS
|
<OpenGeoSysProject>
<meshes>
<mesh axially_symmetric="false">domain.vtu</mesh>
<mesh axially_symmetric="false">boundary_left.vtu</mesh>
<mesh axially_symmetric="false">boundary_right.vtu</mesh>
<mesh axially_symmetric="false">boundary_top.vtu</mesh>
<mesh axially_symmetric="false">boundary_bottom.vtu</mesh>
</meshes>
<processes>
<process>
<name>TH2M</name>
<type>TH2M</type>
<integration_order>2</integration_order>
<constitutive_relation>
<type>LinearElasticIsotropic</type>
<youngs_modulus>E</youngs_modulus>
<poissons_ratio>nu</poissons_ratio>
</constitutive_relation>
<jacobian_assembler>
<type>CentralDifferences</type>
<component_magnitudes>1e5 1e5 1e5 1e5 1e5 1e5 1e5 1e5 1e2 1e2 1e2 1e2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2</component_magnitudes>
<relative_epsilons>1e-08 1e-08 1e-08 1e-08 1e-08 1e-08 1e-08 1e-08 1e-08 1e-08 1e-08 1e-08 1e-08 1e-08 1e-08 1e-08 1e-08 1e-08 1e-08 1e-08</relative_epsilons>
</jacobian_assembler>
<reference_temperature>T0</reference_temperature>
<process_variables>
<gas_pressure>gas_pressure</gas_pressure>
<capillary_pressure>capillary_pressure</capillary_pressure>
<temperature>temperature</temperature>
<displacement>displacement</displacement>
</process_variables>
<secondary_variables>
<secondary_variable internal_name="velocity_gas" output_name="velocity_gas" />
<secondary_variable internal_name="velocity_liquid" output_name="velocity_liquid" />
<secondary_variable internal_name="sigma" output_name="sigma" />
<secondary_variable internal_name="epsilon" output_name="epsilon" />
<secondary_variable internal_name="liquid_density" output_name="liquid_density" />
<secondary_variable internal_name="gas_density" output_name="gas_density" />
<secondary_variable internal_name="solid_density" output_name="solid_density" />
<secondary_variable internal_name="vapour_pressure" output_name="vapour_pressure" />
<secondary_variable internal_name="porosity" output_name="porosity" />
<secondary_variable internal_name="saturation" output_name="saturation" />
<secondary_variable internal_name="mole_fraction_gas" output_name="xnCG" />
<secondary_variable internal_name="mass_fraction_gas" output_name="xmCG" />
<secondary_variable internal_name="mass_fraction_liquid" output_name="xmWL" />
<secondary_variable internal_name="relative_permeability_gas" output_name="k_rel_G" />
<secondary_variable internal_name="relative_permeability_liquid" output_name="k_rel_L" />
</secondary_variables>
<specific_body_force>0 0</specific_body_force>
</process>
</processes>
<media>
<medium id="0">
<phases>
<phase>
<type>Gas</type>
<properties>
<property>
<name>specific_heat_capacity</name>
<type>Constant</type>
<value>14300</value>
</property>
<property>
<name>thermal_conductivity</name>
<type>Constant</type>
<value>1</value>
</property>
<property>
<name>molar_mass</name>
<type>Constant</type>
<value>0.04401</value>
</property>
<property>
<name>density</name>
<type>PengRobinson</type>
<critical_temperature>304.12</critical_temperature>
<critical_pressure>7.377e6</critical_pressure>
<acentric_factor>0.2249</acentric_factor>
</property>
<property>
<name>viscosity</name>
<type>Constant</type>
<value>1.0e-5</value>
</property>
</properties>
</phase>
<phase>
<type>AqueousLiquid</type>
<properties>
<property>
<name>molar_mass</name>
<type>Constant</type>
<value>0.1</value>
</property>
<property>
<name>specific_heat_capacity</name>
<type>Constant</type>
<value>1000.0</value>
</property>
<property>
<name>thermal_conductivity</name>
<type>Constant</type>
<value>1</value>
</property>
<property>
<name>density</name>
<type>Constant</type>
<value>1</value>
</property>
<property>
<name>viscosity</name>
<type>Constant</type>
<value>2.e-3</value>
</property>
</properties>
</phase>
<phase>
<type>Solid</type>
<properties>
<property>
<name>density</name>
<type>Constant</type>
<value>2500.0</value>
</property>
<property>
<name>thermal_conductivity</name>
<type>Constant</type>
<value>1</value>
</property>
<property>
<name>specific_heat_capacity</name>
<type>Constant</type>
<value>00</value>
</property>
<property>
<name>thermal_expansivity</name>
<type>Constant</type>
<value>0.0</value>
</property>
</properties>
</phase>
</phases>
<properties>
<property>
<name>permeability</name>
<type>Constant</type>
<value>2.5e-12</value>
</property>
<property>
<name>biot_coefficient</name>
<type>Constant</type>
<value>1.0</value>
</property>
<property>
<name>saturation</name>
<type>Constant</type>
<value>0.</value>
</property>
<property>
<name>relative_permeability</name>
<type>Constant</type>
<value>1.0</value>
</property>
<property>
<name>relative_permeability_nonwetting_phase</name>
<type>Constant</type>
<value>1.0</value>
</property>
<property>
<name>porosity</name>
<type>Constant</type>
<value>1.0</value>
</property>
<property>
<name>thermal_conductivity</name>
<type>EffectiveThermalConductivityPorosityMixing</type>
</property>
<property>
<name>bishops_effective_stress</name>
<type>BishopsPowerLaw</type>
<exponent>1</exponent>
</property>
</properties>
</medium>
</media>
<time_loop>
<processes>
<process ref="TH2M">
<nonlinear_solver>basic_newton</nonlinear_solver>
<convergence_criterion>
<type>PerComponentDeltaX</type>
<norm_type>NORM2</norm_type>
<abstols>1e-10 1e-10 1e-10 1e-12 1e-12</abstols>
<reltols>1e-10 1e-10 1e-10 1e-15 1e-15</reltols>
</convergence_criterion>
<time_discretization>
<type>BackwardEuler</type>
</time_discretization>
<time_stepping>
<type>IterationNumberBasedTimeStepping</type>
<t_initial>0</t_initial>
<t_end>100</t_end>
<initial_dt>1.e-1</initial_dt>
<minimum_dt>1.e-9</minimum_dt>
<maximum_dt>10</maximum_dt>
<number_iterations>1 2 5 10 20</number_iterations>
<multiplier>1.6 1.4 1.0 0.7 0.5</multiplier>
</time_stepping>
</process>
</processes>
<output>
<type>VTK</type>
<prefix>result_pressure_preos</prefix>
<timesteps>
<pair>
<repeat>1</repeat>
<each_steps>100000</each_steps>
</pair>
</timesteps>
<variables>
<variable>gas_density</variable>
<variable>gas_pressure_interpolated</variable>
<variable>capillary_pressure_interpolated</variable>
<variable>temperature_interpolated</variable>
<variable>displacement</variable>
</variables>
<fixed_output_times>1. 10. 100.</fixed_output_times>
</output>
</time_loop>
<parameters>
<parameter>
<name>E</name>
<type>Constant</type>
<value>21.e6</value>
</parameter>
<parameter>
<name>nu</name>
<type>Constant</type>
<value>0.3</value>
</parameter>
<parameter>
<name>T0</name>
<type>Constant</type>
<value>350</value>
</parameter>
<parameter>
<name>displacement0</name>
<type>Constant</type>
<values>0 0</values>
</parameter>
<parameter>
<name>pGR_ic</name>
<type>Constant</type>
<value>1e5</value>
</parameter>
<parameter>
<name>pGR_bc</name>
<type>CurveScaled</type>
<curve>timeRamp</curve>
<parameter>pGR_ic</parameter>
</parameter>
<parameter>
<name>pCap_ic</name>
<type>Constant</type>
<value>0</value>
</parameter>
<parameter>
<name>T_ic</name>
<type>Constant</type>
<value>350</value>
</parameter>
<parameter>
<name>dirichlet0</name>
<type>Constant</type>
<value>0</value>
</parameter>
<parameter>
<name>displ_y</name>
<type>Constant</type>
<value>-0.99</value>
</parameter>
<parameter>
<name>T_bc</name>
<type>CurveScaled</type>
<curve>timeRamp</curve>
<parameter>T_ic</parameter>
</parameter>
<parameter>
<name>compression</name>
<type>CurveScaled</type>
<curve>timeRamp</curve>
<parameter>displ_y</parameter>
</parameter>
</parameters>
<curves>
<curve>
<name>timeRamp</name>
<coords>0 10 1e99</coords>
<values>1 80 80</values>
</curve>
</curves>
<process_variables>
<process_variable>
<compensate_non_equilibrium_initial_residuum>false</compensate_non_equilibrium_initial_residuum>
<name>displacement</name>
<components>2</components>
<order>1</order>
<initial_condition>displacement0</initial_condition>
<boundary_conditions>
<boundary_condition>
<mesh>domain</mesh>
<type>Dirichlet</type>
<component>0</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
<boundary_condition>
<mesh>domain</mesh>
<type>Dirichlet</type>
<component>1</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
</boundary_conditions>
</process_variable>
<process_variable>
<compensate_non_equilibrium_initial_residuum>false</compensate_non_equilibrium_initial_residuum>
<name>gas_pressure</name>
<components>1</components>
<order>1</order>
<initial_condition>pGR_ic</initial_condition>
<boundary_conditions>
<boundary_condition>
<mesh>boundary_bottom</mesh>
<type>Dirichlet</type>
<component>0</component>
<parameter>pGR_bc</parameter>
</boundary_condition>
</boundary_conditions>
</process_variable>
<process_variable>
<compensate_non_equilibrium_initial_residuum>false</compensate_non_equilibrium_initial_residuum>
<name>capillary_pressure</name>
<components>1</components>
<order>1</order>
<initial_condition>pCap_ic</initial_condition>
<boundary_conditions>
<boundary_condition>
<mesh>domain</mesh>
<type>Dirichlet</type>
<component>0</component>
<parameter>pCap_ic</parameter>
</boundary_condition>
</boundary_conditions>
</process_variable>
<process_variable>
<compensate_non_equilibrium_initial_residuum>false</compensate_non_equilibrium_initial_residuum>
<name>temperature</name>
<components>1</components>
<order>1</order>
<initial_condition>T_ic</initial_condition>
<boundary_conditions>
<boundary_condition>
<mesh>domain</mesh>
<type>Dirichlet</type>
<component>0</component>
<parameter>T_ic</parameter>
</boundary_condition>
</boundary_conditions>
</process_variable>
</process_variables>
<nonlinear_solvers>
<nonlinear_solver>
<name>basic_newton</name>
<type>Newton</type>
<max_iter>50</max_iter>
<linear_solver>general_linear_solver</linear_solver>
</nonlinear_solver>
</nonlinear_solvers>
<linear_solvers>
<linear_solver>
<name>general_linear_solver</name>
<lis>-i bicgstab -p ilu -tol 1e-16 -maxiter 10000</lis>
<eigen>
<solver_type>SparseLU</solver_type>
<scaling>true</scaling>
</eigen>
<petsc>
<prefix>sd</prefix>
<parameters>-sd_ksp_type cg -sd_pc_type bjacobi -sd_ksp_rtol 1e-16 -sd_ksp_max_it 10000</parameters>
</petsc>
</linear_solver>
</linear_solvers>
<test_definition>
<vtkdiff>
<regex>result_pressure_preos_ts_.*.vtu</regex>
<field>displacement</field>
<absolute_tolerance>1e-14</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>result_pressure_preos_ts_.*.vtu</regex>
<field>gas_pressure_interpolated</field>
<absolute_tolerance>1e-06</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>result_pressure_preos_ts_.*.vtu</regex>
<field>capillary_pressure_interpolated</field>
<absolute_tolerance>1e-10</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>result_pressure_preos_ts_.*.vtu</regex>
<field>temperature_interpolated</field>
<absolute_tolerance>1e-09</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>result_pressure_preos_ts_.*.vtu</regex>
<field>gas_density</field>
<absolute_tolerance>1e-12</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
</test_definition>
</OpenGeoSysProject>