OGS
1Phase_wellbore_small_newton.prj
<
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
>2.5e-9</absolute_tolerance>
<
relative_tolerance
>2.5e-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>
OGS CTests—Project Files
WellboreSimulator
Generated by
1.14.0