www.mooseframework.org
RichardsExcavFlow.C
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 
8 #include "RichardsExcavFlow.h"
9 #include "Function.h"
10 #include "Material.h"
11 
12 template <>
13 InputParameters
15 {
16  InputParameters params = validParams<SideIntegralVariablePostprocessor>();
17  params.addRequiredParam<FunctionName>(
18  "excav_geom_function",
19  "The function describing the excavation geometry (type RichardsExcavGeom)");
20  params.addRequiredParam<UserObjectName>(
21  "richardsVarNames_UO", "The UserObject that holds the list of Richards variable names.");
22  params.addClassDescription("Records total flow INTO an excavation (if quantity is positive then "
23  "flow has occured from rock into excavation void)");
24  return params;
25 }
26 
27 RichardsExcavFlow::RichardsExcavFlow(const InputParameters & parameters)
28  : SideIntegralVariablePostprocessor(parameters),
29 
30  _richards_name_UO(getUserObject<RichardsVarNames>("richardsVarNames_UO")),
31  _pvar(_richards_name_UO.richards_var_num(coupled("variable"))),
32 
33  _flux(getMaterialProperty<std::vector<RealVectorValue>>("flux")),
34 
35  _func(getFunction("excav_geom_function"))
36 {
37 }
38 
39 Real
41 {
42  return -_func.value(_t, _q_point[_qp]) * _normals[_qp] * _flux[_qp][_pvar] * _dt;
43 }
virtual Real computeQpIntegral()
This holds maps between pressure_var or pressure_var, sat_var used in RichardsMaterial and kernels...
InputParameters validParams< RichardsExcavFlow >()
Function & _func
the RichardsExcavGeom that defines where on the boundary we&#39;ll compute the mass flux ...
unsigned int _pvar
the richards variable number for which we want the mass flow
RichardsExcavFlow(const InputParameters &parameters)
const MaterialProperty< std::vector< RealVectorValue > > & _flux
mass-flux of fluid (a vector in the multicomponent case)