Classes | Functions
Q2PPiecewiseLinearSink.h File Reference

Go to the source code of this file.


class  Q2PPiecewiseLinearSink
 Applies a fully-upwinded flux sink to a boundary The sink is a piecewise linear function of porepressure at the quad points. More...


InputParameters validParams< Q2PPiecewiseLinearSink > ()

Function Documentation

InputParameters validParams< Q2PPiecewiseLinearSink > ( )

Definition at line 18 of file Q2PPiecewiseLinearSink.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.addRequiredParam<std::vector<Real>>(
32  "pressures", "Tuple of pressure values. Must be monotonically increasing.");
33  params.addRequiredParam<std::vector<Real>>(
34  "bare_fluxes",
35  "Tuple of flux values (measured in kg.m^-2.s^-1 for use_mobility=false, and "
36  "in Pa.s^-1 if use_mobility=true). This flux is OUT of the medium: hence "
37  "positive values of flux means this will be a SINK, while negative values "
38  "indicate this flux will be a SOURCE. A piecewise-linear fit is performed to "
39  "the (pressure,bare_fluxes) pairs to obtain the flux at any arbitrary "
40  "pressure, and the first or last bare_flux values are used if the quad-point "
41  "pressure falls outside this range.");
42  params.addParam<FunctionName>("multiplying_fcn",
43  1.0,
44  "If this function is provided, the flux "
45  "will be multiplied by this function. "
46  "This is useful for spatially or "
47  "temporally varying sinks");
48  params.addRequiredParam<UserObjectName>(
49  "fluid_density",
50  "A RichardsDensity UserObject that defines the fluid density as a function of pressure.");
51  params.addRequiredParam<UserObjectName>(
52  "fluid_relperm",
53  "A RichardsRelPerm UserObject (eg RichardsRelPermPower) that defines the "
54  "fluid relative permeability as a function of the saturation Variable.");
55  params.addRequiredCoupledVar("other_var",
56  "The other variable in the 2-phase system. If "
57  "Variable=porepressure, the other_var=saturation, and "
58  "vice-versa.");
59  params.addRequiredParam<bool>("var_is_porepressure",
60  "This flag is needed to correctly calculate the Jacobian entries. "
61  "If set to true, this Sink will extract fluid from the phase with "
62  "porepressure as its Variable (usually the liquid phase). If set "
63  "to false, this Sink will extract fluid from the phase with "
64  "saturation as its variable (usually the gas phase)");
65  params.addRequiredParam<Real>("fluid_viscosity", "The fluid dynamic viscosity");
66  params.addClassDescription("Sink of fluid, controlled by (pressure, bare_fluxes) interpolation. "
67  "This is for use in Q2P models");
68  return params;
69 }