Cantera  3.1.0a1
Heptane.h
Go to the documentation of this file.
1 //! @file Heptane.h
2 
3 // This file is part of Cantera. See License.txt in the top-level directory or
4 // at https://cantera.org/license.txt for license and copyright information.
5 
6 #ifndef TPX_HEPTANE_H
7 #define TPX_HEPTANE_H
8 
9 #include "cantera/tpx/Sub.h"
10 
11 namespace tpx
12 {
13 //! Pure species representation of heptane. Values and functions are
14 //! from Reynolds @cite reynolds1979.
15 class Heptane : public Substance
16 {
17 public:
18  Heptane() {
19  m_name = "heptane";
20  m_formula = "C7H16";
21  }
22 
23  double MolWt() override;
24  double Tcrit() override;
25  double Pcrit() override;
26  double Vcrit() override;
27  double Tmin() override;
28  double Tmax() override;
29 
30  //! Pressure. Equation P-2 in Reynolds.
31  double Pp() override;
32 
33  /**
34  * Internal energy.
35  * See Reynolds eqn (15) section 2
36  * u = (the integral from T to To of co(T)dT) +
37  * sum from i to N ([C(i) - T*Cprime(i)] + uo
38  */
39  double up() override;
40 
41  //! Entropy. See Reynolds eqn (16) section 2
42  double sp() override;
43 
44  //! Pressure at Saturation. Equation S-2 in Reynolds.
45  double Psat() override;
46 
47 private:
48  //! liquid density. Equation D2 in Reynolds.
49  double ldens() override;
50 
51  /**
52  * C returns a multiplier in each term of the sum
53  * in P-2, used in conjunction with C in the function Pp
54  * - j is used to represent which of the values in the summation to calculate
55  * - j=0 is the second additive in the formula in reynolds
56  * - j=1 is the third...
57  */
58  double C(int jm, double, double, double, double);
59 
60  //! derivative of C(i)
61  double Cprime(int i, double, double, double);
62 
63  /**
64  * I = integral from o-rho { 1/(rho^2) * H(i, rho) d rho }
65  * ( see section 2 of Reynolds TPSI )
66  */
67  double I(int i, double, double);
68 
69  /**
70  * H returns a multiplier in each term of the sum in P-2.
71  * this is used in conjunction with C in the function Pp
72  * this represents the product rho^n
73  * - i=0 is the second additive in the formula in reynolds
74  * - i=1 is the third ...
75  */
76  double H(int i, double egrho);
77 };
78 
79 }
80 
81 #endif // ! TPX_HEPTANE_H
Pure species representation of heptane.
Definition: Heptane.h:16
double Tmax() override
Maximum temperature for which the equation of state is valid.
Definition: Heptane.cpp:254
double up() override
Internal energy.
Definition: Heptane.cpp:150
double ldens() override
liquid density. Equation D2 in Reynolds.
Definition: Heptane.cpp:221
double I(int i, double, double)
I = integral from o-rho { 1/(rho^2) * H(i, rho) d rho } ( see section 2 of Reynolds TPSI )
Definition: Heptane.cpp:121
double Tmin() override
Minimum temperature for which the equation of state is valid.
Definition: Heptane.cpp:250
double Tcrit() override
Critical temperature [K].
Definition: Heptane.cpp:238
double sp() override
Entropy. See Reynolds eqn (16) section 2.
Definition: Heptane.cpp:171
double Pp() override
Pressure. Equation P-2 in Reynolds.
Definition: Heptane.cpp:191
double MolWt() override
Molecular weight [kg/kmol].
Definition: Heptane.cpp:258
double H(int i, double egrho)
H returns a multiplier in each term of the sum in P-2.
Definition: Heptane.cpp:137
double C(int jm, double, double, double, double)
C returns a multiplier in each term of the sum in P-2, used in conjunction with C in the function Pp.
Definition: Heptane.cpp:79
double Vcrit() override
Critical specific volume [m^3/kg].
Definition: Heptane.cpp:246
double Pcrit() override
Critical pressure [Pa].
Definition: Heptane.cpp:242
double Psat() override
Pressure at Saturation. Equation S-2 in Reynolds.
Definition: Heptane.cpp:206
double Cprime(int i, double, double, double)
derivative of C(i)
Definition: Heptane.cpp:101
Base class from which all pure substances are derived.
Definition: Sub.h:37