www.mooseframework.org
TwoPhaseFluidProperties.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 {
24 public:
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 DualReal T_sat(const DualReal & p) const;
56 
62  virtual Real p_sat(Real T) const = 0;
63  virtual DualReal p_sat(const DualReal & 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 DualReal h_lat(const DualReal & p, const DualReal & T) const;
80 
84  virtual Real L_fusion() const;
85 
92  virtual Real sigma_from_T(Real T) const;
93  virtual DualReal sigma_from_T(const DualReal & T) const;
94 
100  virtual Real dsigma_dT_from_T(Real T) const;
101 
105  virtual bool supportsPhaseChange() const = 0;
106 
107 protected:
109  const UserObjectName _liquid_name;
111  const UserObjectName _vapor_name;
112 
117 };
118 
119 #pragma GCC diagnostic pop
const SinglePhaseFluidProperties * _fp_vapor
The user object that provides vapor phase fluid properties.
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.
const UserObjectName _liquid_name
The name of the user object that provides liquid phase fluid properties.
virtual const UserObjectName & getVaporName() const
Returns the name of the vapor single-phase fluid properties object.
DualNumber< Real, DNDerivativeType, true > DualReal
TwoPhaseFluidProperties(const InputParameters &parameters)
const SinglePhaseFluidProperties * _fp_liquid
The user object that provides liquid phase fluid properties.
Base class for fluid properties used with two-phase flow.
virtual Real h_lat(Real p, Real T) const
Computes latent heat of vaporization.
static InputParameters validParams()
Common class for single phase fluid properties.
virtual bool supportsPhaseChange() const =0
Returns true if phase change is supported, otherwise false.
virtual Real p_critical() const =0
Returns the critical pressure.
virtual Real dT_sat_dp(Real p) const =0
Computes dT/dp along the saturation line.
virtual Real L_fusion() const
Returns the latent heat of fusion.
virtual Real p_sat(Real T) const =0
Computes the saturation pressure at a temperature.
virtual Real T_sat(Real p) const =0
Computes the saturation temperature at a pressure.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real T_triple() const
Returns the triple-point temperature.
virtual Real dsigma_dT_from_T(Real T) const
Computes dsigma/dT along the saturation line.
const InputParameters & parameters() const
virtual Real sigma_from_T(Real T) const
Computes surface tension sigma of saturated liquid in contact with saturated vapor.