www.mooseframework.org
HelmholtzFluidProperties.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 
13 
14 #pragma GCC diagnostic push
15 #pragma GCC diagnostic ignored "-Woverloaded-virtual"
16 
30 {
31 public:
33 
35 
36  virtual Real rho_from_p_T(Real pressure, Real temperature) const override;
37 
38  virtual void rho_from_p_T(
39  Real pressure, Real temperature, Real & rho, Real & drho_dp, Real & drho_dT) const override;
40 
41  virtual Real e_from_p_T(Real pressure, Real temperature) const override;
42  virtual void e_from_p_T(Real p, Real T, Real & e, Real & de_dp, Real & de_dT) const override;
43 
44  virtual Real c_from_p_T(Real pressure, Real temperature) const override;
45 
46  virtual Real cp_from_p_T(Real pressure, Real temperature) const override;
47 
48  using SinglePhaseFluidProperties::cp_from_p_T;
49 
50  virtual Real cv_from_p_T(Real pressure, Real temperature) const override;
51 
52  virtual Real s_from_p_T(Real pressure, Real temperature) const override;
53  virtual void s_from_p_T(Real p, Real T, Real & s, Real & ds_dp, Real & ds_dT) const override;
54 
55  virtual Real h_from_p_T(Real pressure, Real temperature) const override;
56  virtual void h_from_p_T(Real p, Real T, Real & h, Real & dh_dp, Real & dh_dT) const override;
57 
65  virtual Real p_from_rho_T(Real rho, Real T) const;
66 
67 protected:
75  virtual Real alpha(Real delta, Real tau) const = 0;
76 
84  virtual Real dalpha_ddelta(Real delta, Real tau) const = 0;
85 
93  virtual Real dalpha_dtau(Real delta, Real tau) const = 0;
94 
102  virtual Real d2alpha_ddelta2(Real delta, Real tau) const = 0;
103 
111  virtual Real d2alpha_dtau2(Real delta, Real tau) const = 0;
112 
120  virtual Real d2alpha_ddeltatau(Real delta, Real tau) const = 0;
121 };
122 
123 #pragma GCC diagnostic pop
virtual Real d2alpha_ddeltatau(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt delta and tau.
virtual Real d2alpha_dtau2(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt tau.
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
virtual Real c_from_p_T(Real pressure, Real temperature) const override
static const std::string temperature
Definition: NS.h:57
virtual Real d2alpha_ddelta2(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt delta.
virtual Real cp_from_p_T(Real pressure, Real temperature) const override
HelmholtzFluidProperties(const InputParameters &parameters)
virtual Real cv_from_p_T(Real pressure, Real temperature) const override
virtual Real dalpha_ddelta(Real delta, Real tau) const =0
Derivative of Helmholtz free energy wrt delta.
virtual Real h_from_p_T(Real pressure, Real temperature) const override
Common class for single phase fluid properties.
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
e e e e s T T T T T rho v v T h
static InputParameters validParams()
virtual Real dalpha_dtau(Real delta, Real tau) const =0
Derivative of Helmholtz free energy wrt tau.
virtual Real p_from_rho_T(Real rho, Real T) const
Pressure as a function of density and temperature.
virtual Real alpha(Real delta, Real tau) const =0
Helmholtz free energy.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real s_from_p_T(Real pressure, Real temperature) const override
static const std::string pressure
Definition: NS.h:56
const InputParameters & parameters() const
Base class equation of state for fluids that use a Helmholtz free energy alpha(delta, tau), where delta is a scaled density and tau is a scaled temperature.
virtual Real e_from_p_T(Real pressure, Real temperature) const override