CalebBell / thermo

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

results for viscosity and density of water/glycol mix #3

Closed LeeRuns closed 6 years ago

LeeRuns commented 7 years ago

1st off let me say thank you for working on this tool. This package adds huge functionality to the python library....

I was using the thermo package to evaluate solution properties of several water/glycol mixes, and the density, dynamic viscosity, and kinematic viscosity values seemed pretty far off.

here are the 3 solutions:

her is my code `import numpy as np import scipy.stats as st import scipy as sp import math from thermo.chemical import Mixture Mix1=Mixture(['glycerol','water'],ws=[0.3,0.7],T=20+273,P=101325) Mix2=Mixture(['glycerol','water'],ws=[0.5,0.5],T=20+273,P=101325) Mix3=Mixture(['glycerol','water'],ws=[0.7,0.3],T=20+273,P=101325)

print('''30/70 Solution\n Density={:.5}\n Viscosity={:.5}\n KinematicViscosity={:.5} \n50/50 Solution\n Density={:.5}\n Viscosity={:.5}\n KinematicViscosity={:.5} \n70/30 Solution\n Density={:.5}\n Viscosity={:.5}\n KinematicViscosity={:.5}\n\n'''.format( Mix1.rho,Mix1.mu,Mix1.mu/Mix1.rho, Mix2.rho,Mix2.mu,Mix2.mu/Mix2.rho, Mix3.rho,Mix3.mu,Mix3.mu/Mix3.rho))`

however i think the values should be pretty different than the ones I'm getting. For example a 30/70 glycerol/water mix should have a much smaller density than a 70/30 glyceral water mix.

image

LeeRuns commented 7 years ago

i know the units are different than the default values that are present in thermopy but if i manually do a unit conversion they still don't line up.

CalebBell commented 7 years ago

Hello Lee,

Thank you for your feedback. You are using the library correctly - the data just doesn't match up. In this case, there is no experimental data or data fits to provide accurate data for the viscosity of glycerol. There is also no experimental data included for the liquid density of glycerol. This library has attempted to incorporate as many predictive methods as possible for those cases, but liquid viscosity is easily the hardest to predict. The two methods implemented, Letsou_Stiel and Przedziecki_Sridhar provide obscenely low estimates. They are not designed for polar compounds.

Estimation methods will probably never work for chemicals like Glycerol. I would definitely like another source of data for viscosity. Do you know of any good reference works including data for many chemicals? Because I am attempting to have data for such a large number of chemicals, it would be unsustainable for me to add a fit for the single chemical Glycerol, although it would be easy to do.

In the mean time, you may wish to implement the method described here: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.613.9220&rep=rep1&type=pdf Although I do not have a fix for this issue for you right now, please continue to file any bugs you find. This will help me prioritize what to work on. I will leave the bug open until I have better data for this mixture.

Sincerely, Caleb

LeeRuns commented 7 years ago

What are your current data sources. Like all other ChemE's I would like to have everything from Perry's handbook loaded into a db that I could query and manipulate. You used pub chem, but I think there are some other resources out there we could leverage. Let me do some digging and I'll see what I can find. I know AICHE took over BYU's chemical engineering db, and I don't have the familiarity to run text recognition and read a pdf. But maybe if we broke out certain table's from Prerry's Handbook we could see improvements. Tesseract could be a viable solution for this.

LeeRuns commented 7 years ago

I'll start to post some locations we could investigate:

CalebBell commented 7 years ago

I have found a source with viscosity data for Glycerol. The VDI handbook has an equations for ~200 chemical's thermal properties. It takes me some time to add a new source, but I will post here when it is added.

Data for ~350 chemicals from the DIPPR database are available in Perry's, which I have been digitizing for some time. I added some if it over the past few days, and will push those changes to pypi in the near future. However, glycerol is not one of those compounds.

CalebBell commented 7 years ago

The more time consuming phase, digitizing the table for viscosity for several hundred components in the table, is complete as of today. Adding it as a data source will hopefully not take so long.

CalebBell commented 7 years ago

Hello Lee,

Pure-species densities and viscosities for glycerol have been added with the latest version. The mixture properties are much closer than they were before. However, there are still large discrepancies - for instance, the viscosity 70/30 glycerol/water point being 9.3 cP instead of 21.5 cP as in the above table. This is simply due to the nature of the mixing rules used. There may be better mixing rules out there. That's where the problem is now, not with pure species data. For instance, the COSTALD mixing rule used for liquid density is actually less accurate in this case than a mole-weighted average!

Sincerely, Caleb

Christian-Kr commented 7 years ago

How about a warning message when using a calculation method which estimate a value without fitting on experimental data. Just to let anybody know, that the result may be to far away from real values.

Greetings

LeeRuns commented 6 years ago

sorry i had forgotten to close that!