-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarification/issue in SoftSAFT implementation #279
Comments
Huh, good catch. Not quite sure what happened there. Logically, this won't affect phase equilibrium calculations since it just adds a constant in both phases; perhaps that's why we never noticed the issue. I remember spending a week trying to figure out the soft-SAFT implementation and desperately trying whatever seemed reasonable at the time. |
One of the soft-SAFT people will be at the Boulder conference next week so perhaps we can get some clarity |
Oh yes, there are a few versions of soft-SAFT. In Clapeyron, we have two (see |
Yes, but the chain approach should be the same always, no? |
Do you mean the expression should be the same (i.e. use the Johnson correlation) or the use of WTPT1? If its the latter then yes, that's a hard requirement for all SAFTs. However, I do believe different correlations exist for the PDF of an LJ. |
I mean whether what arguments go into
|
Yes, the chain approach is the same, |
You sort of already have this in your model hierarchy, but I am working on a generic SAFT model in teqp at the moment that allows you to specify the nonpolar contribution, the polar contribution (not yet implemented) and the association contribution independently so you can plug-and-play with models and don't have to name each individual model combination uniquely. The model permutations result in a lot of names as I know you realize. |
I see what you mean now. I think I got those mixing rules from one of the papers... Your idea of being able to swap out the different terms sounds very powerful! For the association term, Im guessing it will just be the association strength that changes? |
I think that is correct about association. But it is implemented very generically in the code - you just provide |
i just saw the code, impressive.
|
I have added more to the generic SAFT approach, it is quite nice. You can pass any flags you want to each portion via the JSON data structure that the portion consumes. I have been doing model parameterization with this new approach and it is working well. Adding all the things you mention would be possible, if the underlying sub-model supports it. This overall structure makes adding model variants very easy. The compilation time is a killer though with all the different options. I have explicitly not considered volume translation for two reasons: 1) it impacts properties in subtle ways that are not trivial and not always consistent (see the papers from the group of Jaubert) 2) it requires major changes to the library to account for which densities (volumes) are shifted and which are not. I figure it makes sense to force the user to engage their brain as a post-processing step so that they think about the consequences of volume translation. |
I can't figure out whether I am not understanding things or whether there is a typo in the implementation in Clapeyron.jl, but in the Soft-SAFT model, the implementation has:
https://github.com/ClapeyronThermo/Clapeyron.jl/blob/0a2ea2162603c83a8726f70150d49e6eded4c9cf/src/models/SAFT/softSAFT/softSAFT.jl#L165C1-L169C4
while the paper from Johnson has
and at contact,$r=\sigma$ and thus $\phi_{LJ}=0$ so $y_{LJ}=g_{LJ}$ . Or?
The implementation in Clapeyron.jl assumes that the potential would have a value of$-\epsilon$ to get the result in Clapeyron.jl which doesn't make sense to me.
The text was updated successfully, but these errors were encountered: