16#include "libmesh/vector_value.h"
37 virtual void act()
override;
178 const std::string & base_name);
194 bool compute_density_and_viscosity,
195 bool compute_internal_energy,
196 bool compute_enthalpy,
197 const UserObjectName &
fp,
215 bool compute_density_and_viscosity,
216 bool compute_internal_energy,
217 bool compute_enthalpy,
262 bool multiply_by_density,
263 std::string userobject_name);
266 bool multiply_by_density,
267 std::string userobject_name);
270 bool multiply_by_density,
271 std::string userobject_name);
274 bool multiply_by_density,
275 std::string userobject_name);
278 unsigned fluid_component,
279 bool multiply_by_density,
280 std::string userobject_name);
283 unsigned fluid_component,
284 bool multiply_by_density,
285 std::string userobject_name);
virtual void addRelationshipManagers(Moose::RelationshipManagerType when_type)
Base class for PorousFlow actions.
enum PorousFlowActionBase::StabilizationEnum _stabilization
void addAdvectiveFluxCalculatorSaturatedHeat(unsigned phase, bool multiply_by_density, std::string userobject_name)
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 addRelativePermeabilityFLAC(bool at_nodes, unsigned phase, Real m, Real s_res, Real sum_s_res)
Adds a relative-permeability Material of the FLAC variety.
virtual void addKernels()
Add all Kernels.
Moose::CoordinateSystemType _coord_system
Coordinate system of the simulation (eg RZ, XYZ, etc)
void addSingleComponentFluidMaterial(bool at_nodes, unsigned phase, bool compute_density_and_viscosity, bool compute_internal_energy, bool compute_enthalpy, const UserObjectName &fp, const MooseEnum &temperature_unit, const MooseEnum &pressure_unit, const MooseEnum &time_unit)
Adds a single-component fluid Material.
void addSaturationAux(unsigned phase)
Add an AuxVariable and AuxKernel to calculate saturation.
virtual void addDictator()=0
Add the PorousFlowDictator object.
void addAdvectiveFluxCalculatorSaturated(unsigned phase, bool multiply_by_density, std::string userobject_name)
void addRelativePermeabilityConst(bool at_nodes, unsigned phase, Real kr)
Adds a relative-permeability Material of the constant variety (primarily to add kr = 1 in actions tha...
const std::vector< VariableName > & _displacements
Displacement NonlinearVariable names (if any)
const unsigned _ndisp
Number of displacement variables supplied.
virtual void addRelationshipManagers(Moose::RelationshipManagerType when_type) override
void addTemperatureMaterial(bool at_nodes)
Adds a nodal and a quadpoint Temperature material.
std::vector< SubdomainName > _subdomain_names
if this vector is not empty the variables, kernels and materials are restricted to these subdomains
void addAdvectiveFluxCalculatorSaturatedMultiComponent(unsigned phase, unsigned fluid_component, bool multiply_by_density, std::string userobject_name)
static InputParameters validParams()
const bool _subdomain_names_set
indicates, if the vector of subdomain names is set (dont set block restrictions, if not)
const std::vector< VariableName > _mass_fraction_vars
Name of the mass-fraction variables (if any)
const MooseEnum _flux_limiter_type
Flux limiter type in the Kuzmin-Turek FEM-TVD stabilization scheme.
const unsigned int _num_aqueous_equilibrium
Number of aqueous-equilibrium secondary species.
const std::vector< VariableName > _temperature_var
Name of the temperature variable (if any)
void addAdvectiveFluxCalculatorUnsaturated(unsigned phase, bool multiply_by_density, std::string userobject_name)
bool _transient
Flag to denote if the simulation is transient.
const unsigned _num_mass_fraction_vars
Number of mass-fraction variables.
const std::string _dictator_name
The name of the PorousFlowDictator object to be added.
void addAdvectiveFluxCalculatorUnsaturatedMultiComponent(unsigned phase, unsigned fluid_component, bool multiply_by_density, std::string userobject_name)
void addMassFractionMaterial(bool at_nodes)
Adds a nodal and a quadpoint MassFraction material.
std::vector< VariableName > _coupled_displacements
Displacement Variable names.
const bool _strain_at_nearest_qp
Evaluate strain at the nearest quadpoint for porosity that depends on strain.
const unsigned int _num_aqueous_kinetic
Number of aqeuous-kinetic secondary species that are involved in mineralisation.
void addVolumetricStrainMaterial(const std::vector< VariableName > &displacements, const std::string &base_name)
Adds a quadpoint volumetric strain material.
void addEffectiveFluidPressureMaterial(bool at_nodes)
Adds a nodal and a quadpoint effective fluid pressure material.
void addStressAux()
Add AuxVariables and AuxKernels to compute effective stress.
void addDarcyAux(const RealVectorValue &gravity)
Add AuxVariables and AuxKernels to calculate Darcy velocity.
const RealVectorValue _gravity
Gravity.
virtual void addUserObjects()
Add all other UserObjects.
virtual void addMaterials()
Add all Materials.
virtual void addMaterialDependencies()
Add all material dependencies so that the correct version of each material can be added.
void addNearestQpMaterial()
Adds a PorousFlowNearestQp material.
std::vector< std::string > _included_objects
List of Kernels, AuxKernels, Materials, etc, that are added in this input file.
virtual void act() override
void addCapillaryPressureVG(Real m, Real alpha, std::string userobject_name, Real sat_lr=0.0)
Adds a van Genuchten capillary pressure UserObject.
virtual void addAuxObjects()
Add all AuxVariables and AuxKernels.
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, const MooseEnum &temperature_unit)
Adds a brine fluid Material.
Holds the PorousFlow dependencies of kernels, auxkernels, materials, etc.