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 
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 datNegInfinityQp(unsigned pvar) const = 0;
50 
52  virtual Real atZeroQp() const = 0;
53 
55  virtual Real datZeroQp(unsigned pvar) const = 0;
56 
58  virtual Real decayQp() const = 0;
59 
61  virtual Real ddecayQp_dvar(unsigned pvar) const = 0;
62 
64  virtual RealGradient ddecayQp_dgradvar(unsigned pvar) const = 0;
65 
68 
76  const bool _ensure_positive;
77 };
78 
PorousFlowPorosityExponentialBase::PorousFlowPorosityExponentialBase
PorousFlowPorosityExponentialBase(const InputParameters &parameters)
Definition: PorousFlowPorosityExponentialBase.C:35
PorousFlowPorosityExponentialBase::atZeroQp
virtual Real atZeroQp() const =0
Returns "b" at the quadpoint (porosity = a + (b - a) * exp(decay))
PorousFlowPorosityExponentialBase::initQpStatefulProperties
virtual void initQpStatefulProperties() override
Definition: PorousFlowPorosityExponentialBase.C:44
validParams< PorousFlowPorosityExponentialBase >
InputParameters validParams< PorousFlowPorosityExponentialBase >()
Definition: PorousFlowPorosityExponentialBase.C:14
PorousFlowPorosityExponentialBase::datNegInfinityQp
virtual Real datNegInfinityQp(unsigned pvar) const =0
d(a)/d(PorousFlow variable pvar)
PorousFlowPorosityExponentialBase::computeQpProperties
virtual void computeQpProperties() override
Definition: PorousFlowPorosityExponentialBase.C:62
libMesh::RealGradient
VectorValue< Real > RealGradient
Definition: GrainForceAndTorqueInterface.h:17
PorousFlowPorosityExponentialBase::atNegInfinityQp
virtual Real atNegInfinityQp() const =0
Returns "a" at the quadpoint (porosity = a + (b - a) * exp(decay))
PorousFlowPorosityExponentialBase::datZeroQp
virtual Real datZeroQp(unsigned pvar) const =0
d(a)/d(PorousFlow variable pvar)
PorousFlowPorosityBase.h
PorousFlowPorosityBase
Base class Material designed to provide the porosity.
Definition: PorousFlowPorosityBase.h:22
PorousFlowPorosityExponentialBase
Base class Material designed to provide the porosity.
Definition: PorousFlowPorosityExponentialBase.h:36
PorousFlowPorosityExponentialBase::_ensure_positive
const bool _ensure_positive
for decayQp() > 0, porosity can be negative when using porosity = a + (b - a) * exp(decay).
Definition: PorousFlowPorosityExponentialBase.h:76
PorousFlowPorosityExponentialBase::decayQp
virtual Real decayQp() const =0
Returns "decay" at the quadpoint (porosity = a + (b - a) * exp(decay))
PorousFlowPorosityExponentialBase::_strain_at_nearest_qp
const bool _strain_at_nearest_qp
When calculating nodal porosity, use the strain at the nearest quadpoint to the node.
Definition: PorousFlowPorosityExponentialBase.h:67
PorousFlowPorosityExponentialBase::ddecayQp_dgradvar
virtual RealGradient ddecayQp_dgradvar(unsigned pvar) const =0
d(decay)/d(grad(PorousFlow variable pvar))
PorousFlowPorosityExponentialBase::ddecayQp_dvar
virtual Real ddecayQp_dvar(unsigned pvar) const =0
d(decay)/d(PorousFlow variable pvar)