Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Announcement:
OGS Community Meeting 2022 in September
Open sidebar
ogs
ogs
Commits
65a8c109
Commit
65a8c109
authored
Apr 10, 2021
by
Norbert Grunwald
Committed by
Dmitry Yu. Naumov
Apr 30, 2021
Browse files
<Tests/TH2M> add 1D heat transport Dirichlet BC
parent
f3ef1337
Changes
15
Hide whitespace changes
Inline
Side-by-side
ProcessLib/TH2M/Tests.cmake
View file @
65a8c109
# TH2M 1d heat diffusion w/ Dirichlet-BC
AddTest
(
NAME TH2M_T_1d_dirichlet
PATH TH2M/T/T_1d_dirichlet
EXECUTABLE ogs
EXECUTABLE_ARGS T_1d_dirichlet.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
result_TH2M_T_dirichlet_ts_34_t_4000.000000.vtu result_TH2M_T_dirichlet_ts_34_t_4000.000000.vtu
temperature_interpolated temperature_interpolated 1e-8 1e-8
)
# TH2M Heatpipe w/ static gas phase in radial domain
AddTest
(
NAME TH2M_TH_unsaturated_heatpipe_radial
...
...
Tests/Data/TH2M/T/T_1d_dirichlet/T_1d_dirichlet.prj
0 → 100644
View file @
65a8c109
<?xml version="1.0" encoding="ISO-8859-1"?>
<OpenGeoSysProject>
<meshes>
<mesh
axially_symmetric=
"false"
>
square_quad8.vtu
</mesh>
<mesh
axially_symmetric=
"false"
>
domain.vtu
</mesh>
<mesh
axially_symmetric=
"false"
>
boundary8_left.vtu
</mesh>
<mesh
axially_symmetric=
"false"
>
boundary8_right.vtu
</mesh>
<mesh
axially_symmetric=
"false"
>
boundary8_top.vtu
</mesh>
<mesh
axially_symmetric=
"false"
>
boundary8_bottom.vtu
</mesh>
</meshes>
<processes>
<process>
<name>
TH2M
</name>
<type>
TH2M
</type>
<integration_order>
4
</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
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
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_pressure"
output_name=
"liquid_pressure"
/>
<secondary_variable
internal_name=
"liquid_density"
output_name=
"liquid_density"
/>
<secondary_variable
internal_name=
"gas_density"
output_name=
"gas_density"
/>
<secondary_variable
internal_name=
"porosity"
output_name=
"porosity"
/>
<secondary_variable
internal_name=
"saturation"
output_name=
"saturation"
/>
</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>
100
</value>
</property>
<property>
<name>
thermal_conductivity
</name>
<type>
Constant
</type>
<value>
10
</value>
</property>
<property>
<name>
molar_mass
</name>
<type>
Constant
</type>
<value>
1
</value>
</property>
<property>
<name>
density
</name>
<type>
Constant
</type>
<value>
1
</value>
</property>
<property>
<name>
thermal_expansivity
</name>
<type>
Constant
</type>
<value>
1.0e-3
</value>
</property>
<property>
<name>
viscosity
</name>
<type>
Constant
</type>
<value>
1.0e-5
</value>
</property>
<property>
<name>
compressibility
</name>
<type>
Constant
</type>
<value>
1.0e-5
</value>
</property>
</properties>
</phase>
<phase>
<type>
AqueousLiquid
</type>
<properties>
<property>
<name>
specific_heat_capacity
</name>
<type>
Constant
</type>
<value>
200.0
</value>
</property>
<property>
<name>
thermal_conductivity
</name>
<type>
Constant
</type>
<value>
20
</value>
</property>
<property>
<name>
density
</name>
<type>
Constant
</type>
<value>
20
</value>
</property>
<property>
<name>
thermal_expansivity
</name>
<type>
Constant
</type>
<value>
2.0e-6
</value>
</property>
<property>
<name>
viscosity
</name>
<type>
Constant
</type>
<value>
2.e-3
</value>
</property>
<property>
<name>
compressibility
</name>
<type>
Constant
</type>
<value>
2.0e-9
</value>
</property>
</properties>
</phase>
<phase>
<type>
Solid
</type>
<properties>
<property>
<name>
density
</name>
<type>
Constant
</type>
<value>
25.0
</value>
</property>
<property>
<name>
thermal_conductivity
</name>
<type>
Constant
</type>
<value>
30
</value>
</property>
<property>
<name>
specific_heat_capacity
</name>
<type>
Constant
</type>
<value>
3000
</value>
</property>
<property>
<name>
thermal_expansivity
</name>
<type>
Constant
</type>
<value>
3.0e-8
</value>
</property>
<property>
<name>
compressibility
</name>
<type>
Constant
</type>
<value>
3.e-10
</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>
SaturationLiakopoulos
</type>
</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>
0.3
</value>
</property>
</properties>
</medium>
</media>
<time_loop>
<processes>
<process
ref=
"TH2M"
>
<nonlinear_solver>
basic_newton
</nonlinear_solver>
<compensate_non_equilibrium_initial_residuum>
false
</compensate_non_equilibrium_initial_residuum>
<convergence_criterion>
<type>
PerComponentDeltaX
</type>
<norm_type>
NORM2
</norm_type>
<!-- <abstols>1e-09 1e-09 1e-10 1e-6 1e-6</abstols> -->
<reltols>
1e-5 1e-5 1e-6 1e-8 1e-8
</reltols>
</convergence_criterion>
<time_discretization>
<type>
BackwardEuler
</type>
</time_discretization>
<time_stepping>
<type>
FixedTimeStepping
</type>
<t_initial>
0
</t_initial>
<t_end>
4000
</t_end>
<timesteps>
<pair>
<repeat>
10
</repeat>
<delta_t>
1
</delta_t>
</pair>
<pair>
<repeat>
9
</repeat>
<delta_t>
10
</delta_t>
</pair>
<pair>
<repeat>
9
</repeat>
<delta_t>
100
</delta_t>
</pair>
<pair>
<repeat>
9
</repeat>
<delta_t>
500
</delta_t>
</pair>
</timesteps>
</time_stepping>
</process>
</processes>
<output>
<type>
VTK
</type>
<prefix>
result_TH2M_T_dirichlet
</prefix>
<timesteps>
<pair>
<repeat>
1
</repeat>
<each_steps>
10
</each_steps>
</pair>
</timesteps>
<variables>
<variable>
gas_pressure
</variable>
<variable>
gas_pressure_interpolated
</variable>
<variable>
capillary_pressure
</variable>
<variable>
capillary_pressure_interpolated
</variable>
<variable>
temperature
</variable>
<variable>
temperature_interpolated
</variable>
<variable>
displacement
</variable>
<variable>
sigma
</variable>
<variable>
epsilon
</variable>
<variable>
velocity_gas
</variable>
<variable>
velocity_liquid
</variable>
<variable>
liquid_pressure
</variable>
<variable>
liquid_density
</variable>
<variable>
gas_density
</variable>
<variable>
porosity
</variable>
<variable>
saturation
</variable>
</variables>
</output>
</time_loop>
<parameters>
<parameter>
<name>
E
</name>
<type>
Constant
</type>
<value>
21.e8
</value>
</parameter>
<parameter>
<name>
nu
</name>
<type>
Constant
</type>
<value>
0.3
</value>
</parameter>
<parameter>
<name>
T0
</name>
<type>
Constant
</type>
<value>
293.15
</value>
</parameter>
<parameter>
<name>
displacement0
</name>
<type>
Constant
</type>
<values>
0 0
</values>
</parameter>
<parameter>
<name>
pGR_ic
</name>
<type>
Constant
</type>
<value>
100000
</value>
</parameter>
<parameter>
<name>
pGR_bc_bottom
</name>
<type>
Constant
</type>
<value>
100100
</value>
</parameter>
<parameter>
<name>
pCap_ic
</name>
<type>
Constant
</type>
<value>
15000
</value>
</parameter>
<parameter>
<name>
T_ic
</name>
<type>
Constant
</type>
<value>
293.15
</value>
</parameter>
<parameter>
<name>
T_bc
</name>
<type>
Constant
</type>
<value>
333.15
</value>
</parameter>
<parameter>
<name>
ux_bc_right
</name>
<type>
Constant
</type>
<value>
0.4
</value>
</parameter>
<parameter>
<name>
sigma_xx_right
</name>
<type>
Constant
</type>
<value>
100.0
</value>
</parameter>
<parameter>
<name>
dirichlet0
</name>
<type>
Constant
</type>
<value>
0
</value>
</parameter>
<parameter>
<name>
neumann
</name>
<type>
Constant
</type>
<value>
-100100
</value>
</parameter>
<parameter>
<name>
zero
</name>
<type>
Constant
</type>
<value>
0
</value>
</parameter>
<parameter>
<name>
displacementRight
</name>
<type>
Constant
</type>
<value>
-0.05
</value>
</parameter>
<parameter>
<name>
displacementRamp
</name>
<type>
CurveScaled
</type>
<curve>
timeRamp
</curve>
<parameter>
displacementRight
</parameter>
</parameter>
</parameters>
<curves>
<curve>
<name>
timeRamp_temperature
</name>
<coords>
0 86400 1.0e99
</coords>
<values>
1. 1. 1.
</values>
</curve>
<curve>
<name>
timeRamp_pressure
</name>
<coords>
0 1 3 5
</coords>
<values>
1. 1. 1.05 1.
</values>
</curve>
<curve>
<name>
timeRamp
</name>
<coords>
0 1000 10000
</coords>
<values>
0 1 1
</values>
</curve>
</curves>
<!-- ## Displacement equation ##############################################-->
<process_variables>
<process_variable>
<name>
displacement
</name>
<components>
2
</components>
<order>
2
</order>
<initial_condition>
displacement0
</initial_condition>
<boundary_conditions>
<boundary_condition>
<mesh>
domain
</mesh>
<type>
Dirichlet
</type>
<component>
1
</component>
<parameter>
dirichlet0
</parameter>
</boundary_condition>
<boundary_condition>
<mesh>
domain
</mesh>
<type>
Dirichlet
</type>
<component>
0
</component>
<parameter>
dirichlet0
</parameter>
</boundary_condition>
</boundary_conditions>
</process_variable>
<!--- ## Gas pressure equation #############################################-->
<process_variable>
<name>
gas_pressure
</name>
<components>
1
</components>
<order>
1
</order>
<initial_condition>
pGR_ic
</initial_condition>
<boundary_conditions>
<boundary_condition>
<mesh>
domain
</mesh>
<type>
Dirichlet
</type>
<component>
0
</component>
<parameter>
pGR_ic
</parameter>
</boundary_condition>
</boundary_conditions>
</process_variable>
<!--- ## Capillary pressure equation #######################################-->
<process_variable>
<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>
<!-- ## Temperature equation ##############################################-->
<process_variable>
<name>
temperature
</name>
<components>
1
</components>
<order>
1
</order>
<initial_condition>
T_ic
</initial_condition>
<boundary_conditions>
<boundary_condition>
<mesh>
boundary8_left
</mesh>
<type>
Dirichlet
</type>
<component>
0
</component>
<parameter>
T_bc
</parameter>
</boundary_condition>
<boundary_condition>
<mesh>
boundary8_right
</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>BiCGSTAB</solver_type>
<precon_type>DIAGONAL</precon_type>
<max_iteration_step>10000</max_iteration_step>
<error_tolerance>1e-25</error_tolerance>
</eigen>
-->
<eigen>
<solver_type>
SparseLU
</solver_type>
<scaling>
true
</scaling>
<!--
<solver_type>PardisoLU</solver_type>
-->
</eigen>
<!--
<eigen>
<solver_type>BiCGSTAB</solver_type>
<precon_type>ILUT</precon_type>
<scaling>true</scaling>
<max_iteration_step>10000</max_iteration_step>
<error_tolerance>1e-26</error_tolerance>
</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>
</OpenGeoSysProject>
Tests/Data/TH2M/T/T_1d_dirichlet/boundary8_bottom.vtu
0 → 100644
View file @
65a8c109
<?xml version="1.0"?>
<VTKFile
type=
"UnstructuredGrid"
version=
"0.1"
byte_order=
"LittleEndian"
header_type=
"UInt32"
>
<UnstructuredGrid>
<Piece
NumberOfPoints=
"21"
NumberOfCells=
"10"
>
<PointData>
<DataArray
type=
"UInt64"
Name=
"bulk_node_ids"
format=
"appended"
RangeMin=
"0"
RangeMax=
"50"
offset=
"0"
/>
</PointData>
<CellData>
<DataArray
type=
"UInt64"
Name=
"bulk_element_ids"
format=
"appended"
RangeMin=
"0"
RangeMax=
"9"
offset=
"232"
/>
</CellData>
<Points>
<DataArray
type=
"Float64"
Name=
"Points"
NumberOfComponents=
"3"
format=
"appended"
RangeMin=
"0"
RangeMax=
"1"
offset=
"344"
/>
</Points>
<Cells>
<DataArray
type=
"Int64"
Name=
"connectivity"
format=
"appended"
RangeMin=
""
RangeMax=
""
offset=
"1024"
/>
<DataArray
type=
"Int64"
Name=
"offsets"
format=
"appended"
RangeMin=
""
RangeMax=
""
offset=
"1352"
/>
<DataArray
type=
"UInt8"
Name=
"types"
format=
"appended"
RangeMin=
""
RangeMax=
""
offset=
"1464"
/>
</Cells>
</Piece>
</UnstructuredGrid>
<AppendedData
encoding=
"base64"
>
_qAAAADIAAAAAAAAACgAAAAAAAAAsAAAAAAAAAAgAAAAAAAAAKQAAAAAAAAAHAAAAAAAAACYAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAC8AAAAAAAAAAQAAAAAAAAAGAAAAAAAAAB0AAAAAAAAAFwAAAAAAAAACAAAAAAAAAAMAAAAAAAAAGgAAAAAAAAAEAAAAAAAAAAkAAAAAAAAAIAAAAAAAAAAFAAAAAAAAAA==UAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAFAAAAAAAAAAYAAAAAAAAABwAAAAAAAAAIAAAAAAAAAAkAAAAAAAAA+AEAAGZmZmZmZu4/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOg/AAAAAAAAAAAAAAAAAAAAAJqZmZmZmek/AAAAAAAAAAAAAAAAAAAAAM7MzMzMzOQ/AAAAAAAAAAAAAAAAAAAAAGdmZmZmZuY/AAAAAAAAAAAAAAAAAAAAAJqZmZmZmeE/AAAAAAAAAAAAAAAAAAAAAM3MzMzMzNw/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQzMzMzM+s/AAAAAAAAAAAAAAAAAAAAAJqZmZmZmbk/AAAAAAAAAAAAAAAAAAAAADQzMzMzM+M/AAAAAAAAAAAAAAAAAAAAAAAAAAAAANA/AAAAAAAAAAAAAAAAAAAAAJqZmZmZmak/AAAAAAAAAAAAAAAAAAAAAJqZmZmZmck/AAAAAAAAAAAAAAAAAAAAADQzMzMzM9M/AAAAAAAAAAAAAAAAAAAAADQzMzMzM8M/AAAAAAAAAAAAAAAAAAAAAJqZmZmZmdk/AAAAAAAAAAAAAAAAAAAAAM3MzMzMzOw/AAAAAAAAAAAAAAAAAAAAAGdmZmZmZtY/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOA/AAAAAAAAAAAAAAAAAAAAAA==8AAAAAgAAAAAAAAACgAAAAAAAAANAAAAAAAAAAoAAAAAAAAADgAAAAAAAAAQAAAAAAAAAA4AAAAAAAAADwAAAAAAAAAMAAAAAAAAAA8AAAAAAAAAEQAAAAAAAAATAAAAAAAAABEAAAAAAAAAFAAAAAAAAAAHAAAAAAAAABQAAAAAAAAACwAAAAAAAAAGAAAAAAAAAAsAAAAAAAAABQAAAAAAAAAEAAAAAAAAAAUAAAAAAAAAAwAAAAAAAAACAAAAAAAAAAMAAAAAAAAAEgAAAAAAAAAJAAAAAAAAABIAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA==UAAAAAMAAAAAAAAABgAAAAAAAAAJAAAAAAAAAAwAAAAAAAAADwAAAAAAAAASAAAAAAAAABUAAAAAAAAAGAAAAAAAAAAbAAAAAAAAAB4AAAAAAAAACgAAABUVFRUVFRUVFRU=
</AppendedData>
</VTKFile>
Tests/Data/TH2M/T/T_1d_dirichlet/boundary8_left.vtu
0 → 100644
View file @
65a8c109
<?xml version="1.0"?>
<VTKFile
type=
"UnstructuredGrid"
version=
"0.1"
byte_order=
"LittleEndian"
header_type=
"UInt32"
>
<UnstructuredGrid>
<Piece
NumberOfPoints=
"3"
NumberOfCells=
"1"
>
<PointData>
<DataArray
type=
"UInt64"
Name=
"bulk_node_ids"
format=
"appended"
RangeMin=
"0"
RangeMax=
"22"
offset=
"0"
/>
</PointData>
<CellData>
<DataArray
type=
"UInt64"
Name=
"bulk_element_ids"
format=
"appended"
RangeMin=
"0"
RangeMax=
"0"
offset=
"40"
/>
</CellData>
<Points>
<DataArray
type=
"Float64"
Name=
"Points"
NumberOfComponents=
"3"
format=
"appended"
RangeMin=
"0"
RangeMax=
"1"
offset=
"56"
/>
</Points>
<Cells>
<DataArray
type=
"Int64"
Name=
"connectivity"
format=
"appended"
RangeMin=
""
RangeMax=
""
offset=
"160"
/>
<DataArray
type=
"Int64"
Name=
"offsets"
format=
"appended"
RangeMin=
""
RangeMax=
""
offset=
"200"
/>
<DataArray
type=
"UInt8"
Name=
"types"
format=
"appended"
RangeMin=
""
RangeMax=
""
offset=
"216"
/>
</Cells>
</Piece>
</UnstructuredGrid>
<AppendedData
encoding=
"base64"
>
_GAAAABYAAAAAAAAAAAAAAAAAAAALAAAAAAAAAA==CAAAAAAAAAAAAAAASAAAAAAAAAAAAAAAAAAAAAAA4D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8D8AAAAAAAAAAA==GAAAAAIAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA==CAAAAAMAAAAAAAAAAQAAABU=
</AppendedData>
</VTKFile>
Tests/Data/TH2M/T/T_1d_dirichlet/boundary8_right.vtu
0 → 100644
View file @
65a8c109
<?xml version="1.0"?>
<VTKFile
type=
"UnstructuredGrid"
version=
"0.1"
byte_order=
"LittleEndian"
header_type=
"UInt32"
>