Superclass that defines a wave function. More...
#include <wavefunction.h>
Public Member Functions | |
WaveFunction (Config *config) | |
virtual double | evaluate (vec2 r[])=0 |
virtual void | gradient (vec2 r[], vec &rGradient) |
virtual double | laplace (vec2 r[]) |
virtual WaveFunction * | clone ()=0 |
virtual void | loadConfiguration (INIParser *settings) |
virtual double | laplaceNumerical (vec2 r[]) |
virtual void | gradientNumerical (vec2 r[], vec &rGradient) |
virtual void | setParameters (double *parameters) |
virtual double | ratio (vec2 &particlePosition, int movedParticle) |
virtual void | acceptMove (int movedParticle) |
virtual void | rejectMove () |
virtual void | initialize (vec2 r[]) |
virtual void | prepareGradient (vec2 &particlePosition, int movedParticle) |
void | setUseAnalyticalLaplace (bool val) |
void | setUseAnalyticalGradient (bool val) |
virtual void | outputProperties () |
Static Public Member Functions | |
static WaveFunction * | fromName (string waveClass, Config *config) |
Protected Attributes | |
Config * | config |
int | nParticles |
int | nDimensions |
double * | parameters |
vec2 * | rPlus |
vec2 * | rMinus |
vec2 * | rNew |
vec2 * | rOld |
double | previousEvaluation |
double | currentEvaluation |
bool | useAnalyticalLaplace |
bool | useAnalyticalGradient |
Superclass that defines a wave function.
WaveFunction * WaveFunction::fromName | ( | string | waveClass, |
Config * | config | ||
) | [static] |
Creates and returns a new wave function based on the class specified by the parameter string.
double WaveFunction::ratio | ( | vec2 & | particlePosition, |
int | movedParticle | ||
) | [virtual] |
This function does a ratio by evaluating the system in its current position and dividing by the previous evaluation. This is strongly optimized in the subclasses and this function is only a convenience to make the code run gracefully also without optimization.
r | An array of vectors denoting all the particle positions. |
Reimplemented in WaveSlater.