|
|
|
[Mesh] |
|
[annular] |
|
type = AnnularMeshGenerator |
|
nr = 10 |
|
rmin = 1.0 |
|
rmax = 10 |
|
growth_r = 1.4 |
|
nt = 4 |
|
dmin = 0 |
|
dmax = 90 |
|
[] |
|
[make3D] |
|
type = MeshExtruderGenerator |
|
extrusion_vector = '0 0 12' |
|
num_layers = 3 |
|
bottom_sideset = 'bottom' |
|
top_sideset = 'top' |
|
input = annular |
|
[] |
|
[shift_down] |
|
type = TransformGenerator |
|
transform = TRANSLATE |
|
vector_value = '0 0 -6' |
|
input = make3D |
|
[] |
|
[aquifer] |
|
type = SubdomainBoundingBoxGenerator |
|
block_id = 1 |
|
bottom_left = '0 0 -2' |
|
top_right = '10 10 2' |
|
input = shift_down |
|
[] |
|
[injection_area] |
|
type = ParsedGenerateSideset |
|
combinatorial_geometry = 'x*x+y*y<1.01' |
|
included_subdomain_ids = 1 |
|
new_sideset_name = 'injection_area' |
|
input = 'aquifer' |
|
[] |
|
[rename] |
|
type = RenameBlockGenerator |
|
old_block = '0 1' |
|
new_block = 'caps aquifer' |
|
input = 'injection_area' |
|
[] |
|
[] |
|
|
|
[GlobalParams] |
|
displacements = 'disp_x disp_y disp_z' |
|
PorousFlowDictator = dictator |
|
biot_coefficient = 1.0 |
|
[] |
|
|
|
[Variables] |
|
[porepressure] |
|
[] |
|
[temperature] |
|
initial_condition = 293 |
|
scaling = 1E-8 |
|
[] |
|
[disp_x] |
|
scaling = 1E-10 |
|
[] |
|
[disp_y] |
|
scaling = 1E-10 |
|
[] |
|
[disp_z] |
|
scaling = 1E-10 |
|
[] |
|
[] |
|
|
|
[PorousFlowBasicTHM] |
|
porepressure = porepressure |
|
temperature = temperature |
|
coupling_type = ThermoHydroMechanical |
|
gravity = '0 0 0' |
|
fp = the_simple_fluid |
|
eigenstrain_names = thermal_contribution |
|
use_displaced_mesh = false |
|
[] |
|
|
|
[BCs] |
|
[constant_injection_porepressure] |
|
type = DirichletBC |
|
variable = porepressure |
|
value = 1E6 |
|
boundary = injection_area |
|
[] |
|
[constant_injection_temperature] |
|
type = DirichletBC |
|
variable = temperature |
|
value = 313 |
|
boundary = injection_area |
|
[] |
|
|
|
[roller_tmax] |
|
type = DirichletBC |
|
variable = disp_x |
|
value = 0 |
|
boundary = dmax |
|
[] |
|
[roller_tmin] |
|
type = DirichletBC |
|
variable = disp_y |
|
value = 0 |
|
boundary = dmin |
|
[] |
|
[roller_top_bottom] |
|
type = DirichletBC |
|
variable = disp_z |
|
value = 0 |
|
boundary = 'top bottom' |
|
[] |
|
[cavity_pressure_x] |
|
type = Pressure |
|
boundary = injection_area |
|
variable = disp_x |
|
component = 0 |
|
factor = 1E6 |
|
use_displaced_mesh = false |
|
[] |
|
[cavity_pressure_y] |
|
type = Pressure |
|
boundary = injection_area |
|
variable = disp_y |
|
component = 1 |
|
factor = 1E6 |
|
use_displaced_mesh = false |
|
[] |
|
[] |
|
|
|
[AuxVariables] |
|
[stress_rr] |
|
family = MONOMIAL |
|
order = CONSTANT |
|
[] |
|
[stress_pp] |
|
family = MONOMIAL |
|
order = CONSTANT |
|
[] |
|
[] |
|
|
|
[AuxKernels] |
|
[stress_rr] |
|
type = RankTwoScalarAux |
|
rank_two_tensor = stress |
|
variable = stress_rr |
|
scalar_type = RadialStress |
|
point1 = '0 0 0' |
|
point2 = '0 0 1' |
|
[] |
|
[stress_pp] |
|
type = RankTwoScalarAux |
|
rank_two_tensor = stress |
|
variable = stress_pp |
|
scalar_type = HoopStress |
|
point1 = '0 0 0' |
|
point2 = '0 0 1' |
|
[] |
|
[] |
|
|
|
[FluidProperties] |
|
[the_simple_fluid] |
|
type = SimpleFluidProperties |
|
bulk_modulus = 2E9 |
|
viscosity = 1.0E-3 |
|
density0 = 1000.0 |
|
thermal_expansion = 0.0002 |
|
cp = 4194 |
|
cv = 4186 |
|
porepressure_coefficient = 0 |
|
[] |
|
[] |
|
|
|
[Materials] |
|
[porosity] |
|
type = PorousFlowPorosity |
|
porosity_zero = 0.1 |
|
[] |
|
[biot_modulus] |
|
type = PorousFlowConstantBiotModulus |
|
solid_bulk_compliance = 2E-7 |
|
fluid_bulk_modulus = 1E7 |
|
[] |
|
[permeability_aquifer] |
|
type = PorousFlowPermeabilityConst |
|
block = aquifer |
|
permeability = '1E-14 0 0 0 1E-14 0 0 0 1E-14' |
|
[] |
|
[permeability_caps] |
|
type = PorousFlowPermeabilityConst |
|
block = caps |
|
permeability = '1E-15 0 0 0 1E-15 0 0 0 1E-16' |
|
[] |
|
|
|
[thermal_expansion] |
|
type = PorousFlowConstantThermalExpansionCoefficient |
|
drained_coefficient = 0.003 |
|
fluid_coefficient = 0.0002 |
|
[] |
|
[rock_internal_energy] |
|
type = PorousFlowMatrixInternalEnergy |
|
density = 2500.0 |
|
specific_heat_capacity = 1200.0 |
|
[] |
|
[thermal_conductivity] |
|
type = PorousFlowThermalConductivityIdeal |
|
dry_thermal_conductivity = '10 0 0 0 10 0 0 0 10' |
|
block = 'caps aquifer' |
|
[] |
|
|
|
[elasticity_tensor] |
|
type = ComputeIsotropicElasticityTensor |
|
youngs_modulus = 5E9 |
|
poissons_ratio = 0.0 |
|
[] |
|
[strain] |
|
type = ComputeSmallStrain |
|
eigenstrain_names = thermal_contribution |
|
[] |
|
[thermal_contribution] |
|
type = ComputeThermalExpansionEigenstrain |
|
temperature = temperature |
|
thermal_expansion_coeff = 0.001 |
|
eigenstrain_name = thermal_contribution |
|
stress_free_temperature = 293 |
|
[] |
|
[stress] |
|
type = ComputeLinearElasticStress |
|
[] |
|
[] |
|
|
|
[Preconditioning] |
|
active = basic |
|
[basic] |
|
type = SMP |
|
full = true |
|
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix' |
|
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap' |
|
petsc_options_value = ' asm lu NONZERO 2' |
|
[] |
|
[preferred_but_might_not_be_installed] |
|
type = SMP |
|
full = true |
|
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package' |
|
petsc_options_value = ' lu mumps' |
|
[] |
|
[] |
|
|
|
[Executioner] |
|
type = Transient |
|
solve_type = Newton |
|
end_time = 1E6 |
|
dt = 1E5 |
|
nl_abs_tol = 1E-15 |
|
nl_rel_tol = 1E-14 |
|
[] |
|
|
|
[Outputs] |
|
exodus = true |
|
[] |
|
|