https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SaturationDensityFunction.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
13
15
18{
20
21 params.addRequiredParam<FunctionName>("T", "Temperature function");
22 params.addRequiredParam<UserObjectName>("fp_2phase", "2-phase fluid properties");
23 params.addRequiredParam<bool>("use_liquid", "Set true to use liquid phase; else use vapor phase");
24
25 params.addClassDescription("Computes saturation density from temperature function");
26
27 return params;
28}
29
31 : Function(parameters),
33
34 _T_fn(getFunction("T")),
35 _use_liquid(getParam<bool>("use_liquid"))
36{
37}
38
39void
41{
42 _fp_2phase = &getUserObject<TwoPhaseFluidProperties>("fp_2phase");
43 _fp_liquid = &getUserObjectByName<SinglePhaseFluidProperties>(_fp_2phase->getLiquidName());
44 _fp_vapor = &getUserObjectByName<SinglePhaseFluidProperties>(_fp_2phase->getVaporName());
45}
46
47Real
48SaturationDensityFunction::value(Real t, const Point & point) const
49{
50 const Real T = _T_fn.value(t, point);
51 const Real p = _fp_2phase->p_sat(T);
52
53 if (_use_liquid)
54 return _fp_liquid->rho_from_p_T(p, T);
55 else
56 return _fp_vapor->rho_from_p_T(p, T);
57}
const Real p
const double T
registerMooseObject("FluidPropertiesApp", SaturationDensityFunction)
static InputParameters validParams()
virtual Real value(Real t, const Point &p) const
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
Computes saturation density from temperature function.
static InputParameters validParams()
const TwoPhaseFluidProperties * _fp_2phase
2-phase fluid properties object
const SinglePhaseFluidProperties * _fp_vapor
Single-phase vapor properties.
const bool _use_liquid
Set true to use liquid phase; else vapor phase.
virtual Real value(Real t, const Point &p) const override
const SinglePhaseFluidProperties * _fp_liquid
Single-phase liquid properties.
SaturationDensityFunction(const InputParameters &parameters)
const Function & _T_fn
Temperature function.
virtual void initialSetup() override
virtual const UserObjectName & getLiquidName() const
Returns the name of the liquid single-phase fluid properties object.
virtual Real p_sat(Real T) const =0
Computes the saturation pressure at a temperature.
virtual const UserObjectName & getVaporName() const
Returns the name of the vapor single-phase fluid properties object.