19 "fluid_component", 0,
"The index corresponding to the fluid component for this kernel");
21 "Fully-upwinded advective flux of the component given by fluid_component");
28 getMaterialProperty<
std::vector<
std::vector<
Real>>>(
"PorousFlow_mass_frac_nodal")),
29 _dmass_fractions_dvar(getMaterialProperty<
std::vector<
std::vector<
std::vector<
Real>>>>(
30 "dPorousFlow_mass_frac_nodal_dvar")),
31 _relative_permeability(
32 getMaterialProperty<
std::vector<
Real>>(
"PorousFlow_relative_permeability_nodal")),
33 _drelative_permeability_dvar(getMaterialProperty<
std::vector<
std::vector<
Real>>>(
34 "dPorousFlow_relative_permeability_nodal_dvar")),
35 _fluid_component(getParam<unsigned
int>(
"fluid_component"))
40 "The Dictator proclaims that the maximum fluid component index in this simulation is ",
42 " whereas you have used ",
44 ". Remember that indexing starts at 0. The Dictator does not take such mistakes lightly.");
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) ...
static InputParameters validParams()
const unsigned int _fluid_component
Index of the fluid component that this kernel acts on.
const MaterialProperty< std::vector< Real > > & _fluid_viscosity
Viscosity of each component in each phase.
unsigned int numComponents() const
The number of fluid components.
registerMooseObject("PorousFlowApp", PorousFlowAdvectiveFlux)
const MaterialProperty< std::vector< std::vector< Real > > > & _dfluid_viscosity_dvar
Derivative of the fluid viscosity for each phase wrt PorousFlow variables.
const MaterialProperty< std::vector< Real > > & _relative_permeability
Relative permeability of each phase.
static InputParameters validParams()
const PorousFlowDictator & _dictator
PorousFlowDictator UserObject.
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.
virtual Real dmobility(unsigned nodenum, unsigned phase, unsigned pvar) const override
The derivative of mobility with respect to PorousFlow variable pvar.
const MaterialProperty< std::vector< std::vector< Real > > > & _mass_fractions
Mass fraction of each component in each phase.
void paramError(const std::string ¶m, Args... args) const
PorousFlowAdvectiveFlux(const InputParameters ¶meters)
Convective flux of component k in fluid phase alpha.
const MaterialProperty< std::vector< std::vector< Real > > > & _drelative_permeability_dvar
Derivative of relative permeability of each phase wrt PorousFlow variables.
virtual Real mobility(unsigned nodenum, unsigned phase) const override
The mobility of the fluid.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
MooseUnits pow(const MooseUnits &, int)
void ErrorVector unsigned int
const MaterialProperty< std::vector< Real > > & _fluid_density_node
Fluid density for each phase (at the node)