https://mooseframework.inl.gov
Loading...
Searching...
No Matches
PorousFlowJoiner.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
31template <bool is_ad>
33{
34public:
36
37 PorousFlowJoinerTempl(const InputParameters & parameters);
38
39protected:
40 virtual void initQpStatefulProperties() override;
41 virtual void computeQpProperties() override;
42
44 const std::string _pf_prop;
45
48
51
54
57
60
63
66
68 std::vector<const GenericMaterialProperty<Real, is_ad> *> _phase_property;
69
71 std::vector<const MaterialProperty<Real> *> _dphase_property_dp;
72
74 std::vector<const MaterialProperty<Real> *> _dphase_property_ds;
75
77 std::vector<const MaterialProperty<Real> *> _dphase_property_dt;
78
80 std::vector<const MaterialProperty<Real> *> _dphase_property_dX;
81};
82
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
PorousFlowJoinerTempl< true > ADPorousFlowJoiner
PorousFlowJoinerTempl< false > PorousFlowJoiner
Material designed to form a std::vector of property and derivatives of these wrt the nonlinear variab...
GenericMaterialProperty< std::vector< Real >, is_ad > & _property
Computed property of the phase.
std::vector< const MaterialProperty< Real > * > _dphase_property_dt
d(property of each phase)/d(temperature)
std::vector< const MaterialProperty< Real > * > _dphase_property_dX
d(property of each phase)/d(mass fraction)
virtual void computeQpProperties() override
std::vector< const MaterialProperty< Real > * > _dphase_property_ds
d(property of each phase)/d(saturation)
const std::string _pf_prop
Name of material property to be joined.
const bool _has_mass_fraction
Flag to check whether mass fractions are used.
const MaterialProperty< std::vector< std::vector< Real > > > *const _dsaturation_dvar
Derivatives of saturation variable wrt PorousFlow variables at the qps or nodes.
const MaterialProperty< std::vector< Real > > *const _dtemperature_dvar
Derivatives of temperature variable wrt PorousFlow variables at the qps or nodes.
std::vector< const MaterialProperty< Real > * > _dphase_property_dp
d(property of each phase)/d(pressure)
static InputParameters validParams()
MaterialProperty< std::vector< std::vector< Real > > > *const _dproperty_dvar
d(property)/d(PorousFlow variable)
std::vector< const GenericMaterialProperty< Real, is_ad > * > _phase_property
Property of each phase.
const MaterialProperty< std::vector< std::vector< Real > > > *const _dporepressure_dvar
Derivatives of porepressure variable wrt PorousFlow variables at the qps or nodes.
const MaterialProperty< std::vector< std::vector< std::vector< Real > > > > *const _dmass_fraction_dvar
Derivatives of mass fraction variable wrt PorousFlow variables at the qps or nodes.
virtual void initQpStatefulProperties() override
Base class for all PorousFlow vector materials.