|
| NonlinearPCM (const Everything &e, const FluidSolverParams ¶ms) |
| See createFluidSolver()
|
|
bool | prefersGummel () const |
| Specify whether fluid prefers a gummel loop (true) or is minimized each time (false)
|
|
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 |
|
void | minimizeFluid () |
| Converge using nonlinear conjugate gradients.
|
|
void | step (const ScalarFieldTilde &dir, double alpha) |
| Move the state in parameter space along direction dir with scale alpha.
|
|
double | compute (ScalarFieldTilde *grad, ScalarFieldTilde *Kgrad) |
| Returns the objective function at the current state and store the gradient in grad and preconditioned gradient in Kgrad, if non-null.
|
|
bool | report (int iter) |
|
| PCM (const Everything &e, const FluidSolverParams &fsp) |
|
void | dumpDensities (const char *filenamePattern) const |
| dump cavity shape functions
|
|
void | dumpDebug (const char *filenamePattern) const |
| generate fluidDebug text file with common info to all PCMs
|
|
| 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, matrix3<> *Adiel_RRT=0) const |
|
void | getSusceptibility (const std::vector< complex > &omega, std::vector< SusceptibilityTerm > &susceptibility, ScalarFieldTildeArray &sTilde, bool elecOnly) const |
| Get susceptibility for a list of specified (complex) frequencies.
|
|
virtual double | bulkPotential () |
|
virtual void | constrain (ScalarFieldTilde &) |
| Constrain search directions to the space of free directions for minimize.
|
|
virtual double | sync (double x) const |
| Override to synchronize scalars over MPI processes (if the same minimization is happening in sync over many processes)
|
|
virtual double | safeStepSize (const ScalarFieldTilde &dir) const |
| Override to return maximum safe step size along a given direction. Steps can be arbitrarily large by default.
|
|
double | minimize (const MinimizeParams ¶ms) |
| Minimize this objective function with algorithm controlled by params and return the minimized value.
|
|
void | fdTest (const MinimizeParams ¶ms) |
|
|
void | set_internal (const ScalarFieldTilde &rhoExplicitTilde, const ScalarFieldTilde &nCavityTilde) |
| Fluid-dependent implementation of set()
|
|
double | get_Adiel_and_grad_internal (ScalarFieldTilde &Adiel_rhoExplicitTilde, ScalarFieldTilde &Adiel_nCavityTilde, IonicGradient *extraForces, matrix3<> *Adiel_RRT) const |
| Fluid-dependent implementation of get_Adiel_and_grad()
|
|
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, matrix3<> *Adiel_RRT) 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
|
|
virtual void | getSusceptibility_internal (const std::vector< complex > &omega, std::vector< SusceptibilityTerm > &susceptibility, ScalarFieldArray &sArr, bool elecOnly) const |
| Fluid-dependent implementation of getSusceptibility()
|
|
Nonlinear solvation models: shared electrostatic part implementation.