https://mooseframework.inl.gov
SaturationPressureFunction.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 
12 
13 registerMooseObject("FluidPropertiesApp", SaturationPressureFunction);
14 
17 {
19 
20  params.addRequiredParam<FunctionName>("T", "Temperature function");
21  params.addRequiredParam<UserObjectName>("fp_2phase", "2-phase fluid properties");
22 
23  params.addClassDescription(
24  "Computes saturation pressure from temperature function and 2-phase fluid properties object");
25 
26  return params;
27 }
28 
30  : Function(parameters),
31  FunctionInterface(this),
32 
33  _T_fn(getFunction("T"))
34 {
35 }
36 
37 void
39 {
40  _fp_2phase = &getUserObject<TwoPhaseFluidProperties>("fp_2phase");
41 }
42 
43 Real
44 SaturationPressureFunction::value(Real t, const Point & point) const
45 {
46  return _fp_2phase->p_sat(_T_fn.value(t, point));
47 }
48 
50 SaturationPressureFunction::gradient(Real t, const Point & point) const
51 {
52  return _T_fn.gradient(t, point) / _fp_2phase->dT_sat_dp(value(t, point));
53 }
SaturationPressureFunction(const InputParameters &parameters)
Computes saturation pressure from temperature function and 2-phase fluid properties object...
virtual Real value(Real t, const Point &p) const override
void addRequiredParam(const std::string &name, const std::string &doc_string)
const Function & _T_fn
Temperature function.
virtual RealVectorValue gradient(Real t, const Point &p) const override
virtual void initialSetup() override
virtual Real dT_sat_dp(Real p) const =0
Computes dT/dp along the saturation line.
static InputParameters validParams()
virtual Real p_sat(Real T) const =0
Computes the saturation pressure at a temperature.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual RealGradient gradient(Real t, const Point &p) const
void addClassDescription(const std::string &doc_string)
virtual Real value(Real t, const Point &p) const
const TwoPhaseFluidProperties * _fp_2phase
2-phase fluid properties object
static InputParameters validParams()
registerMooseObject("FluidPropertiesApp", SaturationPressureFunction)