https://mooseframework.inl.gov
PorousFlowMassFraction.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
13 
18 template <bool is_ad>
20 {
21 public:
23 
24  PorousFlowMassFractionTempl(const InputParameters & parameters);
25 
26 protected:
29 
32 
35 
36  virtual void initQpStatefulProperties() override;
37  virtual void computeQpProperties() override;
38 
43  void build_mass_frac(unsigned int qp);
44 
51  const unsigned int _num_passed_mf_vars;
52 
54  std::vector<unsigned int> _mf_vars_num;
55 
57  std::vector<const GenericVariableValue<is_ad> *> _mf_vars;
58 
60  std::vector<const GenericVariableGradient<is_ad> *> _grad_mf_vars;
61 };
62 
Material designed to form a std::vector<std::vector> of mass fractions from the individual mass fract...
MaterialProperty< std::vector< std::vector< std::vector< Real > > > > *const _dmass_frac_dvar
Derivative of the mass fraction matrix with respect to the porous flow 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 -...
void build_mass_frac(unsigned int qp)
Builds the mass-fraction variable matrix at the quad point.
std::vector< unsigned int > _mf_vars_num
The variable number of the mass-fraction variables.
virtual void computeQpProperties() override
Base class for all PorousFlow vector materials.
GenericMaterialProperty< std::vector< std::vector< RealGradient > >, is_ad > *const _grad_mass_frac
Gradient of the mass fraction matrix at the quad points.
GenericMaterialProperty< std::vector< std::vector< Real > >, is_ad > & _mass_frac
Mass fraction matrix at quadpoint or nodes.
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
std::vector< const GenericVariableGradient< is_ad > * > _grad_mf_vars
The gradient of the mass-fraction variables.
PorousFlowMassFractionTempl< true > ADPorousFlowMassFraction
PorousFlowMassFractionTempl< false > PorousFlowMassFraction
virtual void initQpStatefulProperties() override
PorousFlowMassFractionTempl(const InputParameters &parameters)
std::vector< const GenericVariableValue< is_ad > * > _mf_vars
The mass-fraction variables.
static InputParameters validParams()