#include <QMCMikesBetterWalkerInitialization.h>
Public Member Functions | |
QMCMikesBetterWalkerInitialization (QMCInput *input) | |
Create an instance of the clas and initializes it. | |
Array2D< double > | initializeWalkerPosition () |
Generates a new walker. | |
Private Member Functions | |
Array3D< double > | initializeBunchOfWalkersPosition () |
Array2D< double > | FindBestWalker (Array3D< double > &bunchR) |
void | FixConstraints (Array2D< double > &Occupations) |
double | ObjectiveFunctionForWalkers (Array3D< double > &bunchR, Array2D< double > &Occupations) |
void | GradObjectiveFunctionForWalkers (Array3D< double > &bunchR, Array2D< double > &Occupations, Array2D< double > &GradOccupations) |
void | BoundGradOccupations (Array2D< double > &GradOccupations, double bound) |
void | MoveOccupations (Array2D< double > &Occupations, Array2D< double > &GradOccupations, double dr) |
double | Energy_parallel (double r) |
double | Energy_opposite (double r) |
double | Energy_el_nuclr (double r, int charge) |
Private Attributes | |
QMCInput * | Input |
AtomicOrbitalInverter | AOI |
It is based on figuring out how many electrons should be on each atom followed by putting them in atomic orbitals on each atom. This puts the right number of electrons in each type of atomic orbital on each atom.
Definition at line 31 of file QMCMikesBetterWalkerInitialization.h.
QMCMikesBetterWalkerInitialization::QMCMikesBetterWalkerInitialization | ( | QMCInput * | input | ) |
Create an instance of the clas and initializes it.
input | input data for the calculation |
Definition at line 19 of file QMCMikesBetterWalkerInitialization.cpp.
References Input.
Array2D< double > QMCMikesBetterWalkerInitialization::initializeWalkerPosition | ( | ) | [virtual] |
Generates a new walker.
Implements QMCInitializeWalker.
Definition at line 24 of file QMCMikesBetterWalkerInitialization.cpp.
References FindBestWalker(), QMCInput::flags, QMCWavefunction::getNumberElectrons(), initializeBunchOfWalkersPosition(), Input, QMCFlags::walker_initialization_combinations, and QMCInput::WF.
Array3D< double > QMCMikesBetterWalkerInitialization::initializeBunchOfWalkersPosition | ( | ) | [private] |
Definition at line 42 of file QMCMikesBetterWalkerInitialization.cpp.
References QMCMolecule::Atom_Positions, QMCInput::flags, QMCWavefunction::getNumberElectrons(), Input, QMCInput::Molecule, QMCFlags::Natoms, QMCFlags::walker_initialization_combinations, and QMCInput::WF.
Referenced by initializeWalkerPosition().
Array2D< double > QMCMikesBetterWalkerInitialization::FindBestWalker | ( | Array3D< double > & | bunchR | ) | [private] |
Definition at line 92 of file QMCMikesBetterWalkerInitialization.cpp.
References BoundGradOccupations(), Array3D< T >::dim1(), Array3D< T >::dim3(), GradObjectiveFunctionForWalkers(), and MoveOccupations().
Referenced by initializeWalkerPosition().
void QMCMikesBetterWalkerInitialization::FixConstraints | ( | Array2D< double > & | Occupations | ) | [private] |
Definition at line 161 of file QMCMikesBetterWalkerInitialization.cpp.
References Array2D< T >::dim1(), and Array2D< T >::dim2().
Referenced by GradObjectiveFunctionForWalkers(), and MoveOccupations().
double QMCMikesBetterWalkerInitialization::ObjectiveFunctionForWalkers | ( | Array3D< double > & | bunchR, | |
Array2D< double > & | Occupations | |||
) | [private] |
Definition at line 196 of file QMCMikesBetterWalkerInitialization.cpp.
References QMCMolecule::Atom_Positions, Array3D< T >::dim1(), Array3D< T >::dim3(), Energy_el_nuclr(), Energy_opposite(), Energy_parallel(), QMCInput::flags, QMCWavefunction::getNumberElectrons(), Input, QMCInput::Molecule, QMCFlags::Natoms, QMCInput::WF, and QMCMolecule::Z.
Referenced by GradObjectiveFunctionForWalkers().
void QMCMikesBetterWalkerInitialization::GradObjectiveFunctionForWalkers | ( | Array3D< double > & | bunchR, | |
Array2D< double > & | Occupations, | |||
Array2D< double > & | GradOccupations | |||
) | [private] |
Definition at line 290 of file QMCMikesBetterWalkerInitialization.cpp.
References Array3D< T >::dim1(), Array3D< T >::dim3(), FixConstraints(), and ObjectiveFunctionForWalkers().
Referenced by FindBestWalker().
void QMCMikesBetterWalkerInitialization::BoundGradOccupations | ( | Array2D< double > & | GradOccupations, | |
double | bound | |||
) | [private] |
Definition at line 321 of file QMCMikesBetterWalkerInitialization.cpp.
References Array2D< T >::dim1(), and Array2D< T >::dim2().
Referenced by FindBestWalker().
void QMCMikesBetterWalkerInitialization::MoveOccupations | ( | Array2D< double > & | Occupations, | |
Array2D< double > & | GradOccupations, | |||
double | dr | |||
) | [private] |
Definition at line 345 of file QMCMikesBetterWalkerInitialization.cpp.
References Array2D< T >::dim1(), Array2D< T >::dim2(), and FixConstraints().
Referenced by FindBestWalker().
double QMCMikesBetterWalkerInitialization::Energy_parallel | ( | double | r | ) | [private] |
Definition at line 362 of file QMCMikesBetterWalkerInitialization.cpp.
Referenced by ObjectiveFunctionForWalkers().
double QMCMikesBetterWalkerInitialization::Energy_opposite | ( | double | r | ) | [private] |
Definition at line 368 of file QMCMikesBetterWalkerInitialization.cpp.
Referenced by ObjectiveFunctionForWalkers().
double QMCMikesBetterWalkerInitialization::Energy_el_nuclr | ( | double | r, | |
int | charge | |||
) | [private] |
Definition at line 373 of file QMCMikesBetterWalkerInitialization.cpp.
Referenced by ObjectiveFunctionForWalkers().
Definition at line 45 of file QMCMikesBetterWalkerInitialization.h.
Referenced by initializeBunchOfWalkersPosition(), initializeWalkerPosition(), ObjectiveFunctionForWalkers(), and QMCMikesBetterWalkerInitialization().
Definition at line 46 of file QMCMikesBetterWalkerInitialization.h.