www.mooseframework.org
PorousFlowPorosityExponentialBase.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 "PorousFlowPorosityBase.h"
13 
32 {
33 public:
35 
37 
38 protected:
39  virtual void initQpStatefulProperties() override;
40  virtual void computeQpProperties() override;
41 
43  virtual Real atNegInfinityQp() const = 0;
44 
46  virtual Real datNegInfinityQp(unsigned pvar) const = 0;
47 
49  virtual Real atZeroQp() const = 0;
50 
52  virtual Real datZeroQp(unsigned pvar) const = 0;
53 
55  virtual Real decayQp() const = 0;
56 
58  virtual Real ddecayQp_dvar(unsigned pvar) const = 0;
59 
61  virtual RealGradient ddecayQp_dgradvar(unsigned pvar) const = 0;
62 
65 
73  const bool _ensure_positive;
74 };
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.
virtual Real atZeroQp() const =0
Returns "b" at the quadpoint (porosity = a + (b - a) * exp(decay))
const bool _strain_at_nearest_qp
When calculating nodal porosity, use the strain at the nearest quadpoint to the node.
PorousFlowPorosityExponentialBase(const InputParameters &parameters)
virtual Real datZeroQp(unsigned pvar) const =0
d(a)/d(PorousFlow variable pvar)
Base class Material designed to provide the porosity.
virtual Real decayQp() const =0
Returns "decay" at the quadpoint (porosity = a + (b - a) * exp(decay))
virtual Real atNegInfinityQp() const =0
Returns "a" at the quadpoint (porosity = a + (b - a) * exp(decay))
virtual RealGradient ddecayQp_dgradvar(unsigned pvar) const =0
d(decay)/d(grad(PorousFlow variable pvar))
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real datNegInfinityQp(unsigned pvar) const =0
d(a)/d(PorousFlow variable pvar)
virtual Real ddecayQp_dvar(unsigned pvar) const =0
d(decay)/d(PorousFlow variable pvar)