https://mooseframework.inl.gov
CircularAreaHydraulicDiameterFunction.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 
11 
13 
16 {
18 
19  params.addRequiredParam<FunctionName>("area_function", "Area function");
20 
21  params.addClassDescription(
22  "Computes hydraulic diameter for a circular area from its area function");
23 
24  return params;
25 }
26 
28  const InputParameters & parameters)
29  : Function(parameters), FunctionInterface(this), _area_function(getFunction("area_function"))
30 {
31 }
32 
33 Real
34 CircularAreaHydraulicDiameterFunction::value(Real t, const Point & p) const
35 {
36  const Real A = _area_function.value(t, p);
37  return std::sqrt(4.0 * A / M_PI);
38 }
39 
41 CircularAreaHydraulicDiameterFunction::gradient(Real /*t*/, const Point & /*p*/) const
42 {
43  mooseError(name(), ": ", __PRETTY_FUNCTION__, " is not implemented.");
44 }
virtual const std::string & name() const
void addRequiredParam(const std::string &name, const std::string &doc_string)
Computes hydraulic diameter for a circular area from its area function.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
registerMooseObject("ThermalHydraulicsApp", CircularAreaHydraulicDiameterFunction)
virtual Real value(Real t, const Point &p) const override
void mooseError(Args &&... args) const
void addClassDescription(const std::string &doc_string)
virtual Real value(Real t, const Point &p) const
virtual RealVectorValue gradient(Real t, const Point &p) const override
static InputParameters validParams()
CircularAreaHydraulicDiameterFunction(const InputParameters &parameters)