www.mooseframework.org
PorousFlowMassFraction.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 
8 #ifndef POROUSFLOWMASSFRACTION_H
9 #define POROUSFLOWMASSFRACTION_H
10 
12 
13 // Forward Declarations
15 
16 template <>
17 InputParameters validParams<PorousFlowMassFraction>();
18 
24 {
25 public:
26  PorousFlowMassFraction(const InputParameters & parameters);
27 
28 protected:
30  MaterialProperty<std::vector<std::vector<Real>>> & _mass_frac;
31 
33  MaterialProperty<std::vector<std::vector<RealGradient>>> * const _grad_mass_frac;
34 
36  MaterialProperty<std::vector<std::vector<std::vector<Real>>>> & _dmass_frac_dvar;
37 
38  virtual void initQpStatefulProperties() override;
39  virtual void computeQpProperties() override;
40 
45  void build_mass_frac(unsigned int qp);
46 
53  const unsigned int _num_passed_mf_vars;
54 
56  std::vector<unsigned int> _mf_vars_num;
57 
59  std::vector<const VariableValue *> _mf_vars;
60 
62  std::vector<const VariableGradient *> _grad_mf_vars;
63 };
64 
65 #endif // POROUSFLOWMASSFRACTION_H
virtual void computeQpProperties() override
void build_mass_frac(unsigned int qp)
Builds the mass-fraction variable matrix at the quad point.
Material designed to form a std::vector<std::vector> of mass fractions from the individual mass fract...
MaterialProperty< std::vector< std::vector< RealGradient > > > *const _grad_mass_frac
Gradient of the mass fraction matrix at the quad points.
InputParameters validParams< PorousFlowMassFraction >()
MaterialProperty< std::vector< std::vector< std::vector< Real > > > > & _dmass_frac_dvar
Derivative of the mass fraction matrix with respect to the porous flow variables. ...
virtual void initQpStatefulProperties() override
std::vector< unsigned int > _mf_vars_num
the variable number of the mass-fraction variables
Base class for all PorousFlow vector materials.
std::vector< const VariableValue * > _mf_vars
the mass-fraction variables
PorousFlowMassFraction(const InputParameters &parameters)
std::vector< const VariableGradient * > _grad_mf_vars
the gradient of the mass-fraction variables
const unsigned int _num_passed_mf_vars
Number of mass-fraction variables provided by the user This needs to be num_phases*(_num_components -...
MaterialProperty< std::vector< std::vector< Real > > > & _mass_frac
Mass fraction matrix at quadpoint or nodes.