www.mooseframework.org
PorousFlowFullySaturatedMassTimeDerivative.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 POROUSFLOWFULLYSATURATEDMASSTIMEDERIVATIVE_H
9 #define POROUSFLOWFULLYSATURATEDMASSTIMEDERIVATIVE_H
10 
11 #include "TimeKernel.h"
12 #include "PorousFlowDictator.h"
13 
15 
16 template <>
18 
25 {
26 public:
27  PorousFlowFullySaturatedMassTimeDerivative(const InputParameters & parameters);
28 
29 protected:
30  virtual Real computeQpResidual() override;
31  virtual Real computeQpJacobian() override;
32  virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
33 
35  Real computeQpJac(unsigned int pvar);
36 
39 
41  const bool _var_is_porflow_var;
42 
45 
47  const enum class CouplingTypeEnum {
48  Hydro,
53 
55  const bool _includes_thermal;
56 
59 
61  const Real _biot_coefficient;
62 
64  const MaterialProperty<Real> & _biot_modulus;
65 
67  const MaterialProperty<Real> * const _thermal_coeff;
68 
70  const MaterialProperty<std::vector<Real>> * const _fluid_density;
71 
73  const MaterialProperty<std::vector<std::vector<Real>>> * const _dfluid_density_dvar;
74 
76  const MaterialProperty<std::vector<Real>> & _pp;
77 
79  const MaterialProperty<std::vector<Real>> & _pp_old;
80 
82  const MaterialProperty<std::vector<std::vector<Real>>> & _dpp_dvar;
83 
85  const MaterialProperty<Real> * const _temperature;
86 
88  const MaterialProperty<Real> * const _temperature_old;
89 
91  const MaterialProperty<std::vector<Real>> * const _dtemperature_dvar;
92 
94  const MaterialProperty<Real> * const _strain_rate;
95 
97  const MaterialProperty<std::vector<RealGradient>> * const _dstrain_rate_dvar;
98 };
99 
100 #endif // POROUSFLOWFULLYSATURATEDMASSTIMEDERIVATIVE_H
const bool _var_is_porflow_var
Whether the Variable for this Kernel is a PorousFlow variable.
const MaterialProperty< std::vector< Real > > & _pp
Quadpoint pore pressure in each phase.
const MaterialProperty< std::vector< Real > > *const _fluid_density
Quadpoint fluid density for each phase.
const MaterialProperty< Real > & _biot_modulus
Constant Biot modulus.
const bool _includes_thermal
Whether thermal contributions should be added to the residual.
const MaterialProperty< Real > *const _temperature_old
Old value of quadpoint temperature.
enum PorousFlowFullySaturatedMassTimeDerivative::CouplingTypeEnum _coupling_type
const bool _includes_mechanical
Whether mechanical contributions should be added to the residual.
const MaterialProperty< Real > *const _strain_rate
Strain rate.
const MaterialProperty< Real > *const _thermal_coeff
Constant volumetric thermal expansion coefficient.
const MaterialProperty< std::vector< std::vector< Real > > > *const _dfluid_density_dvar
derivative of fluid density for each phase with respect to the PorousFlow variables ...
Time derivative of fluid mass suitable for fully-saturated, single-phase, single-component simulation...
Real computeQpJac(unsigned int pvar)
Jacobian contribution for the PorousFlow variable pvar.
const MaterialProperty< std::vector< std::vector< Real > > > & _dpp_dvar
Derivative of porepressure in each phase wrt the PorousFlow variables.
const MaterialProperty< std::vector< RealGradient > > *const _dstrain_rate_dvar
Derivative of strain rate wrt the PorousFlow variables.
const MaterialProperty< std::vector< Real > > *const _dtemperature_dvar
Derivative of temperature wrt the PorousFlow variables.
const PorousFlowDictator & _dictator
PorousFlow UserObject.
const Real _biot_coefficient
Biot coefficient (used in simulations involving Mechanical deformations)
This holds maps between the nonlinear variables used in a PorousFlow simulation and the variable numb...
const bool _multiply_by_density
If true then the Kernel is the time derivative of the fluid mass, otherwise it is the derivative of t...
const MaterialProperty< Real > *const _temperature
Quadpoint temperature.
CouplingTypeEnum
Determines whether mechanical and/or thermal contributions should be added to the residual...
PorousFlowFullySaturatedMassTimeDerivative(const InputParameters &parameters)
const MaterialProperty< std::vector< Real > > & _pp_old
Old value of quadpoint pore pressure in each phase.
InputParameters validParams< PorousFlowFullySaturatedMassTimeDerivative >()