Closed CoolFact closed 2 years ago
Hi, There isn't enough data to work with that compound in Thermo, unfortunately.
I see,
is there a way to add the missing data manually?
Hi,
Kind of, now. I added an importer to pull data from Wikidata. As that is publicly editable, that means you can add the critical temperature, critical pressure, and boiling point to it. I can then re-run the importer, and make a new release of Chemicals, with the missing data.
A larger issue is that no one knows what the right numbers are, however.
I should also clarify that this is a limitation of the legacy Mixture interface. The newer interface that uses the ChemicalConstantsPackage object was designed specifically to let anything be input.
For example, adding (randomly guessed) properties of 1000 K boiling point, 1 MPa critical point pressure, 3000 K critical temperature, and -0.3 acentric factor, and using the peng robinson EOS, flash calculations can be performed easily.
chemicals = ['water', 'calcium hydroxide']
constants, properties = ChemicalConstantsPackage.from_IDs(chemicals)
constants = constants.with_new_constants(Tbs=[constants.Tbs[0], 1000], Pcs=[constants.Pcs[0], 1e6],
Tcs=[constants.Tcs[0], 3000], omegas=[constants.omegas[0], -.3])
eos_kwargs = {'Pcs': constants.Pcs, 'Tcs': constants.Tcs, 'omegas': constants.omegas}
gas = CEOSGas(PRMIX, eos_kwargs=eos_kwargs, HeatCapacityGases=properties.HeatCapacityGases)
liquid = CEOSLiquid(PRMIX, eos_kwargs=eos_kwargs, HeatCapacityGases=properties.HeatCapacityGases)
flasher = FlashVL(constants, properties, liquid=liquid, gas=gas)
res = flasher.flash(T=300, P=1e5, zs=[.5, .5])
I have trouble getting calcium based components to work in the mixture library, here is the Traceback for milk of lime: