Porous Flow Module: Errors when using PorousFlowEffectiveFluidPressure

27 views
Skip to first unread message

Joe Satch

unread,
Nov 15, 2023, 2:01:58 PM11/15/23
to moose-users
Hi,

I'm trying to model a hydro-mechanical problem using the Porous Flow Module. I am using the linear porosity model (PorousFlowPorosityLinear), which requires a  the effective fluid pressure model (PorousFlowEffectiveFluidPressure). When I use the effective fluid pressure model, it throws the following errors:

Material property 'PorousFlow_porepressure_nodal', requested by 'effFluidPresModel_nodal' is not defined on block 0
Material property 'dPorousFlow_porepressure_nodal_dvar', requested by 'effFluidPresModel_nodal' is not defined on block 0
Material property 'PorousFlow_saturation_nodal', requested by 'effFluidPresModel_nodal' is not defined on block 0
Material property 'dPorousFlow_saturation_nodal_dvar', requested by 'effFluidPresModel_nodal' is not defined on block 0
Material property 'PorousFlow_porepressure_nodal', requested by 'effFluidPresModel_nodal_face' is not defined on block 0Material property 'dPorousFlow_porepressure_nodal_dvar', requested by 'effFluidPresModel_nodal_face' is not defined on block 0
Material property 'PorousFlow_saturation_nodal', requested by 'effFluidPresModel_nodal_face' is not defined on block 0
Material property 'dPorousFlow_saturation_nodal_dvar', requested by 'effFluidPresModel_nodal_face' is not defined on block 0
Material property 'PorousFlow_porepressure_nodal', requested by 'effFluidPresModel_nodal_neighbor' is not defined on block 0
Material property 'dPorousFlow_porepressure_nodal_dvar', requested by 'effFluidPresModel_nodal_neighbor' is not defined on block 0
Material property 'PorousFlow_saturation_nodal', requested by 'effFluidPresModel_nodal_neighbor' is not defined on block 0
Material property 'dPorousFlow_saturation_nodal_dvar', requested by 'effFluidPresModel_nodal_neighbor' is not defined on block 0

Any ideas on this? My input file is attached below.

Thanks
Joe

[Mesh]
  #
  # In 3D, back = 0 (-ve Z), bottom = 1 (-ve Y), right = 2 (+ve X),
  # top = 3 (+ve Y), left = 4 (-ve X), front = 5 (+ve Z)
  #
  type = GeneratedMesh
  dim  = 3
  nx   = 2
  ny   = 2
  nz   = 20
  xmin = -0.5
  xmax = 0.5
  ymin = -0.5
  ymax = 0.5
  zmin = 0.0
  zmax = 10.0
[]

[GlobalParams]
  displacements = 'disp_x disp_y disp_z'
  PorousFlowDictator = dictator
[]

[Variables]
  [porepressure]
  []
  [disp_x]
    scaling = 1E-10
  []
  [disp_y]
    scaling = 1E-10
  []
  [disp_z]
    scaling = 1E-10
  []
[]


[PorousFlowBasicTHM]
  porepressure = porepressure
  coupling_type = HydroMechanical
  gravity = '0 0 0.'
  fp = the_simple_fluid
  use_displaced_mesh = false
[]

[BCs]
  [drained_posZ]
    type = DirichletBC
    variable = porepressure
    value = 0
    boundary = 5
  []
  [applied_pres_posZ]
    type = Pressure
    boundary = 5
    variable = disp_z
    factor = 8.e3
    use_displaced_mesh = false
  []
  [bc_negX]
    type = DirichletBC
    variable = disp_x
    value = 0
    boundary = 4
  []
  [bc_posX]
    type = DirichletBC
    variable = disp_x
    value = 0
    boundary = 2
  []
  [bc_negY]
    type = DirichletBC
    variable = disp_y
    value = 0
    boundary = 1
  []
  [bc_posY]
    type = DirichletBC
    variable = disp_y
    value = 0
    boundary = 3
  []
  [bc_negZ]
    type = DirichletBC
    variable = disp_z
    value = 0
    boundary = 0
  []
[]

[FluidProperties]
  [the_simple_fluid]
    type = SimpleFluidProperties
    bulk_modulus = 2E9
    viscosity = 1.0E-3
    density0 = 1000.0
  []
[]

[Materials]
  [porosity]
    #
    # Linear porosity model
    #
    type = PorousFlowPorosityLinear
    porosity_ref = 0.2
    P_coeff = 1.01e-8
    P_ref = 5.e3
    #
    # T_coeff = 0 and epv_coeff = 0 by default
    #
  []
  #
  # need PorousFlowEffectiveFluidPressure because porosity model above uses P_ref
  #
  [effFluidPresModel]
    type = PorousFlowEffectiveFluidPressure
  []
  [biot_modulus]
    type = PorousFlowConstantBiotModulus
    biot_coefficient = 0.9
    solid_bulk_compliance = 1E-7
    fluid_bulk_modulus = 2E9
  []
  [permeability]
    type = PorousFlowPermeabilityConst
    #block = 0
    permeability = '1E-15 0 0   0 1E-15 0   0 0 1E-15'
  []
  [solid]
     type = PorousFlowTotalGravitationalDensityFullySaturatedFromPorosity
     rho_s = 1250.0
  []
  [elasticity_tensor]
    type = ComputeIsotropicElasticityTensor
    youngs_modulus = 10E6
    poissons_ratio = 0.3
  []
  [strain]
    type = ComputeSmallStrain
  []
  [stress]
    type = ComputeLinearElasticStress
  []
[]

[Preconditioning]
  active = basic
  [basic]
    type = SMP
    full = true
  []
  [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'
  []
[]

[Controls]
  [period0]
    type = TimePeriod
    disable_objects = 'BoundaryCondition::drained_posZ'
    start_time = '0'
    end_time = '1e5'
    execute_on = 'initial timestep_begin'
  []

  [period1]
    type = TimePeriod
    enable_objects = 'BoundaryCondition::drained_posZ'
    start_time = '1.1e5'
    execute_on = 'initial timestep_begin'
  []
[]

[Executioner]
  type = Transient
  solve_type = Newton
  end_time = 7E6
  dt = 1E5
  nl_abs_tol = 1E-15
  nl_rel_tol = 1E-14
[]

[VectorPostprocessors]
  [./nodal_sample]
    type = NodalValueSampler
    variable = 'porepressure'
    block = 0
    sort_by = x
  [../]
[]


[Outputs]
  exodus = true
  csv = true
[]
Reply all
Reply to author
Forward
0 new messages