19 "fluid_component", 0,
"The index corresponding to the fluid component for this kernel");
20 params.
addParam<
bool>(
"multiply_by_density",
22 "If true, then this Kernel is the fluid mass " 23 "flux. If false, then this Kernel is the " 24 "fluid volume flux (which is common in " 27 "fluid_component, in a single-phase fluid");
35 getMaterialProperty<
std::vector<
std::vector<
Real>>>(
"PorousFlow_mass_frac_nodal")),
36 _dmass_fractions_dvar(getMaterialProperty<
std::vector<
std::vector<
std::vector<
Real>>>>(
37 "dPorousFlow_mass_frac_nodal_dvar")),
38 _fluid_component(getParam<unsigned
int>(
"fluid_component")),
39 _multiply_by_density(getParam<bool>(
"multiply_by_density"))
43 "PorousFlowFullySaturatedAdvectiveFlux should not be used for multi-phase scenarios as " 44 "it does not include relative-permeability effects");
const MaterialProperty< std::vector< std::vector< Real > > > & _dfluid_density_node_dvar
Derivative of the fluid density for each phase wrt PorousFlow variables (at the node) ...
const bool _multiply_by_density
Whether the flux is multiplied by density (so it will be a mass flux) or not (it will be a volume flu...
const MaterialProperty< std::vector< Real > > & _fluid_viscosity
Viscosity of each component in each phase.
PetscErrorCode PetscOptionItems *PetscErrorCode DM dm
static InputParameters validParams()
const unsigned int _fluid_component
Index of the fluid component that this kernel acts on.
const MaterialProperty< std::vector< std::vector< Real > > > & _dfluid_viscosity_dvar
Derivative of the fluid viscosity for each phase wrt PorousFlow variables.
static InputParameters validParams()
const PorousFlowDictator & _dictator
PorousFlowDictator UserObject.
unsigned int numPhases() const
The number of fluid phases.
const MaterialProperty< std::vector< std::vector< Real > > > & _mass_fractions
Mass fraction of each component in each phase.
registerMooseObject("PorousFlowApp", PorousFlowFullySaturatedAdvectiveFlux)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void mooseError(Args &&... args) const
virtual Real mobility(unsigned nodenum, unsigned phase) const override
The mobility of the fluid.
Convective flux of component k in a single-phase fluid A fully-updwinded version is implemented...
void ErrorVector unsigned int
const MaterialProperty< std::vector< Real > > & _fluid_density_node
Fluid density for each phase (at the node)
const MaterialProperty< std::vector< std::vector< std::vector< Real > > > > & _dmass_fractions_dvar
Derivative of the mass fraction of each component in each phase wrt PorousFlow variables.
PorousFlowFullySaturatedAdvectiveFlux(const InputParameters ¶meters)
virtual Real dmobility(unsigned nodenum, unsigned phase, unsigned pvar) const override
The derivative of mobility with respect to PorousFlow variable pvar.