Loading [MathJax]/extensions/tex2jax.js
www.mooseframework.org
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
Functions
RichardsPiecewiseLinearSink.C File Reference

Go to the source code of this file.

Functions

 registerMooseObject ("RichardsApp", RichardsPiecewiseLinearSink)
 
template<>
InputParameters validParams< RichardsPiecewiseLinearSink > ()
 

Function Documentation

◆ registerMooseObject()

registerMooseObject ( "RichardsApp"  ,
RichardsPiecewiseLinearSink   
)

◆ validParams< RichardsPiecewiseLinearSink >()

template<>
InputParameters validParams< RichardsPiecewiseLinearSink > ( )

Definition at line 22 of file RichardsPiecewiseLinearSink.C.

23 {
24  InputParameters params = validParams<IntegratedBC>();
25  params.addRequiredParam<bool>(
26  "use_mobility",
27  "If true, then fluxes are multiplied by (density*permeability_nn/viscosity), "
28  "where the '_nn' indicates the component normal to the boundary. In this "
29  "case bare_flux is measured in Pa.s^-1. This can be used in conjunction "
30  "with use_relperm.");
31  params.addRequiredParam<bool>("use_relperm",
32  "If true, then fluxes are multiplied by relative "
33  "permeability. This can be used in conjunction "
34  "with use_mobility");
35  params.addParam<std::vector<UserObjectName>>("relperm_UO",
36  "List of names of user objects that "
37  "define relative permeability. Only "
38  "needed if fully_upwind is used");
39  params.addParam<std::vector<UserObjectName>>(
40  "seff_UO",
41  "List of name of user objects that define effective saturation as a function of "
42  "pressure list. Only needed if fully_upwind is used");
43  params.addParam<std::vector<UserObjectName>>("density_UO",
44  "List of names of user objects that "
45  "define the fluid density. Only "
46  "needed if fully_upwind is used");
47  params.addRequiredParam<std::vector<Real>>(
48  "pressures", "Tuple of pressure values. Must be monotonically increasing.");
49  params.addRequiredParam<std::vector<Real>>(
50  "bare_fluxes",
51  "Tuple of flux values (measured in kg.m^-2.s^-1 for use_mobility=false, and "
52  "in Pa.s^-1 if use_mobility=true). This flux is OUT of the medium: hence "
53  "positive values of flux means this will be a SINK, while negative values "
54  "indicate this flux will be a SOURCE. A piecewise-linear fit is performed to "
55  "the (pressure,bare_fluxes) pairs to obtain the flux at any arbitrary "
56  "pressure, and the first or last bare_flux values are used if the quad-point "
57  "pressure falls outside this range.");
58  params.addParam<FunctionName>("multiplying_fcn",
59  1.0,
60  "If this function is provided, the flux "
61  "will be multiplied by this function. "
62  "This is useful for spatially or "
63  "temporally varying sinks");
64  params.addRequiredParam<UserObjectName>(
65  "richardsVarNames_UO", "The UserObject that holds the list of Richards variable names.");
66  params.addParam<bool>("fully_upwind", false, "Use full upwinding");
67  params.addParam<PostprocessorName>(
68  "area_pp",
69  1,
70  "An area postprocessor. If given, the bare_fluxes will be divided by this "
71  "quantity. This means the bare fluxes are measured in kg.s^-1. This is "
72  "useful for the case when you wish to provide the *total* flux, and let MOOSE "
73  "proportion it uniformly across the boundary. In that case you would have "
74  "use_mobility=false=use_relperm, and only one bare flux should be specified");
75  return params;
76 }