JDFTx  1.3.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SaLSA Class Reference

Nonlocal SaLSA [32] solvation model implementation (electrostatic part) More...

#include <SaLSA.h>

Inheritance diagram for SaLSA:
PCM LinearSolvable< ScalarFieldTilde > FluidSolver

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)
 atomic positions per species in the relevant coordinate system (depending on embedding option) 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, bool electricOnly=false) const
virtual double bulkPotential ()
- Public Member Functions inherited from LinearSolvable< ScalarFieldTilde >
int solve (const ScalarFieldTilde &rhs, const MinimizeParams &params)

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, bool electricOnly) 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 ScalarField &A_shape, ScalarField &A_nCavity, ScalarFieldTilde &A_rhoExplicitTilde, bool electricOnly) const
 propagate A_shape (+ cached Acavity_shape) and accumulate to those w.r.t nCavity and rhoExplicitTilde
void setExtraForces (IonicGradient *forces, const ScalarFieldTilde &A_nCavityTilde) const
 set 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 Everythinge
const GridInfogInfo
const FluidSolverParamsfsp
double epsBulk
double epsInf
 bulk dielectric constants of fluid
double k2factor
 prefactor to screening term (0 => no ionic screening)
std::vector< std::vector
< vector3<> > > 
- 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)
ScalarField shape
ScalarField shapeVdw
 Electrostatic cavity shape function (and separate cavitation/dispersion shape function for the SGA13 variant)
std::vector< RadialFunctionGSf
 spherically-averaged structure factors for each solvent site
std::vector< int > atomicNumbers
 atomic number for each solvent site (for dispersion interactions)

Detailed Description

Nonlocal SaLSA [32] solvation model implementation (electrostatic part)

The documentation for this class was generated from the following file: