www.mooseframework.org
RichardsSat.C
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 // saturation as a function of effective saturation, and its derivs wrt effective saturation
11 //
12 #include "RichardsSat.h"
13 
14 registerMooseObject("RichardsApp", RichardsSat);
15 
16 template <>
17 InputParameters
19 {
20  InputParameters params = validParams<GeneralUserObject>();
21  params.addRequiredRangeCheckedParam<Real>(
22  "s_res",
23  "s_res >= 0 & s_res < 1",
24  "Residual fluid saturation for the phase. 0 <= s_res < 1.");
25  params.addRequiredRangeCheckedParam<Real>(
26  "sum_s_res",
27  "sum_s_res < 1",
28  "Sum of s_res over all phases. s_res <= sum_s_res < 1. It is "
29  "up to you to ensure the sum is done correctly.");
30  params.addClassDescription("User object yielding saturation for a phase as a function of "
31  "effective saturation of that phase");
32  return params;
33 }
34 
35 RichardsSat::RichardsSat(const InputParameters & parameters)
36  : GeneralUserObject(parameters),
37  _s_res(getParam<Real>("s_res")),
38  _sum_s_res(getParam<Real>("sum_s_res"))
39 {
40  if (_sum_s_res < _s_res)
41  mooseError("sum_s_res set to ", _sum_s_res, " but it must obey s_res <= sum_s_res < 1");
42 }
43 
44 void
46 {
47 }
48 
49 void
51 {
52 }
53 
54 void
56 {
57 }
58 
59 Real
60 RichardsSat::sat(Real seff) const
61 {
62  return _s_res + seff * (1.0 - _sum_s_res);
63 }
64 
65 Real RichardsSat::dsat(Real /*seff*/) const { return 1.0 - _sum_s_res; }
RichardsSat::_sum_s_res
Real _sum_s_res
sum of the residual saturations for every phase
Definition: RichardsSat.h:47
RichardsSat::dsat
Real dsat(Real) const
derivative of saturation wrt effective saturation
Definition: RichardsSat.C:65
RichardsSat::execute
void execute()
Definition: RichardsSat.C:50
RichardsSat.h
RichardsSat
Saturation of a phase as a function of effective saturation of that phase, and its derivatives wrt ef...
Definition: RichardsSat.h:24
RichardsSat::_s_res
Real _s_res
residual saturation for this phase
Definition: RichardsSat.h:44
RichardsSat::initialize
void initialize()
Definition: RichardsSat.C:45
validParams< RichardsSat >
InputParameters validParams< RichardsSat >()
Definition: RichardsSat.C:18
registerMooseObject
registerMooseObject("RichardsApp", RichardsSat)
RichardsSat::sat
Real sat(Real seff) const
saturation as a function of effective saturation
Definition: RichardsSat.C:60
RichardsSat::finalize
void finalize()
Definition: RichardsSat.C:55
RichardsSat::RichardsSat
RichardsSat(const InputParameters &parameters)
Definition: RichardsSat.C:35