View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003480||OpenFOAM||Bug||public||2020-04-14 13:14||2020-04-18 14:21|
|Fixed in Version|
|Summary||0003480: Error in a fomula of the lagrangian library at /PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C|
|Description||At line 197 to calculate the vapor concentration at surface: const scalar Cs = pSat/(RR*Ts);. Here, `Cs` is supposed to be the surface vapor concentration of component i.|
According to Raoult's law, the partial pressure of each component of an ideal mixture of liquids is equal to the vapour pressure of the pure component multiplied by its mole fraction in the mixture. The partial vapor pressure of component i can be calculated with `ps = X[lid]*pSat`, and the corresponding vapor concentration should be `Cs = X[lid] * pSat/(RR*Ts)`.
|Tags||No tags attached.|
Just looking at the code, I agree with you. However, the code is not straightforward, and I can't be 100% sure. I need some evidence that the current implementation is wrong and that your proposal is correct. This is a commonly used model; we can't just change it on a hunch. Do you have any evidence?
It seems to me that you could prove the correct-ness of this model in the presence of multiple species by creating two cases that simulate the evaporation of a single drop (potentially in a single cell). The drop in the first case would be 100% water. The second would be 50% water and 50% some other species with identical properties to water. If the results were the same, then the handling of Raoult's law would be proven consistent. Can you construct such a test?
||I agree with you, and the proposed test case is convincing. I will try it later.|