Added REFPROP names for all fluids - renovated get_fluid_param_string

This commit is contained in:
Ian Bell
2014-06-01 20:20:33 +02:00
parent 3168f15efc
commit 261ec01c71
118 changed files with 238 additions and 136 deletions

View File

@@ -791,6 +791,12 @@ public:
fluid.name = fluid_json["NAME"].GetString(); name_vector.push_back(fluid.name);
// CAS number
fluid.CAS = fluid_json["CAS"].GetString();
if (!fluid_json.HasMember("REFPROP_NAME"))
{
std::cout << fluid.name << std::endl;
}
// REFPROP alias
fluid.REFPROPname = fluid_json["REFPROP_NAME"].GetString();
// Critical state
parse_crit_state(fluid_json["CRITICAL"], fluid);

View File

@@ -29,7 +29,6 @@
#include "Backends/Helmholtz/Fluids/FluidLibrary.h"
#include "Backends/Helmholtz/HelmholtzEOSBackend.h"
namespace CoolProp
{
@@ -722,7 +721,8 @@ std::string get_BibTeXKey(std::string Ref, std::string key)
else if (!key.compare("VISCOSITY")){ return HEOS.get_components()[0]->transport.BibTeX_viscosity; }
else if (!key.compare("CONDUCTIVITY")){ return HEOS.get_components()[0]->transport.BibTeX_conductivity; }
else if (!key.compare("ECS_LENNARD_JONES")){ throw NotImplementedError(); }
else if (!key.compare("ECS_FITS")){ throw NotImplementedError(); }
else if (!key.compare("ECS_VISCSOSITY_FITS")){ throw NotImplementedError(); }
else if (!key.compare("ECS_CONDUCTIVITY_FITS")){ throw NotImplementedError(); }
else if (!key.compare("SURFACE_TENSION")){ return HEOS.get_components()[0]->ancillaries.surface_tension.BibTeX;}
else{ return "Bad key";}
}
@@ -751,59 +751,41 @@ std::string get_global_param_string(std::string ParamName)
return format("Input value [%s] is invalid",ParamName.c_str()).c_str();
}
};
//std::string get_fluid_param_string(std::string FluidName, std::string ParamName)
//{
// try{
// pFluid = Fluids.get_fluid(FluidName);
// // Didn't work
// if (pFluid == NULL){
// err_string=std::string("CoolProp error: ").append(format("%s is an invalid fluid for get_fluid_param_string",FluidName.c_str()));
// return format("%s is an invalid fluid for get_fluid_param_string",FluidName.c_str()).c_str();
// }
// else{
// if (!ParamName.compare("aliases"))
// {
// std::vector<std::string> v = pFluid->get_aliases();
// return strjoin(v,", ");
// }
// else if (!ParamName.compare("CAS") || !ParamName.compare("CAS_number"))
// {
// return pFluid->params.CAS;
// }
// else if (!ParamName.compare("ASHRAE34"))
// {
// return pFluid->environment.ASHRAE34;
// }
// else if (!ParamName.compare("REFPROPName") || !ParamName.compare("REFPROP_name") || !ParamName.compare("REFPROPname"))
// {
// return pFluid->get_REFPROPname();
// }
// else if (!ParamName.compare("TTSE_mode"))
// {
// int mode = pFluid->TTSESinglePhase.get_mode();
// switch (mode)
// {
// case TTSE_MODE_TTSE:
// return "TTSE";
// case TTSE_MODE_BICUBIC:
// return "BICUBIC";
// default:
// throw ValueError("TTSE mode is invalid");
// }
// }
// else
// {
// return format("Input value [%s] is invalid for Fluid [%s]",ParamName.c_str(),FluidName.c_str()).c_str();
// }
// }
// }
// catch(std::exception &e)
// {
// return(std::string("CoolProp error: ").append(e.what()));
// }
// catch(...){
// return(std::string("CoolProp error: Indeterminate error"));
// }
//}
std::string get_fluid_param_string(std::string FluidName, std::string ParamName)
{
try{
std::tr1::shared_ptr<CoolProp::HelmholtzEOSMixtureBackend> HEOS(new CoolProp::HelmholtzEOSMixtureBackend(std::vector<std::string>(1,FluidName)));
CoolProp::CoolPropFluid *fluid = HEOS->get_components()[0];
if (!ParamName.compare("aliases"))
{
return strjoin(fluid->aliases, ", ");
}
else if (!ParamName.compare("CAS") || !ParamName.compare("CAS_number"))
{
return fluid->CAS;
}
else if (!ParamName.compare("ASHRAE34"))
{
return fluid->environment.ASHRAE34;
}
else if (!ParamName.compare("REFPROPName") || !ParamName.compare("REFPROP_name") || !ParamName.compare("REFPROPname"))
{
return fluid->REFPROPname;
}
else
{
return format("Input value [%s] is invalid for Fluid [%s]",ParamName.c_str(),FluidName.c_str()).c_str();
}
}
catch(std::exception &e)
{
return(std::string("CoolProp error: ").append(e.what()));
}
catch(...){
return(std::string("CoolProp error: Indeterminate error"));
}
}
} /* namespace CoolProp */

View File

@@ -134,7 +134,7 @@ int main()
}
if (1)
{
std::string RPname = get_fluid_param_string("Water","REFPROPname");
std::string s = get_BibTeXKey("n-Propane", "rr");
std::vector<std::string> tags;