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 
17 class RichardsSeff1VGcut;
18 
19 template <>
20 InputParameters validParams<RichardsSeff1VGcut>();
21 
32 {
33 public:
34  RichardsSeff1VGcut(const InputParameters & parameters);
35 
37  void initialSetup();
38 
45  Real seff(std::vector<const VariableValue *> p, unsigned int qp) const;
46 
54  void
55  dseff(std::vector<const VariableValue *> p, unsigned int qp, std::vector<Real> & result) const;
56 
64  void d2seff(std::vector<const VariableValue *> p,
65  unsigned int qp,
66  std::vector<std::vector<Real>> & result) const;
67 
68 protected:
70  Real _al;
71 
73  Real _m;
74 
76  Real _p_cut;
77 
79  Real _s_cut;
80 
82  Real _ds_cut;
83 };
84 
RichardsSeff1VGcut::d2seff
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
Definition: RichardsSeff1VGcut.C:81
RichardsSeff1VG.h
RichardsSeff1VGcut::_p_cut
Real _p_cut
cutoff in pressure below which use a linear relationship instead of van-Genuchten expression....
Definition: RichardsSeff1VGcut.h:76
validParams< RichardsSeff1VGcut >
InputParameters validParams< RichardsSeff1VGcut >()
Definition: RichardsSeff1VGcut.C:18
RichardsSeff1VGcut::RichardsSeff1VGcut
RichardsSeff1VGcut(const InputParameters &parameters)
Definition: RichardsSeff1VGcut.C:34
RichardsSeff1VG
Effective saturation as a function of porepressure using the van Genuchten formula.
Definition: RichardsSeff1VG.h:26
RichardsSeff1VGcut::_ds_cut
Real _ds_cut
derivative of effective saturation wrt p at p=_p_cut
Definition: RichardsSeff1VGcut.h:82
RichardsSeff1VGcut::dseff
void dseff(std::vector< const VariableValue * > p, unsigned int qp, std::vector< Real > &result) const
derivative of effective saturation as a function of porepressure
Definition: RichardsSeff1VGcut.C:70
RichardsSeff1VGcut::_s_cut
Real _s_cut
effective saturation at p=_p_cut
Definition: RichardsSeff1VGcut.h:79
RichardsSeff1VGcut::_al
Real _al
van Genuchten alpha parameter
Definition: RichardsSeff1VGcut.h:70
RichardsSeff1VGcut::_m
Real _m
van Genuchten m parameter
Definition: RichardsSeff1VGcut.h:73
RichardsSeff1VGcut::seff
Real seff(std::vector< const VariableValue * > p, unsigned int qp) const
effective saturation as a function of porepressure
Definition: RichardsSeff1VGcut.C:54
RichardsSeff1VGcut::initialSetup
void initialSetup()
just prints some (maybe) useful info to the console
Definition: RichardsSeff1VGcut.C:47
RichardsSeff1VGcut
Effective saturation as a function of porepressure using the van Genuchten formula,...
Definition: RichardsSeff1VGcut.h:31