Classes | Functions
RichardsPiecewiseLinearSink.h File Reference

Go to the source code of this file.


class  RichardsPiecewiseLinearSink
 Applies a flux sink to a boundary The sink is a piecewise linear function of porepressure (the "variable") at the quad points. More...


InputParameters validParams< RichardsPiecewiseLinearSink > ()

Function Documentation

InputParameters validParams< RichardsPiecewiseLinearSink > ( )

Definition at line 18 of file RichardsPiecewiseLinearSink.C.

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