https://mooseframework.inl.gov
Loading...
Searching...
No Matches
TwoPhaseFluidProperties.h
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#pragma once
11
12#include "FluidProperties.h"
13
15
16#pragma GCC diagnostic push
17#pragma GCC diagnostic ignored "-Woverloaded-virtual"
18
23{
24public:
26
28
32 virtual const UserObjectName & getLiquidName() const { return _liquid_name; }
33
37 virtual const UserObjectName & getVaporName() const { return _vapor_name; }
38
42 virtual Real p_critical() const = 0;
43
47 virtual Real T_triple() const;
48
54 virtual Real T_sat(Real p) const = 0;
55 virtual ADReal T_sat(const ADReal & p) const;
56
62 virtual Real p_sat(Real T) const = 0;
63 virtual ADReal p_sat(const ADReal & T) const;
64
70 virtual Real dT_sat_dp(Real p) const = 0;
71
78 virtual Real h_lat(Real p, Real T) const;
79 virtual ADReal h_lat(const ADReal & p, const ADReal & T) const;
80
84 virtual Real L_fusion() const;
85
92 virtual Real sigma_from_T(Real T) const;
93 virtual ADReal sigma_from_T(const ADReal & T) const;
94
100 virtual Real dsigma_dT_from_T(Real T) const;
101
105 virtual bool supportsPhaseChange() const = 0;
106
107protected:
109 const UserObjectName _liquid_name;
111 const UserObjectName _vapor_name;
112
117};
118
119#pragma GCC diagnostic pop
DualNumber< Real, DNDerivativeType, true > ADReal
const Real p
const double T
const InputParameters & parameters() const
Common class for single phase fluid properties.
Base class for fluid properties used with two-phase flow.
virtual Real dsigma_dT_from_T(Real T) const
Computes dsigma/dT along the saturation line.
virtual Real T_triple() const
Returns the triple-point temperature.
virtual Real p_critical() const =0
Returns the critical pressure.
const UserObjectName _liquid_name
The name of the user object that provides liquid phase fluid properties.
virtual Real dT_sat_dp(Real p) const =0
Computes dT/dp along the saturation line.
const UserObjectName _vapor_name
The name of the user object that provides vapor phase fluid properties.
virtual const UserObjectName & getLiquidName() const
Returns the name of the liquid single-phase fluid properties object.
static InputParameters validParams()
virtual Real sigma_from_T(Real T) const
Computes surface tension sigma of saturated liquid in contact with saturated vapor.
virtual bool supportsPhaseChange() const =0
Returns true if phase change is supported, otherwise false.
virtual Real p_sat(Real T) const =0
Computes the saturation pressure at a temperature.
const SinglePhaseFluidProperties * _fp_liquid
The user object that provides liquid phase fluid properties.
virtual Real L_fusion() const
Returns the latent heat of fusion.
virtual Real h_lat(Real p, Real T) const
Computes latent heat of vaporization.
virtual Real T_sat(Real p) const =0
Computes the saturation temperature at a pressure.
const SinglePhaseFluidProperties * _fp_vapor
The user object that provides vapor phase fluid properties.
virtual const UserObjectName & getVaporName() const
Returns the name of the vapor single-phase fluid properties object.