#include <QMCInput.h>
Public Member Functions | |
QMCInput () | |
Creates an instance of the class. | |
void | setMPIParameters (int my_rank, int nprocs) |
Save parameters related to a parallel MPI calculation in this class so that they are available throughout the calculation. | |
void | read (string inputfile) |
Load this object's state from a QMC input file and initialize the object. | |
void | openConfigFile () |
This function will make sure that the config is open for writing. | |
int | getNumberAIParameters () |
The total number of parameters that we'll be optimizing across all parts of the wavefunction. | |
Array1D< double > | getAIParameters () |
Gets the parameters describing the particle-particle interactions, and adds to them the CI coefficients. | |
void | setAIParameters (Array1D< double > ¶ms) |
Sets the parameters describing the particle-particle interactions, as well as the CI coefficients. | |
void | printAIParameters (ostream &strm, string name, int margin, Array1D< double > &array, bool forcePrintOrbitals) |
Print an array, designating the order that the ai parameters are organized by. | |
void | printArray (ostream &strm, string name, int num, Array1D< double > &array, int &start, int margin, int width, int prec, int numPerRow) |
This function makes it easy to print segments of an array, where the segments correspond to different kinds of parameters. | |
void | printAISummary () |
Prints out the number of parameters we're optimizing in the current step, and shows a break down of the numbers. | |
Public Attributes | |
QMCFlags | flags |
Information on how to perform the QMC calculation. | |
QMCMolecule | Molecule |
Geometry and charges of the system being studied. | |
QMCBasisFunction | BF |
Basis set used for the trial wavefunction. | |
QMCWavefunction | WF |
Trial wavefunction for the calculation. | |
QMCJastrowParameters | JP |
Jastrow function used in the QMC wavefunction. | |
QMCConfigIO | outputer |
This object is used to output the configuation file. | |
Array1D< Array1D< double > > | cs_Parameters |
The complete set of correlated sampling parameters. | |
Friends | |
ostream & | operator<< (ostream &strm, QMCInput &Input) |
Write this object's state out to a stream. |
Input includes molecular geometry, trial wavefunction, job control information, and other relevant information.
Definition at line 34 of file QMCInput.h.
QMCInput::QMCInput | ( | ) |
void QMCInput::setMPIParameters | ( | int | my_rank, | |
int | nprocs | |||
) |
Save parameters related to a parallel MPI calculation in this class so that they are available throughout the calculation.
my_rank | MPI rank of this processor | |
nprocs | number of processors used in this calculation |
Definition at line 20 of file QMCInput.cpp.
References flags, QMCFlags::my_rank, and QMCFlags::nprocs.
void QMCInput::read | ( | string | inputfile | ) |
Load this object's state from a QMC input file and initialize the object.
inputfile | QMC input file to load this object's state from. |
Definition at line 26 of file QMCInput.cpp.
References BF, QMCFlags::charge, flags, QMCMolecule::getNuclearCharge(), QMCWavefunction::getNumberElectrons(), QMCBasisFunction::initialize(), QMCMolecule::initialize(), JP, QMCFlags::link_Jastrow_parameters, Molecule, QMCFlags::Natoms, QMCFlags::Nbasisfunc, QMCFlags::Ndeterminants, QMCFlags::Norbitals, QMCMolecule::NucleiTypes, outputer, QMCFlags::psuedo_gridLevel, QMCJastrowParameters::read(), QMCWavefunction::read(), QMCBasisFunction::read(), QMCFlags::read_flags(), QMCMolecule::readGeometry(), QMCMolecule::readPsuedoPotential(), QMCFlags::replace_electron_nucleus_cusps, QMCFlags::trial_function_type, QMCFlags::use_psuedopotential, and WF.
Referenced by qmcbeaver().
void QMCInput::openConfigFile | ( | ) |
This function will make sure that the config is open for writing.
Definition at line 55 of file QMCInput.cpp.
References QMCFlags::config_file_name, flags, QMCConfigIO::open(), outputer, and QMCFlags::print_configs.
Referenced by QMCManager::initializeOutputs(), and QMCManager::optimize().
int QMCInput::getNumberAIParameters | ( | ) |
The total number of parameters that we'll be optimizing across all parts of the wavefunction.
Definition at line 61 of file QMCInput.cpp.
References QMCWavefunction::getNumberCIParameters(), QMCJastrowParameters::getNumberJWParameters(), QMCWavefunction::getNumberORParameters(), JP, and WF.
Referenced by QMCSCFJastrow::calculate_OrbitalDerivatives(), QMCSCFJastrow::calculate_Psi_quantities(), QMCSCFJastrow::checkParameterDerivatives(), getAIParameters(), QMCWalkerData::initialize(), printAISummary(), QMCManager::run(), and QMCPropertyArrays::zeroOut().
Array1D< double > QMCInput::getAIParameters | ( | ) |
Gets the parameters describing the particle-particle interactions, and adds to them the CI coefficients.
Definition at line 70 of file QMCInput.cpp.
References QMCWavefunction::getCIParameters(), QMCJastrowParameters::getJWParameters(), getNumberAIParameters(), QMCWavefunction::getNumberCIParameters(), QMCJastrowParameters::getNumberJWParameters(), QMCWavefunction::getORParameters(), JP, and WF.
Referenced by QMCSCFJastrow::checkParameterDerivatives(), and QMCCorrelatedSamplingVMCOptimization::optimize().
void QMCInput::setAIParameters | ( | Array1D< double > & | params | ) |
Sets the parameters describing the particle-particle interactions, as well as the CI coefficients.
params | new set of parameters |
Definition at line 86 of file QMCInput.cpp.
References QMCWavefunction::getNumberCIParameters(), QMCJastrowParameters::getNumberJWParameters(), JP, QMCWavefunction::setCIParameters(), QMCJastrowParameters::setJWParameters(), QMCWavefunction::setORParameters(), and WF.
Referenced by QMCReadAndEvaluateConfigs::AddNewConfigToProperites(), QMCSCFJastrow::calculate_CorrelatedSampling(), QMCObjectiveFunction::evaluate(), and QMCCorrelatedSamplingVMCOptimization::optimize().
void QMCInput::printAIParameters | ( | ostream & | strm, | |
string | name, | |||
int | margin, | |||
Array1D< double > & | array, | |||
bool | forcePrintOrbitals | |||
) |
Print an array, designating the order that the ai parameters are organized by.
Definition at line 120 of file QMCInput.cpp.
References Array1D< T >::dim1(), QMCWavefunction::getNumberCIParameters(), QMCJastrowParameters::getNumberEdnEdnParameters(), QMCJastrowParameters::getNumberEupEdnParameters(), QMCJastrowParameters::getNumberEupEupParameters(), QMCJastrowParameters::getNumberNEdnEdnParameters(), QMCJastrowParameters::getNumberNEParameters(), QMCJastrowParameters::getNumberNEupEdnParameters(), QMCJastrowParameters::getNumberNEupEupParameters(), QMCWavefunction::getNumberORParameters(), JP, printArray(), and WF.
Referenced by QMCSCFJastrow::checkParameterDerivatives(), QMCEigenSearch::getParameters(), QMCLineSearch::optimize(), QMCEigenSearch::optimize(), QMCCorrelatedSamplingVMCOptimization::optimize(), QMCLinearizeStepLength::rescalingJCP(), and QMCLinearizeStepLength::rescalingPRL().
void QMCInput::printArray | ( | ostream & | strm, | |
string | name, | |||
int | num, | |||
Array1D< double > & | array, | |||
int & | start, | |||
int | margin, | |||
int | width, | |||
int | prec, | |||
int | numPerRow | |||
) |
This function makes it easy to print segments of an array, where the segments correspond to different kinds of parameters.
This function is used to print out one segment, with several customization options.
Definition at line 98 of file QMCInput.cpp.
Referenced by printAIParameters().
void QMCInput::printAISummary | ( | ) |
Prints out the number of parameters we're optimizing in the current step, and shows a break down of the numbers.
Definition at line 192 of file QMCInput.cpp.
References getNumberAIParameters(), QMCWavefunction::getNumberCIParameters(), QMCJastrowParameters::getNumberEEParameters(), QMCJastrowParameters::getNumberNEdnEdnParameters(), QMCJastrowParameters::getNumberNEParameters(), QMCJastrowParameters::getNumberNEupEdnParameters(), QMCJastrowParameters::getNumberNEupEupParameters(), QMCWavefunction::getNumberORParameters(), globalInput, JP, and WF.
Referenced by QMCSCFJastrow::checkParameterDerivatives(), and QMCManager::run().
ostream& operator<< | ( | ostream & | strm, | |
QMCInput & | Input | |||
) | [friend] |
Write this object's state out to a stream.
The same format is used as in the QMC input file.
Definition at line 221 of file QMCInput.cpp.
Information on how to perform the QMC calculation.
Definition at line 45 of file QMCInput.h.
Referenced by QMCWalker::acceptOrRejectMove(), QMCRun::ack_reconfiguration(), QMCSlater::allocate(), QMCSlater::allocateIteration(), QMCDansWalkerInitialization::assign_electrons_to_nuclei(), QMCWalker::branchRecommended(), QMCRun::branchWalkers(), QMCPotential_Energy::calc_P_ee(), QMCNuclearForces::calcCoefficients(), QMCSCFJastrow::calculate_CorrelatedSampling(), QMCSCFJastrow::calculate_Modified_Grad_PsiRatio(), QMCSCFJastrow::calculate_Psi_quantities(), QMCObjectiveFunctionResult::calculate_umrigar88(), QMCWalker::calculateDerivatives(), QMCWalker::calculateElectronDensities(), QMCRun::calculateElectronDensities(), QMCWalker::calculateMoveAcceptanceProbability(), QMCWalker::calculateObservables(), QMCRun::calculateObservables(), QMCRun::calculatePopulationSizeBiasCorrectionFactor(), QMCWalker::calculateReverseGreensFunction(), QMCWalker::calculateReverseGreensFunctionImportanceSampling(), QMCWalker::calculateReverseGreensFunctionUmrigar93AcceleratedSampling(), QMCWalker::calculateReverseGreensFunctionUmrigar93ImportanceSampling(), QMCManager::checkConvergenceBasedTerminationCriteria(), QMCFlags::checkFlags(), QMCManager::checkMaxStepsTerminationCriteria(), QMCManager::checkMaxTimeTerminationCriteria(), QMCSCFJastrow::checkParameterDerivatives(), QMCThreeBodyJastrow::collectForPair(), QMCJastrowElectronElectron::collectForPair(), QMCWalker::createChildWalkers(), QMCMikesJackedWalkerInitialization::electrons_and_radii(), QMCManager::equilibration_step(), QMCSlater::evaluate(), QMCSCFJastrow::evaluate(), QMCObjectiveFunction::evaluate(), QMCNuclearForces::evaluate(), QMCJastrowElectronNuclear::evaluate(), QMCJastrow::evaluate(), CambridgeThreeBodyCorrelationFunction::evaluate(), Cambridge2CorrelationFunction::evaluate(), QMCPotential_Energy::evaluatePsuedoPotential(), QMCManager::finalize(), QMCManager::finalizeOutputs(), QMCManager::gatherHistograms(), QMCThreeBodyCorrelationFunctionParameters::gaussianParamDepMatrix(), QMCEigenSearch::get_a_diag(), Williamson2CorrelationFunction::get_p2_xa(), CambridgeThreeBodyCorrelationFunction::get_p2_xa(), Anderson2CorrelationFunction::get_p2_xa(), Williamson2CorrelationFunction::get_p3_xxa(), CambridgeThreeBodyCorrelationFunction::get_p3_xxa(), Anderson2CorrelationFunction::get_p3_xxa(), Williamson2CorrelationFunction::get_p_a(), CambridgeThreeBodyCorrelationFunction::get_p_a(), Anderson2CorrelationFunction::get_p_a(), QMCJastrowParameters::getJWParameters(), QMCWalkerData::getModifiedLocalEnergy(), QMCWavefunction::getNumberCIParameters(), QMCJastrowParameters::getNumberEdnEdnParameters(), QMCJastrowParameters::getNumberEEParameters(), QMCJastrowParameters::getNumberEupEdnParameters(), QMCJastrowParameters::getNumberEupEupParameters(), QMCJastrowParameters::getNumberNEdnEdnParameters(), QMCJastrowParameters::getNumberNEParameters(), QMCJastrowParameters::getNumberNEupEdnParameters(), QMCJastrowParameters::getNumberNEupEupParameters(), QMCWavefunction::getNumberORParameters(), QMCWavefunction::getORParameters(), QMCDerivativeProperties::getParameterGradient(), QMCDerivativeProperties::getParameterHamiltonian(), QMCDerivativeProperties::getParameterHessian(), QMCDerivativeProperties::getParameterOverlap(), QMCEigenSearch::getParameters(), QMCDerivativeProperties::getParameterValue(), QMCRun::getProperties(), QMCNuclearForces::getTemperTerm(), QMCWalker::ID(), QMCWalkerData::initialize(), QMCWalker::initialize(), QMCSlater::initialize(), QMCSCFJastrow::initialize(), QMCRun::initialize(), QMCPotential_Energy::initialize(), QMCNuclearForces::initialize(), QMCManager::initialize(), QMCJastrow::initialize(), QMCHartreeFock::Initialize(), QMCMikesBetterWalkerInitialization::initializeBunchOfWalkersPosition(), QMCManager::initializeCalculationState(), QMCRun::initializeFunction(), QMCManager::initializeMPI(), QMCManager::initializeOutputs(), CambridgeThreeBodyCorrelationFunction::initializeParameters(), Cambridge2CorrelationFunction::initializeParameters(), QMCWalker::initializePropagation(), QMCWalker::initializeWalkerPosition(), QMCMikesJackedWalkerInitialization::initializeWalkerPosition(), QMCMikesBetterWalkerInitialization::initializeWalkerPosition(), QMCDansWalkerInitialization::initializeWalkerPosition(), QMCReadAndEvaluateConfigs::locally_CalculateProperties(), QMCSurfer::mainMenu(), QMCThreeBodyCorrelationFunctionParameters::makeParamDepMatrix(), QMCObjectiveFunctionResult::mikes_score_function(), QMCWalker::moveElectrons(), QMCWalker::moveElectronsImportanceSampling(), QMCWalker::moveElectronsNoImportanceSampling(), QMCWalker::moveElectronsUmrigar93AcceleratedSampling(), QMCWalker::moveElectronsUmrigar93ImportanceSampling(), QMCRun::nonunitWeightBranching(), QMCMikesBetterWalkerInitialization::ObjectiveFunctionForWalkers(), openConfigFile(), operator<<(), QMCWalker::operator=(), QMCSlater::operator=(), QMCJastrowParameters::operator=(), QMCJastrow::operator=(), QMCOptimizationFactory::optimizationAlgorithmFactory(), QMCManager::optimize(), QMCLineSearch::optimize(), QMCEigenSearch::optimize(), QMCCorrelatedSamplingVMCOptimization::optimize(), QMCThreeBodyJastrow::packageDerivatives(), QMCJastrowParameters::print(), CambridgeThreeBodyCorrelationFunction::print(), QMCWalker::processPropagation(), QMCRun::propagateWalkers(), qmcbeaver(), QMCPropertyArrays::QMCPropertyArrays(), QMCRun::randomlyInitializeWalkers(), QMCWavefunction::read(), QMCJastrowParameters::read(), read(), QMCRun::readXML(), QMCProperties::readXML(), QMCManager::readXML(), QMCWalker::resetFutureWalking(), QMCWalker::reweight_walker(), QMCManager::run(), QMCSurfer::scanEnergies(), QMCManager::sendAllProcessorsACommand(), QMCManager::sendAllProcessorsInputFileName(), QMCObjectiveFunctionResult::set_score(), QMCObjectiveFunctionResult::set_score_for_derivative(), CambridgeThreeBodyCorrelationFunction::setElectron(), QMCJastrowParameters::setJWParameters(), setMPIParameters(), QMCWavefunction::setORParameters(), QMCRun::step(), QMCRun::toXML(), QMCPropertyArrays::toXML(), QMCProperties::toXML(), QMCSlater::update_Ds(), QMCJastrowElectronElectron::updateAll(), QMCManager::updateEffectiveTimeStep(), QMCManager::updateEstimatedEnergy(), QMCJastrowElectronElectron::updateOne(), QMCManager::updateTrialEnergy(), QMCManager::writeBFDensity(), QMCManager::writeCheckpoint(), QMCManager::writeElectronDensityHistograms(), QMCManager::writeEnergyResultsHeader(), QMCManager::writeEnergyResultsSummary(), QMCManager::writeForces(), QMCManager::writeRestart(), QMCManager::writeTimingData(), QMCManager::writeTransientProperties(), QMCRun::zeroOut(), QMCPropertyArrays::zeroOut(), and QMCSlater::~QMCSlater().
Geometry and charges of the system being studied.
Definition at line 50 of file QMCInput.h.
Referenced by QMCSCFJastrow::calculate_Modified_Grad_PsiRatio(), QMCWalker::calculateElectronDensities(), QMCNuclearForces::calculateNuclearContributions(), QMCWalker::calculateReverseGreensFunctionUmrigar93AcceleratedSampling(), QMCWalker::calculateReverseGreensFunctionUmrigar93ImportanceSampling(), QMCMikesJackedWalkerInitialization::electrons_and_radii(), QMCSurfer::equipotentialSurface(), QMCNuclearForces::evaluate(), QMCJastrowElectronNuclear::evaluate(), QMCManager::gatherHistograms(), QMCWalkerData::initialize(), QMCWalker::initialize(), QMCRun::initialize(), QMCReadAndEvaluateConfigs::initialize(), QMCPotential_Energy::initialize(), QMCNuclearForces::initialize(), QMCManager::initialize(), QMCElectronNucleusCusp::initialize(), QMCMikesBetterWalkerInitialization::initializeBunchOfWalkersPosition(), QMCMikesJackedWalkerInitialization::initializeWalkerPosition(), QMCDansWalkerInitialization::initializeWalkerPosition(), QMCSurfer::interparticleDistanceMatrix(), QMCThreeBodyJastrow::jastrowOnGrid(), QMCJastrowElectronNuclear::jastrowOnGrid(), QMCPsiPotential::LoadOrbitals(), QMCWalker::moveElectronsUmrigar93AcceleratedSampling(), QMCWalker::moveElectronsUmrigar93ImportanceSampling(), QMCMikesBetterWalkerInitialization::ObjectiveFunctionForWalkers(), operator<<(), read(), QMCSurfer::scanEnergies(), QMCSurfer::surfaceExplorer(), QMCThreeBodyJastrow::updateAll(), QMCWalkerData::updateDistances(), QMCThreeBodyJastrow::updateOne(), QMCNuclearForces::waveMemorization(), and QMCManager::writeElectronDensityHistograms().
Basis set used for the trial wavefunction.
Definition at line 55 of file QMCInput.h.
Referenced by QMCDansWalkerInitialization::assign_electrons_to_nuclei(), QMCMikesJackedWalkerInitialization::electrons_and_radii(), QMCPotential_Energy::evaluatePsuedoPotential(), QMCSlater::initialize(), QMCPsiPotential::Initialize(), QMCPotential_Energy::initialize(), QMCNuclearForces::initialize(), QMCElectronNucleusCusp::initialize(), operator<<(), and read().
Trial wavefunction for the calculation.
Definition at line 60 of file QMCInput.h.
Referenced by QMCDansWalkerInitialization::assign_electrons_to_nuclei(), QMCSCFJastrow::calculate_CIDerivatives(), QMCSCFJastrow::calculate_CorrelatedSampling(), QMCSCFJastrow::calculate_JastrowDerivatives(), QMCSCFJastrow::calculate_OrbitalDerivatives(), QMCSCFJastrow::calculate_Psi_quantities(), QMCWalker::calculateElectronDensities(), QMCRun::calculateElectronDensities(), QMCWalker::calculateObservables(), QMCWalker::calculateOppCorrelationDiagram(), QMCWalker::calculatePllCorrelationDiagram(), QMCWalker::calculateReverseGreensFunctionUmrigar93AcceleratedSampling(), QMCWalker::calculateReverseGreensFunctionUmrigar93ImportanceSampling(), QMCManager::checkMaxStepsTerminationCriteria(), QMCMikesJackedWalkerInitialization::electrons_and_radii(), QMCJastrowElectronNuclear::evaluate(), QMCPotential_Energy::evaluatePsuedoPotential(), QMCManager::gatherDensities(), QMCManager::gatherHistograms(), getAIParameters(), QMCNuclearForces::getDensities(), getNumberAIParameters(), QMCWalkerData::initialize(), QMCWalker::initialize(), QMCSlater::initialize(), QMCSCFJastrow::initialize(), QMCRun::initialize(), QMCReadAndEvaluateConfigs::initialize(), QMCPotential_Energy::initialize(), QMCNuclearForces::initialize(), QMCManager::initialize(), QMCJastrowElectronNuclear::initialize(), QMCJastrowElectronElectron::initialize(), QMCJastrow::initialize(), QMCHartreeFock::Initialize(), QMCMikesBetterWalkerInitialization::initializeBunchOfWalkersPosition(), QMCThreeBodyCorrelationFunctionParameters::initializeThreeBodyCorrelationFunctionParameters(), QMCMikesJackedWalkerInitialization::initializeWalkerPosition(), QMCMikesBetterWalkerInitialization::initializeWalkerPosition(), QMCDansWalkerInitialization::initializeWalkerPosition(), QMCAmosBoringWalkerInitialization::initializeWalkerPosition(), QMCSurfer::interparticleDistanceMatrix(), QMCLinearizeStepLength::isLinear(), QMCThreeBodyJastrow::jastrowOnGrid(), QMCJastrowElectronNuclear::jastrowOnGrid(), QMCJastrowElectronElectron::jastrowOnGrid(), QMCWalker::moveElectronsUmrigar93AcceleratedSampling(), QMCWalker::moveElectronsUmrigar93ImportanceSampling(), QMCMikesBetterWalkerInitialization::ObjectiveFunctionForWalkers(), operator<<(), QMCCorrelatedSamplingVMCOptimization::optimize(), QMCThreeBodyJastrow::packageDerivatives(), printAIParameters(), printAISummary(), read(), setAIParameters(), QMCRun::step(), QMCSurfer::surfaceExplorer(), QMCThreeBodyCorrelationFunctionParameters::totalDerivativesToFree(), QMCSCFJastrow::update_SCF(), QMCThreeBodyJastrow::updateAll(), QMCJastrowElectronElectron::updateAll(), QMCRun::updateHFPotential(), QMCThreeBodyJastrow::updateOne(), QMCJastrowElectronElectron::updateOne(), QMCPsiPotential::UseWavefunction(), QMCManager::writeBFDensity(), and QMCManager::writeElectronDensityHistograms().
Jastrow function used in the QMC wavefunction.
Definition at line 65 of file QMCInput.h.
Referenced by QMCSCFJastrow::calculate_CorrelatedSampling(), QMCSCFJastrow::calculate_JastrowDerivatives(), QMCObjectiveFunction::evaluate(), QMCJastrowElectronNuclear::evaluate(), QMCJastrow::evaluate(), QMCPotential_Energy::evaluatePsuedoPotential(), getAIParameters(), getNumberAIParameters(), QMCJastrowElectronNuclear::initialize(), QMCJastrowElectronElectron::initialize(), QMCJastrow::initialize(), QMCLinearizeStepLength::isLinear(), operator<<(), QMCManager::optimize(), QMCCorrelatedSamplingVMCOptimization::optimize(), QMCThreeBodyJastrow::packageDerivatives(), printAIParameters(), printAISummary(), read(), and setAIParameters().
This object is used to output the configuation file.
Definition at line 70 of file QMCInput.h.
Referenced by QMCReadAndEvaluateConfigs::locally_CalculateProperties(), openConfigFile(), read(), and QMCWalkerData::writeConfigs().
Array1D< Array1D<double> > QMCInput::cs_Parameters |
The complete set of correlated sampling parameters.
The set at 0 are for the guiding wavefunction.
Definition at line 76 of file QMCInput.h.
Referenced by QMCSCFJastrow::calculate_CorrelatedSampling(), QMCWalker::calculateObservables(), QMCEigenSearch::optimize(), QMCCorrelatedSamplingVMCOptimization::optimize(), QMCRun::propagateWalkers(), QMCThreeBodyCorrelationFunctionParameters::setFreeParameters(), and QMCPropertyArrays::zeroOut().