Closed mnottoli closed 1 year ago
This is the last of the three pull requests. @mfherbst, I will send you further information.
All the tests (Python, Fortran, Psi4) are passing.
This builds up on #148. To close this, we can do the following. After #148 gets merged I would suggest creating a new local branch, cherry-picking all the relevant commit from this PR (from a444609 on) and then rebasing on the new main. After that, a git push --force can be used to overwrite the content of this PR, with the rebased PR. This avoids creating a new PR.
Rebase done, ready to be merged.
The old high level Fortran APIs were not properly done, and the C ones were missing. This pull request addresses these two problems and brings in some additional content to make future development easier.
This is a list of the content:
ddx_electrostatics_type
)ddsolve
has been implemented, this solves the linear systems and computes the energy and (if requested) the forces. Now, it uses the electrostatic properties container and optional arguments to avoid unnecessary allocations. A similar version is also implemented in C.ddinit
which is a wrapper aroundallocate_model
and uses optional arguments. This makes it possible to add future extensions without breaking retro-compatibility with software that it is not aware of the new arguments (e.g. in case of new models / new functionality that requires some settings).