OGS
|
<OpenGeoSysProject>
<mesh>2Phase_wellbore_vertical_qua.vtu</mesh>
<geometry>2Phase_wellbore_small.gml</geometry>
<processes>
<process>
<name>WellboreSimulator</name>
<type>WELLBORE_SIMULATOR</type>
<integration_order>4</integration_order>
<process_variables>
<pressure>p</pressure>
<velocity>v</velocity>
<specific_enthalpy>h</specific_enthalpy>
</process_variables>
<jacobian_assembler>
<type>CentralDifferences</type>
<component_magnitudes>1e6 0.1 4e5</component_magnitudes>
<relative_epsilons>1e-8 1e-7 1e-13</relative_epsilons>
</jacobian_assembler>
<specific_body_force>-9.81</specific_body_force>
<secondary_variables>
<secondary_variable internal_name="vapor_mass_flow_rate" output_name="vapor_mass_flow_rate" />
<secondary_variable internal_name="liquid_mass_flow_rate" output_name="liquid_mass_flow_rate" />
<secondary_variable internal_name="temperature" output_name="temperature" />
<secondary_variable internal_name="dryness" output_name="dryness" />
<secondary_variable internal_name="vapor_volume_fraction" output_name="vapor_volume_fraction" />
</secondary_variables>
<wellbore>
<length>20</length>
<diameter>d</diameter>
<casing_thickness>t_ca</casing_thickness>
<pipe_thickness>t_p</pipe_thickness>
<roughness>xi</roughness>
</wellbore>
<wellbore_ref_pressure>p_0</wellbore_ref_pressure>
<wellbore_ref_enthalpy>h_0</wellbore_ref_enthalpy>
<heat_exchange_with_formation>true</heat_exchange_with_formation>
<reservoir_properties>
<temperature>T_r</temperature>
<thermal_conductivity>k_r</thermal_conductivity>
<density>rho_r</density>
<specific_heat_capacity>c_r</specific_heat_capacity>
<pressure>p_r</pressure>
</reservoir_properties>
<productivity_index>PI</productivity_index>
</process>
</processes>
<media>
<medium id="0">
<phases>
<phase>
<type>AqueousLiquid</type>
<properties>
<property>
<name>density</name>
<type>WaterDensityIAPWSIF97Region1</type>
</property>
<property>
<name>saturation_density</name>
<type>WaterLiquidDensityIAPWSIF97Region4</type>
</property>
<property>
<name>saturation_enthalpy</name>
<type>WaterLiquidEnthalpyIAPWSIF97Region4</type>
</property>
<property>
<name>temperature</name>
<type>WaterTemperatureIAPWSIF97Region1</type>
</property>
<property>
<name>enthalpy</name>
<type>WaterEnthalpyIAPWSIF97Region1</type>
</property>
<property>
<name>viscosity</name>
<type>WaterViscosityIAPWS</type>
</property>
</properties>
</phase>
<phase>
<type>Gas</type>
<properties>
<property>
<name>saturation_density</name>
<type>WaterVapourDensityIAPWSIF97Region4</type>
</property>
<property>
<name>saturation_enthalpy</name>
<type>WaterVapourEnthalpyIAPWSIF97Region4</type>
</property>
<property>
<name>saturation_temperature</name>
<type>WaterSaturationTemperatureIAPWSIF97Region4</type>
</property>
<property>
<name>viscosity</name>
<type>WaterViscosityIAPWS</type>
</property>
</properties>
</phase>
</phases>
</medium>
</media>
<parameters>
<parameter>
<name>d</name>
<type>Constant</type>
<value>0.12</value>
</parameter>
<parameter>
<name>t_ca</name>
<type>Constant</type>
<value>0.01</value>
</parameter>
<parameter>
<name>t_p</name>
<type>Constant</type>
<value>0.005</value>
</parameter>
<parameter>
<name>xi</name>
<type>Constant</type>
<value>0</value>
</parameter>
<parameter>
<name>T_r</name>
<type>Constant</type>
<value>333</value>
</parameter>
<parameter>
<name>k_r</name>
<type>Constant</type>
<value>2.1</value>
</parameter>
<parameter>
<name>rho_r</name>
<type>Constant</type>
<value>2650</value>
</parameter>
<parameter>
<name>c_r</name>
<type>Constant</type>
<value>1250</value>
</parameter>
<parameter>
<name>p_r</name>
<type>Constant</type>
<value>0</value>
</parameter>
<parameter>
<name>PI</name>
<type>Constant</type>
<value>0</value>
</parameter>
<parameter>
<name>p_0</name>
<type>Constant</type>
<value>3.5e5</value>
</parameter>
<parameter>
<name>v_0</name>
<type>Constant</type>
<value>0.1</value>
</parameter>
<parameter>
<name>h_0</name>
<type>Constant</type>
<value>4e5</value>
</parameter>
<parameter>
<name>p_Dirichlet_bottom</name>
<type>Constant</type>
<value>3.5e5</value>
</parameter>
<parameter>
<name>v_Dirichlet_top</name>
<type>Constant</type>
<value>0.1</value>
</parameter>
<parameter>
<name>h_Dirichlet_bottom</name>
<type>Constant</type>
<value>4e5</value>
</parameter>
</parameters>
<time_loop>
<processes>
<process ref="WellboreSimulator">
<nonlinear_solver>basic_newton</nonlinear_solver>
<convergence_criterion>
<type>DeltaX</type>
<norm_type>NORM2</norm_type>
<reltol>1e-7</reltol>
</convergence_criterion>
<time_discretization>
<type>BackwardEuler</type>
</time_discretization>
<time_stepping>
<type>IterationNumberBasedTimeStepping</type>
<t_initial>0.0</t_initial>
<t_end>1e6</t_end>
<initial_dt>0.1</initial_dt>
<minimum_dt>0.01</minimum_dt>
<maximum_dt>86400</maximum_dt>
<number_iterations>4 6 10 12 14 20</number_iterations>
<multiplier>6 5 0.95 1.1 0.9 0.8</multiplier>
</time_stepping>
</process>
</processes>
<output>
<type>VTK</type>
<prefix>Wellbore_simulator_1Phase</prefix>
<variables>
<variable>p</variable>
<variable>v</variable>
<variable>h</variable>
<variable>vapor_mass_flow_rate</variable>
<variable>liquid_mass_flow_rate</variable>
<variable>mix_density</variable>
<variable>temperature</variable>
<variable>dryness</variable>
<variable>vapor_volume_fraction</variable>
</variables>
<suffix>t{:time}</suffix>
</output>
</time_loop>
<process_variables>
<process_variable>
<name>p</name>
<components>1</components>
<order>2</order>
<initial_condition>p_0</initial_condition>
<boundary_conditions>
<boundary_condition>
<geometrical_set>2PhaseWellbore_small</geometrical_set>
<geometry>WELLBORE_BOTTOM</geometry>
<type>Dirichlet</type>
<parameter>p_Dirichlet_bottom</parameter>
</boundary_condition>
<boundary_condition>
<geometrical_set>2PhaseWellbore_small</geometrical_set>
<geometry>WELLBORE_TOP</geometry>
<type>WellboreCompensateNeumann</type>
<coefficient_pressure>1</coefficient_pressure>
<coefficient_velocity>0</coefficient_velocity>
<coefficient_enthalpy>0</coefficient_enthalpy>
</boundary_condition>
</boundary_conditions>
</process_variable>
<process_variable>
<name>v</name>
<components>1</components>
<order>2</order>
<initial_condition>v_0</initial_condition>
<boundary_conditions>
<boundary_condition>
<geometrical_set>2PhaseWellbore_small</geometrical_set>
<geometry>WELLBORE_TOP</geometry>
<type>Dirichlet</type>
<parameter>v_Dirichlet_top</parameter>
</boundary_condition>
<boundary_condition>
<geometrical_set>2PhaseWellbore_small</geometrical_set>
<geometry>WELLBORE_BOTTOM</geometry>
<type>WellboreCompensateNeumann</type>
<coefficient_pressure>0</coefficient_pressure>
<coefficient_velocity>-1</coefficient_velocity>
<coefficient_enthalpy>0</coefficient_enthalpy>
</boundary_condition>
</boundary_conditions>
</process_variable>
<process_variable>
<name>h</name>
<components>1</components>
<order>2</order>
<initial_condition>h_0</initial_condition>
<boundary_conditions>
<boundary_condition>
<geometrical_set>2PhaseWellbore_small</geometrical_set>
<geometry>WELLBORE_BOTTOM</geometry>
<type>Dirichlet</type>
<parameter>h_Dirichlet_bottom</parameter>
</boundary_condition>
<boundary_condition>
<geometrical_set>2PhaseWellbore_small</geometrical_set>
<geometry>WELLBORE_TOP</geometry>
<type>WellboreCompensateNeumann</type>
<coefficient_pressure>0</coefficient_pressure>
<coefficient_velocity>0</coefficient_velocity>
<coefficient_enthalpy>1</coefficient_enthalpy>
</boundary_condition>
</boundary_conditions>
</process_variable>
</process_variables>
<nonlinear_solvers>
<nonlinear_solver>
<name>basic_newton</name>
<type>Newton</type>
<max_iter>30</max_iter>
<linear_solver>general_linear_solver</linear_solver>
</nonlinear_solver>
</nonlinear_solvers>
<linear_solvers>
<linear_solver>
<name>general_linear_solver</name>
<eigen>
<solver_type>BiCGSTAB</solver_type>
<precon_type>ILUT</precon_type>
<max_iteration_step>10000</max_iteration_step>
<error_tolerance>1e-16</error_tolerance>
</eigen>
<petsc>
<parameters>-ksp_type bcgs -pc_type lu -ksp_rtol 1e-16 -ksp_max_it 10000</parameters>
</petsc>
</linear_solver>
</linear_solvers>
<test_definition>
<vtkdiff>
<regex>Wellbore_simulator_1Phase_t_.*.vtu</regex>
<field>p</field>
<absolute_tolerance>5e-5</absolute_tolerance>
<relative_tolerance>1e-9</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>Wellbore_simulator_1Phase_t_.*.vtu</regex>
<field>v</field>
<absolute_tolerance>2e-9</absolute_tolerance>
<relative_tolerance>1e-8</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>Wellbore_simulator_1Phase_t_.*.vtu</regex>
<field>h</field>
<absolute_tolerance>8e-4</absolute_tolerance>
<relative_tolerance>1e-8</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>Wellbore_simulator_1Phase_t_.*.vtu</regex>
<field>temperature</field>
<absolute_tolerance>5e-5</absolute_tolerance>
<relative_tolerance>6e-8</relative_tolerance>
</vtkdiff>
</test_definition>
</OpenGeoSysProject>