CalebBell / thermo

Thermodynamics and Phase Equilibrium component of Chemical Engineering Design Library (ChEDL)
MIT License
594 stars 114 forks source link

Examples on Raoult's Law PT Flash #145

Open mikeyj777 opened 8 months ago

mikeyj777 commented 8 months ago

Apologies in advance. This is not an issue, but I did not know the best channel to contact with a question. Looking thru the documentation, I could not find the appropriate method for conducting a PT flash based purely on Raoult's law.

Here's my completely incorrect attempt:

temp_k = 20.5348335245354+273.15
constants, properties = ChemicalConstantsPackage.from_IDs(['methylamine', 'water'])
eos_kwargs = {'Pcs': constants.Pcs, 'Tcs': constants.Tcs, 'omegas': constants.omegas}
gas = CEOSGas(IGMIX, eos_kwargs=eos_kwargs, HeatCapacityGases=properties.HeatCapacityGases)
liquid = IdealSolution()
flasher = FlashVL(constants, properties, liquid=liquid, gas=gas)
S1 = EquilibriumStream(flasher=flasher, T=temp_k, P=101325, ns=[0.330715706528651,0])
S2 = EquilibriumStream(flasher=flasher, T=temp_k, P=101325, ns=[0,0.6692842934713491])
ns_out = [na+nb for na, nb in zip(S1.ns, S2.ns)]
S3 = EquilibriumStream(flasher=flasher, P=101325, ns=ns_out, T=temp_k)