Line data Source code
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 "CircularAreaHydraulicDiameterFunction.h" 11 : 12 : registerMooseObject("ThermalHydraulicsApp", CircularAreaHydraulicDiameterFunction); 13 : 14 : InputParameters 15 2 : CircularAreaHydraulicDiameterFunction::validParams() 16 : { 17 2 : InputParameters params = Function::validParams(); 18 : 19 4 : params.addRequiredParam<FunctionName>("area_function", "Area function"); 20 : 21 2 : params.addClassDescription( 22 : "Computes hydraulic diameter for a circular area from its area function"); 23 : 24 2 : return params; 25 0 : } 26 : 27 1 : CircularAreaHydraulicDiameterFunction::CircularAreaHydraulicDiameterFunction( 28 1 : const InputParameters & parameters) 29 1 : : Function(parameters), FunctionInterface(this), _area_function(getFunction("area_function")) 30 : { 31 1 : } 32 : 33 : Real 34 1 : CircularAreaHydraulicDiameterFunction::value(Real t, const Point & p) const 35 : { 36 1 : const Real A = _area_function.value(t, p); 37 1 : return std::sqrt(4.0 * A / M_PI); 38 : } 39 : 40 : RealVectorValue 41 0 : CircularAreaHydraulicDiameterFunction::gradient(Real /*t*/, const Point & /*p*/) const 42 : { 43 0 : mooseError(name(), ": ", __PRETTY_FUNCTION__, " is not implemented."); 44 : }