20 #ifndef JDFTX_ELECTRONIC_PCM_H 21 #define JDFTX_ELECTRONIC_PCM_H 24 #include <electronic/RadialFunction.h> 26 #include <core/Coulomb.h> 36 void dumpDebug(
const char* filenamePattern)
const;
52 double A_nc, A_tension, A_vdwScale, A_eta_wDiel, A_pCavity;
57 std::vector<RadialFunctionG>
Sf;
63 #endif // JDFTX_ELECTRONIC_PCM_H
std::vector< RadialFunctionG > Sf
spherically-averaged structure factors for each solvent site
Definition: PCM.h:57
std::shared_ptr< ScalarFieldTildeData > ScalarFieldTilde
A smart reference-counting pointer to ScalarFieldTildeData.
Definition: ScalarField.h:45
void dumpDensities(const char *filenamePattern) const
dump cavity shape functions
ScalarFieldTilde Linv(const ScalarFieldTilde &)
Inverse Laplacian.
Abstract base class for the fluid solvers.
Definition: FluidSolver.h:31
ScalarField nCavityEx[2]
Cavity determining electron density (or product for SaLSA, or KE density for SG14tauVW, and expanded electron densities for the SGA13 variant)
Definition: PCM.h:41
ScalarFieldTilde O(const ScalarFieldTilde &)
Inner product operator (diagonal in PW basis)
EnergyComponents Adiel
PCM energy components.
Definition: PCM.h:39
ScalarFieldTilde rhoExplicitTilde
Charge density of explicit (electronic) system.
Definition: PCM.h:40
std::vector< int > atomicNumbers
atomic number for each solvent site (for dispersion interactions)
Definition: PCM.h:58
ScalarFieldTilde getFullCore() const
get full core correction for PCM variants that need them
G-space radial function stored on a uniform grid (of |G|)
Definition: RadialFunction.h:28
Definition: Everything.h:41
Base class for all PCMs.
Definition: PCM.h:29
Definition: Dump_internal.h:68
Definition: EnergyComponents.h:36
void updateCavity()
update shape function(s) from nCavity, and energies dependent upon shape alone
void dumpDebug(const char *filenamePattern) const
generate fluidDebug text file with common info to all PCMs
ScalarField shapeVdw
Electrostatic cavity shape function (and separate cavitation/dispersion shape function for the SGA13 ...
Definition: PCM.h:42
std::shared_ptr< ScalarFieldData > ScalarField
A smart reference-counting pointer to ScalarFieldData.
Definition: ScalarField.h:41
Extra parameters for fluids:
Definition: FluidSolverParams.h:93
Represent components of the (free) energy.
virtual void printDebug(FILE *fp) const
over-ride to get extra PCM-specific output in fluidDebug text file
Definition: PCM.h:44
Object to hold all the forces.
Definition: IonicMinimizer.h:31
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)