Add ability to retrieve REFPROP version; closes #937

This commit is contained in:
Ian Bell
2016-01-21 22:26:03 -07:00
parent 3e528d32e5
commit 15184c5751
2 changed files with 17 additions and 1 deletions

View File

@@ -193,6 +193,20 @@ bool REFPROPMixtureBackend::REFPROP_supported () {
}
return false;
}
std::string REFPROPMixtureBackend::version(){
long N = -1;
long ierr = 0;
char fluids[10000] = "", hmx[] = "HMX.BNC", default_reference_state[] = "DEF", herr[255] = "";
bool REFPROP_ok = REFPROPMixtureBackend::REFPROP_supported();
SETUPdll(&N, fluids, hmx, default_reference_state,
&ierr, herr,
10000, // Length of component_string (see PASS_FTN.for from REFPROP)
refpropcharlength, // Length of path_HMX_BNC
lengthofreference, // Length of reference
errormessagelength // Length of error message
);
return strstrip(std::string(herr, herr+254));
}
void REFPROPMixtureBackend::set_REFPROP_fluids(const std::vector<std::string> &fluid_names)
{

View File

@@ -47,6 +47,8 @@ public:
std::string backend_name(void){return "REFPROPMixtureBackend";}
virtual ~REFPROPMixtureBackend();
static std::string version();
std::vector<std::string> calc_fluid_names(){return fluid_names;};
PhaseEnvelopeData PhaseEnvelope;
@@ -94,7 +96,7 @@ public:
void check_loaded_fluid(void);
/// Returns true if REFPROP is supported on this platform
bool REFPROP_supported(void);
static bool REFPROP_supported(void);
std::string fluid_param_string(const std::string &ParamName);