www.mooseframework.org
Classes | Functions
RichardsPPenalty.h File Reference

Go to the source code of this file.

Classes

class  RichardsPPenalty
 Kernel = a*(lower - variable) for variable<lower, and zero otherwise This is an attempt to enforce variable>=lower. More...
 

Functions

template<>
InputParameters validParams< RichardsPPenalty > ()
 

Function Documentation

template<>
InputParameters validParams< RichardsPPenalty > ( )

Definition at line 14 of file RichardsPPenalty.C.

15 {
16  InputParameters params = validParams<Kernel>();
17  params.addParam<Real>(
18  "a",
19  1.0E-10,
20  "Weight of the penalty. Penalty = a*(lower - variable) for variable<lower, "
21  "and zero otherwise. Care should be taken with this parameter choice. "
22  "Determine the typical size of your residual (usually rho*perm*(gradP - "
23  "rho*g)/visc), then typically you want the penalty to ensure p>lower*(1-1E-6), "
24  "so for the PPP formulation you typically Penalty = a*1E-6*|p|. I recommend "
25  "that Penalty = 1E-3*residual, yielding a = 1E3*residual/|P|. ");
26  params.addRequiredCoupledVar(
27  "lower_var", "Your variable will be constrained to be greater than this lower_var variable.");
28  params.addClassDescription("This adds a term to the residual that attempts to enforce variable > "
29  "lower_var. The term is a*(lower - variable) for variable<lower, and "
30  "zero otherwise");
31  return params;
32 }