Open bryanwweber opened 4 years ago
FWIW, here's a list of substances currently included
In [1]: import CoolProp.CoolProp as cp
In [2]: list = cp.FluidsList()
...: len(cp.FluidsList())
Out[2]: 123
In [3]: while len(list):
...: print(', '.join(list[:10]) + [‘ ’])
...: list = list[10:]
...:
1-Butene, Acetone, Air, Ammonia, Argon, Benzene, CarbonDioxide, CarbonMonoxide, CarbonylSulfide, CycloHexane,
CycloPropane, Cyclopentane, D4, D5, D6, Deuterium, Dichloroethane, DiethylEther, DimethylCarbonate, DimethylEther,
Ethane, Ethanol, EthylBenzene, Ethylene, EthyleneOxide, Fluorine, HFE143m, HeavyWater, Helium, Hydrogen,
HydrogenChloride, HydrogenSulfide, IsoButane, IsoButene, Isohexane, Isopentane, Krypton, MD2M, MD3M, MD4M,
MDM, MM, Methane, Methanol, MethylLinoleate, MethylLinolenate, MethylOleate, MethylPalmitate, MethylStearate, Neon,
Neopentane, Nitrogen, NitrousOxide, Novec649, OrthoDeuterium, OrthoHydrogen, Oxygen, ParaDeuterium, ParaHydrogen, Propylene,
Propyne, R11, R113, R114, R115, R116, R12, R123, R1233zd(E), R1234yf,
R1234ze(E), R1234ze(Z), R124, R1243zf, R125, R13, R134a, R13I1, R14, R141b,
R142b, R143a, R152A, R161, R21, R218, R22, R227EA, R23, R236EA,
R236FA, R245ca, R245fa, R32, R365MFC, R40, R404A, R407C, R41, R410A,
R507A, RC318, SES36, SulfurDioxide, SulfurHexafluoride, Toluene, Water, Xenon, cis-2-Butene, m-Xylene,
n-Butane, n-Decane, n-Dodecane, n-Heptane, n-Hexane, n-Nonane, n-Octane, n-Pentane, n-Propane, n-Undecane,
o-Xylene, p-Xylene, trans-2-Butene,
One additional comment is that it would probably make sense to wrap CoolProp into a generic SpeciesThermo
object, and build a light-weight SingleSpecies
thermo object around it (I.e. a PureFluid
), which is different from the current tpx
approach (and the incomplete implementation of the IAPWS water classes).
CoolProp supports an entire host of EOS, see the low level backend AbstractState
and it’s associated factory
.
Is this still being considered? This would be very useful to me, as I have several algorithms that need to calculate the thermodynamic properties of mixtures and are designed to interface with a ct.ThermoPhase
object, and it would be useful to be able to leverage CoolProp without having to wrap CP.AbstractState
and ct.Solution
into a generic thermo object to standardize the interface in my code.
Yes, this is definitely being considered. If you'd like to take a shot at implementing it, I'd be happy to give some pointers. Feel free to send an email to the address associated with my GH profile.
Idea
Cantera currently provides equations of state for a limited number of pure substances covering the liquid/vapor/supercritical regions. The goal of this project would be to introduce a new class to wrap the CoolProp library and provide access to its large range of equations of state within Cantera.
Difficulty
Medium
Required Knowledge
C++
Mentors
@decaluwe
References