https://mooseframework.inl.gov
Loading...
Searching...
No Matches
PorousFlowPorosityExponentialBase.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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
13
32{
33public:
35
37
38protected:
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
82 const Real _porosity_min;
83
90 const Real _zero_modifier;
91};
Base class Material designed to provide the porosity.
Base class Material designed to provide the porosity.
virtual Real datZeroQp(unsigned pvar) const =0
d(a)/d(PorousFlow variable pvar)
virtual Real atZeroQp() const =0
Returns "b" at the quadpoint (porosity = a + (b - a) * exp(decay))
virtual Real ddecayQp_dvar(unsigned pvar) const =0
d(decay)/d(PorousFlow variable pvar)
const Real _zero_modifier
If the porosity_min floor is active the porosity derivatives are set to _zero_modifier times their un...
virtual Real decayQp() const =0
Returns "decay" at the quadpoint (porosity = a + (b - a) * exp(decay))
const bool _ensure_positive
for decayQp() > 0, porosity can be negative when using porosity = a + (b - a) * exp(decay).
const Real _porosity_min
Minimum allowed porosity.
virtual Real atNegInfinityQp() const =0
Returns "a" at the quadpoint (porosity = a + (b - a) * exp(decay))
virtual Real datNegInfinityQp(unsigned pvar) const =0
d(a)/d(PorousFlow variable pvar)
virtual RealGradient ddecayQp_dgradvar(unsigned pvar) const =0
d(decay)/d(grad(PorousFlow variable pvar))
const bool _strain_at_nearest_qp
When calculating nodal porosity, use the strain at the nearest quadpoint to the node.