www.mooseframework.org
PorousFlowTemperature.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 POROUSFLOWTEMPERATURE_H
9 #define POROUSFLOWTEMPERATURE_H
10 
11 #include "DerivativeMaterialInterface.h"
12 #include "PorousFlowMaterial.h"
13 
15 
16 template <>
17 InputParameters validParams<PorousFlowTemperature>();
18 
22 class PorousFlowTemperature : public DerivativeMaterialInterface<PorousFlowMaterial>
23 {
24 public:
25  PorousFlowTemperature(const InputParameters & parameters);
26 
27 protected:
28  virtual void initQpStatefulProperties() override;
29  virtual void computeQpProperties() override;
30 
32  const unsigned int _num_pf_vars;
33 
35  const VariableValue & _temperature_var;
36 
38  const VariableGradient * const _grad_temperature_var;
39 
41  const bool _temperature_is_PF;
42 
44  const unsigned int _t_var_num;
45 
47  MaterialProperty<Real> & _temperature;
48 
50  MaterialProperty<std::vector<Real>> & _dtemperature_dvar;
51 
53  MaterialProperty<RealGradient> * const _grad_temperature;
54 
56  MaterialProperty<std::vector<Real>> * const _dgrad_temperature_dgradv;
57 
59  MaterialProperty<std::vector<RealGradient>> * const _dgrad_temperature_dv;
60 };
61 
62 #endif // POROUSFLOWTEMPERATURE_H
virtual void initQpStatefulProperties() override
MaterialProperty< RealGradient > *const _grad_temperature
Grad(temperature) at the quadpoints (not needed for nodal_materials)
PorousFlowTemperature(const InputParameters &parameters)
MaterialProperty< std::vector< Real > > *const _dgrad_temperature_dgradv
d(grad temperature)/d(grad PorousFlow variable) at the quadpoints
const bool _temperature_is_PF
Whether the temperature coupled variable is a PorousFlow variable.
const unsigned int _num_pf_vars
Number of PorousFlow variables.
MaterialProperty< std::vector< Real > > & _dtemperature_dvar
d(computed temperature)/d(PorousFlow variable)
MaterialProperty< Real > & _temperature
Computed temperature at quadpoints or nodes.
const VariableGradient *const _grad_temperature_var
Gradient(_temperature at quadpoints)
InputParameters validParams< PorousFlowTemperature >()
virtual void computeQpProperties() override
const VariableValue & _temperature_var
Variable value of temperature at quadpoints or nodes.
MaterialProperty< std::vector< RealGradient > > *const _dgrad_temperature_dv
d(grad temperature)/d(PorousFlow variable) at the quadpoints
Creates temperature Materials.
const unsigned int _t_var_num
the PorousFlow variable number of the temperature