https://mooseframework.inl.gov
PorousFlowFLACrelperm.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 
12 #include "MooseTypes.h"
13 
19 {
26 template <typename T>
27 T
28 relativePermeability(const T & seff, Real m)
29 {
30  if (MetaPhysicL::raw_value(seff) <= 0.0)
31  return 0.0;
32  else if (MetaPhysicL::raw_value(seff) >= 1.0)
33  return 1.0;
34 
35  using std::pow;
36  return (1.0 + m) * pow(seff, m) - m * pow(seff, m + 1.0);
37 }
38 
45 Real dRelativePermeability(Real seff, Real m);
46 
53 Real d2RelativePermeability(Real seff, Real m);
54 }
Real d2RelativePermeability(Real seff, Real m)
Second derivative of relative permeability with respect to effective saturation.
T relativePermeability(const T &seff, Real m)
Relative permeability as a function of effective saturation.
auto raw_value(const Eigen::Map< T > &in)
Real dRelativePermeability(Real seff, Real m)
Derivative of relative permeability with respect to effective saturation.
FLAC inspired relative permeability relationship.
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
MooseUnits pow(const MooseUnits &, int)