https://mooseframework.inl.gov
PorousFlowSinkBC.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #include "PorousFlowSinkBC.h"
11 
12 registerMooseObject("PorousFlowApp", PorousFlowSinkBC);
13 
16 {
18  params.addCoupledVar("porepressure_var", "Name of the porepressure variable");
19  params.addParam<unsigned int>("fluid_phase",
20  "Evaluate enthalpy at the pressure of this fluid phase.");
21  params.addRequiredParam<UserObjectName>("fp", "The name of the user object for fluid properties");
22  params.addRequiredParam<Real>("T_in", "Specified inlet temperature (measured in K)");
23  params.addRequiredParam<FunctionName>(
24  "flux_function",
25  "The flux. The flux is OUT of the medium: hence positive values of "
26  "this function means this BC will act as a SINK, while negative values "
27  "indicate this flux will be a SOURCE. However, this BC only makes physical sense if "
28  "flux_function <= 0. This function is measured in kg.m^-2.s^-1.");
29  return params;
30 }
31 
34 {
37  params.addRequiredParam<std::vector<BoundaryName>>(
38  "boundary", "The list of boundary IDs from the mesh where this boundary condition applies");
39  params.addRequiredParam<UserObjectName>(
40  "PorousFlowDictator", "The UserObject that holds the list of PorousFlow variable names");
41 
42  params.addClassDescription(
43  "BC corresponding to hot/cold fluid injection. This BC is only valid for "
44  "single-phase, non-isothermal simulations using (P, T) variables. This BC adds fluid mass "
45  "and heat energy. It is only meaningful if flux_function <= 0");
46 
47  params.registerBase("PorousFlowSinkBC");
48 
49  return params;
50 }
51 
PorousFlowSinkBC(const InputParameters &parameters)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
registerMooseObject("PorousFlowApp", PorousFlowSinkBC)
static InputParameters validParamsCommon()
static InputParameters validParams()
void addRequiredParam(const std::string &name, const std::string &doc_string)
InputParameters emptyInputParameters()
void registerBase(const std::string &value)
void addCoupledVar(const std::string &name, const std::string &doc_string)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void addClassDescription(const std::string &doc_string)
static InputParameters validParams()
Surrogate BC object for setting up enthalphy injection BC.