JDFTx  1.7.0
PCM_internal.h File Reference

Classes

struct  NonlinearPCMeval::Screening
 Helper class for ionic screening portion of NonlinearPCM. More...
 
struct  NonlinearPCMeval::Dielectric
 Helper class for dielectric portion of NonlinearPCM. More...
 

Namespaces

 ShapeFunction
 Original shape function from [24], [15] and [12].
 
 ShapeFunctionCANDLE
 Shape function in CANDLE [32].
 
 ShapeFunctionSGA13
 Shape function for [35].
 
 ShapeFunctionSoftSphere
 Shape function for the soft-sphere model [7].
 
 ShapeFunctionSCCS
 Shape function for SCCS models [1].
 
 NonlinearPCMeval
 Helper classes for NonlinearPCM.
 

Macros

#define FLUID_DUMP(object, suffix)
 Convenient macro for dumping scalar fields in dumpDensities() or dumpDebug() More...
 

Functions

void ShapeFunction::compute (const ScalarField &n, ScalarField &shape, double nc, double sigma)
 Compute the shape function (0 to 1) given the cavity-determining electron density.
 
void ShapeFunction::propagateGradient (const ScalarField &n, const ScalarField &E_shape, ScalarField &E_n, double nc, double sigma)
 Propagate gradient w.r.t shape function to that w.r.t cavity-determining electron density (accumulate to E_n)
 
void ShapeFunctionCANDLE::compute (const ScalarField &n, const ScalarFieldTilde &phi, ScalarField &shape, double nc, double sigma, double pCavity)
 Compute shape function that includes charge asymmetry from cavity-determining electron density and vacuum electric potential.
 
void ShapeFunctionCANDLE::propagateGradient (const ScalarField &n, const ScalarFieldTilde &phi, const ScalarField &E_shape, ScalarField &E_n, ScalarFieldTilde &E_phi, double &E_pCavity, double nc, double sigma, double pCavity, matrix3<> *E_RRT=0)
 Propagate gradients w.r.t shape function to n, phi and pCavity (accumulate to E_n, E_phi, E_pCavity)
 
void ShapeFunctionSGA13::expandDensity (const RadialFunctionG &w, double R, const ScalarField &n, ScalarField &nEx, const ScalarField *A_nEx=0, ScalarField *A_n=0, matrix3<> *E_RRT=0)
 Compute expanded density nEx from n, and optionally propagate gradients from nEx to n (accumulate to A_n)
 
void ShapeFunctionSoftSphere::compute (const std::vector< vector3<>> &x, const std::vector< vector3< int >> &reps, const std::vector< double > &radius, ScalarField &shape, double sigma)
 Compute the shape function (0 to 1) given list of atom lattice coordinates x and sphere radii.
 
void ShapeFunctionSoftSphere::propagateGradient (const std::vector< vector3<>> &x, const std::vector< vector3< int >> &reps, const std::vector< double > &radius, const ScalarField &shape, const ScalarField &E_shape, std::vector< vector3<>> &E_x, std::vector< double > &E_radius, double sigma)
 Propagate gradient w.r.t shape function to that w.r.t atomic positions.
 
void ShapeFunctionSCCS::compute (const ScalarField &n, ScalarField &shape, double rhoMin, double rhoMax, double epsBulk)
 Compute the shape function (0 to 1) given the cavity-determining electron density.
 
void ShapeFunctionSCCS::propagateGradient (const ScalarField &n, const ScalarField &E_shape, ScalarField &E_n, double rhoMin, double rhoMax, double epsBulk)
 Propagate gradient w.r.t shape function to that w.r.t cavity-determining electron density (accumulate to E_n)
 

Detailed Description

Internal implementation shared by solvation models