#include <QMCSurfer.h>
Public Member Functions | |
QMCSurfer () | |
~QMCSurfer () | |
int | mainMenu (QMCFunctions *QMF, int iteration, Array2D< double > newR) |
void | interparticleDistanceMatrix () |
void | equipotentialSurface () |
void | scanEnergies (int, int, int, int, double, double, double) |
void | surfaceExplorer () |
Private Attributes | |
QMCFunctions * | QMF |
Array2D< double > | R |
QMCWalkerData | walkerData |
At the moment, I can't be bothered to document this more carefully. Basically, you have a set of positions including the locations of the nuclei, and the locations of the electrons. You can start or stop at any of those positions, or go in a circle around one of the positions.
When asked to input a value, the bracketed value is the one that will accepted as default if you only hit return.
It will print out some energy terms, psi. Using GCC/Linux, the output is color coded; it will change when you cross a node.
Just use a regular input file, except add a "use_surfer" flag. Obviously, you want to run this in interactive mode, only one processor, etc.
Definition at line 38 of file QMCSurfer.h.
QMCSurfer::QMCSurfer | ( | ) |
Definition at line 9 of file QMCSurfer.cpp.
References QMCWalkerData::initialize(), QMF, and walkerData.
QMCSurfer::~QMCSurfer | ( | ) |
int QMCSurfer::mainMenu | ( | QMCFunctions * | QMF, | |
int | iteration, | |||
Array2D< double > | newR | |||
) |
Definition at line 21 of file QMCSurfer.cpp.
References QMCFlags::detailed_energies, QMCFlags::equilibration_steps, QMCFunctions::evaluate(), QMCInput::flags, globalInput, interparticleDistanceMatrix(), QMF, R, QMCFlags::replace_electron_nucleus_cusps, surfaceExplorer(), QMCWalkerData::updateDistances(), QMCFlags::use_jastrow, walkerData, and QMCWalkerData::whichE.
Referenced by QMCWalker::processPropagation().
void QMCSurfer::interparticleDistanceMatrix | ( | ) |
Definition at line 142 of file QMCSurfer.cpp.
References QMCMolecule::Atom_Labels, QMCMolecule::Atom_Positions, Array2D< T >::dim1(), QMCMolecule::getNumberAtoms(), QMCWavefunction::getNumberElectrons(), globalInput, QMCInput::Molecule, R, and QMCInput::WF.
Referenced by mainMenu().
void QMCSurfer::equipotentialSurface | ( | ) |
Definition at line 217 of file QMCSurfer.cpp.
References QMCMolecule::Atom_Positions, Array2D< T >::dim1(), QMCMolecule::getNumberAtoms(), globalInput, QMCInput::Molecule, R, and QMCMolecule::Z.
void QMCSurfer::scanEnergies | ( | int | moveE, | |
int | nucStart, | |||
int | nucStop, | |||
int | numSteps, | |||
double | startFrac, | |||
double | stopFrac, | |||
double | perturb | |||
) |
Definition at line 244 of file QMCSurfer.cpp.
References QMCMolecule::Atom_Labels, QMCMolecule::Atom_Positions, QMCWalkerData::D_xx, QMCFlags::detailed_energies, Array2D< T >::dim1(), QMCWalkerData::eeEnergy, QMCFunctions::evaluate(), QMCInput::flags, QMCMolecule::getNumberAtoms(), globalInput, QMCWalkerData::kineticEnergy, QMCWalkerData::localEnergy, QMCInput::Molecule, QMCWalkerData::neEnergy, QMCWalkerData::potentialEnergy, QMCWalkerData::psi, QMF, R, QMCWalkerData::U, QMCWalkerData::U_xx, QMCWalkerData::updateDistances(), walkerData, and QMCWalkerData::whichE.
Referenced by surfaceExplorer().
void QMCSurfer::surfaceExplorer | ( | ) |
Definition at line 592 of file QMCSurfer.cpp.
References QMCMolecule::getNumberAtoms(), QMCWavefunction::getNumberElectrons(), globalInput, QMCInput::Molecule, scanEnergies(), QMCInput::WF, and QMCMolecule::Z.
Referenced by mainMenu().
QMCFunctions* QMCSurfer::QMF [private] |
Definition at line 41 of file QMCSurfer.h.
Referenced by mainMenu(), QMCSurfer(), scanEnergies(), and ~QMCSurfer().
Array2D<double> QMCSurfer::R [private] |
Definition at line 42 of file QMCSurfer.h.
Referenced by equipotentialSurface(), interparticleDistanceMatrix(), mainMenu(), scanEnergies(), and ~QMCSurfer().
QMCWalkerData QMCSurfer::walkerData [private] |
Definition at line 43 of file QMCSurfer.h.
Referenced by mainMenu(), QMCSurfer(), and scanEnergies().