Nonlocal SaLSA [34] solvation model implementation (electrostatic part) More...
#include <SaLSA.h>
Public Member Functions | |
| SaLSA (const Everything &e, const FluidSolverParams &fsp) | |
| Parameters same as createFluidSolver() | |
| bool | prefersGummel () const |
| Specify whether fluid prefers a gummel loop (true) or is minimized each time (false) | |
| ScalarFieldTilde | chi (const ScalarFieldTilde &) const |
| Apply the non-local chi (i.e. compute induced charge density given a potential) | |
| ScalarFieldTilde | hessian (const ScalarFieldTilde &) const |
| Implements LinearSolvable::hessian for the non-local poisson-like equation. | |
| ScalarFieldTilde | precondition (const ScalarFieldTilde &) const |
| Implements a modified inverse kinetic preconditioner. | |
| double | sync (double x) const |
| All processes minimize together; make sure scalars are in sync to round-off error. | |
| void | minimizeFluid () |
| Converge using linear conjugate gradients. | |
| void | loadState (const char *filename) |
| Load state from file. | |
| void | saveState (const char *filename) const |
| Save state to file. | |
| void | dumpDensities (const char *filenamePattern) const |
| dump cavity shape functions | |
Public Member Functions inherited from PCM | |
| PCM (const Everything &e, const FluidSolverParams &fsp) | |
| void | dumpDebug (const char *filenamePattern) const |
| generate fluidDebug text file with common info to all PCMs | |
Public Member Functions inherited from FluidSolver | |
| FluidSolver (const Everything &e, const FluidSolverParams &fsp) | |
| Any non-electrostatic contributions to A_rhoExplicitTilde (removed from dumped d_fluid / d_tot) More... | |
| double | ionWidthMuCorrection () const |
| correction to electron chemical potential due to finite ion width in fluid interaction | |
| bool | useGummel () const |
| void | set (const ScalarFieldTilde &rhoExplicitTilde, const ScalarFieldTilde &nCavityTilde) |
| double | get_Adiel_and_grad (ScalarFieldTilde *Adiel_rhoExplicitTilde=0, ScalarFieldTilde *Adiel_nCavityTilde=0, IonicGradient *extraForces=0) const |
| virtual double | bulkPotential () |
Public Member Functions inherited from LinearSolvable< ScalarFieldTilde > | |
| int | solve (const ScalarFieldTilde &rhs, const MinimizeParams ¶ms) |
Protected Member Functions | |
| void | set_internal (const ScalarFieldTilde &rhoExplicitTilde, const ScalarFieldTilde &nCavityTilde) |
| Fluid-dependent implementation of set() | |
| double | get_Adiel_and_grad_internal (ScalarFieldTilde &grad_rhoExplicitTilde, ScalarFieldTilde &grad_nCavityTilde, IonicGradient *extraForces) const |
| Fluid-dependent implementation of get_Adiel_and_grad() | |
Protected Member Functions inherited from PCM | |
| virtual void | printDebug (FILE *fp) const |
| over-ride to get extra PCM-specific output in fluidDebug text file | |
| void | updateCavity () |
| update shape function(s) from nCavity, and energies dependent upon shape alone | |
| void | propagateCavityGradients (const ScalarFieldArray &A_shape, ScalarField &A_nCavity, ScalarFieldTilde &A_rhoExplicitTilde, IonicGradient *forces) const |
| void | accumExtraForces (IonicGradient *forces, const ScalarFieldTilde &A_nCavityTilde) const |
| Accumulate extra fluid forces (vdw and full-core forces, when applicable) | |
| ScalarFieldTilde | getFullCore () const |
| get full core correction for PCM variants that need them | |
Additional Inherited Members | |
Public Attributes inherited from FluidSolver | |
| const Everything & | e |
| const GridInfo & | gInfo |
| const FluidSolverParams & | fsp |
| double | epsBulk |
| double | epsInf |
| bulk dielectric constants of fluid | |
| double | k2factor |
| prefactor to screening term (0 => no ionic screening) | |
|
std::vector< std::vector < vector3<> > > | atpos |
| ScalarFieldTilde | A_rhoNonES |
| atomic positions per species in the relevant coordinate system (depending on embedding option) | |
Public Attributes inherited from LinearSolvable< ScalarFieldTilde > | |
| ScalarFieldTilde | state |
| the location of the minimum, obtained by solving hessian * state == rhs | |
Static Protected Member Functions inherited from PCM | |
| static ScalarFieldTilde | coulomb (const ScalarFieldTilde &rho) |
Protected Attributes inherited from PCM | |
| EnergyComponents | Adiel |
| PCM energy components. | |
| ScalarFieldTilde | rhoExplicitTilde |
| Charge density of explicit (electronic) system. | |
| ScalarField | nCavity |
| ScalarField | tauCavity |
| ScalarField | nCavityEx [2] |
| Cavity determining electron density (or product for SaLSA, or KE density for SG14tauVW, and expanded electron densities for the SGA13 variant) | |
| ScalarFieldArray | shape |
| Electrostatic cavity shape function. Second component, if any, is separate ionic cavity. | |
| ScalarField | shapeVdw |
| Separate cavitation/dispersion shape function for the SGA13 variant. | |
| std::vector< RadialFunctionG > | Sf |
| spherically-averaged structure factors for each solvent site | |
| std::vector< int > | atomicNumbers |
| atomic number for each solvent site (for dispersion interactions) | |