- 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
- boundaryThe list of boundaries (ids or names) from the mesh where this object applies
C++ Type:std::vector<BoundaryName>
Controllable:No
Description:The list of boundaries (ids or names) from the mesh where this object applies
- compressibility1e-05Total compressibility of the researvoir, default = 1.0e-5
Default:1e-05
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Total compressibility of the researvoir, default = 1.0e-5
- computeTrueWhen false, MOOSE will not call compute methods on this material. The user must call computeProperties() after retrieving the MaterialBase via MaterialBasePropertyInterface::getMaterialBase(). Non-computed MaterialBases are not sorted for dependencies.
Default:True
C++ Type:bool
Controllable:No
Description:When false, MOOSE will not call compute methods on this material. The user must call computeProperties() after retrieving the MaterialBase via MaterialBasePropertyInterface::getMaterialBase(). Non-computed MaterialBases are not sorted for dependencies.
- constant_onNONEWhen ELEMENT, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps.When SUBDOMAIN, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps. Evaluations on element qps will be skipped
Default:NONE
C++ Type:MooseEnum
Controllable:No
Description:When ELEMENT, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps.When SUBDOMAIN, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps. Evaluations on element qps will be skipped
- constant_pressure_gradient0 0 0Constant pressure gradient, default = '0 0 0'
Default:0 0 0
C++ Type:libMesh::VectorValue<double>
Unit:(no unit assumed)
Controllable:No
Description:Constant pressure gradient, default = '0 0 0'
- csv_density_rockAssign aux variable for rock density [kg/m^3] read from a CSV file
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Assign aux variable for rock density [kg/m^3] read from a CSV file
- csv_permeabilityAssign aux variable for permeability [m2] read from a CSV file
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Assign aux variable for permeability [m2] read from a CSV file
- csv_porosityAssign aux variable for porosity read from a CSV file
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Assign aux variable for porosity read from a CSV file
- csv_specific_heat_rockAssign aux variable for specific heat of the rock [J/(kg.K)] read from a CSV file
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Assign aux variable for specific heat of the rock [J/(kg.K)] read from a CSV file
- csv_thermal_conductivityAssign aux variable for thermal conductivity of the reservoir [W/(m.K)] read from a CSV file
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Assign aux variable for thermal conductivity of the reservoir [W/(m.K)] read from a CSV file
- declare_suffixAn optional suffix parameter that can be appended to any declared 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 declared properties. The suffix will be prepended with a '_' character.
- density_rock2500Rock density [kg/m^3]
Default:2500
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Rock density [kg/m^3]
- density_water1000Initial water density [kg/m^3], default = 1000
Default:1000
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Initial water density [kg/m^3], default = 1000
- fitting_parameter10Fitting parameter, default = 10
Default:10
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Fitting parameter, default = 10
- fluid_property_formulationconstantFluid property formulation, default = constant
Default:constant
C++ Type:MooseEnum
Controllable:No
Description:Fluid property formulation, default = constant
- gravity9.80665Gravity acceleration constant [m/s^2], default = 9.80665
Default:9.80665
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Gravity acceleration constant [m/s^2], default = 9.80665
- gravity_direction0 0 -1Gravity unit directional vector, default = '0 0 -1'
Default:0 0 -1
C++ Type:libMesh::VectorValue<double>
Unit:(no unit assumed)
Controllable:No
Description:Gravity unit directional vector, default = '0 0 -1'
- initial_fluid_pressure0Initial fluid pressure [Pa], default = 0
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Initial fluid pressure [Pa], default = 0
- permeability1e-12Intrinsic permeability [m^2], default = 1.0e-12
Default:1e-12
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Intrinsic permeability [m^2], default = 1.0e-12
- permeability_function_typeconstantType for permeability function, default = constant
Default:constant
C++ Type:MooseEnum
Controllable:No
Description:Type for permeability function, default = constant
- porosity0.3Rock porosity, default = 0.3
Default:0.3
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Rock porosity, default = 0.3
- pressureAssign nonlinear variable for pressure [Pa], if mass balance is involved
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Assign nonlinear variable for pressure [Pa], if mass balance is involved
- reference_pressure101325Reference pressure [Pa], default = 101325
Default:101325
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Reference pressure [Pa], default = 101325
- reference_temperature297.15Reference temperature [K], default = 297.15
Default:297.15
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Reference temperature [K], default = 297.15
- specific_heat_rock920Specific heat of the rock [J/(kg.K)], default = 0.92e3
Default:920
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Specific heat of the rock [J/(kg.K)], default = 0.92e3
- specific_heat_water4186Specific heat of water [J/(kg.K)], default = 4.186e3
Default:4186
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Specific heat of water [J/(kg.K)], default = 4.186e3
- stabilizernoneEnergy transport stabilizer, default = none
Default:none
C++ Type:MooseEnum
Controllable:No
Description:Energy transport stabilizer, default = none
- stochastic_permeabilityAssign aux variable for stochastic permeability [m2]
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Assign aux variable for stochastic permeability [m2]
- supg_dc_threshold1e-12Threshold magnitude of temperature gradient to include SUPG discontinuity capturing, default = 1e-12
Default:1e-12
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Threshold magnitude of temperature gradient to include SUPG discontinuity capturing, default = 1e-12
- temperatureAssign nonlinear variable for temperature [K], if energy balance is involved
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Assign nonlinear variable for temperature [K], if energy balance is involved
- thermal_conductivity2.5Thermal conductivity of the reservoir [W/(m.K)], default = 2.5
Default:2.5
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Thermal conductivity of the reservoir [W/(m.K)], default = 2.5
- total_overburden_confining_pressure4.5e+07Total overburden confining pressure [Pa], default = 45000000
Default:4.5e+07
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Total overburden confining pressure [Pa], default = 45000000
- viscosity_water0.001Initial water viscosity [Pa.s], default = 0.001
Default:0.001
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Initial water viscosity [Pa.s], default = 0.001
PTGeothermal
The PTGeothermal 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.
Overview
Example Input File Syntax
Input 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.
- 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
- 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
- output_propertiesList of material properties, from this material, to output (outputs must also be defined to an output type)
C++ Type:std::vector<std::string>
Controllable:No
Description:List of material properties, from this material, to output (outputs must also be defined to an output type)
- outputsnone Vector of output names where you would like to restrict the output of variables(s) associated with this object
Default:none
C++ Type:std::vector<OutputName>
Controllable:No
Description:Vector of output names where you would like to restrict the output of variables(s) associated with this object
Outputs 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_H_SideFluxAverage/inp.i)
- (test/tests/PT_H_permeability_function/test2.i)
- (test/tests/PT_H_gravity/inp.i)
- (test/tests/PT_TH_elder/step2_comp.i)
- (test/tests/PT_H_freeBC/inp.i)
- (test/tests/PT_H_diffusion/inp.i)
- (test/tests/PT_T_convection/inp1.i)
- (test/tests/PT_T_convection/inp2_gaussian.i)
- (test/tests/PT_H_stochastic_permeability/inp.i)
- (test/tests/PT_T_SideProductionIntegral/inp.i)
- (test/tests/PT_TH_injection_csvreader_Petrel/inp.i)
- (test/tests/PT_H_SideFluxIntegral/inp.i)
- (test/tests/PT_T_convection/inp2.i)
- (test/tests/PT_T_conduction/inp.i)
- (test/tests/PT_TH_elder/step2_wseos.i)
- (test/tests/PT_H_injection/inp.i)
- (test/tests/PT_TH_elder/step1.i)
- (test/tests/PT_TH_injection/inp.i)
- (test/tests/PT_T_convection/inp3.i)
- (test/tests/PT_T_convection/inp1_gaussian.i)
- (test/tests/PT_TH_SGW2016_Reference_Case/inp3d_ini.i)
- (test/tests/PT_H_permeability_function/test1.i)
- (test/tests/PT_H_fluxBC/inp.i)
- (test/tests/PT_TH_SGW2016_Reference_Case/inp3d_run.i)
- (test/tests/PT_TH_faust/inp.i)
- (test/tests/PT_TH_injection_csvreader_RockWorks/inp.i)
(test/tests/PT_H_SideFluxAverage/inp.i)
############################################################
[Mesh]
type = GeneratedMesh
dim = 3
nx = 20
ny = 2
nz = 2
xmin = 0
xmax = 20
ymin = 0
ymax = 2
zmin = 0
zmax = 2
[]
############################################################
[Variables]
[./P]
initial_condition = 30e6
[../]
[]
############################################################
[AuxVariables]
[./v_x]
order = CONSTANT
family = MONOMIAL
[../]
[./v_y]
order = CONSTANT
family = MONOMIAL
[../]
[./v_z]
order = CONSTANT
family = MONOMIAL
[../]
[]
############################################################
[Kernels]
[./P_mass_residual]
type = PTMassResidual
variable = P
[../]
[]
############################################################
[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 = 'left'
value = 1
[../]
#[./P_in]
# type = DirichletBC
# variable = P
# boundary = 'left'
# value = 40e6
#[../]
[./P_out]
type = DirichletBC
variable = P
boundary = 'right'
value = 30e6
[../]
[]
############################################################
[Materials]
[./fractures]
type = PTGeothermal
block = '0'
pressure = P
#temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'none'
permeability = 1.0e-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
gravity = 9.80665
gravity_direction = '0 0 0'
constant_pressure_gradient = '0 0 0'
[../]
[]
############################################################
[Executioner]
type = Steady
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'
l_max_its = 400
l_tol = 1e-7
nl_max_its = 500
#nl_rel_tol = 1e-5
#nl_abs_tol = 1e-7
[]
############################################################
[Outputs]
#exodus = true
[./Exodus]
type = Exodus
file_base = out
#use_problem_dimension = false
[../]
[./console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
[Postprocessors]
[./SideFluxAverage]
type = PTMassSideFluxAverage
variable = P
boundary = 'right'
[../]
[]
############################################################
(test/tests/PT_H_permeability_function/test2.i)
############################################################
[Mesh]
file = mesh.e
[]
############################################################
[Variables]
[./P]
initial_condition = 20e6
[../]
[]
############################################################
[AuxVariables]
[./v_x]
order = CONSTANT
family = MONOMIAL
[../]
[./v_y]
order = CONSTANT
family = MONOMIAL
[../]
[./k]
order = CONSTANT
family = MONOMIAL
[../]
[]
############################################################
[Kernels]
[./P_mass_residual]
type = PTMassResidual
variable = P
[../]
[]
############################################################
[AuxKernels]
[./vx]
type = PTFluidVelocityAux
variable = v_x
component = 0
[../]
[./vy]
type = PTFluidVelocityAux
variable = v_y
component = 1
[../]
[./k]
type = PTPermeabilityAux
variable = k
[../]
[]
############################################################
[BCs]
[./P_in]
type = DirichletBC
variable = P
boundary = '5'
value = 20e6
[../]
[./P_out]
type = DirichletBC
variable = P
boundary = '6'
value = 1e6
[../]
[]
############################################################
[Materials]
[./fractures]
type = PTGeothermal
block = '1'
pressure = P
#temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'none'
permeability_function_type = '2'
permeability = 4.368e-11
porosity = 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
gravity = 0.0
gravity_direction = '0 0 0'
constant_pressure_gradient = '0 0 0'
[../]
[./matrix]
type = PTGeothermal
block = '2'
pressure = P
#temperature = T
fluid_property_formulation = 'constant'
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 = 0.0
gravity_direction = '0 0 0'
constant_pressure_gradient = '0 0 0'
[../]
[]
############################################################
[Executioner]
type = Steady
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 = 1000
l_tol = 1e-3
nl_max_its = 500
#nl_rel_tol = 1e-12
nl_abs_tol = 1e-9
[]
############################################################
[Outputs]
[./Exodus]
type = Exodus
file_base = out2
[../]
[./CSV]
type = CSV
file_base = out2_post
[../]
[./console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
[Postprocessors]
[./InMassFlowRate]
type = PTMassSideFluxIntegral
variable = P
boundary = '5'
[../]
[./OutMassFlowRate]
type = PTMassSideFluxIntegral
variable = P
boundary = '6'
[../]
[]
(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_H_freeBC/inp.i)
#### Test case: P-T based simple mass balance (normalized parameters)
#### free flux BC on the right
#### Author: Yidong Xia (INL)
############################################################
[Mesh]
type = GeneratedMesh
dim = 2
nx = 100
ny = 1
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1
[]
############################################################
[Variables]
[./P]
order = FIRST
family = LAGRANGE
initial_condition = 1.0
[../]
[]
############################################################
[Kernels]
[./P_mass_residual]
type = PTMassResidual
variable = P
[../]
[]
############################################################
[BCs]
[./P_left]
type = DirichletBC
variable = P
boundary = 'left'
value = 2.0
[../]
[./P_right]
type = PTMassFreeBC
variable = P
boundary = 'right'
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 0
pressure = P
#temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'none'
permeability = 1.000e-00 # default = 1.000e-12
porosity = 1.000e+00 # default = 0.300e+00
compressibility = 1.000e-00 # default = 1.000e-05
density_rock = 2.500e+03 # default = 2.500e+03
density_water = 1.000e+00 # default = 1.000e+03
viscosity_water = 1.000e-00 # 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 = Steady
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'
l_max_its = 30
l_tol = 1e-12
nl_max_its = 15
nl_rel_tol = 1e-5
nl_abs_tol = 1e-7
[]
############################################################
[Outputs]
file_base = out
interval = 1
exodus = true
[./Console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
(test/tests/PT_H_diffusion/inp.i)
#### Test case: P-T based simple mass balance (normalized parameters)
#### Author: Yidong Xia (INL)
############################################################
[Mesh]
type = GeneratedMesh
dim = 2
nx = 100
ny = 1
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1
[]
############################################################
[Variables]
[./P]
order = FIRST
family = LAGRANGE
initial_condition = 1.0
[../]
[]
############################################################
[Kernels]
[./P_mass_residual]
type = PTMassResidual
variable = P
[../]
[]
############################################################
[BCs]
[./P_left]
type = DirichletBC
variable = P
boundary = 'left'
value = 2.0
[../]
[./P_right]
type = DirichletBC
variable = P
boundary = 'right'
value = 1.0
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 0
pressure = P
#temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'none'
permeability = 1.000e-00 # default = 1.000e-12
porosity = 1.000e+00 # default = 0.300e+00
compressibility = 1.000e-00 # default = 1.000e-05
density_rock = 2.500e+03 # default = 2.500e+03
density_water = 1.000e+00 # default = 1.000e+03
viscosity_water = 1.000e-00 # 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 = Steady
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'
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_T_convection/inp1.i)
############################################################
[Mesh]
type = GeneratedMesh
dim = 2
nx = 100
ny = 1
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
[]
############################################################
[Variables]
[./T]
order = FIRST
family = LAGRANGE
initial_condition = 2.0
#[./InitialCondition]
# type = BoundingBoxIC
# variable = T
# inside = 2
# outside = 1
# x1 = 0
# x2 = 0.5
# y1 = 0
# y2 = 1
#[../]
[../]
[]
############################################################
[Kernels]
[./T_time_derivative]
type = PTEnergyTimeDerivative
variable = T
[../]
[./T_energy_residual]
type = PTEnergyResidual
variable = T
[../]
[]
############################################################
[BCs]
[./T_left]
type = PTEnergyInFlowBC
variable = T
boundary = 'left'
value = 1.0
[../]
[./T_right]
type = PTEnergyOutFlowBC
variable = T
boundary = 'right'
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 0
#pressure = P
temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'none'
permeability = 1.000e-00 # default = 1.000e-12
porosity = 1.000e+00 # default = 0.300e+00
compressibility = 1.000e-00 # default = 1.000e-05
density_rock = 2.500e+03 # default = 2.500e+03
density_water = 1.000e+00 # default = 1.000e+03
viscosity_water = 1.000e-00 # default = 1.200e-04
specific_heat_rock = 1.000e+00 # default = 0.920e+03
specific_heat_water = 1.000e+00 # default = 4.186e+03
thermal_conductivity = 0.000e+00 # default = 2.500e+00
gravity = 0.000e+00 # default = 9.80665
gravity_direction = '0 0 1' # default = '0 0 1'
constant_pressure_gradient = '-1 0 0'
[../]
[]
############################################################
[Executioner]
type = Transient
scheme = bdf2
dt = 0.002
num_steps = 250
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 = 50
l_tol = 1e-7
nl_max_its = 15
nl_rel_tol = 1e-7
nl_abs_tol = 1e-9
[]
############################################################
[Outputs]
file_base = out1
exodus = true
[./Console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
(test/tests/PT_T_convection/inp2_gaussian.i)
############################################################
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0.0
xmax = 1.0
[]
############################################################
[Functions]
[./gaussian_function]
type = ParsedFunction
value = '1+exp(-200*(x-0.2)*(x-0.2))'
[../]
[]
############################################################
[Variables]
[./T]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
variable = T
function = gaussian_function
[../]
[../]
[]
############################################################
[Kernels]
[./T_time_derivative]
type = PTEnergyTimeDerivative
variable = T
[../]
[./T_energy_residual]
type = PTEnergyResidual
variable = T
[../]
[]
############################################################
[BCs]
[./T_left]
type = PTEnergyInFlowBC
variable = T
boundary = 'left'
value = 1.0
[../]
[./T_right]
type = PTEnergyOutFlowBC
variable = T
boundary = 'right'
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 0
#pressure = P
temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'supg'
permeability = 1.000e-00 # default = 1.000e-12
porosity = 1.000e+00 # default = 0.300e+00
compressibility = 1.000e-00 # default = 1.000e-05
density_rock = 2.500e+03 # default = 2.500e+03
density_water = 1.000e+00 # default = 1.000e+03
viscosity_water = 1.000e-00 # default = 1.200e-04
specific_heat_rock = 1.000e+00 # default = 0.920e+03
specific_heat_water = 1.000e+00 # default = 4.186e+03
thermal_conductivity = 0.000e+00 # default = 2.500e+00
gravity = 0.000e+00 # default = 9.80665
gravity_direction = '0 0 1' # default = '0 0 1'
constant_pressure_gradient = '-1 0 0'
[../]
[]
############################################################
[Executioner]
type = Transient
scheme = bdf2
dt = 0.002
num_steps = 300
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 = 50
l_tol = 1e-8
nl_max_its = 15
nl_rel_tol = 1e-8
nl_abs_tol = 1e-8
[]
############################################################
[Outputs]
file_base = out2_gaussian
exodus = true
[./Console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
(test/tests/PT_H_stochastic_permeability/inp.i)
### This is a primitive implementation of
### stochastic field for permeability.
### A structured hex mesh must be used to be compatible with
### the (x,y,z) location of cell-centered permeability.
############################################################
[Mesh]
file = mesh.e
[]
############################################################
[Variables]
[./P]
initial_condition = 1e6
[../]
[]
############################################################
[AuxVariables]
[./v_x]
order = CONSTANT
family = MONOMIAL
[../]
[./v_y]
order = CONSTANT
family = MONOMIAL
[../]
[./k]
order = CONSTANT
family = MONOMIAL
[../]
[./stok]
order = CONSTANT
family = MONOMIAL
[../]
[]
############################################################
[Kernels]
[./P_mass_residual]
type = PTMassResidual
variable = P
[../]
[]
############################################################
[AuxKernels]
[./vx]
type = PTFluidVelocityAux
variable = v_x
component = 0
[../]
[./vy]
type = PTFluidVelocityAux
variable = v_y
component = 1
[../]
[./k]
type = PTPermeabilityAux
variable = k
[../]
[./stok]
type = StochasticFieldAux
variable = stok
file_name = IESE_Permeability.txt
[../]
[]
############################################################
[BCs]
[./P_right]
type = DirichletBC
variable = P
boundary = '1'
value = 10e6
[../]
[./P_left]
type = DirichletBC
variable = P
boundary = '2'
value = 1e6
[../]
[]
############################################################
[Materials]
[./fractures]
type = PTGeothermal
block = '1'
pressure = P
#temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'none'
stochastic_permeability = stok
permeability = 1e-12
porosity = 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
gravity = 0.0
gravity_direction = '0 0 0'
constant_pressure_gradient = '0 0 0'
[../]
[]
############################################################
[Executioner]
type = Steady
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'
l_max_its = 400
l_tol = 1e-3
nl_max_its = 500
nl_abs_tol = 1e-9
[]
############################################################
[Outputs]
[./Exodus]
type = Exodus
file_base = out
[../]
[./console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
(test/tests/PT_T_SideProductionIntegral/inp.i)
############################################################
[Mesh]
type = GeneratedMesh
dim = 2
nx = 100
ny = 1
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 10.0
[]
############################################################
[Variables]
[./T]
order = FIRST
family = LAGRANGE
initial_condition = 2.0
[../]
[]
############################################################
[Kernels]
[./T_time_derivative]
type = PTEnergyTimeDerivative
variable = T
[../]
[./T_energy_residual]
type = PTEnergyResidual
variable = T
[../]
[]
############################################################
[BCs]
[./T_left]
type = PTEnergyInFlowBC
variable = T
boundary = 'left'
value = 1.0
[../]
[./T_right]
type = PTEnergyOutFlowBC
variable = T
boundary = 'right'
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 0
#pressure = P
temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'supg'
permeability = 1.000e-00 # default = 1.000e-12
porosity = 1.000e+00 # default = 0.300e+00
compressibility = 1.000e-00 # default = 1.000e-05
density_rock = 2.500e+03 # default = 2.500e+03
density_water = 1.000e+00 # default = 1.000e+03
viscosity_water = 1.000e-00 # default = 1.200e-04
specific_heat_rock = 1.000e+00 # default = 0.920e+03
specific_heat_water = 1.000e+00 # default = 4.186e+03
thermal_conductivity = 0.000e+00 # default = 2.500e+00
gravity = 0.000e+00 # default = 9.80665
gravity_direction = '0 0 1' # default = '0 0 1'
constant_pressure_gradient = '-1 0 0'
[../]
[]
############################################################
[Executioner]
type = Transient
scheme = bdf2
dt = 0.002
num_steps = 250
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 = 50
l_tol = 1e-8
nl_max_its = 15
nl_rel_tol = 1e-8
nl_abs_tol = 1e-8
[]
############################################################
[Outputs]
file_base = out
exodus = true
[./Console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
[Postprocessors]
[./SideProductionIntegral]
type = PTEnergySideProductionIntegral
variable = T
boundary = 'right'
injection_temperature = 1.0
execute_on = 'initial timestep_end'
[../]
[]
############################################################
(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_H_SideFluxIntegral/inp.i)
############################################################
[Mesh]
type = GeneratedMesh
dim = 3
nx = 20
ny = 2
nz = 2
xmin = 0
xmax = 20
ymin = 0
ymax = 2
zmin = 0
zmax = 2
[]
############################################################
[Variables]
[./P]
initial_condition = 30e6
[../]
[]
############################################################
[AuxVariables]
[./v_x]
order = CONSTANT
family = MONOMIAL
[../]
[./v_y]
order = CONSTANT
family = MONOMIAL
[../]
[./v_z]
order = CONSTANT
family = MONOMIAL
[../]
[]
############################################################
[Kernels]
[./P_mass_residual]
type = PTMassResidual
variable = P
[../]
[]
############################################################
[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 = 'left'
value = 1
[../]
#[./P_in]
# type = DirichletBC
# variable = P
# boundary = 'left'
# value = 40e6
#[../]
[./P_out]
type = DirichletBC
variable = P
boundary = 'right'
value = 30e6
[../]
[]
############################################################
[Materials]
[./fractures]
type = PTGeothermal
block = '0'
pressure = P
#temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'none'
permeability = 1.0e-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
gravity = 9.80665
gravity_direction = '0 0 0'
constant_pressure_gradient = '0 0 0'
[../]
[]
############################################################
[Executioner]
type = Steady
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'
l_max_its = 400
l_tol = 1e-7
nl_max_its = 500
#nl_rel_tol = 1e-5
#nl_abs_tol = 1e-7
[]
############################################################
[Outputs]
#exodus = true
[./Exodus]
type = Exodus
file_base = out
#use_problem_dimension = false
[../]
[./console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
[Postprocessors]
[./SideFluxIntegral]
type = PTMassSideFluxIntegral
variable = P
boundary = 'right'
[../]
[]
############################################################
(test/tests/PT_T_convection/inp2.i)
############################################################
[Mesh]
type = GeneratedMesh
dim = 2
nx = 100
ny = 1
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
[]
############################################################
[Variables]
[./T]
order = FIRST
family = LAGRANGE
initial_condition = 2.0
#[./InitialCondition]
# type = BoundingBoxIC
# variable = T
# inside = 2
# outside = 1
# x1 = 0
# x2 = 0.5
# y1 = 0
# y2 = 1
#[../]
[../]
[]
############################################################
[Kernels]
[./T_time_derivative]
type = PTEnergyTimeDerivative
variable = T
[../]
[./T_energy_residual]
type = PTEnergyResidual
variable = T
[../]
[]
############################################################
[BCs]
[./T_left]
type = PTEnergyInFlowBC
variable = T
boundary = 'left'
value = 1.0
[../]
[./T_right]
type = PTEnergyOutFlowBC
variable = T
boundary = 'right'
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 0
#pressure = P
temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'supg'
permeability = 1.000e-00 # default = 1.000e-12
porosity = 1.000e+00 # default = 0.300e+00
compressibility = 1.000e-00 # default = 1.000e-05
density_rock = 2.500e+03 # default = 2.500e+03
density_water = 1.000e+00 # default = 1.000e+03
viscosity_water = 1.000e-00 # default = 1.200e-04
specific_heat_rock = 1.000e+00 # default = 0.920e+03
specific_heat_water = 1.000e+00 # default = 4.186e+03
thermal_conductivity = 0.000e+00 # default = 2.500e+00
gravity = 0.000e+00 # default = 9.80665
gravity_direction = '0 0 1' # default = '0 0 1'
constant_pressure_gradient = '-1 0 0'
[../]
[]
############################################################
[Executioner]
type = Transient
scheme = bdf2
dt = 0.002
num_steps = 250
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 = 50
l_tol = 1e-7
nl_max_its = 15
nl_rel_tol = 1e-8
nl_abs_tol = 1e-9
[]
############################################################
[Outputs]
file_base = out2
exodus = true
[./Console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
(test/tests/PT_T_conduction/inp.i)
#### Test case: P-T based simple energy conduction
#### Author: Yidong Xia (INL)
############################################################
[Mesh]
type = GeneratedMesh
dim = 2
nx = 100
ny = 1
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
[]
############################################################
[Variables]
[./T]
initial_condition = 1.0
[../]
[]
############################################################
[Kernels]
[./T_energy_residual]
type = PTEnergyResidual
variable = T
[../]
[]
############################################################
[BCs]
[./T_left]
type = DirichletBC
variable = T
boundary = 'left'
value = 2.0
[../]
[./T_right]
type = DirichletBC
variable = T
boundary = 'right'
value = 1.0
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 0
#pressure = P
temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'none'
permeability = 1.000e-00 # default = 1.000e-12
porosity = 1.000e+00 # default = 0.300e+00
compressibility = 1.000e-00 # default = 1.000e-05
density_rock = 2.500e+03 # default = 2.500e+03
density_water = 1.000e+00 # default = 1.000e+03
viscosity_water = 1.000e-00 # default = 1.200e-04
specific_heat_rock = 1.000e+00 # default = 0.920e+03
specific_heat_water = 1.000e+00 # default = 4.186e+03
thermal_conductivity = 1.000e-02 # 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 = Steady
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_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_TH_elder/step1.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 = mesh.e
[]
############################################################
[Variables]
[./P]
initial_condition = 101325
[../]
[]
############################################################
[Kernels]
[./P_mass_residual]
type = PTMassResidual
variable = P
[../]
[]
############################################################
[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 = Steady
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 = out1
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_T_convection/inp3.i)
############################################################
[Mesh]
type = GeneratedMesh
dim = 2
nx = 100
ny = 1
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
[]
############################################################
[Variables]
[./T]
order = FIRST
family = LAGRANGE
#### Note that the nonlinear iterations do not converge
#### if the discontinuity starts from boundary
#### Also note that the nonlinear iterations take more steps
#### even when it can converge with the current ics
#initial_condition = 2.0
[./InitialCondition]
type = BoundingBoxIC
variable = T
inside = 1
outside = 2
x1 = 0
x2 = 0.1
y1 = 0
y2 = 1
[../]
[../]
[]
############################################################
[Kernels]
[./T_time_derivative]
type = PTEnergyTimeDerivative
variable = T
[../]
[./T_energy_residual]
type = PTEnergyResidual
variable = T
[../]
[]
############################################################
[BCs]
[./T_left]
type = PTEnergyInFlowBC
variable = T
boundary = 'left'
value = 1.0
[../]
[./T_right]
type = PTEnergyOutFlowBC
variable = T
boundary = 'right'
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 0
#pressure = P
temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'supg_dc'
permeability = 1.000e-00 # default = 1.000e-12
porosity = 1.000e+00 # default = 0.300e+00
compressibility = 1.000e-00 # default = 1.000e-05
density_rock = 2.500e+03 # default = 2.500e+03
density_water = 1.000e+00 # default = 1.000e+03
viscosity_water = 1.000e-00 # default = 1.200e-04
specific_heat_rock = 1.000e+00 # default = 0.920e+03
specific_heat_water = 1.000e+00 # default = 4.186e+03
thermal_conductivity = 0.000e+00 # default = 2.500e+00
supg_dc_threshold = 1.000e-01 # default = 1.000e-12
gravity = 0.000e+00 # default = 9.80665
gravity_direction = '0 0 1' # default = '0 0 1'
constant_pressure_gradient = '-1 0 0'
[../]
[]
############################################################
[Executioner]
type = Transient
scheme = bdf2
dt = 0.002
num_steps = 250
solve_type = 'NEWTON' # default = PJFNK | NEWTON
line_search = 'bt'
petsc_options_iname = '-pc_type -pc_hypre_type
-ksp_gmres_restart
-pc_hypre_boomeramg_strong_threshold'
petsc_options_value = 'hypre boomeramg 201 0.7'
l_max_its = 50
l_tol = 1e-2
nl_max_its = 15
nl_rel_tol = 1e-2
nl_abs_tol = 1e-2
[]
############################################################
[Outputs]
file_base = out3
exodus = true
[./Console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
(test/tests/PT_T_convection/inp1_gaussian.i)
############################################################
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0.0
xmax = 1.0
[]
############################################################
[Functions]
[./gaussian_function]
type = ParsedFunction
value = '1+exp(-200*(x-0.2)*(x-0.2))'
[../]
[]
############################################################
[Variables]
[./T]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
variable = T
function = gaussian_function
[../]
[../]
[]
############################################################
[Kernels]
[./T_time_derivative]
type = PTEnergyTimeDerivative
variable = T
[../]
[./T_energy_residual]
type = PTEnergyResidual
variable = T
[../]
[]
############################################################
[BCs]
[./T_left]
type = PTEnergyInFlowBC
variable = T
boundary = 'left'
value = 1.0
[../]
[./T_right]
type = PTEnergyOutFlowBC
variable = T
boundary = 'right'
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 0
#pressure = P
temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'none'
permeability = 1.000e-00 # default = 1.000e-12
porosity = 1.000e+00 # default = 0.300e+00
compressibility = 1.000e-00 # default = 1.000e-05
density_rock = 2.500e+03 # default = 2.500e+03
density_water = 1.000e+00 # default = 1.000e+03
viscosity_water = 1.000e-00 # default = 1.200e-04
specific_heat_rock = 1.000e+00 # default = 0.920e+03
specific_heat_water = 1.000e+00 # default = 4.186e+03
thermal_conductivity = 0.000e+00 # default = 2.500e+00
gravity = 0.000e+00 # default = 9.80665
gravity_direction = '0 0 1' # default = '0 0 1'
constant_pressure_gradient = '-1 0 0'
[../]
[]
############################################################
[Executioner]
type = Transient
scheme = bdf2
dt = 0.002
num_steps = 300
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 = 50
l_tol = 1e-8
nl_max_its = 15
nl_rel_tol = 1e-8
nl_abs_tol = 1e-8
[]
############################################################
[Outputs]
file_base = out1_gaussian
exodus = true
[./Console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
(test/tests/PT_TH_SGW2016_Reference_Case/inp3d_ini.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 Initial Run
############################################################
[Mesh]
file = mesh3d.e
[]
############################################################
[Variables]
[./P]
initial_condition = 30e6
[../]
[]
############################################################
[AuxVariables]
[./v_x]
order = CONSTANT
family = MONOMIAL
[../]
[./v_y]
order = CONSTANT
family = MONOMIAL
[../]
[./v_z]
order = CONSTANT
family = MONOMIAL
[../]
[]
############################################################
[Kernels]
[./P_mass_residual]
type = PTMassResidual
variable = P
[../]
[]
############################################################
[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'
value = 30e6
[../]
[]
############################################################
[Materials]
[./fractures]
type = PTGeothermal
block = '3'
pressure = P
#temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'none'
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
gravity = 9.80665
gravity_direction = '0 0 0'
constant_pressure_gradient = '0 0 0'
[../]
[./matrix]
type = PTGeothermal
block = '4'
pressure = P
#temperature = T
fluid_property_formulation = 'constant'
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'
[../]
[]
############################################################
[Executioner]
type = Steady
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'
l_max_its = 400
l_tol = 1e-3
nl_max_its = 500
#nl_rel_tol = 1e-5
nl_abs_tol = 1e-6
[]
############################################################
[Outputs]
#exodus = true
[./Exodus]
type = Exodus
file_base = out3d_ini
#use_problem_dimension = false
[../]
[./console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
(test/tests/PT_H_permeability_function/test1.i)
############################################################
[Mesh]
file = mesh.e
[]
############################################################
[Variables]
[./P]
initial_condition = 0.0
[../]
[]
############################################################
[AuxVariables]
[./v_x]
order = CONSTANT
family = MONOMIAL
[../]
[./v_y]
order = CONSTANT
family = MONOMIAL
[../]
[./k]
order = CONSTANT
family = MONOMIAL
[../]
[]
############################################################
[Kernels]
[./P_mass_residual]
type = PTMassResidual
variable = P
[../]
[]
############################################################
[AuxKernels]
[./vx]
type = PTFluidVelocityAux
variable = v_x
component = 0
[../]
[./vy]
type = PTFluidVelocityAux
variable = v_y
component = 1
[../]
[./k]
type = PTPermeabilityAux
variable = k
[../]
[]
############################################################
[BCs]
[./P_in]
type = DirichletBC
variable = P
boundary = '5'
value = 10e6
[../]
[./P_out]
type = DirichletBC
variable = P
boundary = '6'
value = 0.0
[../]
[]
############################################################
[Materials]
[./fractures]
type = PTGeothermal
block = '1'
pressure = P
#temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'none'
permeability_function_type = '1'
initial_fluid_pressure = 0.0
total_overburden_confining_pressure = 10e6 #1000e6
fitting_parameter = 1.0
permeability = 1e-12
porosity = 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
gravity = 0.0
gravity_direction = '0 0 0'
constant_pressure_gradient = '0 0 0'
[../]
[./matrix]
type = PTGeothermal
block = '2'
pressure = P
#temperature = T
fluid_property_formulation = 'constant'
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 = 0.0
gravity_direction = '0 0 0'
constant_pressure_gradient = '0 0 0'
[../]
[]
############################################################
[Executioner]
type = Steady
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'
l_max_its = 400
l_tol = 1e-3
nl_max_its = 500
#nl_rel_tol = 1e-5
nl_abs_tol = 1e-6
[]
############################################################
[Outputs]
[./Exodus]
type = Exodus
file_base = out1
[../]
[./CSV]
type = CSV
file_base = out1_post
[../]
[./console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
[Postprocessors]
[./OutMassFlowRate]
type = PTMassSideFluxIntegral
variable = P
boundary = '6'
[../]
[]
(test/tests/PT_H_fluxBC/inp.i)
#### Test case: P-T based simple mass balance (normalized parameters)
#### fixed flux BC on the left
#### Author: Yidong Xia (INL)
############################################################
[Mesh]
type = GeneratedMesh
dim = 2
nx = 100
ny = 1
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1
[]
############################################################
[Variables]
[./P]
order = FIRST
family = LAGRANGE
initial_condition = 2.0
[../]
[]
############################################################
[Kernels]
[./P_mass_residual]
type = PTMassResidual
variable = P
[../]
[]
############################################################
[BCs]
[./P_left]
type = PTMassFluxBC
variable = P
boundary = 'left'
value = 1
[../]
[./P_right]
type = DirichletBC
variable = P
boundary = 'right'
value = 2.0
[../]
[]
############################################################
[Materials]
[./porous]
type = PTGeothermal
block = 0
pressure = P
#temperature = T
fluid_property_formulation = 'constant'
stabilizer = 'none'
permeability = 1.000e-00 # default = 1.000e-12
porosity = 1.000e+00 # default = 0.300e+00
compressibility = 1.000e-00 # default = 1.000e-05
density_rock = 2.500e+03 # default = 2.500e+03
density_water = 1.000e+00 # default = 1.000e+03
viscosity_water = 1.000e-00 # 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 = Steady
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'
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
interval = 1
exodus = true
[./Console]
type = Console
output_linear = true
output_nonlinear = true
[../]
[]
############################################################
(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_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_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
[../]
[]
############################################################