www.mooseframework.org
RichardsSeff1VGcut.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 // "cut" van-Genuchten effective saturation as a function of single pressure, and its derivs wrt to
12 // that pressure
13 //
14 
15 #include "RichardsSeff1VG.h"
16 
27 {
28 public:
30 
32 
34  void initialSetup();
35 
42  Real seff(std::vector<const VariableValue *> p, unsigned int qp) const;
43 
51  void
52  dseff(std::vector<const VariableValue *> p, unsigned int qp, std::vector<Real> & result) const;
53 
61  void d2seff(std::vector<const VariableValue *> p,
62  unsigned int qp,
63  std::vector<std::vector<Real>> & result) const;
64 
65 protected:
68 
71 
74 
77 
80 };
Real seff(std::vector< const VariableValue *> p, unsigned int qp) const
effective saturation as a function of porepressure
void dseff(std::vector< const VariableValue *> p, unsigned int qp, std::vector< Real > &result) const
derivative of effective saturation as a function of porepressure
void d2seff(std::vector< const VariableValue *> p, unsigned int qp, std::vector< std::vector< Real >> &result) const
second derivative of effective saturation as a function of porepressure
Real _s_cut
effective saturation at p=_p_cut
void initialSetup()
just prints some (maybe) useful info to the console
Effective saturation as a function of porepressure using the van Genuchten formula.
Real _al
van Genuchten alpha parameter
Real _m
van Genuchten m parameter
Effective saturation as a function of porepressure using the van Genuchten formula, but when p<p_cut use a linear instead, seff = a + b*p, which matches value and derivative at p=p_cut This is so seff=0 at a finite value of p rather than p=-infinity.
Real _ds_cut
derivative of effective saturation wrt p at p=_p_cut
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Real _p_cut
cutoff in pressure below which use a linear relationship instead of van-Genuchten expression...
static InputParameters validParams()
const InputParameters & parameters() const
RichardsSeff1VGcut(const InputParameters &parameters)