Skip to content
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

Add poisson-boltzmann to the SCRF #450

Merged
merged 31 commits into from
Feb 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
0358db7
add poisson-boltzmann to the SCRF
Gabrielgerez Apr 17, 2023
b638759
PB working as intended (within a reasonable domain)
Gabrielgerez Apr 24, 2023
2d39582
add test for linearized pb
Gabrielgerez Apr 26, 2023
9432d70
Rename SCRF to GPESolver in preparation for
Gabrielgerez Sep 25, 2023
4525674
Add new test references to pb and lpb solvent
Gabrielgerez Oct 2, 2023
6fd5706
fix tests for pb solver
Gabrielgerez Nov 14, 2023
1f518a9
Add documentation to the solvent classes
Gabrielgerez Nov 17, 2023
32c4f60
Add DHScreening to the StepFunction hierarchy
Gabrielgerez Nov 21, 2023
1b84538
Reorder includes
Gabrielgerez Nov 22, 2023
53a4b23
Update python/template.yml
Gabrielgerez Nov 24, 2023
b48ebd4
Update python/mrchem/api.py
Gabrielgerez Nov 24, 2023
c327bce
Post-rebase fixes
robertodr Nov 28, 2023
df8a553
Formatting
robertodr Nov 28, 2023
2c2657d
debugging
Gabrielgerez Feb 5, 2024
3c59a06
more debugging
Gabrielgerez Feb 5, 2024
ab73b3e
even more debugging
Gabrielgerez Feb 5, 2024
19fe148
BUGFIX in PB_solver.cpp: rho_el was not zero and the ordering of the …
Gabrielgerez Feb 5, 2024
a66af6a
real BUGFIX: same as above but relax the thrs, we are running it with…
Gabrielgerez Feb 5, 2024
3d86876
attempt to fix test error
Gabrielgerez Feb 5, 2024
a56b539
update python version for tests
Gabrielgerez Feb 5, 2024
561356c
update python version for singularity images
Gabrielgerez Feb 6, 2024
a18be77
update python version for circleci config
Gabrielgerez Feb 6, 2024
b193efe
Use newer base image with CircleCI
robertodr Feb 6, 2024
8fdf308
update minimum python requirements in installation.rst
Gabrielgerez Feb 6, 2024
627f6fb
create cavity even if we are running pb or lpb
Gabrielgerez Feb 6, 2024
5394e71
use proper dividor
Gabrielgerez Feb 6, 2024
74dadcc
Be more consistent
Gabrielgerez Feb 6, 2024
4830747
Update input for PCM
Gabrielgerez Feb 8, 2024
09e7ae1
rebase fix
Gabrielgerez Feb 8, 2024
c702121
rebase fix
Gabrielgerez Feb 8, 2024
1238bd9
all tests passing and PB_solver is correct
Gabrielgerez Feb 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
version: 2

variables:
ubuntu-2004: &ubuntu-2004
ubuntu-2204: &ubuntu-2204
docker:
- image: ghcr.io/mrchemsoft/metamr/circleci_ubuntu-20.04:sha-343e011
- image: ghcr.io/mrchemsoft/metamr/circleci_ubuntu-22.04:sha-9f6ecd4
name: tsubame
user: merzbow
working_directory: ~/mrchem
Expand Down Expand Up @@ -52,14 +52,14 @@ variables:

jobs:
serial-py3:
<<: *ubuntu-2004
<<: *ubuntu-2204
steps:
- checkout
- *configure-serial
- *build
- *tests
omp-py3:
<<: *ubuntu-2004
<<: *ubuntu-2204
environment:
- OMP_NUM_THREADS: '2'
steps:
Expand All @@ -68,7 +68,7 @@ jobs:
- *build
- *tests
mpi-py3:
<<: *ubuntu-2004
<<: *ubuntu-2204
steps:
- checkout
- *configure-mpi
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,19 +42,19 @@ jobs:
activate-environment: mrchem-gha
environment-file: .github/mrchem-gha.yml
channel-priority: true
python-version: 3.6
python-version: 3.9
use-only-tar-bz2: true # IMPORTANT: This needs to be set for caching to work properly!

- name: Configure
shell: bash -l {0}
run: |
python ./setup --type=$BUILD_TYPE --omp --arch-flags=false --generator=Ninja --prefix=$GITHUB_WORKSPACE/Software/MRChem build

- name: Build
shell: bash -l {0}
run: |
cmake --build build --config $BUILD_TYPE --target install -- -v -d stats

- name: Test
shell: bash -l {0}
run: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/code-coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,18 @@ jobs:
activate-environment: mrchem-codecov
environment-file: .github/mrchem-codecov.yml
channel-priority: true
python-version: 3.6
python-version: 3.9

- name: Configure
shell: bash -l {0}
run: |
python ./setup --type=$BUILD_TYPE --arch-flags=false --coverage --generator=Ninja --prefix=$GITHUB_WORKSPACE/Software/MRChem build

- name: Build
shell: bash -l {0}
run: |
cmake --build build --config $BUILD_TYPE --target install -- -v -d stats

- name: Test MRChem and generate coverage report
shell: bash -l {0}
run: |
Expand Down
2 changes: 2 additions & 0 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ Features in MRChem-1.1:
- Electric field
+ Solvent effects
- Cavity-free PCM
- Poisson-Boltzmann PCM
- Linearized Poisson-Boltzmann PCM
* Properties:
+ Ground state energy
+ Dipole moment
Expand Down
2 changes: 1 addition & 1 deletion doc/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Installation
Build prerequisites
-------------------

- Python-3.7 (or later)
- Python-3.9 (or later)
- CMake-3.14 (or later)
- GNU-5.4 or Intel-17 (or later) compilers (C++14 standard)

Expand Down
31 changes: 29 additions & 2 deletions doc/programmers/code_reference/environment.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,38 @@ Permittivity
:protected-members:
:private-members:

SCRF
DHScreening
------------

.. doxygenclass:: mrchem::SCRF
.. doxygenclass:: mrchem::DHScreening
:project: MRChem
:members:
:protected-members:
:private-members:

GPESolver
------------

.. doxygenclass:: mrchem::GPESolver
:project: MRChem
:members:
:protected-members:
:private-members:

PBESolver
------------

.. doxygenclass:: mrchem::PBESolver
:project: MRChem
:members:
:protected-members:
:private-members:

LPBESolver
------------

.. doxygenclass:: mrchem::LPBESolver
:project: MRChem
:members:
:protected-members:
:private-members:
18 changes: 17 additions & 1 deletion doc/programming.bib
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,6 @@ @article{Fosso-Tande2013
abstract = {We describe and present results of the implementation of the surface and volume polarization for electrostatics (SVPE) solvation model. Unlike most other implementations of the solvation model where the solute and the solvent are described with multiple numerical representations, our implementation uses a multiresolution, adaptive multiwavelet basis to describe both the solute and the solvent. This requires reformulation to use integral equations throughout as well as a conscious management of numerical properties of the basis. {\textcopyright} 2013 Elsevier B.V. All rights reserved.},
author = {Fosso-Tande, Jacob and Harrison, Robert J.},
doi = {10.1016/j.cplett.2013.01.065},
file = {:home/ggerez/.local/share/data/Mendeley Ltd./Mendeley Desktop/Downloaded/Fosso-Tande, Harrison - 2013 - Implicit solvation models in a multiresolution multiwavelet basis.pdf:pdf},
issn = {00092614},
journal = {Chem. Phys. Lett.},
pages = {179--184},
Expand All @@ -343,3 +342,20 @@ @article{Fosso-Tande2013
year = {2013}
}

@article{gerez2023,
author = {Gerez S, Gabriel A. and Di Remigio Eikås, Roberto and Jensen, Stig Rune and Bjørgve, Magnar and Frediani, Luca},
title = {Cavity-Free Continuum Solvation: Implementation and Parametrization in a Multiwavelet Framework},
journal = {Journal of Chemical Theory and Computation},
volume = {19},
number = {7},
pages = {1986-1997},
year = {2023},
doi = {10.1021/acs.jctc.2c01098},
note ={PMID: 36933225},
URL = {
https://doi.org/10.1021/acs.jctc.2c01098
},
eprint = {
https://doi.org/10.1021/acs.jctc.2c01098
}
}
8 changes: 7 additions & 1 deletion doc/users/user_inp.rst
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ as the ``world_origin`` is the true origin).
WaveFunction
------------

Here we give the wavefunction method and whether we run spin restricted (alpha
Here we give the wavefunction method, environment used (for solvent models) and whether we run spin restricted (alpha
and beta spins are forced to occupy the same spatial orbitals) or not (method
must be specified, otherwise defaults are shown):

Expand All @@ -203,6 +203,7 @@ must be specified, otherwise defaults are shown):
WaveFunction {
method = <wavefunction_method> # Core, Hartree, HF or DFT
restricted = true # Spin restricted/unrestricted
environment = pcm # Environment (pcm, pcm-pb, pcm-lpb) defaults to none
}

There are currently four methods available: Core Hamiltonian, Hartree,
Expand All @@ -212,6 +213,11 @@ B3LYP``), *or* you can set ``method = DFT`` and specify a "non-standard"
functional in the separate DFT section (see below). See
:ref:`User input reference` for a list of available default functionals.

The solvent model implemented is a cavity free PCM, described in :cite:`gerez2023`.
In this model we have implemented the Generalized Poisson equation solver, keyword ``pcm``, a
Poisson-Boltzmann solver, keyword ``pcm-pb`` and a Linearized Poisson-Boltzmann solver, keyword ``pcm-lpb``.
Further details for the calculation have to be included in the ``PCM`` section, see :ref: `User input reference` for details.

.. note::

Restricted open-shell wavefunctions are not supported.
Expand Down
Loading
Loading