20 #ifndef JDFTX_ELECTRONIC_SALSA_H 21 #define JDFTX_ELECTRONIC_SALSA_H 23 #include <fluid/PCM.h> 36 double sync(
double x)
const;
40 void saveState(
const char* filename)
const;
48 std::vector< std::shared_ptr<struct MultipoleResponse> > response;
56 #endif // JDFTX_ELECTRONIC_SALSA_H ScalarFieldTilde chi(const ScalarFieldTilde &) const
Apply the non-local chi (i.e. compute induced charge density given a potential)
ScalarFieldTilde precondition(const ScalarFieldTilde &) const
Implements a modified inverse kinetic preconditioner.
void dumpDensities(const char *filenamePattern) const
dump cavity shape functions
std::vector< ScalarField > ScalarFieldArray
dynamic size collection of real space scalar fields
Definition: ScalarFieldArray.h:32
Definition: Minimize.h:85
void loadState(const char *filename)
Load state from file.
std::shared_ptr< ScalarFieldTildeData > ScalarFieldTilde
A smart reference-counting pointer to ScalarFieldTildeData.
Definition: ScalarField.h:45
double sync(double x) const
All processes minimize together; make sure scalars are in sync to round-off error.
SaLSA(const Everything &e, const FluidSolverParams &fsp)
Parameters same as createFluidSolver()
void minimizeFluid()
Converge using linear conjugate gradients.
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()
ScalarFieldTilde rhoExplicitTilde
Charge density of explicit (electronic) system.
Definition: PCM.h:40
void saveState(const char *filename) const
Save state to file.
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
ScalarFieldTilde hessian(const ScalarFieldTilde &) const
Implements LinearSolvable::hessian for the non-local poisson-like equation.
Nonlinear minimization templates.
std::shared_ptr< ScalarFieldData > ScalarField
A smart reference-counting pointer to ScalarFieldData.
Definition: ScalarField.h:41
Extra parameters for fluids:
Definition: FluidSolverParams.h:93
bool prefersGummel() const
Specify whether fluid prefers a gummel loop (true) or is minimized each time (false) ...
Definition: SaLSA.h:31
Object to hold all the forces.
Definition: IonicMinimizer.h:31