Reaktoro  v2.11.0
A unified framework for modeling chemically reactive systems
WaterThermoProps.hpp
1 // Reaktoro is a unified framework for modeling chemically reactive systems.
2 //
3 // Copyright © 2014-2024 Allan Leal
4 //
5 // This library is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation; either
8 // version 2.1 of the License, or (at your option) any later version.
9 //
10 // This library is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 // Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public License
16 // along with this library. If not, see <http://www.gnu.org/licenses/>.
17 
18 #pragma once
19 
20 // Reaktoro includes
21 #include <Reaktoro/Common/Real.hpp>
22 
23 namespace Reaktoro {
24 
27 {
30 
33 
36 
39 
42 
45 
48 
51 
54 
57 
60 
63 
66 
69 
72 
75 
78 
81 
84 
87 
90 
93 
96 
98  auto operator*=(double const& x) -> WaterThermoProps&;
99 
101  auto operator*=(real const& x) -> WaterThermoProps&;
102 
104  auto operator/=(double const& x) -> WaterThermoProps&;
105 
107  auto operator/=(real const& x) -> WaterThermoProps&;
108 };
109 
112 
115 
116 auto operator+(WaterThermoProps const& l, WaterThermoProps const& r) -> WaterThermoProps;
120 
121 auto operator-(WaterThermoProps const& l, WaterThermoProps const& r) -> WaterThermoProps;
125 
126 auto operator*(double const& l, WaterThermoProps const& r) -> WaterThermoProps;
127 auto operator*(double const& l, WaterThermoProps&& r) -> WaterThermoProps&&;
128 auto operator*(WaterThermoProps const& l, double const& r) -> WaterThermoProps;
129 auto operator*(WaterThermoProps&& l, double const& r) -> WaterThermoProps&&;
130 
131 auto operator*(real const& l, WaterThermoProps const& r) -> WaterThermoProps;
132 auto operator*(real const& l, WaterThermoProps&& r) -> WaterThermoProps&&;
133 auto operator*(WaterThermoProps const& l, real const& r) -> WaterThermoProps;
134 auto operator*(WaterThermoProps&& l, real const& r) -> WaterThermoProps&&;
135 
136 auto operator/(WaterThermoProps const& l, double const& r) -> WaterThermoProps;
137 auto operator/(WaterThermoProps&& l, double const& r) -> WaterThermoProps&&;
138 
139 auto operator/(WaterThermoProps const& l, real const& r) -> WaterThermoProps;
140 auto operator/(WaterThermoProps&& l, real const& r) -> WaterThermoProps&&;
141 
142 } // namespace Reaktoro
The namespace containing all components of the Reaktoro library.
Definition: Algorithms.hpp:29
auto operator/(const Eigen::MatrixBase< DerivedLHS > &lhs, const Eigen::MatrixBase< DerivedRHS > &rhs) -> decltype(lhs.cwiseQuotient(rhs))
Return the component-wise division of two matrices.
Definition: Matrix.hpp:762
auto operator-(const typename Derived::Scalar &scalar, const Eigen::MatrixBase< Derived > &mat) -> decltype((scalar - mat.array()).matrix())
Return the component-wise division of two matrices.
Definition: Matrix.hpp:786
autodiff::real real
The number type used throughout the library.
Definition: Real.hpp:26
auto operator+(const typename Derived::Scalar &scalar, const Eigen::MatrixBase< Derived > &mat) -> decltype((scalar+mat.array()).matrix())
Return the component-wise division of two matrices.
Definition: Matrix.hpp:774
Used to store thermodynamic properties of water.
Definition: WaterThermoProps.hpp:27
auto operator/=(real const &x) -> WaterThermoProps &
Divide this WaterThermoProps object by a scalar.
auto operator*=(real const &x) -> WaterThermoProps &
Multiply this WaterThermoProps object by a scalar.
real PT
The first-order partial derivative of pressure with respect to temperature (in Pa/K).
Definition: WaterThermoProps.hpp:77
auto operator-=(WaterThermoProps const &x) -> WaterThermoProps &
Subtract another WaterThermoProps object to this.
real DT
The first-order partial derivative of density with respect to temperature (in (kg/m3)/K).
Definition: WaterThermoProps.hpp:59
real D
The specific density of water (in kg/m3).
Definition: WaterThermoProps.hpp:56
auto operator/=(double const &x) -> WaterThermoProps &
Divide this WaterThermoProps object by a scalar.
real G
The specific Gibbs free energy of water (in J/kg).
Definition: WaterThermoProps.hpp:47
real DTT
The second-order partial derivative of density with respect to temperature (in (kg/m3)/(K*K)).
Definition: WaterThermoProps.hpp:65
real PTT
The second-order partial derivative of pressure with respect to temperature (in Pa/(K*K)).
Definition: WaterThermoProps.hpp:83
real PDD
The second-order partial derivative of pressure with respect to density (in Pa/((kg/m3)*(kg/m3))).
Definition: WaterThermoProps.hpp:89
real P
The pressure of water (in Pa).
Definition: WaterThermoProps.hpp:74
real V
The specific volume of water (in m3/kg).
Definition: WaterThermoProps.hpp:32
real U
The specific internal energy of water (in J/kg).
Definition: WaterThermoProps.hpp:41
real S
The specific entropy of water (in J/(kg*K)).
Definition: WaterThermoProps.hpp:35
real PTD
The second-order partial derivative of pressure with respect to temperature and density (in Pa/(K*kg/...
Definition: WaterThermoProps.hpp:86
real A
The specific Helmholtz free energy of water (in J/kg).
Definition: WaterThermoProps.hpp:38
real PD
The first-order partial derivative of pressure with respect to density (in Pa/(kg/m3)).
Definition: WaterThermoProps.hpp:80
auto operator*=(double const &x) -> WaterThermoProps &
Multiply this WaterThermoProps object by a scalar.
real DP
The first-order partial derivative of density with respect to pressure (in (kg/m3)/Pa).
Definition: WaterThermoProps.hpp:62
auto operator+=(WaterThermoProps const &x) -> WaterThermoProps &
Add another WaterThermoProps object to this.
real Cv
The specific isochoric heat capacity of water (in J/(kg*K)).
Definition: WaterThermoProps.hpp:50
real Cp
The specific isobaric heat capacity of water (in J/(kg*K)).
Definition: WaterThermoProps.hpp:53
real DTP
The second-order partial derivative of density with respect to temperature and pressure (in (kg/m3)/(...
Definition: WaterThermoProps.hpp:68
real DPP
The second-order partial derivative of density with respect to pressure (in (kg/m3)/(Pa*Pa)).
Definition: WaterThermoProps.hpp:71
real H
The specific enthalpy of water (in J/kg).
Definition: WaterThermoProps.hpp:44
real T
The temperature of water (in K).
Definition: WaterThermoProps.hpp:29