-
Notifications
You must be signed in to change notification settings - Fork 250
Add T-Dependent and ML Options for Solvation Corrections #2798
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
base: main
Are you sure you want to change the base?
Add T-Dependent and ML Options for Solvation Corrections #2798
Conversation
|
hi @BonhyeokKoo welcome to RMG world! Please tag me in this PR as needed, and as a reviewer when the time comes. Following up on some offline discussion, the following things need to happen to unblock this PR by adding support for Python 3.11:
|
|
This pull request is being automatically marked as stale because it has not received any interaction in the last 90 days. Please leave a comment if this is still a relevant pull request, otherwise it will automatically be closed in 30 days. |
|
Waiting for the Python version update |
|
This pull request is being automatically marked as stale because it has not received any interaction in the last 90 days. Please leave a comment if this is still a relevant pull request, otherwise it will automatically be closed in 30 days. |
Summary
This PR adds new options to RMG's liquid-phase thermochemistry pipeline, allowing users to enable temperature-dependent solvation correction and choose between LSER- or ML-based methods. Previously, RMG only supported LSER correction and did not support temperature dependence or ML-based corrections.
Motivation or Problem
Description of Changes
Add
MLSolvationclass tormgpy/data/solvation.pyMLEstimatorclass inmlEstimator.py.mlSolvationblock in the input file, with parameters:T_dep: Boolean to enable temperature-dependent model.method: One ofSoluteGC,SoluteML, orDirectML– specifying how to compute 298 K solvation properties.get_solvation_correction()uses the selected approach to compute solvation corrections at 298K.generate_solvation_model()returns either aTDepModelorStaticModel, depending on theT_depflag.Modify
rmgpy/thermo/thermoengine.pyandrmgpy/species.pysubmitfunction now includes a definition ofsolvationthermowhen a system is in the liquid phase.solvationthermois constructed usinggenerate_solvation_model()underMLSolvation.species.pyto store and accesssolvationthermo.Add solvation correction to
rmgpy/reaction.pyrmgpy/thermo/thermoengine.py. However, this approach posed challenges when integrating temperature-dependent models.rmgpy/reaction.pyat the point where thedGrxn(Gibbs free energy of reaction) is calculated. A solvation correction thermddGsolv(solvation free energy of reaction) is computed based on the solvation free energies of reactants and products. These values are from thesolvationthermoof each species.Update in
test/rmgpy/data/solvationTest.pySkip collision limit violation check in the liquid phase
rmgpy/rmg/main.pyare now skipped for reactions in the liquid phase because the check sweeps temperatures up to 2000K, but temperature-dependent solvation models are only valid below the solvent's critical temperature.Testing
T_dep=Trueyields aTDepModelandT_dep=Falsereturns aStaticModel.methodparameter correctly alters the computed solvation correction (SoluteGC,SoluteML, orDirectML). However, bothSoluteMLandDirectMLare currently implemented as dummy methods that return zero correction.