Go to the documentation of this file.
14 #include "MooseEnum.h"
16 #include "libmesh/vector_value.h"
40 virtual void act()
override;
42 using Action::addRelationshipManagers;
167 bool consistent_with_displaced_mesh);
180 bool compute_density_and_viscosity,
181 bool compute_internal_energy,
182 bool compute_enthalpy,
183 const UserObjectName &
fp);
197 bool compute_density_and_viscosity,
198 bool compute_internal_energy,
199 bool compute_enthalpy);
230 bool multiply_by_density,
231 std::string userobject_name);
234 bool multiply_by_density,
235 std::string userobject_name);
238 bool multiply_by_density,
239 std::string userobject_name);
242 bool multiply_by_density,
243 std::string userobject_name);
246 unsigned fluid_component,
247 bool multiply_by_density,
248 std::string userobject_name);
251 unsigned fluid_component,
252 bool multiply_by_density,
253 std::string userobject_name);
const unsigned _num_mass_fraction_vars
Number of mass-fraction variables.
Moose::CoordinateSystemType _coord_system
Coordinate system of the simulation (eg RZ, XYZ, etc)
virtual void addAuxObjects()
Add all AuxVariables and AuxKernels.
bool _transient
Flag to denote if the simulation is transient.
PorousFlowActionBase(const InputParameters ¶ms)
virtual void addMaterials()
Add all Materials.
enum PorousFlowActionBase::StabilizationEnum _stabilization
void addStressAux()
Add AuxVariables and AuxKernels to compute effective stress.
Holds the PorousFlow dependencies of kernels, auxkernels, materials, etc.
const std::vector< VariableName > & _displacements
Displacement NonlinearVariable names (if any)
void addAdvectiveFluxCalculatorSaturated(unsigned phase, bool multiply_by_density, std::string userobject_name)
virtual void addUserObjects()
Add all other UserObjects.
virtual void act() override
virtual void addKernels()
Add all Kernels.
void addAdvectiveFluxCalculatorUnsaturated(unsigned phase, bool multiply_by_density, std::string userobject_name)
virtual void addRelationshipManagers(Moose::RelationshipManagerType when_type) override
std::vector< VariableName > _coupled_displacements
Displacement Variable names.
InputParameters validParams< PorousFlowActionBase >()
const std::vector< VariableName > & _mass_fraction_vars
Name of the mass-fraction variables (if any)
void addCapillaryPressureVG(Real m, Real alpha, std::string userobject_name)
Adds a van Genuchten capillary pressure UserObject.
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)
const unsigned _ndisp
Number of displacement variables supplied.
void addDarcyAux(const RealVectorValue &gravity)
Add AuxVariables and AuxKernels to calculate Darcy velocity.
void addTemperatureMaterial(bool at_nodes)
Adds a nodal and a quadpoint Temperature material.
const RealVectorValue _gravity
Gravity.
const unsigned int _num_aqueous_kinetic
Number of aqeuous-kinetic secondary species that are involved in mineralisation.
const unsigned int _num_aqueous_equilibrium
Number of aqueous-equilibrium secondary species.
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.
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.
const std::vector< VariableName > & _temperature_var
Name of the temperature variable (if any)
void addMassFractionMaterial(bool at_nodes)
Adds a nodal and a quadpoint MassFraction material.
void addAdvectiveFluxCalculatorSaturatedHeat(unsigned phase, bool multiply_by_density, std::string userobject_name)
virtual void addDictator()=0
Add the PorousFlowDictator object.
const std::string _dictator_name
The name of the PorousFlowDictator object to be added.
void addAdvectiveFluxCalculatorUnsaturatedHeat(unsigned phase, bool multiply_by_density, std::string userobject_name)
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.
void addVolumetricStrainMaterial(const std::vector< VariableName > &displacements, bool consistent_with_displaced_mesh)
Adds a quadpoint volumetric strain material.
const MooseEnum _flux_limiter_type
Flux limiter type in the Kuzmin-Turek FEM-TVD stabilization scheme.
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.
void addSaturationAux(unsigned phase)
Add an AuxVariable and AuxKernel to calculate saturation.
std::vector< std::string > _included_objects
List of Kernels, AuxKernels, Materials, etc, that are added in this input file.
Base class for PorousFlow actions.
void addEffectiveFluidPressureMaterial(bool at_nodes)
Adds a nodal and a quadpoint effective fluid pressure material.
virtual void addMaterialDependencies()
Add all material dependencies so that the correct version of each material can be added.