Action for simulation involving a single phase fully saturated fluid. More...
#include <PorousFlowFullySaturated.h>
Public Member Functions | |
PorousFlowFullySaturated (const InputParameters ¶ms) | |
virtual void | act () override |
virtual void | addRelationshipManagers (Moose::RelationshipManagerType when_type) override |
Protected Types | |
enum | CouplingTypeEnum { CouplingTypeEnum::Hydro, CouplingTypeEnum::ThermoHydro, CouplingTypeEnum::HydroMechanical, CouplingTypeEnum::ThermoHydroMechanical } |
Determines the coupling type. More... | |
enum | StabilizationEnum { StabilizationEnum::Full, StabilizationEnum::KT } |
Protected Member Functions | |
virtual void | addKernels () override |
Add all Kernels. More... | |
virtual void | addMaterialDependencies () override |
Add all material dependencies so that the correct version of each material can be added. More... | |
virtual void | addMaterials () override |
Add all Materials. More... | |
virtual void | addUserObjects () override |
Add all other UserObjects. More... | |
virtual void | addDictator () override |
Add the PorousFlowDictator object. More... | |
virtual void | addAuxObjects () override |
Add all AuxVariables and AuxKernels. More... | |
void | addSaturationAux (unsigned phase) |
Add an AuxVariable and AuxKernel to calculate saturation. More... | |
void | addDarcyAux (const RealVectorValue &gravity) |
Add AuxVariables and AuxKernels to calculate Darcy velocity. More... | |
void | addStressAux () |
Add AuxVariables and AuxKernels to compute effective stress. More... | |
void | addTemperatureMaterial (bool at_nodes) |
Adds a nodal and a quadpoint Temperature material. More... | |
void | addMassFractionMaterial (bool at_nodes) |
Adds a nodal and a quadpoint MassFraction material. More... | |
void | addEffectiveFluidPressureMaterial (bool at_nodes) |
Adds a nodal and a quadpoint effective fluid pressure material. More... | |
void | addVolumetricStrainMaterial (const std::vector< VariableName > &displacements, bool consistent_with_displaced_mesh) |
Adds a quadpoint volumetric strain material. More... | |
void | addSingleComponentFluidMaterial (bool at_nodes, unsigned phase, bool compute_density_and_viscosity, bool compute_internal_energy, bool compute_enthalpy, const UserObjectName &fp) |
Adds a single-component fluid Material. More... | |
void | addBrineMaterial (const VariableName xnacl, bool at_nodes, unsigned phase, bool compute_density_and_viscosity, bool compute_internal_energy, bool compute_enthalpy) |
Adds a brine fluid Material. More... | |
void | addRelativePermeabilityCorey (bool at_nodes, unsigned phase, Real n, Real s_res, Real sum_s_res) |
Adds a relative-permeability Material of the Corey variety. More... | |
void | addRelativePermeabilityFLAC (bool at_nodes, unsigned phase, Real m, Real s_res, Real sum_s_res) |
Adds a relative-permeability Material of the FLAC variety. More... | |
void | addCapillaryPressureVG (Real m, Real alpha, std::string userobject_name) |
Adds a van Genuchten capillary pressure UserObject. More... | |
void | addAdvectiveFluxCalculatorSaturated (unsigned phase, bool multiply_by_density, std::string userobject_name) |
void | addAdvectiveFluxCalculatorUnsaturated (unsigned phase, bool multiply_by_density, std::string userobject_name) |
void | addAdvectiveFluxCalculatorSaturatedHeat (unsigned phase, bool multiply_by_density, std::string userobject_name) |
void | addAdvectiveFluxCalculatorUnsaturatedHeat (unsigned phase, bool multiply_by_density, std::string userobject_name) |
void | addAdvectiveFluxCalculatorSaturatedMultiComponent (unsigned phase, unsigned fluid_component, bool multiply_by_density, std::string userobject_name) |
void | addAdvectiveFluxCalculatorUnsaturatedMultiComponent (unsigned phase, unsigned fluid_component, bool multiply_by_density, std::string userobject_name) |
Protected Attributes | |
const VariableName | _pp_var |
Porepressure NonlinearVariable name. More... | |
enum PorousFlowSinglePhaseBase::CouplingTypeEnum | _coupling_type |
const bool | _thermal |
Flags to indicate whether thermal or mechanical effects are included. More... | |
const bool | _mechanical |
const UserObjectName & | _fp |
Name of the fluid-properties UserObject. More... | |
const Real | _biot_coefficient |
Fluid specific heat capacity at constant volume. More... | |
const bool | _add_darcy_aux |
Add a AuxVariables to record Darcy velocity. More... | |
const bool | _add_stress_aux |
Add AuxVariables for stress. More... | |
const bool | _use_brine |
Use PorousFlowBrine material. More... | |
const unsigned | _nacl_index |
Index of NaCl in list of fluid components. More... | |
std::vector< std::string > | _included_objects |
List of Kernels, AuxKernels, Materials, etc, that are added in this input file. More... | |
const std::string | _dictator_name |
The name of the PorousFlowDictator object to be added. More... | |
const unsigned int | _num_aqueous_equilibrium |
Number of aqueous-equilibrium secondary species. More... | |
const unsigned int | _num_aqueous_kinetic |
Number of aqeuous-kinetic secondary species that are involved in mineralisation. More... | |
const RealVectorValue | _gravity |
Gravity. More... | |
const std::vector< VariableName > & | _mass_fraction_vars |
Name of the mass-fraction variables (if any) More... | |
const unsigned | _num_mass_fraction_vars |
Number of mass-fraction variables. More... | |
const std::vector< VariableName > & | _temperature_var |
Name of the temperature variable (if any) More... | |
const std::vector< VariableName > & | _displacements |
Displacement NonlinearVariable names (if any) More... | |
const unsigned | _ndisp |
Number of displacement variables supplied. More... | |
std::vector< VariableName > | _coupled_displacements |
Displacement Variable names. More... | |
const MooseEnum | _flux_limiter_type |
Flux limiter type in the Kuzmin-Turek FEM-TVD stabilization scheme. More... | |
enum PorousFlowActionBase::StabilizationEnum | _stabilization |
Moose::CoordinateSystemType | _coord_system |
Coordinate system of the simulation (eg RZ, XYZ, etc) More... | |
bool | _transient |
Flag to denote if the simulation is transient. More... | |
DependencyResolver< std::string > | _deps |
All dependencies of kernels, auxkernels, materials, etc, are stored in _dependencies. More... | |
Action for simulation involving a single phase fully saturated fluid.
Definition at line 22 of file PorousFlowFullySaturated.h.
|
strongprotectedinherited |
Determines the coupling type.
Enumerator | |
---|---|
Hydro | |
ThermoHydro | |
HydroMechanical | |
ThermoHydroMechanical |
Definition at line 38 of file PorousFlowSinglePhaseBase.h.
|
strongprotectedinherited |
PorousFlowFullySaturated::PorousFlowFullySaturated | ( | const InputParameters & | params | ) |
Definition at line 45 of file PorousFlowFullySaturated.C.
|
overridevirtualinherited |
Definition at line 115 of file PorousFlowActionBase.C.
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
Definition at line 562 of file PorousFlowActionBase.C.
Referenced by PorousFlowUnsaturated::addUserObjects().
|
protectedinherited |
Definition at line 598 of file PorousFlowActionBase.C.
Referenced by PorousFlowUnsaturated::addUserObjects().
|
protectedinherited |
Definition at line 636 of file PorousFlowActionBase.C.
Referenced by PorousFlowUnsaturated::addUserObjects().
|
overrideprotectedvirtualinherited |
Add all AuxVariables and AuxKernels.
Reimplemented from PorousFlowActionBase.
Reimplemented in PorousFlowUnsaturated.
Definition at line 207 of file PorousFlowSinglePhaseBase.C.
Referenced by PorousFlowUnsaturated::addAuxObjects().
|
protectedinherited |
Adds a brine fluid Material.
xnacl | the variable containing the mass fraction of NaCl in the fluid |
phase | the phase number of the fluid |
compute_density_and_viscosity | compute the density and viscosity of the fluid |
compute_internal_energy | compute the fluid internal energy |
compute_enthalpy | compute the fluid enthalpy |
at_nodes | add a nodal material |
Definition at line 453 of file PorousFlowActionBase.C.
Referenced by PorousFlowSinglePhaseBase::addMaterials().
|
protectedinherited |
Adds a van Genuchten capillary pressure UserObject.
m | van Genuchten exponent |
alpha | van Genuchten alpha |
userobject_name | name of the user object |
Definition at line 531 of file PorousFlowActionBase.C.
Referenced by PorousFlowUnsaturated::addUserObjects().
|
protectedinherited |
Add AuxVariables and AuxKernels to calculate Darcy velocity.
gravity | gravitational acceleration pointing downwards (eg (0, 0, -9.8)) |
Definition at line 220 of file PorousFlowActionBase.C.
Referenced by PorousFlowSinglePhaseBase::addAuxObjects().
|
overrideprotectedvirtualinherited |
Add the PorousFlowDictator object.
Implements PorousFlowActionBase.
Definition at line 277 of file PorousFlowSinglePhaseBase.C.
|
protectedinherited |
Adds a nodal and a quadpoint effective fluid pressure material.
at_nodes | Add nodal effective fluid pressure material |
Definition at line 388 of file PorousFlowActionBase.C.
Referenced by PorousFlowSinglePhaseBase::addMaterials().
|
overrideprotectedvirtual |
Add all Kernels.
Reimplemented from PorousFlowSinglePhaseBase.
Definition at line 75 of file PorousFlowFullySaturated.C.
|
protectedinherited |
Adds a nodal and a quadpoint MassFraction material.
at_nodes | Add nodal mass-fraction material |
Definition at line 363 of file PorousFlowActionBase.C.
Referenced by PorousFlowSinglePhaseBase::addMaterials().
|
overrideprotectedvirtual |
Add all material dependencies so that the correct version of each material can be added.
Reimplemented from PorousFlowSinglePhaseBase.
Definition at line 51 of file PorousFlowFullySaturated.C.
|
overrideprotectedvirtual |
Add all Materials.
Reimplemented from PorousFlowSinglePhaseBase.
Definition at line 224 of file PorousFlowFullySaturated.C.
|
overridevirtualinherited |
Definition at line 106 of file PorousFlowActionBase.C.
|
protectedinherited |
Adds a relative-permeability Material of the Corey variety.
phase | the phase number of the fluid |
n | The Corey exponent |
s_res | The residual saturation for this phase |
sum_s_res | The sum of residual saturations over all phases |
Definition at line 482 of file PorousFlowActionBase.C.
Referenced by addMaterials(), PorousFlowUnsaturated::addMaterials(), and PorousFlowBasicTHM::addMaterials().
|
protectedinherited |
Adds a relative-permeability Material of the FLAC variety.
phase | the phase number of the fluid |
m | The FLAC exponent |
s_res | The residual saturation for this phase |
sum_s_res | The sum of residual saturations over all phases |
Definition at line 507 of file PorousFlowActionBase.C.
Referenced by PorousFlowUnsaturated::addMaterials().
|
protectedinherited |
Add an AuxVariable and AuxKernel to calculate saturation.
phase | Saturation for this fluid phase |
Definition at line 195 of file PorousFlowActionBase.C.
Referenced by PorousFlowUnsaturated::addAuxObjects().
|
protectedinherited |
Adds a single-component fluid Material.
phase | the phase number of the fluid |
fp | the name of the FluidProperties UserObject |
compute_density_and_viscosity | compute the density and viscosity of the fluid |
compute_internal_energy | compute the fluid internal energy |
compute_enthalpy | compute the fluid enthalpy |
at_nodes | add a nodal material |
Definition at line 424 of file PorousFlowActionBase.C.
Referenced by PorousFlowSinglePhaseBase::addMaterials().
|
protectedinherited |
Add AuxVariables and AuxKernels to compute effective stress.
Definition at line 258 of file PorousFlowActionBase.C.
Referenced by PorousFlowSinglePhaseBase::addAuxObjects().
|
protectedinherited |
Adds a nodal and a quadpoint Temperature material.
at_nodes | Add nodal temperature Material |
Definition at line 339 of file PorousFlowActionBase.C.
Referenced by PorousFlowSinglePhaseBase::addMaterials().
|
overrideprotectedvirtual |
Add all other UserObjects.
Reimplemented from PorousFlowActionBase.
Definition at line 193 of file PorousFlowFullySaturated.C.
|
protectedinherited |
Adds a quadpoint volumetric strain material.
displacements | the names of the displacement variables |
consistent_with_displaced_mesh | The volumetric strain should be consistent with the displaced mesh |
Definition at line 407 of file PorousFlowActionBase.C.
Referenced by addMaterials(), PorousFlowUnsaturated::addMaterials(), and PorousFlowBasicTHM::addMaterials().
|
protectedinherited |
Add a AuxVariables to record Darcy velocity.
Definition at line 56 of file PorousFlowSinglePhaseBase.h.
Referenced by PorousFlowSinglePhaseBase::addAuxObjects(), and PorousFlowSinglePhaseBase::addMaterialDependencies().
|
protectedinherited |
Add AuxVariables for stress.
Definition at line 59 of file PorousFlowSinglePhaseBase.h.
Referenced by PorousFlowSinglePhaseBase::addAuxObjects(), and PorousFlowSinglePhaseBase::addMaterialDependencies().
|
protectedinherited |
Fluid specific heat capacity at constant volume.
Definition at line 53 of file PorousFlowSinglePhaseBase.h.
Referenced by PorousFlowSinglePhaseBase::addKernels(), and PorousFlowBasicTHM::addKernels().
|
protectedinherited |
Coordinate system of the simulation (eg RZ, XYZ, etc)
Definition at line 89 of file PorousFlowActionBase.h.
Referenced by PorousFlowActionBase::act(), and PorousFlowSinglePhaseBase::addKernels().
|
protectedinherited |
Displacement Variable names.
Definition at line 81 of file PorousFlowActionBase.h.
Referenced by PorousFlowSinglePhaseBase::addDictator(), PorousFlowSinglePhaseBase::addKernels(), addMaterials(), PorousFlowUnsaturated::addMaterials(), PorousFlowBasicTHM::addMaterials(), and PorousFlowActionBase::PorousFlowActionBase().
|
protectedinherited |
|
protectedinherited |
All dependencies of kernels, auxkernels, materials, etc, are stored in _dependencies.
Definition at line 37 of file PorousFlowDependencies.h.
Referenced by addMaterials(), PorousFlowSinglePhaseBase::addMaterials(), PorousFlowUnsaturated::addMaterials(), PorousFlowBasicTHM::addMaterials(), PorousFlowAddMaterialAction::isPFMaterialRequired(), and PorousFlowDependencies::PorousFlowDependencies().
|
protectedinherited |
The name of the PorousFlowDictator object to be added.
Definition at line 54 of file PorousFlowActionBase.h.
Referenced by PorousFlowActionBase::addAdvectiveFluxCalculatorSaturated(), PorousFlowActionBase::addAdvectiveFluxCalculatorSaturatedHeat(), PorousFlowActionBase::addAdvectiveFluxCalculatorSaturatedMultiComponent(), PorousFlowActionBase::addAdvectiveFluxCalculatorUnsaturated(), PorousFlowActionBase::addAdvectiveFluxCalculatorUnsaturatedHeat(), PorousFlowActionBase::addAdvectiveFluxCalculatorUnsaturatedMultiComponent(), PorousFlowActionBase::addBrineMaterial(), PorousFlowActionBase::addDarcyAux(), PorousFlowSinglePhaseBase::addDictator(), PorousFlowActionBase::addEffectiveFluidPressureMaterial(), addKernels(), PorousFlowSinglePhaseBase::addKernels(), PorousFlowUnsaturated::addKernels(), PorousFlowBasicTHM::addKernels(), PorousFlowActionBase::addMassFractionMaterial(), addMaterials(), PorousFlowBasicTHM::addMaterials(), PorousFlowUnsaturated::addMaterials(), PorousFlowActionBase::addRelativePermeabilityCorey(), PorousFlowActionBase::addRelativePermeabilityFLAC(), PorousFlowActionBase::addSingleComponentFluidMaterial(), PorousFlowActionBase::addTemperatureMaterial(), and PorousFlowActionBase::addVolumetricStrainMaterial().
|
protectedinherited |
Displacement NonlinearVariable names (if any)
Definition at line 75 of file PorousFlowActionBase.h.
Referenced by PorousFlowSinglePhaseBase::addKernels(), and PorousFlowActionBase::PorousFlowActionBase().
|
protectedinherited |
Flux limiter type in the Kuzmin-Turek FEM-TVD stabilization scheme.
Definition at line 84 of file PorousFlowActionBase.h.
Referenced by PorousFlowActionBase::addAdvectiveFluxCalculatorSaturated(), PorousFlowActionBase::addAdvectiveFluxCalculatorSaturatedHeat(), PorousFlowActionBase::addAdvectiveFluxCalculatorSaturatedMultiComponent(), PorousFlowActionBase::addAdvectiveFluxCalculatorUnsaturated(), PorousFlowActionBase::addAdvectiveFluxCalculatorUnsaturatedHeat(), and PorousFlowActionBase::addAdvectiveFluxCalculatorUnsaturatedMultiComponent().
|
protectedinherited |
Name of the fluid-properties UserObject.
Definition at line 50 of file PorousFlowSinglePhaseBase.h.
Referenced by PorousFlowSinglePhaseBase::addMaterials(), and PorousFlowSinglePhaseBase::PorousFlowSinglePhaseBase().
|
protectedinherited |
Definition at line 63 of file PorousFlowActionBase.h.
Referenced by PorousFlowActionBase::addAdvectiveFluxCalculatorSaturated(), PorousFlowActionBase::addAdvectiveFluxCalculatorSaturatedHeat(), PorousFlowActionBase::addAdvectiveFluxCalculatorSaturatedMultiComponent(), PorousFlowActionBase::addAdvectiveFluxCalculatorUnsaturated(), PorousFlowActionBase::addAdvectiveFluxCalculatorUnsaturatedHeat(), PorousFlowActionBase::addAdvectiveFluxCalculatorUnsaturatedMultiComponent(), PorousFlowSinglePhaseBase::addAuxObjects(), addKernels(), PorousFlowSinglePhaseBase::addKernels(), PorousFlowUnsaturated::addKernels(), and PorousFlowBasicTHM::addKernels().
|
protectedinherited |
List of Kernels, AuxKernels, Materials, etc, that are added in this input file.
This list will be used to determine what Materials need to be added. Actions may add or remove things from this list
Definition at line 51 of file PorousFlowActionBase.h.
Referenced by PorousFlowActionBase::act(), addMaterialDependencies(), PorousFlowSinglePhaseBase::addMaterialDependencies(), PorousFlowUnsaturated::addMaterialDependencies(), PorousFlowBasicTHM::addMaterialDependencies(), PorousFlowActionBase::addMaterialDependencies(), addMaterials(), PorousFlowSinglePhaseBase::addMaterials(), PorousFlowBasicTHM::addMaterials(), and PorousFlowUnsaturated::addMaterials().
|
protectedinherited |
Name of the mass-fraction variables (if any)
Definition at line 66 of file PorousFlowActionBase.h.
Referenced by PorousFlowSinglePhaseBase::addDictator(), addKernels(), PorousFlowUnsaturated::addKernels(), and PorousFlowSinglePhaseBase::addMaterials().
|
protectedinherited |
Definition at line 47 of file PorousFlowSinglePhaseBase.h.
Referenced by PorousFlowSinglePhaseBase::addAuxObjects(), PorousFlowSinglePhaseBase::addDictator(), addKernels(), PorousFlowSinglePhaseBase::addKernels(), PorousFlowUnsaturated::addKernels(), addMaterialDependencies(), PorousFlowSinglePhaseBase::addMaterialDependencies(), PorousFlowUnsaturated::addMaterialDependencies(), and PorousFlowBasicTHM::addMaterials().
|
protectedinherited |
Index of NaCl in list of fluid components.
Definition at line 65 of file PorousFlowSinglePhaseBase.h.
Referenced by PorousFlowSinglePhaseBase::addMaterials(), and PorousFlowSinglePhaseBase::PorousFlowSinglePhaseBase().
|
protectedinherited |
Number of displacement variables supplied.
Definition at line 78 of file PorousFlowActionBase.h.
Referenced by PorousFlowSinglePhaseBase::addKernels(), and PorousFlowActionBase::PorousFlowActionBase().
|
protectedinherited |
Number of aqueous-equilibrium secondary species.
Definition at line 57 of file PorousFlowActionBase.h.
Referenced by PorousFlowSinglePhaseBase::addDictator().
|
protectedinherited |
Number of aqeuous-kinetic secondary species that are involved in mineralisation.
Definition at line 60 of file PorousFlowActionBase.h.
Referenced by PorousFlowSinglePhaseBase::addDictator().
|
protectedinherited |
Number of mass-fraction variables.
Definition at line 69 of file PorousFlowActionBase.h.
Referenced by PorousFlowSinglePhaseBase::addDictator(), addKernels(), PorousFlowUnsaturated::addKernels(), addUserObjects(), PorousFlowUnsaturated::addUserObjects(), PorousFlowBasicTHM::PorousFlowBasicTHM(), and PorousFlowSinglePhaseBase::PorousFlowSinglePhaseBase().
|
protectedinherited |
Porepressure NonlinearVariable name.
Definition at line 35 of file PorousFlowSinglePhaseBase.h.
Referenced by PorousFlowSinglePhaseBase::addDictator(), addKernels(), PorousFlowUnsaturated::addKernels(), PorousFlowBasicTHM::addKernels(), addMaterials(), PorousFlowUnsaturated::addMaterials(), and PorousFlowBasicTHM::addMaterials().
|
protectedinherited |
Referenced by PorousFlowActionBase::addAdvectiveFluxCalculatorSaturated(), PorousFlowActionBase::addAdvectiveFluxCalculatorSaturatedHeat(), PorousFlowActionBase::addAdvectiveFluxCalculatorSaturatedMultiComponent(), PorousFlowActionBase::addAdvectiveFluxCalculatorUnsaturated(), PorousFlowActionBase::addAdvectiveFluxCalculatorUnsaturatedHeat(), PorousFlowActionBase::addAdvectiveFluxCalculatorUnsaturatedMultiComponent(), addKernels(), PorousFlowUnsaturated::addKernels(), addMaterialDependencies(), PorousFlowUnsaturated::addMaterialDependencies(), PorousFlowActionBase::addRelationshipManagers(), addUserObjects(), and PorousFlowUnsaturated::addUserObjects().
|
protectedinherited |
Name of the temperature variable (if any)
Definition at line 72 of file PorousFlowActionBase.h.
Referenced by PorousFlowSinglePhaseBase::addDictator(), addKernels(), PorousFlowSinglePhaseBase::addKernels(), PorousFlowUnsaturated::addKernels(), PorousFlowBasicTHM::addKernels(), and PorousFlowSinglePhaseBase::PorousFlowSinglePhaseBase().
|
protectedinherited |
Flags to indicate whether thermal or mechanical effects are included.
Definition at line 46 of file PorousFlowSinglePhaseBase.h.
Referenced by PorousFlowSinglePhaseBase::addDictator(), addKernels(), PorousFlowSinglePhaseBase::addKernels(), PorousFlowUnsaturated::addKernels(), PorousFlowBasicTHM::addKernels(), addMaterialDependencies(), PorousFlowSinglePhaseBase::addMaterialDependencies(), PorousFlowUnsaturated::addMaterialDependencies(), PorousFlowBasicTHM::addMaterialDependencies(), addUserObjects(), PorousFlowUnsaturated::addUserObjects(), and PorousFlowSinglePhaseBase::PorousFlowSinglePhaseBase().
|
protectedinherited |
Flag to denote if the simulation is transient.
Definition at line 92 of file PorousFlowActionBase.h.
Referenced by PorousFlowActionBase::act(), addKernels(), PorousFlowSinglePhaseBase::addKernels(), PorousFlowUnsaturated::addKernels(), PorousFlowBasicTHM::addKernels(), addMaterialDependencies(), PorousFlowSinglePhaseBase::addMaterialDependencies(), PorousFlowBasicTHM::addMaterialDependencies(), and PorousFlowUnsaturated::addMaterialDependencies().
|
protectedinherited |
Use PorousFlowBrine material.
Definition at line 62 of file PorousFlowSinglePhaseBase.h.
Referenced by PorousFlowSinglePhaseBase::addMaterials(), and PorousFlowSinglePhaseBase::PorousFlowSinglePhaseBase().