Files
CoolProp/include/PCSAFTFluid.h
2019-12-12 23:11:27 -07:00

53 lines
1.7 KiB
C++

#ifndef PCSAFTFLUID_H
#define PCSAFTFLUID_H
#include <string>
#include <vector>
#include <map>
#include "rapidjson_include.h"
namespace CoolProp {
struct PCSAFTValues {
CoolPropDbl m; ///< Number of segments
CoolPropDbl sigma; ///< Segment diameter (1/Angstrom)
CoolPropDbl u; ///< Dispersion energy divided by Boltzmann constant (K)
CoolPropDbl uAB; ///< Association energy (K)
CoolPropDbl volA; ///< Association volume
CoolPropDbl dipm; ///< Dipole moment (Debye)
CoolPropDbl dipnum; ///< Number of dipole moments per molecule
CoolPropDbl z; ///< Charge of the compound
};
class PCSAFTFluid {
protected:
std::string name; // name of fluid
std::string CAS; // CAS number
CoolPropDbl molemass; ///< Molar mass (kg/mol)
std::vector<std::string> aliases;
PCSAFTValues params;
public:
PCSAFTFluid(){};
PCSAFTFluid(rapidjson::Value::ValueIterator itr);
~PCSAFTFluid(){};
std::string getName() const {return name;}
std::string getCAS() const {return CAS;}
CoolPropDbl molar_mass() const {return molemass;}
std::vector<std::string> getAliases() const {return aliases;}
CoolPropDbl getM() const {return params.m;}
CoolPropDbl getSigma() const {return params.sigma;}
CoolPropDbl getU() const {return params.u;}
CoolPropDbl getUAB() const {return params.uAB;}
CoolPropDbl getVolA() const {return params.volA;}
CoolPropDbl getDipm() const {return params.dipm;}
CoolPropDbl getDipnum() const {return params.dipnum;}
CoolPropDbl getZ() const {return params.z;}
void calc_water_sigma(double t);
};
} /* namespace CoolProp */
#endif /* PCSAFTFLUID_H_ */