www.mooseframework.org
PorousFlowFullySaturatedMassTimeDerivative.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 
12 #include "TimeKernel.h"
13 #include "PorousFlowDictator.h"
14 
21 {
22 public:
24 
26 
27 protected:
28  virtual Real computeQpResidual() override;
29  virtual Real computeQpJacobian() override;
30  virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
31 
33  Real computeQpJac(unsigned int pvar);
34 
37 
39  const bool _var_is_porflow_var;
40 
43 
45  const enum class CouplingTypeEnum {
46  Hydro,
51 
53  const bool _includes_thermal;
54 
57 
60 
63 
66 
69 
72 
75 
78 
81 
84 
87 
90 
93 
96 };
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
PorousFlowDictator UserObject.
const Real _biot_coefficient
Biot coefficient (used in simulations involving Mechanical deformations)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
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...
const InputParameters & parameters() const
PorousFlowFullySaturatedMassTimeDerivative(const InputParameters &parameters)
const MaterialProperty< std::vector< Real > > & _pp_old
Old value of quadpoint pore pressure in each phase.