OGS
DensityMette.cpp
Go to the documentation of this file.
1
10#include "DensityMette.h"
11
12#include "DensityCook.h"
13
14namespace
15{
16// NaX_Mette_polyfrac_CC.pickle
17// date extracted 2015-06-23 15:38:35 file mtime 2015-06-23 15:19:26
18const double DensityMette_c[] = {
19 0.36340572890087813, /* a0 */
20 -0.0013449597038375108, /* a1 */
21 -0.0007581210111121073, /* a2 */
22 -7.331279615575401e-08, /* a3 */
23 5.365656973806218e-07, /* a4 */
24 6.854673678427112e-10, /* a5 */
25 -1.0197050219481966e-10 /* a6 */
26};
27} // namespace
28
29namespace Adsorption
30{
31double DensityMette::getAdsorbateDensity(const double T_Ads) const
32{
33 const double T0 = 293.15;
34 const double rho0 = rhoWaterDean(T0);
35 const double alpha20 = alphaTWaterDean(T0);
36 return rho0 / (1. + alpha20 * (T_Ads - T0));
37}
38
39// Thermal expansivity model for water found in the works of Hauer
40double DensityMette::getAlphaT(const double T_Ads) const
41{
42 const double T0 = 293.15;
43 const double alpha20 = alphaTWaterDean(T0);
44 return alpha20 / (1. + alpha20 * (T_Ads - T0));
45}
46
47// Characteristic curve. Return W (A)
48double DensityMette::characteristicCurve(const double A) const
49{
50 double W = curvePolyfrac(DensityMette_c, A); // cm^3/g
51
52 if (W < 0.0)
53 {
54 W = 0.0; // TODO [CL] debug output
55 }
56
57 return W / 1.e3; // m^3/kg
58}
59
60double DensityMette::dCharacteristicCurve(const double A) const
61{
62 return dCurvePolyfrac(DensityMette_c, A);
63}
64
65} // namespace Adsorption
double getAlphaT(const double T_Ads) const override
double getAdsorbateDensity(const double T_Ads) const override
double dCharacteristicCurve(const double A) const override
double characteristicCurve(const double A) const override
double curvePolyfrac(const double *coeffs, const double x)
Definition Adsorption.h:52
double dCurvePolyfrac(const double *coeffs, const double x)
Definition Adsorption.h:61
double rhoWaterDean(const double T_Ads)
Definition DensityCook.h:26
double alphaTWaterDean(const double T_Ads)
Definition DensityCook.h:41