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

Go to the source code of this file.

Classes

class  PorousFlowPeacemanBorehole
 Approximates a borehole by a sequence of Dirac Points. More...
 

Functions

template<>
InputParameters validParams< PorousFlowPeacemanBorehole > ()
 

Function Documentation

template<>
InputParameters validParams< PorousFlowPeacemanBorehole > ( )

Definition at line 14 of file PorousFlowPeacemanBorehole.C.

15 {
16  InputParameters params = validParams<PorousFlowLineSink>();
17  params.addRequiredParam<FunctionName>(
18  "character",
19  "If zero then borehole does nothing. If positive the borehole acts as a sink "
20  "(production well) for porepressure > borehole pressure, and does nothing "
21  "otherwise. If negative the borehole acts as a source (injection well) for "
22  "porepressure < borehole pressure, and does nothing otherwise. The flow rate "
23  "to/from the borehole is multiplied by |character|, so usually character = +/- "
24  "1, but you can specify other quantities to provide an overall scaling to the "
25  "flow if you like.");
26  params.addRequiredParam<Real>("bottom_p_or_t",
27  "For function_of=pressure, this parameter is the "
28  "pressure at the bottom of the borehole, "
29  "otherwise it is the temperature at the bottom of "
30  "the borehole");
31  params.addRequiredParam<RealVectorValue>(
32  "unit_weight",
33  "(fluid_density*gravitational_acceleration) as a vector pointing downwards. "
34  "Note that the borehole pressure at a given z position is bottom_p_or_t + "
35  "unit_weight*(q - q_bottom), where q=(x,y,z) and q_bottom=(x,y,z) of the "
36  "bottom point of the borehole. The analogous formula holds for "
37  "function_of=temperature. If you don't want bottomhole pressure (or "
38  "temperature) to vary in the borehole just set unit_weight=0. Typical value "
39  "is = (0,0,-1E4), for water");
40  params.addParam<Real>("re_constant",
41  0.28,
42  "The dimensionless constant used in evaluating the borehole effective "
43  "radius. This depends on the meshing scheme. Peacemann "
44  "finite-difference calculations give 0.28, while for rectangular finite "
45  "elements the result is closer to 0.1594. (See Eqn(4.13) of Z Chen, Y "
46  "Zhang, Well flow models for various numerical methods, Int J Num "
47  "Analysis and Modeling, 3 (2008) 375-388.)");
48  params.addParam<Real>("well_constant",
49  -1.0,
50  "Usually this is calculated internally from the element geometry, the "
51  "local borehole direction and segment length, and the permeability. "
52  "However, if this parameter is given as a positive number then this "
53  "number is used instead of the internal calculation. This speeds up "
54  "computation marginally. re_constant becomes irrelevant");
55  params.addClassDescription("Approximates a borehole in the mesh using the Peaceman approach, ie "
56  "using a number of point sinks with given radii whose positions are "
57  "read from a file");
58  return params;
59 }
InputParameters validParams< PorousFlowLineSink >()