www.mooseframework.org
PorousFlowPorosityExponentialBase.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 POROUSFLOWPOROSITYEXPONENTIALBASE_H
9 #define POROUSFLOWPOROSITYEXPONENTIALBASE_H
10 
11 #include "PorousFlowPorosityBase.h"
12 
13 // Forward Declarations
15 
16 template <>
18 
37 {
38 public:
39  PorousFlowPorosityExponentialBase(const InputParameters & parameters);
40 
41 protected:
42  virtual void initQpStatefulProperties() override;
43  virtual void computeQpProperties() override;
44 
46  virtual Real atNegInfinityQp() const = 0;
47 
49  virtual Real atZeroQp() const = 0;
50 
52  virtual Real decayQp() const = 0;
53 
55  virtual Real ddecayQp_dvar(unsigned pvar) const = 0;
56 
58  virtual RealGradient ddecayQp_dgradvar(unsigned pvar) const = 0;
59 
62 
70  const bool _ensure_positive;
71 };
72 
73 #endif // POROUSFLOWPOROSITYEXPONENTIALBASE_H
const bool _ensure_positive
for decayQp() > 0, porosity can be negative when using porosity = a + (b - a) * exp(decay).
Base class Material designed to provide the porosity.
const bool _strain_at_nearest_qp
When calculating nodal porosity, use the strain at the nearest quadpoint to the node.
virtual Real atNegInfinityQp() const =0
Returns "a" at the quadpoint (porosity = a + (b - a) * exp(decay))
InputParameters validParams< PorousFlowPorosityExponentialBase >()
virtual Real decayQp() const =0
Returns "decay" at the quadpoint (porosity = a + (b - a) * exp(decay))
PorousFlowPorosityExponentialBase(const InputParameters &parameters)
Base class Material designed to provide the porosity.
virtual Real ddecayQp_dvar(unsigned pvar) const =0
d(decay)/d(porous-flow variable pvar)
virtual RealGradient ddecayQp_dgradvar(unsigned pvar) const =0
d(decay)/d(grad(porous-flow variable pvar))
virtual Real atZeroQp() const =0
Returns "b" at the quadpoint (porosity = a + (b - a) * exp(decay))