2024-01-16 20:30:22 +11:00
|
|
|
|
|
|
|
#include "vapor_pressure.hpp"
|
|
|
|
#include "../conversions/temperature.hpp"
|
|
|
|
#include "../conversions/pressure.hpp"
|
|
|
|
|
|
|
|
#include <cmath>
|
|
|
|
|
|
|
|
using namespace sim::coolant;
|
|
|
|
using namespace sim::conversions;
|
|
|
|
|
|
|
|
double vapor_pressure::calc_p(double t) const
|
|
|
|
{
|
2024-02-09 21:31:36 +11:00
|
|
|
double p;
|
|
|
|
|
|
|
|
if(t < T)
|
|
|
|
{
|
|
|
|
p = std::pow(10, A1 - B1 / ( C1 + t ) );
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
{
|
|
|
|
p = std::pow(10, A2 - B2 / ( C2 + t ) );
|
|
|
|
}
|
|
|
|
|
|
|
|
return pressure::mmhg_to_pa(p);
|
2024-01-16 20:30:22 +11:00
|
|
|
}
|
|
|
|
|
|
|
|
double vapor_pressure::calc_t(double p) const
|
|
|
|
{
|
2024-02-09 21:31:36 +11:00
|
|
|
double P = pressure::pa_to_mmhg(p);
|
|
|
|
|
|
|
|
if(p < calc_p(T))
|
|
|
|
{
|
|
|
|
return B1 / ( A1 - std::log(P) / std::log(10) ) - C1;
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
{
|
|
|
|
return B2 / ( A2 - std::log(P) / std::log(10) ) - C2;
|
|
|
|
}
|
2024-01-16 20:30:22 +11:00
|
|
|
}
|
|
|
|
|