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