thermo icon indicating copy to clipboard operation
thermo copied to clipboard

Insufficient warning when an estimation method with low accuracy is used

Open CalebBell opened this issue 7 years ago • 1 comments

Currently the library provides no warning when an estimation method is used to calculate a chemical property. This was exemplified in #3 , where glycerol has no accurate viscosity data at the time and the estimation methods Letsou_Stiel and Przedziecki_Sridhar worked terribly but without any warning.

It might be a good idea to provide a warning when an inaccurate estimation method is used, or to provide an overall description of the quality of the data for a chemical, or to attempt to quantify the error of a property.

It would be straightforward to generate a warning, using the warnings module, whenever a low-accuracy estimation method is called. However, how often should they be generated? If a plotting command is used and the estimation method is used repeatedly, generating a warning for each calculation would not be desirable. Furthermore, some caching is used to store chemical properties for future use. The caching layer does not know what method was used, and if it is accurate or not.

One more pain point - Many of the VDI PPDS coefficients are regressed from estimated data using the same methods used in the library. The same applies for what DIPPR data are available. Even the TRC ideal gas heat capacity database contains plenty of estimated data using the Benson method. None of these sources state which chemicals have estimated data and which do not. Some coefficient sources, such as the VDI PPDS coefficients, do not even have a temperature range specified, and definitely stop working at very low and very temperatures - some crude measurements based on properties derivatives are currently used to limit these coefficients.

The long-term solution is to do what NIST's Thermodynamics Research Center does - collect experimental data, regress coefficients, and estimate uncertainties based on that.

Considering the above, there is no obvious path for when to generate warnings. Please share any thoughts - use cases, issues when you were surprised by a low-accuracy datum, or other suggestions about providing warnings to the user here.

CalebBell avatar Mar 06 '17 21:03 CalebBell

Since you know in advance which compounds have experimental data available or not, you can generate a field for each temperature/pressure-dependent property, i.e. ExperimentalDataAvailable = true/false.

DWSIM would greatly benefit from this feature, as I would have a mechanism to tell the user whether the compound property is estimated or not. If estimated, I assume that the library chose the best method to do so.

DanWBR avatar Mar 15 '17 12:03 DanWBR