-
Notifications
You must be signed in to change notification settings - Fork 42
Implementation of the ddX continuum solvation library #235
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?
Conversation
Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the pull request. Looking forward to see ddx with tblite in action.
Please carefully check the files you are committing to this pull request and avoid adding development files to the repository
src/tblite/api/solvation.f90
Outdated
@@ -82,15 +84,15 @@ function new_cpcm_solvation_epsilon_api(verr, vmol, eps) result(vcont) & | |||
end if | |||
call c_f_pointer(vmol, mol) | |||
|
|||
solvmodel%cpcm = cpcm_input(eps) | |||
solvmodel%ddx = ddx_input(eps, model) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does the model input get checked?
test/unit/declared_symbols.txt
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file probably also doesn't belong here
Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
Summary
With this pull request, an implementation of the ddX continuum solvation library (https://github.com/ddsolvation/ddX) is added, enabling the general use of the domain decomposition formalism for the three solvation models COSMO, PCM, and LPB.
Key changes
The legacy implementation (
cpcm.f90
andcpcm_dd.f90
) has been removed and replaced with a ddX interface, which is automatically invoked when one of the flags--cosmo
,--pcm
, or--lpb
is set. Consequently, all cpcm flags and references in the existing code structure have been adapted to now globally read ddX.Furthermore, the issue of ddCOSMO being non-variational (issue #1159) has been resolved, and unit tests have been added for maintenance.
Remarks
Some minor modifications have been made to the ddX subroutine
allocate_state
to address an issue with missing variable initialization. The ddX developers have been informed about this issue and are currently working on a global solution, which will be included in an upcoming separate pull request.While ddX is preferably built with CMake at the moment, a Meson build system has been set up and is currently in the queue to be merged into the ddX library (see PR: ddsolvation/ddX#157).
Once the pull request is approved, this new implementation will support both CMake and Meson.