mirror of
https://github.com/CoolProp/CoolProp.git
synced 2026-02-08 21:05:14 -05:00
Added ammonia conductivity
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
This commit is contained in:
@@ -580,6 +580,9 @@ protected:
|
||||
if (!target.compare("R123")){
|
||||
fluid.transport.conductivity_critical.type = CoolProp::ConductivityCriticalVariables::CONDUCTIVITY_CRITICAL_R123; return;
|
||||
}
|
||||
else if (!target.compare("Ammonia")){
|
||||
fluid.transport.conductivity_critical.type = CoolProp::ConductivityCriticalVariables::CONDUCTIVITY_CRITICAL_AMMONIA; return;
|
||||
}
|
||||
else{
|
||||
throw ValueError(format("critical conductivity term [%s] is not understood for fluid %s",target.c_str(), fluid.name.c_str()));
|
||||
}
|
||||
|
||||
@@ -264,6 +264,8 @@ long double HelmholtzEOSMixtureBackend::calc_conductivity(void)
|
||||
lambda_critical = TransportRoutines::conductivity_critical_simplified_Olchowy_Sengers(*this); break;
|
||||
case ConductivityCriticalVariables::CONDUCTIVITY_CRITICAL_R123:
|
||||
lambda_critical = TransportRoutines::conductivity_critical_hardcoded_R123(*this); break;
|
||||
case ConductivityCriticalVariables::CONDUCTIVITY_CRITICAL_AMMONIA:
|
||||
lambda_critical = TransportRoutines::conductivity_critical_hardcoded_ammonia(*this); break;
|
||||
default:
|
||||
throw ValueError(format("critical conductivity type [%d] is invalid for fluid %s", components[0]->transport.viscosity_dilute.type, name().c_str()));
|
||||
}
|
||||
|
||||
@@ -710,4 +710,38 @@ long double TransportRoutines::conductivity_hardcoded_R23(HelmholtzEOSMixtureBac
|
||||
return (pow((rhoL-rhobar)/rhoL,C1)*lambda_DG+pow(rhobar/rhoL,C1)*lambda_L+DELTAlambda_c)/1e3;
|
||||
}
|
||||
|
||||
long double TransportRoutines::conductivity_critical_hardcoded_ammonia(HelmholtzEOSMixtureBackend &HEOS){
|
||||
|
||||
/*
|
||||
From "Thermal Conductivity of Ammonia in a Large
|
||||
Temperature and Pressure Range Including the Critical Region"
|
||||
by R. Tufeu, D.Y. Ivanov, Y. Garrabos, B. Le Neindre,
|
||||
Bereicht der Bunsengesellschaft Phys. Chem. 88 (1984) 422-427
|
||||
*/
|
||||
|
||||
double T = HEOS.T(), Tc = 405.4, rhoc = 235, rho;
|
||||
double LAMBDA=1.2, nu=0.63, gamma =1.24, DELTA=0.50,t,zeta_0_plus=1.34e-10,a_zeta=1,GAMMA_0_plus=0.423e-8;
|
||||
double pi=3.141592654,a_chi,k_B=1.3806504e-23,X_T,DELTA_lambda,dPdT,eta_B,DELTA_lambda_id,DELTA_lambda_i;
|
||||
|
||||
rho = HEOS.keyed_output(CoolProp::iDmass);
|
||||
t = fabs((T-Tc)/Tc);
|
||||
a_chi = a_zeta/0.7;
|
||||
eta_B = (2.60+1.6*t)*1e-5;
|
||||
dPdT = (2.18-0.12/exp(17.8*t))*1e5; // [Pa-K]
|
||||
X_T = 0.61*rhoc+16.5*log(t);
|
||||
// Along the critical isochore (only a function of temperature) (Eq. 9)
|
||||
DELTA_lambda_i = LAMBDA*(k_B*T*T)/(6*pi*eta_B*(zeta_0_plus*pow(t,-nu)*(1+a_zeta*pow(t,DELTA))))*dPdT*dPdT*GAMMA_0_plus*pow(t,-gamma)*(1+a_chi*pow(t,DELTA));
|
||||
DELTA_lambda_id = DELTA_lambda_i*exp(-36*t*t);
|
||||
if (rho < 0.6*rhoc)
|
||||
{
|
||||
DELTA_lambda = DELTA_lambda_id*(X_T*X_T)/(X_T*X_T+powInt(0.6*rhoc-0.96*rhoc,2))*powInt(rho,2)/powInt(0.6*rhoc,2);
|
||||
}
|
||||
else
|
||||
{
|
||||
DELTA_lambda = DELTA_lambda_id*(X_T*X_T)/(X_T*X_T+powInt(rho-0.96*rhoc,2));
|
||||
}
|
||||
|
||||
return DELTA_lambda;
|
||||
}
|
||||
|
||||
}; /* namespace CoolProp */
|
||||
@@ -169,6 +169,8 @@ public:
|
||||
static long double conductivity_hardcoded_water(HelmholtzEOSMixtureBackend &HEOS);
|
||||
static long double conductivity_hardcoded_R23(HelmholtzEOSMixtureBackend &HEOS);
|
||||
|
||||
static long double conductivity_critical_hardcoded_ammonia(HelmholtzEOSMixtureBackend &HEOS);
|
||||
|
||||
|
||||
}; /* class TransportRoutines */
|
||||
|
||||
|
||||
@@ -407,9 +407,12 @@ vel("Water", "T", 647.35, "Dmass", 422, "L", 448.883487e-3, 1e-6),
|
||||
vel("Water", "T", 647.35, "Dmass", 750, "L", 600.961346e-3, 1e-6),
|
||||
|
||||
// From Shan, ASHRAE, 2000
|
||||
vel("R23", "T", 180, "Dmolar", 21097, "V", 143.19e-3, 1e-4),
|
||||
vel("R23", "T", 420, "Dmolar", 7564, "V", 50.19e-3, 1e-4),
|
||||
vel("R23", "T", 370, "Dmolar", 32.62, "V", 17.455e-3, 1e-4),
|
||||
vel("R23", "T", 180, "Dmolar", 21097, "L", 143.19e-3, 1e-4),
|
||||
vel("R23", "T", 420, "Dmolar", 7564, "L", 50.19e-3, 1e-4),
|
||||
vel("R23", "T", 370, "Dmolar", 32.62, "L", 17.455e-3, 1e-4),
|
||||
|
||||
vel("Ammonia", "T", 310, "Dmolar", 34320, "L", 0.45223303481784971, 1e-4),
|
||||
vel("Ammonia", "T", 395, "Q", 0, "L", 0.2264480769301, 1e-4),
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user