https://mooseframework.inl.gov
PorousFlowHystereticInfo.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 
19 {
20 public:
22 
23  PorousFlowHystereticInfo(const InputParameters & parameters);
24 
25 protected:
26  virtual void initQpStatefulProperties() override;
27  virtual void computeQpProperties() override;
28 
30  void computeQpInfo();
31 
34 
37 
40 
43 
45  const Real _fd_eps;
46 
48  const enum class InfoTypeEnum {
49  PC,
50  SAT,
52  DS_DPC_ERR,
53  DPC_DS_ERR,
56  } _info_enum;
57 
58 private:
66  Real relativeError(Real finite_difference, Real hand_coded);
67 };
const Real _fd_eps
small parameter to use in the finite-difference approximations to the derivative
InfoTypeEnum
Type of info required.
virtual void computeQpProperties() override
const VariableValue & _sat_val
Nodal or quadpoint value of liquid saturation.
MaterialProperty< Real > & _pc
Computed nodal or quadpoint value of capillary pressure (needed for hysteretic order computation) ...
void computeQpInfo()
Fill _info with the required information.
MaterialProperty< Real > & _info
Computed nodal or quadpoint value: the meaning of this depends on info_enum.
static InputParameters validParams()
PorousFlowHystereticInfo(const InputParameters &parameters)
virtual void initQpStatefulProperties() override
Real relativeError(Real finite_difference, Real hand_coded)
Computes the relative error between a finite-difference approximation to the derivative and a hand-co...
Base material designed to calculate and store quantities relevant for hysteretic capillary pressure c...
OutputTools< Real >::VariableValue VariableValue
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Material designed to calculate the capillary pressure as a function of saturation, or the saturation as a function of capillary pressure, or derivative information, etc.
enum PorousFlowHystereticInfo::InfoTypeEnum _info_enum
const VariableValue & _pc_val
Nodal or quadpoint value of capillary pressure.