www.mooseframework.org
PorousFlowFullySaturatedDarcyBase.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 "Kernel.h"
13 #include "PorousFlowDictator.h"
14 
16 
17 template <>
19 
25 class PorousFlowFullySaturatedDarcyBase : public Kernel
26 {
27 public:
28  PorousFlowFullySaturatedDarcyBase(const InputParameters & parameters);
29 
30 protected:
31  virtual Real computeQpResidual() override;
32  virtual Real computeQpJacobian() override;
33  virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
34 
38  virtual Real mobility() const;
39 
44  virtual Real dmobility(unsigned pvar) const;
45 
48 
50  const MaterialProperty<RealTensorValue> & _permeability;
51 
53  const MaterialProperty<std::vector<RealTensorValue>> & _dpermeability_dvar;
54 
56  const MaterialProperty<std::vector<std::vector<RealTensorValue>>> & _dpermeability_dgradvar;
57 
59  const MaterialProperty<std::vector<Real>> & _density;
60 
62  const MaterialProperty<std::vector<std::vector<Real>>> & _ddensity_dvar;
63 
65  const MaterialProperty<std::vector<Real>> & _viscosity;
66 
68  const MaterialProperty<std::vector<std::vector<Real>>> & _dviscosity_dvar;
69 
71  const MaterialProperty<std::vector<Real>> & _pp;
72 
74  const MaterialProperty<std::vector<RealGradient>> & _grad_p;
75 
77  const MaterialProperty<std::vector<std::vector<Real>>> & _dgrad_p_dgrad_var;
78 
80  const MaterialProperty<std::vector<std::vector<RealGradient>>> & _dgrad_p_dvar;
81 
84 
86  const RealVectorValue _gravity;
87 
89  const bool _perm_derivs;
90 };
PorousFlowFullySaturatedDarcyBase::_dgrad_p_dgrad_var
const MaterialProperty< std::vector< std::vector< Real > > > & _dgrad_p_dgrad_var
Derivative of Grad porepressure in each phase wrt grad(PorousFlow variables)
Definition: PorousFlowFullySaturatedDarcyBase.h:77
PorousFlowDictator.h
PorousFlowFullySaturatedDarcyBase::_multiply_by_density
const bool _multiply_by_density
If true then the mobility contains the fluid density, otherwise it doesn't.
Definition: PorousFlowFullySaturatedDarcyBase.h:47
PorousFlowFullySaturatedDarcyBase::_dpermeability_dvar
const MaterialProperty< std::vector< RealTensorValue > > & _dpermeability_dvar
d(permeabiity)/d(PorousFlow variable)
Definition: PorousFlowFullySaturatedDarcyBase.h:53
PorousFlowFullySaturatedDarcyBase::mobility
virtual Real mobility() const
The mobility of the fluid = density / viscosity.
Definition: PorousFlowFullySaturatedDarcyBase.C:115
PorousFlowFullySaturatedDarcyBase::_pp
const MaterialProperty< std::vector< Real > > & _pp
Quadpoint pore pressure in each phase.
Definition: PorousFlowFullySaturatedDarcyBase.h:71
PorousFlowFullySaturatedDarcyBase::_perm_derivs
const bool _perm_derivs
Flag to check whether permeabiity derivatives are non-zero.
Definition: PorousFlowFullySaturatedDarcyBase.h:89
PorousFlowFullySaturatedDarcyBase::_viscosity
const MaterialProperty< std::vector< Real > > & _viscosity
Viscosity of the fluid at the qp.
Definition: PorousFlowFullySaturatedDarcyBase.h:65
PorousFlowFullySaturatedDarcyBase::computeQpResidual
virtual Real computeQpResidual() override
Definition: PorousFlowFullySaturatedDarcyBase.C:67
PorousFlowFullySaturatedDarcyBase::computeQpJacobian
virtual Real computeQpJacobian() override
Definition: PorousFlowFullySaturatedDarcyBase.C:77
PorousFlowFullySaturatedDarcyBase::_ddensity_dvar
const MaterialProperty< std::vector< std::vector< Real > > > & _ddensity_dvar
Derivative of the fluid density for each phase wrt PorousFlow variables (at the qp)
Definition: PorousFlowFullySaturatedDarcyBase.h:62
PorousFlowDictator
This holds maps between the nonlinear variables used in a PorousFlow simulation and the variable numb...
Definition: PorousFlowDictator.h:71
PorousFlowFullySaturatedDarcyBase::_dictator
const PorousFlowDictator & _dictator
PorousFlowDictator UserObject.
Definition: PorousFlowFullySaturatedDarcyBase.h:83
PorousFlowFullySaturatedDarcyBase::_dgrad_p_dvar
const MaterialProperty< std::vector< std::vector< RealGradient > > > & _dgrad_p_dvar
Derivative of Grad porepressure in each phase wrt PorousFlow variables.
Definition: PorousFlowFullySaturatedDarcyBase.h:80
PorousFlowFullySaturatedDarcyBase::_grad_p
const MaterialProperty< std::vector< RealGradient > > & _grad_p
Gradient of the pore pressure in each phase.
Definition: PorousFlowFullySaturatedDarcyBase.h:74
PorousFlowFullySaturatedDarcyBase::_dpermeability_dgradvar
const MaterialProperty< std::vector< std::vector< RealTensorValue > > > & _dpermeability_dgradvar
d(permeabiity)/d(grad(PorousFlow variable))
Definition: PorousFlowFullySaturatedDarcyBase.h:56
PorousFlowFullySaturatedDarcyBase
Darcy advective flux for a fully-saturated, single phase, single component fluid.
Definition: PorousFlowFullySaturatedDarcyBase.h:25
validParams< PorousFlowFullySaturatedDarcyBase >
InputParameters validParams< PorousFlowFullySaturatedDarcyBase >()
Definition: PorousFlowFullySaturatedDarcyBase.C:18
PorousFlowFullySaturatedDarcyBase::PorousFlowFullySaturatedDarcyBase
PorousFlowFullySaturatedDarcyBase(const InputParameters &parameters)
Definition: PorousFlowFullySaturatedDarcyBase.C:36
PorousFlowFullySaturatedDarcyBase::_density
const MaterialProperty< std::vector< Real > > & _density
Fluid density for each phase (at the qp)
Definition: PorousFlowFullySaturatedDarcyBase.h:59
PorousFlowFullySaturatedDarcyBase::_gravity
const RealVectorValue _gravity
Gravity pointing downwards.
Definition: PorousFlowFullySaturatedDarcyBase.h:86
PorousFlowFullySaturatedDarcyBase::_permeability
const MaterialProperty< RealTensorValue > & _permeability
Permeability of porous material.
Definition: PorousFlowFullySaturatedDarcyBase.h:50
PorousFlowFullySaturatedDarcyBase::_dviscosity_dvar
const MaterialProperty< std::vector< std::vector< Real > > > & _dviscosity_dvar
Derivative of the fluid viscosity wrt PorousFlow variables.
Definition: PorousFlowFullySaturatedDarcyBase.h:68
PorousFlowFullySaturatedDarcyBase::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
Definition: PorousFlowFullySaturatedDarcyBase.C:83
PorousFlowFullySaturatedDarcyBase::dmobility
virtual Real dmobility(unsigned pvar) const
The derivative of the mobility with respect to the PorousFlow variable pvar.
Definition: PorousFlowFullySaturatedDarcyBase.C:125