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  return (1.0 + m) * std::pow(seff, m) - m * std::pow(seff, m + 1.0);
35 }
36 
43 Real dRelativePermeability(Real seff, Real m);
44 
51 Real d2RelativePermeability(Real seff, Real m);
52 }
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.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
MooseUnits pow(const MooseUnits &, int)