https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
18template <bool is_ad>
20{
21public:
23
25
26protected:
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
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
PorousFlowMassFractionTempl< false > PorousFlowMassFraction
PorousFlowMassFractionTempl< true > ADPorousFlowMassFraction
Material designed to form a std::vector<std::vector> of mass fractions from the individual mass fract...
GenericMaterialProperty< std::vector< std::vector< Real > >, is_ad > & _mass_frac
Mass fraction matrix at quadpoint or nodes.
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< const GenericVariableValue< is_ad > * > _mf_vars
The mass-fraction variables.
GenericMaterialProperty< std::vector< std::vector< RealGradient > >, is_ad > *const _grad_mass_frac
Gradient of the mass fraction matrix at the quad points.
virtual void initQpStatefulProperties() override
static InputParameters validParams()
virtual void computeQpProperties() override
std::vector< unsigned int > _mf_vars_num
The variable number of the mass-fraction variables.
std::vector< const GenericVariableGradient< is_ad > * > _grad_mf_vars
The gradient of the mass-fraction variables.
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.
Base class for all PorousFlow vector materials.