- variableThe name of the variable that this residual object operates on
C++ Type:NonlinearVariableName
Unit:(no unit assumed)
Controllable:No
Description:The name of the variable that this residual object operates on
PTMassTimeDerivative
The PTMassTimeDerivative has not been documented. The content listed below should be used as a starting point for documenting the class, which includes the typical automatic documentation associated with a MooseObject; however, what is contained is ultimately determined by what is necessary to make the documentation clear for users.
The time derivative operator with the weak form of .
Overview
Example Input File Syntax
Input Parameters
- blockThe list of blocks (ids or names) that this object will be applied
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:The list of blocks (ids or names) that this object will be applied
- displacementsThe displacements
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:The displacements
- lumpingFalseTrue for mass matrix lumping, false otherwise
Default:False
C++ Type:bool
Controllable:No
Description:True for mass matrix lumping, false otherwise
- matrix_onlyFalseWhether this object is only doing assembly to matrices (no vectors)
Default:False
C++ Type:bool
Controllable:No
Description:Whether this object is only doing assembly to matrices (no vectors)
Optional Parameters
- absolute_value_vector_tagsThe tags for the vectors this residual object should fill with the absolute value of the residual contribution
C++ Type:std::vector<TagName>
Controllable:No
Description:The tags for the vectors this residual object should fill with the absolute value of the residual contribution
- extra_matrix_tagsThe extra tags for the matrices this Kernel should fill
C++ Type:std::vector<TagName>
Controllable:No
Description:The extra tags for the matrices this Kernel should fill
- extra_vector_tagsThe extra tags for the vectors this Kernel should fill
C++ Type:std::vector<TagName>
Controllable:No
Description:The extra tags for the vectors this Kernel should fill
- matrix_tagssystem timeThe tag for the matrices this Kernel should fill
Default:system time
C++ Type:MultiMooseEnum
Options:nontime, system, time
Controllable:No
Description:The tag for the matrices this Kernel should fill
- vector_tagstimeThe tag for the vectors this Kernel should fill
Default:time
C++ Type:MultiMooseEnum
Options:nontime, time
Controllable:No
Description:The tag for the vectors this Kernel should fill
Contribution To Tagged Field Data Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- diag_save_inThe name of auxiliary variables to save this Kernel's diagonal Jacobian contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)
C++ Type:std::vector<AuxVariableName>
Unit:(no unit assumed)
Controllable:No
Description:The name of auxiliary variables to save this Kernel's diagonal Jacobian contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:Yes
Description:Set the enabled status of the MooseObject.
- implicitTrueDetermines whether this object is calculated using an implicit or explicit form
Default:True
C++ Type:bool
Controllable:No
Description:Determines whether this object is calculated using an implicit or explicit form
- save_inThe name of auxiliary variables to save this Kernel's residual contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)
C++ Type:std::vector<AuxVariableName>
Unit:(no unit assumed)
Controllable:No
Description:The name of auxiliary variables to save this Kernel's residual contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)
- seed0The seed for the master random number generator
Default:0
C++ Type:unsigned int
Controllable:No
Description:The seed for the master random number generator
- use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Default:False
C++ Type:bool
Controllable:No
Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Advanced Parameters
- prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
- use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.
Default:False
C++ Type:bool
Controllable:No
Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.
Material Property Retrieval Parameters
Input Files
- (test/tests/PT_TH_SGW2016_Reference_Case/inp3d_run.i)
- (test/tests/PT_TH_elder/step2_wseos.i)
- (test/tests/PT_H_injection/inp.i)
- (test/tests/PT_H_gravity/inp.i)
- (test/tests/PT_TH_elder/step2_comp.i)
- (test/tests/PT_TH_faust/inp.i)
- (test/tests/PT_TH_injection/inp.i)
- (test/tests/PT_TH_injection_csvreader_Petrel/inp.i)
- (test/tests/PT_TH_injection_csvreader_RockWorks/inp.i)
(test/tests/PT_TH_SGW2016_Reference_Case/inp3d_run.i)
#### The reference test case in the paper of Xia et al.
#### at 2016 Stanford Geothermal Workshop.
#### The PDF paper is uploaded separately.
#### This is the input file for the Production Run
############################################################
[Mesh]
file = out3d_ini.e
[]
############################################################
[Functions]
[./initial_T_distribution]
type = ParsedFunction
value = 493.15-0.065*z
[../]
[]
############################################################
[Variables]
[./P]
initial_from_file_var = P
initial_from_file_timestep = 2
[../]
[./T]
[./InitialCondition]
type = FunctionIC
function = initial_T_distribution
[../]
[../]
[]
############################################################
[ICs]
[]
############################################################
[Preconditioning]
[./SMP]
#type = FDP
type = SMP
off_diag_row = 'P'
off_diag_column = 'T'
[../]
[]
############################################################
[AuxVariables]
[./v_x]
order = CONSTANT
family = MONOMIAL
[../]
[./v_y]
order = CONSTANT
family = MONOMIAL
[../]
[./v_z]
order = CONSTANT
family = MONOMIAL
[../]
[]
############################################################
[Kernels]
[./P_time_derivative]
type = PTMassTimeDerivative
variable = P
[../]
[./P_mass_residual]
type = PTMassResidual
variable = P
[../]
[./T_time_derivative]
type = PTEnergyTimeDerivative
variable = T
[../]
[./T_energy_residual]
type = PTEnergyResidual
variable = T
[../]
[]
############################################################
[AuxKernels]
[./vx]
type = PTFluidVelocityAux
variable = v_x
component = 0
[../]
[./vy]
type = PTFluidVelocityAux
variable = v_y
component = 1
[../]
[./vz]
type = PTFluidVelocityAux
variable = v_z
component = 2
[../]
[]
############################################################
[BCs]
[./P_in]
type = PTMassFluxBC
variable = P
boundary = '1001 1002 1003 1004 1005'
value = 0.5
[../]
[./P_out]
type = DirichletBC
variable = P
boundary = '1006 1007 1008 1009 1010' # T = 203.75 deg. C
value = 30e6
[../]
[./T_in]
type = DirichletBC
variable = T
value = 353.15
boundary = '1001 1002 1003 1004 1005 1111'
[../]
[./T_out]
type = PTEnergyOutFlowBC
variable = T
boundary = '1006 1007 1008 1009 1010'
[../]
[]
############################################################
[Materials]
[./matrix]
type = PTGeothermal
block = '4'
#pressure = P
temperature = T
reference_pressure = 30e6
fluid_property_formulation = 'wseos'
stabilizer = 'none'
permeability = 1e-20
porosity = 0.01
compressibility = 4.0e-10
density_rock = 2700
density_water = 1000
viscosity_water = 0.001
specific_heat_rock = 790
specific_heat_water = 4181
thermal_conductivity = 3
gravity = 9.80665
gravity_direction = '0 0 0'
constant_pressure_gradient = '0 0 0'
[../]
[./fractures]
type = PTGeothermal
block = '3'
pressure = P
temperature = T
fluid_property_formulation = 'wseos'
stabilizer = 'supg'
permeability = 5e-12
porosity = 0.1
compressibility = 4.0e-10
density_rock = 2700
density_water = 1000
viscosity_water = 0.001
specific_heat_rock = 790
specific_heat_water = 4181
thermal_conductivity = 1.5 #100 work |
gravity = 9.80665
gravity_direction = '0 0 0'
constant_pressure_gradient = '0 0 0'
[../]
[]
############################################################
[Executioner]
type = Transient
solve_type = 'NEWTON' # default = PJFNK | NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type
-ksp_gmres_restart -snes_ls
-pc_hypre_boomeramg_strong_threshold'
petsc_options_value = 'hypre boomeramg 201 cubic 0.7'
#dt = 1e1
dtmin = 1
[./TimeStepper]
type = SolutionTimeAdaptiveDT
dt = 10
[../]
end_time = 1e9
num_steps = 2 # set to 1000000 for complete simulation
l_max_its = 30
l_tol = 1e-3 # could use 1e-3 for faster stepping
nl_max_its = 10
nl_rel_tol = 1e-2 # could use 1e-3 for faster stepping
nl_abs_tol = 1e-7
[]
############################################################
[Outputs]
[./Exodus]
type = Exodus
file_base = out3d_run
#use_problem_dimension = false
interval = 100
[../]
[./CSV]
type = CSV
file_base = out3d_run
interval = 10
[../]
[./CONSOLE]
type = Console
output_linear = true
output_nonlinear = true
execute_postprocessors_on = 'none'
interval = 1
[../]
[]
############################################################
[Postprocessors]
[./DT]
type = TimestepSize
[../]
[./P_1001]
type = SideAverageValue
variable = P
boundary = '1001'
[../]
[./P_1002]
type = SideAverageValue
variable = P
boundary = '1002'
[../]
[./P_1003]
type = SideAverageValue
variable = P
boundary = '1003'
[../]
[./P_1004]
type = SideAverageValue
variable = P
boundary = '1004'
[../]
[./P_1005]
type = SideAverageValue
variable = P
boundary = '1005'
[../]
[./T_1006]
type = SideAverageValue
variable = T
boundary = '1006'
[../]
[./T_1007]
type = SideAverageValue
variable = T
boundary = '1007'
[../]
[./T_1008]
type = SideAverageValue
variable = T
boundary = '1008'
[../]
[./T_1009]
type = SideAverageValue
variable = T
boundary = '1009'
[../]
[./T_1010]
type = SideAverageValue
variable = T
boundary = '1010'
[../]
[./MassRate_1006]
type = PTMassSideFluxIntegral
variable = P
boundary = '1006'
[../]
[./MassRate_1007]
type = PTMassSideFluxIntegral
variable = P
boundary = '1007'
[../]
[./MassRate_1008]
type = PTMassSideFluxIntegral
variable = P
boundary = '1008'
[../]
[./MassRate_1009]
type = PTMassSideFluxIntegral
variable = P
boundary = '1009'
[../]
[./MassRate_1010]
type = PTMassSideFluxIntegral
variable = P
boundary = '1010'
[../]
[]
############################################################
(test/tests/PT_TH_elder/step2_wseos.i)
#### FALCON test case: PT_TH_elder
#### Author: Yidong Xia (INL)
#### Description:
#### P-T based coupled mass & energy balance –--
#### thermally induced buoyant convection and instability
#### (using water-steam EOS)
############################################################
[Mesh]
file = out1.e
[]
############################################################
[Variables]
[./P]
initial_from_file_var = P
initial_from_file_timestep = 2
[../]
[./T]
initial_condition = 285.15
[../]
[]
############################################################
[Preconditioning]
[./SMP]
#type = FDP
type = SMP
off_diag_row = 'P'
off_diag_column = 'T'
[../]
[]
############################################################
[AuxVariables]
[./v_x]
order = FIRST
family = MONOMIAL
[../]
[./v_y]
order = FIRST
family = MONOMIAL
[../]
[]
############################################################
[Kernels]
[./P_time_derivative]
type = PTMassTimeDerivative
variable = P
[../]
[./P_mass_residual]
type = PTMassResidual
variable = P
coupled_temperature = T
[../]
[./T_time_derivative]
type = PTEnergyTimeDerivative
variable = T
[../]
[./T_energy_residual]
type = PTEnergyResidual
variable = T
[../]
[]
############################################################
[AuxKernels]
[./vx]
type = PTFluidVelocityAux
variable = v_x
component = 0
[../]
[./vy]
type = PTFluidVelocityAux
variable = v_y
component = 1
[../]
[]
############################################################
[BCs]
#### 1 = bottom left half (20 Celsius)
#### 2 = bottom right half (12 Celsius)
#### 3 = top boundary (12 Celsius)
[./P_top]
type = DirichletBC
variable = P
boundary = '3'
value = 101325
[../]
[./T_top]
type = DirichletBC
variable = T
boundary = '3'
value = 285.15
[../]
[./T_bottom1]
type = DirichletBC
variable = T
boundary = '1'
value = 293.15
[../]
[./T_bottom2]
type = DirichletBC
variable = T
boundary = '2'
value = 285.15
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 1
pressure = P
temperature = T
fluid_property_formulation = 'wseos'
stabilizer = 'none'
permeability = 1.0e-10 # default = 1.000e-12
porosity = 0.4 # default = 0.300e+00
compressibility = 1.0e-10 # default = 1.000e-05
density_rock = 2480 # default = 2.500e+03
density_water = 999.526088 # default = 1.000e+03
viscosity_water = 0.0012389 # default = 1.200e-04
specific_heat_rock = 920 # default = 0.920e+03
specific_heat_water = 4180 # default = 4.186e+03
thermal_conductivity = 1.0 # default = 2.500e+00
gravity = 9.80665 # default = 9.80665
gravity_direction = '0 -1 0' # default = '0 0 -1'
constant_pressure_gradient = '0 0 0'
[../]
[]
############################################################
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type
-ksp_gmres_restart -snes_ls
-pc_hypre_boomeramg_strong_threshold'
petsc_options_value = 'hypre boomeramg 201 cubic 0.7'
num_steps = 1 # use 50000 for complete run
dt = 10000
end_time = 630720000
l_max_its = 30
l_tol = 1e-4 # could use 1e-3 for faster stepping
nl_max_its = 15
nl_rel_tol = 1e-4 # could use 1e-3 for faster stepping
nl_abs_tol = 1e-7
[]
############################################################
[Outputs]
file_base = out2_wseos
# use 100 for complete run
exodus = true
[./console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
(test/tests/PT_H_injection/inp.i)
############################################################
[Mesh]
type = GeneratedMesh
dim = 2
nx = 50
ny = 50
xmin = -100
xmax = 100
ymin = -100
ymax = 100
[]
############################################################
[Variables]
[./P]
initial_condition = 0.10e6
[../]
[]
############################################################
[Kernels]
[./P_time_derivative]
type = PTMassTimeDerivative
variable = P
[../]
[./P_mass_residual]
type = PTMassResidual
variable = P
[../]
[]
############################################################
[DiracKernels]
[./P_mass_source]
type = PTMassPointSource
variable = P
schedule = '0.0'
value = '1'
point = '0.0 0.0 0.0'
[../]
[]
############################################################
[BCs]
[./P_bcs]
type = DirichletBC
variable = P
boundary = 'left right bottom top'
value = 0.10e+06
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 0
pressure = P
#temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'none'
permeability = 1.0e-12 # default = 1.000e-12
porosity = 0.5 # default = 0.300e+00
#compressibility = 1.0 # default = 1.000e-05
density_rock = 2500 # default = 2.500e+03
density_water = 1000 # default = 1.000e+03
viscosity_water = 1.2e-4 # default = 1.200e-04
specific_heat_rock = 920 # default = 0.920e+03
specific_heat_water = 4186 # default = 4.186e+03
thermal_conductivity = 2.5 # default = 2.500e+00
gravity = 0 # default = 9.80665
gravity_direction = '0 0 -1' # default = '0 0 -1'
constant_pressure_gradient = '0 0 0'
[../]
[]
############################################################
[Executioner]
type = Transient
num_steps = 5
dt = 1000
solve_type = 'PJFNK' # default = PJFNK | NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type
-ksp_gmres_restart -snes_ls
-pc_hypre_boomeramg_strong_threshold'
petsc_options_value = 'hypre boomeramg 201 cubic 0.7'
l_max_its = 20
l_tol = 1e-4
nl_max_its = 50
nl_rel_tol = 1e-4
nl_abs_tol = 1e-7
[]
############################################################
[Outputs]
file_base = out
exodus = true
[./Console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
(test/tests/PT_H_gravity/inp.i)
#### Test case: P-T based mass balance due to gravity
#### Author: Yidong Xia (INL)
############################################################
[Mesh]
file = mesh.e
[]
############################################################
[Variables]
[./P]
order = FIRST
family = LAGRANGE
initial_condition = 101325
[../]
[]
############################################################
[AuxVariables]
[./v_x]
order = FIRST
family = MONOMIAL
[../]
[./v_y]
order = FIRST
family = MONOMIAL
[../]
[]
############################################################
[Kernels]
[./P_time_derivative]
type = PTMassTimeDerivative
variable = P
[../]
[./P_mass_residual]
type = PTMassResidual
variable = P
[../]
[]
############################################################
[AuxKernels]
[./vx]
type = PTFluidVelocityAux
variable = v_x
component = 0
[../]
[./vy]
type = PTFluidVelocityAux
variable = v_y
component = 1
[../]
[]
############################################################
[BCs]
[./P_top]
type = DirichletBC
variable = P
boundary = '3'
value = 101325
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 1
pressure = P
#temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'none'
permeability = 1.0e-10 # default = 1.000e-12
porosity = 0.4 # default = 0.300e+00
compressibility = 4.0e-10 # default = 1.000e-05
density_rock = 2480 # default = 2.500e+03
density_water = 999.526 # default = 1.000e+03
viscosity_water = 0.001 # default = 1.200e-04
specific_heat_rock = 920 # default = 0.920e+03
specific_heat_water = 4180 # default = 4.186e+03
thermal_conductivity = 1.0 # default = 2.500e+00
gravity = 9.80665 # default = 9.80665
gravity_direction = '0 -1 0' # default = '0 0 -1'
constant_pressure_gradient = '0 0 0'
[../]
[]
############################################################
[Executioner]
type = Transient # Steady | Transient
num_steps = 5
dt = 1296000
solve_type = 'PJFNK' # default = PJFNK | NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type
-ksp_gmres_restart -snes_ls
-pc_hypre_boomeramg_strong_threshold'
petsc_options_value = 'hypre boomeramg 201 cubic 0.7'
l_max_its = 400
l_tol = 1e-12
nl_max_its = 15
nl_rel_tol = 1e-5
nl_abs_tol = 1e-7
[]
############################################################
[Outputs]
file_base = out
exodus = true
[./Console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
(test/tests/PT_TH_elder/step2_comp.i)
#### FALCON test case: PT_TH_elder
#### Author: Yidong Xia (INL)
#### Description:
#### P-T based coupled mass & energy balance –--
#### thermally induced buoyant convection and instability
#### (using water-steam EOS)
############################################################
[Mesh]
file = out1.e
[]
############################################################
[Variables]
[./P]
initial_from_file_var = P
initial_from_file_timestep = 2
[../]
[./T]
initial_condition = 285.15
[../]
[]
############################################################
[Preconditioning]
[./SMP]
#type = FDP
type = SMP
off_diag_row = 'P'
off_diag_column = 'T'
[../]
[]
############################################################
[AuxVariables]
[./v_x]
order = FIRST
family = MONOMIAL
[../]
[./v_y]
order = FIRST
family = MONOMIAL
[../]
[]
############################################################
[Kernels]
[./P_time_derivative]
type = PTMassTimeDerivative
variable = P
[../]
[./P_mass_residual]
type = PTMassResidual
variable = P
coupled_temperature = T
[../]
[./T_time_derivative]
type = PTEnergyTimeDerivative
variable = T
[../]
[./T_energy_residual]
type = PTEnergyResidual
variable = T
[../]
[]
############################################################
[AuxKernels]
[./vx]
type = PTFluidVelocityAux
variable = v_x
component = 0
[../]
[./vy]
type = PTFluidVelocityAux
variable = v_y
component = 1
[../]
[]
############################################################
[BCs]
#### 1 = bottom left half (20 Celsius)
#### 2 = bottom right half (12 Celsius)
#### 3 = top boundary (12 Celsius)
[./P_top]
type = DirichletBC
variable = P
boundary = '3'
value = 101325
[../]
[./T_top]
type = DirichletBC
variable = T
boundary = '3'
value = 285.15
[../]
[./T_bottom1]
type = DirichletBC
variable = T
boundary = '1'
value = 293.15
[../]
[./T_bottom2]
type = DirichletBC
variable = T
boundary = '2'
value = 285.15
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 1
pressure = P
temperature = T
fluid_property_formulation = 'compressibility'
stabilizer = 'none'
permeability = 1.0e-10 # default = 1.000e-12
porosity = 0.4 # default = 0.300e+00
compressibility = 1.0e-10 # default = 1.000e-05
density_rock = 2480 # default = 2.500e+03
density_water = 999.526088 # default = 1.000e+03
viscosity_water = 0.0012389 # default = 1.200e-04
specific_heat_rock = 920 # default = 0.920e+03
specific_heat_water = 4180 # default = 4.186e+03
thermal_conductivity = 1.0 # default = 2.500e+00
gravity = 9.80665 # default = 9.80665
gravity_direction = '0 -1 0' # default = '0 0 -1'
constant_pressure_gradient = '0 0 0'
[../]
[]
############################################################
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type
-ksp_gmres_restart -snes_ls
-pc_hypre_boomeramg_strong_threshold'
petsc_options_value = 'hypre boomeramg 201 cubic 0.7'
num_steps = 1 # use 50000 for complete run
dt = 10000
end_time = 630720000
l_max_its = 30
l_tol = 1e-3 # could use 1e-3 for faster stepping
nl_max_its = 15
nl_rel_tol = 1e-3 # could use 1e-3 for faster stepping
nl_abs_tol = 1e-7
[]
############################################################
[Outputs]
file_base = out2_comp
# use 100 for complete run
exodus = true
[./console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
(test/tests/PT_TH_faust/inp.i)
############################################################
[Mesh]
type = GeneratedMesh
dim = 2
nx = 200
ny = 1
xmin = 0
xmax = 100
ymin = 0
ymax = 1
[]
############################################################
[Variables]
[./P]
initial_condition = 10.0e+06
[../]
[./T]
initial_condition = 473.15
[../]
[]
############################################################
[Kernels]
[./P_time_derivative]
type = PTMassTimeDerivative
variable = P
[../]
[./P_mass_residual]
type = PTMassResidual
variable = P
[../]
[./T_time_derivative]
type = PTEnergyTimeDerivative
variable = T
[../]
[./T_energy_residual]
type = PTEnergyResidual
variable = T
[../]
[]
############################################################
[BCs]
[./P_left]
type = DirichletBC
variable = P
boundary = 'left'
value = 10.5e+06
[../]
[./P_right]
type = DirichletBC
variable = P
boundary = 'right'
value = 10.0e+06
[../]
[./T_left]
type = DirichletBC
variable = T
boundary = 'left'
value = 423.15
[../]
[./T_right]
type = DirichletBC
variable = T
boundary = 'right'
value = 473.15
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 0
pressure = P
temperature = T
fluid_property_formulation = 'wseos'
stabilizer = 'none'
permeability = 1.0e-15 # default = 1.000e-12
porosity = 0.2 # default = 0.300e+00
#compressibility = 1.0 # default = 1.000e-05
density_rock = 2500 # default = 2.500e+03
density_water = 1000 # default = 1.000e+03
viscosity_water = 1.2e-4 # default = 1.200e-04
specific_heat_rock = 920 # default = 0.920e+03
specific_heat_water = 4186 # default = 4.186e+03
thermal_conductivity = 1.5 # default = 2.500e+00
gravity = 0 # default = 9.80665
gravity_direction = '0 0 -1' # default = '0 0 -1'
constant_pressure_gradient = '0 0 0'
[../]
[]
############################################################
[Executioner]
type = Transient
end_time = 3600 # use 155520000 for complete run
[./TimeStepper]
type = SolutionTimeAdaptiveDT
dt = 3600
[../]
solve_type = 'PJFNK' # default = PJFNK | NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type
-ksp_gmres_restart -snes_ls
-pc_hypre_boomeramg_strong_threshold'
petsc_options_value = 'hypre boomeramg 201 cubic 0.7'
l_max_its = 20
l_tol = 1e-4
nl_max_its = 50
nl_rel_tol = 1e-4
nl_abs_tol = 1e-7
[]
############################################################
[Outputs]
file_base = out
exodus = true
[./Console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
(test/tests/PT_TH_injection/inp.i)
############################################################
[Mesh]
type = GeneratedMesh
dim = 2
nx = 51
ny = 51
xmin = -100
xmax = 100
ymin = -100
ymax = 100
[]
############################################################
[Variables]
[./P]
initial_condition = 0.10e6
[../]
[./T]
initial_condition = 323.15
[../]
[]
############################################################
[Kernels]
[./P_time_derivative]
type = PTMassTimeDerivative
variable = P
[../]
[./P_mass_residual]
type = PTMassResidual
variable = P
[../]
[./T_time_derivative]
type = PTEnergyTimeDerivative
variable = T
[../]
[./T_mass_residual]
type = PTEnergyResidual
variable = T
[../]
[]
############################################################
[DiracKernels]
[./P_mass_source]
type = PTMassPointSource
variable = P
schedule = '0.0'
value = '0.1'
point = '0.0 0.0 0.0'
[../]
[./T_energy_source]
type = PTEnergyPointSource
variable = T
schedule = '0.0'
value = '0.1'
point = '0.0 0.0 0.0'
injection_temperature = 300.0
[../]
[]
############################################################
[BCs]
[./P_bcs]
type = DirichletBC
variable = P
boundary = 'left right bottom top'
value = 0.10e+06
[../]
[./T_bcs]
type = DirichletBC
variable = T
boundary = 'left right bottom top'
value = 323.15
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 0
pressure = P
temperature = T
fluid_property_formulation = 'wseos'
stabilizer = 'zero'
permeability = 1.0e-12 # default = 1.000e-12
porosity = 0.5 # default = 0.300e+00
#compressibility = 1.0 # default = 1.000e-05
density_rock = 2500 # default = 2.500e+03
density_water = 1000 # default = 1.000e+03
viscosity_water = 1.2e-4 # default = 1.200e-04
specific_heat_rock = 920 # default = 0.920e+03
specific_heat_water = 4186 # default = 4.186e+03
thermal_conductivity = 10 # default = 2.500e+00
gravity = 0 # default = 9.80665
gravity_direction = '0 0 -1' # default = '0 0 -1'
constant_pressure_gradient = '0 0 0'
[../]
[]
############################################################
[Executioner]
type = Transient
num_steps = 2
dt = 1000
solve_type = 'PJFNK' # default = PJFNK | NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type
-ksp_gmres_restart -snes_ls
-pc_hypre_boomeramg_strong_threshold'
petsc_options_value = 'hypre boomeramg 201 cubic 0.7'
l_max_its = 20
l_tol = 1e-4
nl_max_its = 50
nl_rel_tol = 1e-4
nl_abs_tol = 1e-7
[]
############################################################
[Outputs]
file_base = out
exodus = true
[./Console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
(test/tests/PT_TH_injection_csvreader_Petrel/inp.i)
############################################################
[Mesh]
file = example.e
[]
############################################################
[Variables]
[./P]
order = FIRST
family = LAGRANGE
initial_condition = 30.0e6 # [Pa]
[../]
[./T]
order = FIRST
family = LAGRANGE
initial_condition = 483.15 # [K]
[../]
[]
############################################################
[AuxVariables]
[./permeability]
order = FIRST
family = LAGRANGE
[../]
[./porosity]
order = FIRST
family = LAGRANGE
[../]
[./rock_density]
order = FIRST
family = LAGRANGE
[../]
[./rock_specific_heat]
order = FIRST
family = LAGRANGE
[../]
[./thermal_conductivity]
order = FIRST
family = LAGRANGE
[../]
[]
############################################################
[Kernels]
[./P_time_derivative]
type = PTMassTimeDerivative
variable = P
[../]
[./P_mass_residual]
type = PTMassResidual
variable = P
[../]
[./T_time_derivative]
type = PTEnergyTimeDerivative
variable = T
[../]
[./T_mass_residual]
type = PTEnergyResidual
variable = T
[../]
[]
############################################################
[DiracKernels]
[./P_mass_source]
type = PTMassPointSource
variable = P
schedule = '0.0'
value = '0.1'
point = '1.0 1.0 1.0'
[../]
[./T_energy_source]
type = PTEnergyPointSource
variable = T
schedule = '0.0'
value = '0.1'
point = '1.0 1.0 1.0'
injection_temperature = 363.15
[../]
[]
############################################################
[AuxKernels]
[./permeability]
type = CSVNodalMaterialDataAux
execute_on = 'initial'
variable = permeability
csv_reader_object_name = 'csvreader'
attribute_name = 'permeability'
[../]
[./porosity]
type = CSVNodalMaterialDataAux
execute_on = 'initial'
variable = porosity
csv_reader_object_name = 'csvreader'
attribute_name = 'porosity'
[../]
[./rock_density]
type = CSVNodalMaterialDataAux
execute_on = 'initial'
variable = rock_density
csv_reader_object_name = 'csvreader'
attribute_name = 'rock_density'
[../]
[./rock_specific_heat]
type = CSVNodalMaterialDataAux
execute_on = 'initial'
variable = rock_specific_heat
csv_reader_object_name = 'csvreader'
attribute_name = 'rock_specific_heat'
[../]
[./thermal_conductivity]
type = CSVNodalMaterialDataAux
execute_on = 'initial'
variable = thermal_conductivity
csv_reader_object_name = 'csvreader'
attribute_name = 'thermal_conductivity'
[../]
[]
############################################################
[VectorPostprocessors]
[./csvreader]
type = CSVReader
csv_file = example.csv
[../]
[]
############################################################
[BCs]
[./P_bcs]
type = DirichletBC
variable = P
boundary = '1 2 3 4 5 6'
value = 30.0e+06
[../]
[./T_bcs]
type = DirichletBC
variable = T
boundary = '1 2 3 4 5 6'
value = 483.15
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 10
pressure = P
temperature = T
fluid_property_formulation = 'wseos'
stabilizer = 'zero'
### read properties from a CSV file
csv_permeability = permeability
csv_porosity = porosity
csv_density_rock = rock_density
csv_specific_heat_rock = rock_specific_heat
csv_thermal_conductivity = thermal_conductivity
#permeability = 1.000e-12 # default = 1.000e-12
#porosity = 0.300e+00 # default = 0.300e+00
#compressibility = 1.000e-05 # default = 1.000e-05
#density_rock = 2.500e+03 # default = 2.500e+03
#density_water = 1.000e+03 # default = 1.000e+03
#viscosity_water = 1.200e-04 # default = 1.200e-04
#specific_heat_rock = 0.920e+03 # default = 0.920e+03
#specific_heat_water = 4.186e+03 # default = 4.186e+03
#thermal_conductivity = 2.500e+00 # default = 2.500e+00
gravity = 0.000e+00 # default = 9.80665
#gravity_direction = '0 0 1' # default = '0 0 1'
#constant_pressure_gradient = '0 0 0'
[../]
[]
############################################################
[Executioner]
type = Transient
num_steps = 2
dt = 1000
solve_type = 'PJFNK' # default = PJFNK | NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type
-ksp_gmres_restart -snes_ls
-pc_hypre_boomeramg_strong_threshold'
petsc_options_value = 'hypre boomeramg 201 cubic 0.7'
l_max_its = 20
l_tol = 1e-4
nl_max_its = 50
nl_rel_tol = 1e-4
nl_abs_tol = 1e-7
[]
############################################################
[Outputs]
file_base = out
exodus = true
[./Console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
(test/tests/PT_TH_injection_csvreader_RockWorks/inp.i)
############################################################
[Mesh]
file = example.e
[]
############################################################
[Variables]
[./P]
order = FIRST
family = LAGRANGE
initial_condition = 30.0e6 # [Pa]
[../]
[./T]
order = FIRST
family = LAGRANGE
initial_condition = 483.15 # [K]
[../]
[]
############################################################
[AuxVariables]
[./permeability]
order = FIRST
family = LAGRANGE
[../]
[./porosity]
order = FIRST
family = LAGRANGE
[../]
[./rock_density]
order = FIRST
family = LAGRANGE
[../]
[./rock_specific_heat]
order = FIRST
family = LAGRANGE
[../]
[./thermal_conductivity]
order = FIRST
family = LAGRANGE
[../]
[]
############################################################
[Kernels]
[./P_time_derivative]
type = PTMassTimeDerivative
variable = P
[../]
[./P_mass_residual]
type = PTMassResidual
variable = P
[../]
[./T_time_derivative]
type = PTEnergyTimeDerivative
variable = T
[../]
[./T_mass_residual]
type = PTEnergyResidual
variable = T
[../]
[]
############################################################
[DiracKernels]
[./P_mass_source]
type = PTMassPointSource
variable = P
schedule = '0.0'
value = '0.1'
point = '1.0 1.0 1.0'
[../]
[./T_energy_source]
type = PTEnergyPointSource
variable = T
schedule = '0.0'
value = '0.1'
point = '1.0 1.0 1.0'
injection_temperature = 363.15
[../]
[]
############################################################
[AuxKernels]
[./permeability]
type = CSVNodalMaterialDataAux
execute_on = 'initial'
variable = permeability
csv_reader_object_name = 'csvreader'
attribute_name = 'permeability'
[../]
[./porosity]
type = CSVNodalMaterialDataAux
execute_on = 'initial'
variable = porosity
csv_reader_object_name = 'csvreader'
attribute_name = 'porosity'
[../]
[./rock_density]
type = CSVNodalMaterialDataAux
execute_on = 'initial'
variable = rock_density
csv_reader_object_name = 'csvreader'
attribute_name = 'rock_density'
[../]
[./rock_specific_heat]
type = CSVNodalMaterialDataAux
execute_on = 'initial'
variable = rock_specific_heat
csv_reader_object_name = 'csvreader'
attribute_name = 'rock_specific_heat'
[../]
[./thermal_conductivity]
type = CSVNodalMaterialDataAux
execute_on = 'initial'
variable = thermal_conductivity
csv_reader_object_name = 'csvreader'
attribute_name = 'thermal_conductivity'
[../]
[]
############################################################
[VectorPostprocessors]
[./csvreader]
type = CSVReader
csv_file = example.csv
[../]
[]
############################################################
[BCs]
[./P_bcs]
type = DirichletBC
variable = P
boundary = '1 2 3 4 5 6'
value = 30.0e+06
[../]
[./T_bcs]
type = DirichletBC
variable = T
boundary = '1 2 3 4 5 6'
value = 483.15
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 10
pressure = P
temperature = T
fluid_property_formulation = 'wseos'
stabilizer = 'zero'
### read properties from a CSV file
csv_permeability = permeability
csv_porosity = porosity
csv_density_rock = rock_density
csv_specific_heat_rock = rock_specific_heat
csv_thermal_conductivity = thermal_conductivity
#permeability = 1.000e-12 # default = 1.000e-12
#porosity = 0.300e+00 # default = 0.300e+00
#compressibility = 1.000e-05 # default = 1.000e-05
#density_rock = 2.500e+03 # default = 2.500e+03
#density_water = 1.000e+03 # default = 1.000e+03
#viscosity_water = 1.200e-04 # default = 1.200e-04
#specific_heat_rock = 0.920e+03 # default = 0.920e+03
#specific_heat_water = 4.186e+03 # default = 4.186e+03
#thermal_conductivity = 2.500e+00 # default = 2.500e+00
gravity = 0.000e+00 # default = 9.80665
#gravity_direction = '0 0 1' # default = '0 0 1'
#constant_pressure_gradient = '0 0 0'
[../]
[]
############################################################
[Executioner]
type = Transient
num_steps = 2
dt = 1000
solve_type = 'PJFNK' # default = PJFNK | NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type
-ksp_gmres_restart -snes_ls
-pc_hypre_boomeramg_strong_threshold'
petsc_options_value = 'hypre boomeramg 201 cubic 0.7'
l_max_its = 20
l_tol = 1e-4
nl_max_its = 50
nl_rel_tol = 1e-4
nl_abs_tol = 1e-7
[]
############################################################
[Outputs]
file_base = out
exodus = true
[./Console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################