You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: doc/programming.bib
+17-1
Original file line number
Diff line number
Diff line change
@@ -333,7 +333,6 @@ @article{Fosso-Tande2013
333
333
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.},
334
334
author = {Fosso-Tande, Jacob and Harrison, Robert J.},
335
335
doi = {10.1016/j.cplett.2013.01.065},
336
-
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},
337
336
issn = {00092614},
338
337
journal = {Chem. Phys. Lett.},
339
338
pages = {179--184},
@@ -343,3 +342,20 @@ @article{Fosso-Tande2013
343
342
year = {2013}
344
343
}
345
344
345
+
@article{gerez2023,
346
+
author = {Gerez S, Gabriel A. and Di Remigio Eikås, Roberto and Jensen, Stig Rune and Bjørgve, Magnar and Frediani, Luca},
347
+
title = {Cavity-Free Continuum Solvation: Implementation and Parametrization in a Multiwavelet Framework},
348
+
journal = {Journal of Chemical Theory and Computation},
* where \f$N_a\f$ is the Avogadro constant, e is the elementary charge, \f$I_0\f$ is the concentration of the ions,
65
+
* \f$k_B\f$ is the Boltzmann constant, \f$T\f$ is the temperature, \f$\epsilon_{out}\f$ is the permittivity of the solvent and \f$\epsilon_{in}\f$ is the permittivity of free space.
* where \f$\epsilon(\mathbf{r})\f$ is the permittivity, \f$V(\mathbf{r})\f$ is the total electrostatic potential and \f$\rho(\mathbf{r})\f$ is the molecular charge density defined as:
* where \f$\rho_{el}\f$ is the electronic charge density and \f$\rho_{nuc}\f$ is the nuclear charge density.
45
+
* The Generalized Poisson equation is solved iteratively through a set of micro-iteration on each SCF-iteration by appliation of the Poisson operator \f$\mathcal{P}\f$ :cite:`Fosso-Tande2013`
* where \f$\gamma_s(\mathbf{r})\f$ is the surface charge distribution describing the polarization at the surface, \f$\rho_{eff}(\mathbf{r})\f$ is the effective charge density given by
50
+
* \f$\frac{\rho(\mathbf{r})}{\epsilon(\mathbf{r})}\f$ and \f$V_R(\mathbf{r})\f$ is the reaction potential.
51
+
*
52
+
* We utilize a so-called dynamic threshold to more easily converge the reaction potential. This is done by setting the convergence threshold of the micro-iterations to
53
+
* the MO update of the previous SCF iteration, unless the MO update is small enough (once the quality of the MOs is good enough, we use the default convergence threshold).
54
+
* Another optimization used is that we utilize the previous SCF converged Reaction potential as an initial guess for the next micro-iterations. These procedures are
55
+
* investigated and explained in :cite:`gerez2023`
36
56
*/
37
57
classNuclei;
38
58
classKAIN;
@@ -49,6 +69,12 @@ class GPESolver {
49
69
50
70
~GPESolver();
51
71
72
+
/** @brief Sets the convergence threshold for the micro-iterations, used with dynamic thresholding.
73
+
* @param prec value to set the convergence threshold to
74
+
* @return the current convergence threshold.
75
+
* @details will check if the MO update is small enough (ten times as big) wrt. to the scf convergence threshold, if so, it will use the default convergence threshold.
76
+
* If not, it will use the MO update as the convergence threshold.
* Each term represents the electronic and nuclear contributions to the reaction energy, respectively.
96
+
* We compute each term separately, and return a tuple containing both.
97
+
*/
61
98
autocomputeEnergies(const Density &rho_el) -> std::tuple<double, double>;
62
99
63
100
protected:
64
101
voidclear();
65
102
bool dynamic_thrs;
66
-
std::string density_type;
103
+
std::string density_type;//!< Decides which density we will use for computing the reaction potential, options are ``total``, ``electronic`` and ``nuclear``.
67
104
std::string solver_name = "Generalized Poisson";
68
105
69
106
int max_iter;
@@ -79,24 +116,93 @@ class GPESolver {
79
116
// another one could be to define a representable function which only has the exact analytical form of the nuclear contribution.
80
117
// Since we already have \nabla^2 V_nuc = -4*pi*rho_nuc (nuclear potential) we could use this as a way to bypass computing rho_nuc at all
81
118
// Same with the coulomb potential, which is basically what is left from V_vac after subtracting V_nuc. in one way we could just precompute both and
82
-
// just iterate through V_R only. Only issue here is (1 -1\varepsilon)/\varepsilon * \rho_nuc as I am not sure how to represent this as an analytitcal function,
119
+
// just iterate through V_R only. Only issue here is (1 -1\epsilon)/\epsilon * \rho_nuc as I am not sure how to represent this as an analytitcal function,
* where \f$\gamma_s(\mathbf{r})\f$ is the surface charge distribution describing the polarization at the surface, \f$\rho_{eff}(\mathbf{r})\f$ is the effective charge density given by
161
+
* \f$\frac{\rho(\mathbf{r})}{\epsilon(\mathbf{r})}\f$ and \f$V_R(\mathbf{r})\f$ is the reaction potential.
0 commit comments