OpenMD  2.5
Molecular Dynamics in the Open
OpenMD::SimInfo Class Reference

One of the heavy-weight classes of OpenMD, SimInfo maintains objects and variables relating to the current simulation. This includes the master list of Molecules. The Molecule class maintains all of the concrete objects (Atoms, Bond, Bend, Torsions, Inversions, RigidBodies, CutoffGroups, Constraints). In both the single and parallel versions, Atoms and RigidBodies have both global and local indices. More...

#include "brains/SimInfo.hpp"

Public Types

typedef map< int, Molecule * >::iterator MoleculeIterator
 

Public Member Functions

 SimInfo (ForceField *ff, Globals *simParams)
 
virtual ~SimInfo ()
 
bool addMolecule (Molecule *mol)
 
bool removeMolecule (Molecule *mol)
 
int getNGlobalMolecules ()
 
int getNGlobalAtoms ()
 
int getNGlobalCutoffGroups ()
 
int getNGlobalIntegrableObjects ()
 
int getNGlobalRigidBodies ()
 
unsigned int getNGlobalBonds ()
 
unsigned int getNGlobalBends ()
 
unsigned int getNGlobalTorsions ()
 
unsigned int getNGlobalInversions ()
 
unsigned int getNGlobalConstraints ()
 
int getNMolecules ()
 
unsigned int getNAtoms ()
 
unsigned int getNLocalCutoffGroups ()
 
unsigned int getNBonds ()
 
unsigned int getNBends ()
 
unsigned int getNTorsions ()
 
unsigned int getNInversions ()
 
unsigned int getNRigidBodies ()
 
unsigned int getNIntegrableObjects ()
 
unsigned int getNCutoffGroups ()
 
unsigned int getNConstraints ()
 
MoleculebeginMolecule (MoleculeIterator &i)
 
MoleculenextMolecule (MoleculeIterator &i)
 
int getNFluctuatingCharges ()
 
int getNdf ()
 
int getNdfLocal ()
 
int getNdfRaw ()
 
int getNdfTrans ()
 
void setFdf (int fdf)
 
int getFdf ()
 
int getNZconstraint ()
 
void setNZconstraint (int nZconstraint)
 
SnapshotManagergetSnapshotManager ()
 
int getStorageLayout ()
 
void setStorageLayout (int sl)
 
void setSnapshotManager (SnapshotManager *sman)
 
ForceFieldgetForceField ()
 
GlobalsgetSimParams ()
 
void update ()
 
void prepareTopology ()
 
LocalIndexManagergetLocalIndexManager ()
 
int getMoleculeStampId (int globalIndex)
 
MoleculeStampgetMoleculeStamp (int id)
 
int getNMoleculeStamp ()
 
MoleculegetMoleculeByGlobalIndex (int index)
 
int getGlobalMolMembership (int id)
 
vector< int > getGlobalAtomIndices ()
 
vector< int > getGlobalGroupIndices ()
 
string getFinalConfigFileName ()
 
void setFinalConfigFileName (const string &fileName)
 
string getRawMetaData ()
 
void setRawMetaData (const string &rawMetaData)
 
string getDumpFileName ()
 
void setDumpFileName (const string &fileName)
 
string getStatFileName ()
 
void setStatFileName (const string &fileName)
 
string getReportFileName ()
 
void setReportFileName (const string &fileName)
 
string getRestFileName ()
 
void setRestFileName (const string &fileName)
 
void setGlobalGroupMembership (const vector< int > &ggm)
 
void setGlobalMolMembership (const vector< int > &gmm)
 
bool isTopologyDone ()
 
bool getCalcBoxDipole ()
 
bool getCalcBoxQuadrupole ()
 
bool getUseAtomicVirial ()
 
void addProperty (GenericData *genData)
 
void removeProperty (const string &propName)
 
void clearProperties ()
 
vector< string > getPropertyNames ()
 
vector< GenericData * > getProperties ()
 
GenericDatagetPropertyByName (const string &propName)
 
void addInteractionPairs (Molecule *mol)
 
void removeInteractionPairs (Molecule *mol)
 
set< AtomType * > getSimulatedAtomTypes ()
 
int getGlobalCountOfType (AtomType *atype)
 
void getCutoff (RealType &rcut, RealType &rsw)
 
bool usesElectrostaticAtoms ()
 
bool usesDirectionalAtoms ()
 
bool usesFluctuatingCharges ()
 
bool usesAtomicVirial ()
 
bool requiresPrepair ()
 
bool requiresSkipCorrection ()
 
bool requiresSelfCorrection ()
 
vector< int > getGlobalGroupMembership ()
 
vector< int > getIdentArray ()
 
vector< int > getRegions ()
 
vector< RealType > getMassFactors ()
 
PairListgetExcludedInteractions ()
 
PairListgetOneTwoInteractions ()
 
PairListgetOneThreeInteractions ()
 
PairListgetOneFourInteractions ()
 
StuntDoublegetIOIndexToIntegrableObject (int index)
 
void setIOIndexToIntegrableObject (const vector< StuntDouble *> &v)
 
int getMolToProc (int globalIndex)
 
void setMolToProcMap (const vector< int > &molToProcMap)
 

Private Member Functions

void setupSimVariables ()
 
void calcNdf ()
 
void calcNdfRaw ()
 
void calcNdfTrans ()
 
void calcNConstraints ()
 
void addMoleculeStamp (MoleculeStamp *molStamp, int nmol)
 

Private Attributes

ForceFieldforceField_
 
GlobalssimParams_
 
int nAtoms_
 Counts of local objects. More...
 
int nBonds_
 
int nBends_
 
int nTorsions_
 
int nInversions_
 
int nRigidBodies_
 
int nIntegrableObjects_
 
int nCutoffGroups_
 
int nConstraints_
 
int nFluctuatingCharges_
 
int nGlobalMols_
 Counts of global objects. More...
 
int nGlobalAtoms_
 
int nGlobalCutoffGroups_
 
int nGlobalIntegrableObjects_
 
int nGlobalRigidBodies_
 
int nGlobalFluctuatingCharges_
 
int nGlobalBonds_
 
int nGlobalBends_
 
int nGlobalTorsions_
 
int nGlobalInversions_
 
int nGlobalConstraints_
 
bool hasNGlobalConstraints_
 
int ndf_
 Degress of freedom. More...
 
int ndfLocal_
 
int fdf_local
 
int fdf_
 
int ndfRaw_
 
int ndfTrans_
 
int nZconstraint_
 
bool usesPeriodicBoundaries_
 logicals More...
 
bool usesDirectionalAtoms_
 
bool usesMetallicAtoms_
 
bool usesElectrostaticAtoms_
 
bool usesFluctuatingCharges_
 
bool usesAtomicVirial_
 
bool requiresPrepair_
 
bool requiresSkipCorrection_
 
bool requiresSelfCorrection_
 
map< int, Molecule * > molecules_
 Data structures holding primary simulation objects. More...
 
vector< int > molStampIds_
 
vector< MoleculeStamp * > moleculeStamps_
 
vector< int > globalGroupMembership_
 
vector< int > globalMolMembership_
 
vector< int > identArray_
 
vector< int > regions_
 
vector< RealType > massFactors_
 
PairList excludedInteractions_
 lists to handle atoms needing special treatment in the non-bonded interactions More...
 
PairList oneTwoInteractions_
 
PairList oneThreeInteractions_
 
PairList oneFourInteractions_
 
PropertyMap properties_
 
SnapshotManagersman_
 
int storageLayout_
 
LocalIndexManager localIndexMan_
 
string rawMetaData_
 
string finalConfigFileName_
 
string dumpFileName_
 
string statFileName_
 
string reportFileName_
 
string restFileName_
 
bool topologyDone_
 
bool calcBoxDipole_
 
bool calcBoxQuadrupole_
 
bool useAtomicVirial_
 
vector< StuntDouble * > IOIndexToIntegrableObject
 
vector< int > molToProcMap_
 

Friends

ostream & operator<< (ostream &o, SimInfo &info)
 

Detailed Description

One of the heavy-weight classes of OpenMD, SimInfo maintains objects and variables relating to the current simulation. This includes the master list of Molecules. The Molecule class maintains all of the concrete objects (Atoms, Bond, Bend, Torsions, Inversions, RigidBodies, CutoffGroups, Constraints). In both the single and parallel versions, Atoms and RigidBodies have both global and local indices.

Definition at line 87 of file SimInfo.hpp.

Member Typedef Documentation

◆ MoleculeIterator

typedef map<int, Molecule*>::iterator OpenMD::SimInfo::MoleculeIterator

Definition at line 89 of file SimInfo.hpp.

Constructor & Destructor Documentation

◆ SimInfo()

◆ ~SimInfo()

OpenMD::SimInfo::~SimInfo ( )
virtual

Definition at line 163 of file SimInfo.cpp.

References forceField_, molecules_, simParams_, and sman_.

Member Function Documentation

◆ addInteractionPairs()

◆ addMolecule()

◆ addMoleculeStamp()

void OpenMD::SimInfo::addMoleculeStamp ( MoleculeStamp molStamp,
int  nmol 
)
private

Adds molecule stamp and the total number of the molecule with same molecule stamp in the whole system.

Definition at line 694 of file SimInfo.cpp.

References moleculeStamps_, and molStampIds_.

Referenced by SimInfo().

◆ addProperty()

void OpenMD::SimInfo::addProperty ( GenericData genData)

Adds property into property map

Parameters
genDataGenericData to be added into PropertyMap

Definition at line 977 of file SimInfo.cpp.

References OpenMD::PropertyMap::addProperty(), and properties_.

◆ beginMolecule()

Molecule * OpenMD::SimInfo::beginMolecule ( MoleculeIterator i)

Returns the first molecule in this SimInfo and intialize the iterator.

Returns
the first molecule, return NULL if there is not molecule in this SimInfo
Parameters
ithe iterator of molecule array (user shouldn't change it)

Definition at line 232 of file SimInfo.cpp.

References molecules_.

Referenced by OpenMD::SelectionEvaluator::allInstruction(), OpenMD::FluctuatingChargeConstraints::applyConstraints(), OpenMD::FluctuatingChargeLangevin::applyConstraints(), OpenMD::UniformField::applyPerturbation(), OpenMD::UniformGradient::applyPerturbation(), OpenMD::ThermoIntegrationForceManager::calcForces(), calcNdf(), calcNdfRaw(), OpenMD::Electrostatic::calcSurfaceTerm(), OpenMD::SelectionEvaluator::comparatorInstruction(), OpenMD::Rattle::constraintB(), OpenMD::Shake::constraintF(), OpenMD::EnergyCorrFunc::correlateFrames(), OpenMD::MomentumCorrFunc::correlateFrames(), OpenMD::SimCreator::createSim(), OpenMD::DistanceFinder::DistanceFinder(), OpenMD::Shake::doConstraint(), OpenMD::Rattle::doConstraint(), getGlobalAtomIndices(), getGlobalGroupIndices(), OpenMD::FluctuatingChargeObjectiveFunction::getGrad(), OpenMD::PotentialEnergyObjectiveFunction::getGrad(), getNLocalCutoffGroups(), getSimulatedAtomTypes(), OpenMD::HullFinder::HullFinder(), OpenMD::IndexFinder::init(), OpenMD::LangevinHullForceManager::LangevinHullForceManager(), OpenMD::LDForceManager::LDForceManager(), OpenMD::NameFinder::loadNames(), OpenMD::ForceManager::longRangeInteractions(), main(), OpenMD::NameFinder::matchInternalIndex(), OpenMD::LangevinHullDynamics::moveA(), OpenMD::FluctuatingChargeNVE::moveA(), OpenMD::LangevinDynamics::moveA(), OpenMD::NVE::moveA(), OpenMD::NPA::moveA(), OpenMD::FluctuatingChargeNVT::moveA(), OpenMD::FluctuatingChargeLangevin::moveA(), OpenMD::NVT::moveA(), OpenMD::NPT::moveA(), OpenMD::LangevinHullDynamics::moveB(), OpenMD::FluctuatingChargeNVE::moveB(), OpenMD::LangevinDynamics::moveB(), OpenMD::NVE::moveB(), OpenMD::NPA::moveB(), OpenMD::FluctuatingChargeNVT::moveB(), OpenMD::FluctuatingChargeLangevin::moveB(), OpenMD::NVT::moveB(), OpenMD::NPT::moveB(), OpenMD::LDForceManager::postCalculation(), OpenMD::ForceManager::postCalculation(), OpenMD::ForceManager::preCalculation(), OpenMD::EnergyCorrFunc::preCorrelate(), prepareTopology(), OpenMD::MultipoleSum::process(), OpenMD::BOPofR::process(), OpenMD::BondAngleDistribution::process(), OpenMD::TetrahedralityHBMatrix::process(), OpenMD::TetrahedralityParam::process(), OpenMD::BondOrderParameter::process(), OpenMD::RestReader::readReferenceStructure(), OpenMD::Electrostatic::ReciprocalSpaceSum(), OpenMD::Velocitizer::removeAngularDrift(), OpenMD::Velocitizer::removeComDrift(), OpenMD::SelectionManager::SelectionManager(), OpenMD::FluctuatingChargeConstraints::setConstrainRegions(), OpenMD::FluctuatingChargeObjectiveFunction::setCoor(), OpenMD::PotentialEnergyObjectiveFunction::setCoor(), OpenMD::SimCreator::setGlobalIndex(), OpenMD::FluctuatingChargeObjectiveFunction::setInitialCoords(), OpenMD::PotentialEnergyObjectiveFunction::setInitialCoords(), setSnapshotManager(), OpenMD::ForceManager::shortRangeInteractions(), OpenMD::ZconstraintForceManager::update(), OpenMD::Velocitizer::velocitize(), and OpenMD::DumpWriter::writeFrame().

◆ calcNConstraints()

void OpenMD::SimInfo::calcNConstraints ( )
private

Definition at line 1082 of file SimInfo.cpp.

References nConstraints_, and nGlobalConstraints_.

Referenced by update().

◆ calcNdf()

◆ calcNdfRaw()

◆ calcNdfTrans()

void OpenMD::SimInfo::calcNdfTrans ( )
private

Definition at line 363 of file SimInfo.cpp.

References nConstraints_, ndfTrans_, nIntegrableObjects_, and nZconstraint_.

Referenced by update().

◆ clearProperties()

void OpenMD::SimInfo::clearProperties ( )

clear all of the properties

Definition at line 985 of file SimInfo.cpp.

References OpenMD::PropertyMap::clearProperties(), and properties_.

◆ getCalcBoxDipole()

bool OpenMD::SimInfo::getCalcBoxDipole ( )
inline

Definition at line 443 of file SimInfo.hpp.

Referenced by OpenMD::Stats::init().

◆ getCalcBoxQuadrupole()

bool OpenMD::SimInfo::getCalcBoxQuadrupole ( )
inline

Definition at line 446 of file SimInfo.hpp.

Referenced by OpenMD::Stats::init().

◆ getCutoff()

void OpenMD::SimInfo::getCutoff ( RealType &  rcut,
RealType &  rsw 
)

◆ getDumpFileName()

string OpenMD::SimInfo::getDumpFileName ( )
inline

Definition at line 389 of file SimInfo.hpp.

◆ getExcludedInteractions()

PairList* OpenMD::SimInfo::getExcludedInteractions ( )
inline

◆ getFdf()

int OpenMD::SimInfo::getFdf ( )

Definition at line 299 of file SimInfo.cpp.

References fdf_, and fdf_local.

◆ getFinalConfigFileName()

◆ getForceField()

◆ getGlobalAtomIndices()

vector< int > OpenMD::SimInfo::getGlobalAtomIndices ( )

returns a vector which maps the local atom index on this processor to the global atom index. With only one processor, these should be identical.

Definition at line 883 of file SimInfo.cpp.

References OpenMD::Molecule::beginAtom(), beginMolecule(), OpenMD::StuntDouble::getGlobalIndex(), OpenMD::StuntDouble::getLocalIndex(), getNAtoms(), OpenMD::Molecule::nextAtom(), and nextMolecule().

Referenced by OpenMD::ForceMatrixDecomposition::distributeInitialData().

◆ getGlobalCountOfType()

int OpenMD::SimInfo::getGlobalCountOfType ( AtomType atype)

Returns the global count of atoms of a particular type

◆ getGlobalGroupIndices()

vector< int > OpenMD::SimInfo::getGlobalGroupIndices ( )

returns a vector which maps the local cutoff group index on this processor to the global cutoff group index. With only one processor, these should be identical.

Definition at line 901 of file SimInfo.cpp.

References OpenMD::Molecule::beginCutoffGroup(), beginMolecule(), OpenMD::CutoffGroup::getGlobalIndex(), OpenMD::Molecule::nextCutoffGroup(), and nextMolecule().

Referenced by OpenMD::ForceMatrixDecomposition::distributeInitialData().

◆ getGlobalGroupMembership()

vector<int> OpenMD::SimInfo::getGlobalGroupMembership ( )
inline

◆ getGlobalMolMembership()

int OpenMD::SimInfo::getGlobalMolMembership ( int  id)
inline

◆ getIdentArray()

vector<int> OpenMD::SimInfo::getIdentArray ( )
inline

◆ getIOIndexToIntegrableObject()

StuntDouble * OpenMD::SimInfo::getIOIndexToIntegrableObject ( int  index)

return an integral objects by its global index. In MPI version, if the StuntDouble with specified global index does not belong to local processor, a NULL will be return.

Definition at line 1066 of file SimInfo.cpp.

References errorStruct::errMsg, IOIndexToIntegrableObject, errorStruct::isFatal, painCave, and simError().

Referenced by main(), OpenMD::DumpReader::parseDumpLine(), OpenMD::RestReader::parseDumpLine(), OpenMD::DumpReader::parseSiteLine(), OpenMD::P2OrderParameter::process(), and OpenMD::pAngle::process().

◆ getLocalIndexManager()

LocalIndexManager* OpenMD::SimInfo::getLocalIndexManager ( )
inline

Returns the local index manager

Definition at line 325 of file SimInfo.hpp.

Referenced by OpenMD::SimCreator::createMolecules().

◆ getMassFactors()

vector<RealType> OpenMD::SimInfo::getMassFactors ( )
inline

◆ getMoleculeByGlobalIndex()

Molecule* OpenMD::SimInfo::getMoleculeByGlobalIndex ( int  index)
inline

◆ getMoleculeStamp()

MoleculeStamp* OpenMD::SimInfo::getMoleculeStamp ( int  id)
inline

◆ getMoleculeStampId()

int OpenMD::SimInfo::getMoleculeStampId ( int  globalIndex)
inline

◆ getMolToProc()

int OpenMD::SimInfo::getMolToProc ( int  globalIndex)
inline

Finds the processor where a molecule resides

Returns
the id of the processor which contains the molecule
Parameters
globalIndexglobal Index of the molecule

Definition at line 717 of file SimInfo.hpp.

Referenced by OpenMD::SimCreator::createMolecules(), OpenMD::DistanceFinder::find(), OpenMD::ZconstraintForceManager::getZTargetPos(), OpenMD::RestraintForceManager::RestraintForceManager(), OpenMD::SimCreator::setGlobalIndex(), and OpenMD::ZconstraintForceManager::update().

◆ getNAtoms()

◆ getNBends()

unsigned int OpenMD::SimInfo::getNBends ( )
inline

Returns the number of local bends

Definition at line 198 of file SimInfo.hpp.

◆ getNBonds()

unsigned int OpenMD::SimInfo::getNBonds ( )
inline

Returns the number of local bonds

Definition at line 193 of file SimInfo.hpp.

◆ getNConstraints()

unsigned int OpenMD::SimInfo::getNConstraints ( )
inline

Returns the total number of constraints in this SimInfo

Definition at line 227 of file SimInfo.hpp.

◆ getNCutoffGroups()

unsigned int OpenMD::SimInfo::getNCutoffGroups ( )
inline

◆ getNdf()

◆ getNdfLocal()

int OpenMD::SimInfo::getNdfLocal ( )
inline

Returns the number of degrees of freedom (LOCAL)

Definition at line 256 of file SimInfo.hpp.

◆ getNdfRaw()

int OpenMD::SimInfo::getNdfRaw ( )
inline

Returns the number of raw degrees of freedom

Definition at line 261 of file SimInfo.hpp.

Referenced by OpenMD::Velocitizer::velocitize().

◆ getNdfTrans()

int OpenMD::SimInfo::getNdfTrans ( )
inline

Returns the number of translational degrees of freedom

Definition at line 266 of file SimInfo.hpp.

◆ getNFluctuatingCharges()

◆ getNGlobalAtoms()

◆ getNGlobalBends()

◆ getNGlobalBonds()

◆ getNGlobalConstraints()

unsigned int OpenMD::SimInfo::getNGlobalConstraints ( )
inline

◆ getNGlobalCutoffGroups()

int OpenMD::SimInfo::getNGlobalCutoffGroups ( )
inline

Returns the total number of cutoff groups in the system.

Definition at line 130 of file SimInfo.hpp.

Referenced by OpenMD::ForceManager::preCalculation().

◆ getNGlobalIntegrableObjects()

int OpenMD::SimInfo::getNGlobalIntegrableObjects ( )
inline

◆ getNGlobalInversions()

unsigned int OpenMD::SimInfo::getNGlobalInversions ( )
inline

◆ getNGlobalMolecules()

◆ getNGlobalRigidBodies()

◆ getNGlobalTorsions()

◆ getNIntegrableObjects()

unsigned int OpenMD::SimInfo::getNIntegrableObjects ( )
inline

Returns the number of local integrable objects

Definition at line 217 of file SimInfo.hpp.

Referenced by OpenMD::NVT::doUpdateSizes(), and OpenMD::NPT::doUpdateSizes().

◆ getNInversions()

unsigned int OpenMD::SimInfo::getNInversions ( )
inline

Returns the number of local inversions

Definition at line 208 of file SimInfo.hpp.

◆ getNLocalCutoffGroups()

unsigned int OpenMD::SimInfo::getNLocalCutoffGroups ( )

◆ getNMolecules()

int OpenMD::SimInfo::getNMolecules ( )
inline

Returns the number of local molecules.

Returns
the number of local molecules

Definition at line 180 of file SimInfo.hpp.

◆ getNMoleculeStamp()

int OpenMD::SimInfo::getNMoleculeStamp ( )
inline

Return the total number of the molecule stamps

Definition at line 340 of file SimInfo.hpp.

◆ getNRigidBodies()

unsigned int OpenMD::SimInfo::getNRigidBodies ( )
inline

Returns the number of local rigid bodies

Definition at line 212 of file SimInfo.hpp.

Referenced by OpenMD::SimSnapshotManager::SimSnapshotManager().

◆ getNTorsions()

unsigned int OpenMD::SimInfo::getNTorsions ( )
inline

Returns the number of local torsions

Definition at line 203 of file SimInfo.hpp.

◆ getNZconstraint()

int OpenMD::SimInfo::getNZconstraint ( )
inline

Returns the total number of z-constraint molecules in the system

Definition at line 281 of file SimInfo.hpp.

◆ getOneFourInteractions()

PairList* OpenMD::SimInfo::getOneFourInteractions ( )
inline

◆ getOneThreeInteractions()

PairList* OpenMD::SimInfo::getOneThreeInteractions ( )
inline

◆ getOneTwoInteractions()

PairList* OpenMD::SimInfo::getOneTwoInteractions ( )
inline

◆ getProperties()

vector< GenericData * > OpenMD::SimInfo::getProperties ( )

Returns all of the properties in PropertyMap

Returns
all of the properties in PropertyMap

Definition at line 993 of file SimInfo.cpp.

References OpenMD::PropertyMap::getProperties(), and properties_.

◆ getPropertyByName()

GenericData * OpenMD::SimInfo::getPropertyByName ( const string &  propName)

Returns property

Parameters
propNamename of property
Returns
a pointer point to property with propName. If no property named propName exists, return NULL

Definition at line 997 of file SimInfo.cpp.

References OpenMD::PropertyMap::getPropertyByName(), and properties_.

◆ getPropertyNames()

vector< string > OpenMD::SimInfo::getPropertyNames ( )

Returns all names of properties

Returns
all names of properties

Definition at line 989 of file SimInfo.cpp.

References OpenMD::PropertyMap::getPropertyNames(), and properties_.

◆ getRawMetaData()

string OpenMD::SimInfo::getRawMetaData ( )
inline

Definition at line 382 of file SimInfo.hpp.

Referenced by OpenMD::DumpWriter::createOStream().

◆ getRegions()

vector<int> OpenMD::SimInfo::getRegions ( )
inline

◆ getReportFileName()

string OpenMD::SimInfo::getReportFileName ( )
inline

Definition at line 405 of file SimInfo.hpp.

Referenced by OpenMD::VelocityVerletIntegrator::createStatWriter().

◆ getRestFileName()

string OpenMD::SimInfo::getRestFileName ( )
inline

Definition at line 413 of file SimInfo.hpp.

◆ getSimParams()

Globals* OpenMD::SimInfo::getSimParams ( )
inline

Definition at line 313 of file SimInfo.hpp.

Referenced by OpenMD::BlockSnapshotManager::BlockSnapshotManager(), OpenMD::GofRAngle2::collectHistogram(), OpenMD::GofR::collectHistogram(), OpenMD::GofXyz::collectHistogram(), OpenMD::TwoDGofR::collectHistogram(), OpenMD::GofZ::collectHistogram(), OpenMD::Kirkwood::collectHistogram(), OpenMD::GofAngle2::collectHistogram(), OpenMD::GofRZ::collectHistogram(), OpenMD::GofRAngle::collectHistogram(), OpenMD::KirkwoodQuadrupoles::collectHistogram(), OpenMD::RCorrFuncZ::computeProperty1(), OpenMD::SimCreator::computeStorageLayout(), OpenMD::LegendreCorrFuncZ::correlateFrames(), OpenMD::COHZ::correlateFrames(), OpenMD::SimCreator::divideMolecules(), OpenMD::RNEMD::doRNEMD(), OpenMD::DumpWriter::DumpWriter(), OpenMD::GofRTheta::evaluateAngle(), OpenMD::GofROmega::evaluateAngle(), OpenMD::FluctuatingChargePropagator::FluctuatingChargePropagator(), OpenMD::ForceDecomposition::ForceDecomposition(), OpenMD::SimCreator::gatherParameters(), OpenMD::GCNSeq::GCNSeq(), OpenMD::Stats::getPrecision(), OpenMD::RNEMD::getStarted(), OpenMD::Stats::init(), OpenMD::FluctuatingChargeNVE::initialize(), OpenMD::InteractionManager::initialize(), OpenMD::ForceManager::initialize(), OpenMD::FluctuatingChargeNVT::initialize(), OpenMD::FluctuatingChargeLangevin::initialize(), OpenMD::Electrostatic::initialize(), OpenMD::GofXyz::initializeHistogram(), OpenMD::Integrator::Integrator(), OpenMD::LangevinHullForceManager::LangevinHullForceManager(), OpenMD::LDForceManager::LDForceManager(), main(), OpenMD::NgammaT::NgammaT(), OpenMD::NitrileFrequencyMap::NitrileFrequencyMap(), OpenMD::NPrT::NPrT(), OpenMD::NPT::NPT(), OpenMD::NVT::NVT(), OpenMD::ForceManager::postCalculation(), OpenMD::PotentialEnergyObjectiveFunction::PotentialEnergyObjectiveFunction(), OpenMD::DensityPlot::process(), OpenMD::RippleOP::process(), OpenMD::MultipoleSum::process(), OpenMD::P2OrderParameter::process(), OpenMD::SurfaceDiffusion::process(), OpenMD::BOPofR::process(), OpenMD::RhoZ::process(), OpenMD::BondAngleDistribution::process(), OpenMD::pAngle::process(), OpenMD::CoordinationNumber::process(), OpenMD::Hxy::process(), OpenMD::TetrahedralityHBMatrix::process(), OpenMD::TetrahedralityParamXYZ::process(), OpenMD::TetrahedralityParam::process(), OpenMD::TetrahedralityParamZ::process(), OpenMD::TetrahedralityParamDens::process(), OpenMD::BondOrderParameter::process(), OpenMD::Rattle::Rattle(), OpenMD::RestraintForceManager::RestraintForceManager(), OpenMD::RNEMD::RNEMD(), OpenMD::RNEMDRTheta::RNEMDRTheta(), OpenMD::RoughShell::RoughShell(), OpenMD::SCDElem::SCDElem(), OpenMD::ForceManager::setupCutoffs(), OpenMD::Shake::Shake(), OpenMD::ShellStatistics::ShellStatistics(), OpenMD::SimSnapshotManager::SimSnapshotManager(), OpenMD::ThermoIntegrationForceManager::ThermoIntegrationForceManager(), OpenMD::TimeCorrFunc::TimeCorrFunc(), OpenMD::UniformField::UniformField(), OpenMD::UniformGradient::UniformGradient(), OpenMD::Velocitizer::velocitize(), OpenMD::Velocitizer::Velocitizer(), OpenMD::RNEMD::writeOutputFile(), OpenMD::ZConsReader::ZConsReader(), OpenMD::ZconstraintForceManager::ZconstraintForceManager(), and OpenMD::ZConsVisitor::ZConsVisitor().

◆ getSimulatedAtomTypes()

set< AtomType * > OpenMD::SimInfo::getSimulatedAtomTypes ( )

Returns the set of atom types present in this simulation

getSimulatedAtomTypes

Returns an STL set of AtomType* that are actually present in this simulation. Must query all processors to assemble this information.

Definition at line 727 of file SimInfo.cpp.

References OpenMD::Molecule::beginAtom(), beginMolecule(), forceField_, OpenMD::Atom::getAtomType(), OpenMD::ForceField::getAtomType(), OpenMD::Molecule::nextAtom(), and nextMolecule().

Referenced by OpenMD::SimCreator::computeStorageLayout(), OpenMD::InteractionManager::initialize(), OpenMD::NitrileFrequencyMap::NitrileFrequencyMap(), OpenMD::ForceManager::setupCutoffs(), and setupSimVariables().

◆ getSnapshotManager()

SnapshotManager* OpenMD::SimInfo::getSnapshotManager ( )
inline

Returns the snapshot manager.

Definition at line 293 of file SimInfo.hpp.

Referenced by OpenMD::UniformField::applyPerturbation(), OpenMD::UniformGradient::applyPerturbation(), OpenMD::ThermoIntegrationForceManager::calcForces(), OpenMD::RestraintForceManager::calcForces(), OpenMD::Electrostatic::calcSurfaceTerm(), OpenMD::ZconstraintForceManager::checkZConsState(), OpenMD::RNEMD::collectData(), OpenMD::Stats::collectStats(), OpenMD::SelectionEvaluator::compareProperty(), OpenMD::ContactAngle2::doFrame(), OpenMD::ZconstraintForceManager::doHarmonic(), OpenMD::RNEMD::doNIVS(), OpenMD::SequentialAnalyzer::doSequence(), OpenMD::RNEMD::doSwap(), OpenMD::RNEMD::doVSS(), OpenMD::DistanceFinder::find(), OpenMD::ForceDecomposition::ForceDecomposition(), OpenMD::RNEMD::getDividingArea(), OpenMD::Electrostatic::getSitePotentials(), OpenMD::VelocityVerletIntegrator::initialize(), OpenMD::UniformField::initialize(), OpenMD::UniformGradient::initialize(), OpenMD::GofXyz::initializeHistogram(), OpenMD::LipidTransVisitor::internalVisit(), OpenMD::WrappingVisitor::internalVisit(), OpenMD::ReplicateVisitor::internalVisit(), OpenMD::SimCreator::loadCoordinates(), OpenMD::ForceManager::longRangeInteractions(), main(), OpenMD::NitrileFrequencyMap::NitrileFrequencyMap(), OpenMD::NPT::NPT(), OpenMD::NVT::NVT(), OpenMD::LangevinHullForceManager::postCalculation(), OpenMD::ForceManager::postCalculation(), OpenMD::VelocityVerletIntegrator::postStep(), OpenMD::PotDiff::PotDiff(), OpenMD::ForceManager::preCalculation(), OpenMD::DumpWriter::prepareSiteLine(), OpenMD::DensityPlot::process(), OpenMD::ObjectCount::process(), OpenMD::RippleOP::process(), OpenMD::NanoLength::process(), OpenMD::MultipoleSum::process(), OpenMD::P2OrderParameter::process(), OpenMD::NitrileFrequencyMap::process(), OpenMD::AngleR::process(), OpenMD::RhoR::process(), OpenMD::SurfaceDiffusion::process(), OpenMD::PotDiff::process(), OpenMD::BOPofR::process(), OpenMD::NanoVolume::process(), OpenMD::RadialDistrFunc::process(), OpenMD::RhoZ::process(), OpenMD::BondAngleDistribution::process(), OpenMD::SpatialStatistics::process(), OpenMD::pAngle::process(), OpenMD::CoordinationNumber::process(), OpenMD::HBondGeometric::process(), OpenMD::SCDOrderParameter::process(), OpenMD::Hxy::process(), OpenMD::TetrahedralityHBMatrix::process(), OpenMD::TetrahedralityParamXYZ::process(), OpenMD::TetrahedralityParam::process(), OpenMD::TetrahedralityParamZ::process(), OpenMD::TetrahedralityParamDens::process(), OpenMD::BondOrderParameter::process(), OpenMD::GofZ::processHistogram(), OpenMD::GofR::processHistogram(), OpenMD::TwoDGofR::processHistogram(), OpenMD::GofRZ::processHistogram(), OpenMD::GofRAngle2::processHistogram(), OpenMD::GofRAngle::processHistogram(), OpenMD::GofRTheta::processHistogram(), OpenMD::Rattle::Rattle(), OpenMD::DumpReader::readFrame(), OpenMD::DumpReader::readFrameProperties(), OpenMD::Electrostatic::ReciprocalSpaceSum(), OpenMD::RestraintForceManager::RestraintForceManager(), OpenMD::PotentialEnergyObjectiveFunction::setCoor(), OpenMD::Shake::Shake(), OpenMD::ForceManager::shortRangeInteractions(), OpenMD::TetrahedralityParamXYZ::TetrahedralityParamXYZ(), OpenMD::ThermoIntegrationForceManager::ThermoIntegrationForceManager(), OpenMD::ZconstraintForceManager::update(), OpenMD::LipidTransVisitor::update(), OpenMD::FluctuatingChargeObjectiveFunction::value(), OpenMD::FluctuatingChargeObjectiveFunction::valueAndGradient(), OpenMD::ConstraintWriter::writeConstraintForces(), OpenMD::DumpWriter::writeFrame(), OpenMD::XYZVisitor::writeFrame(), OpenMD::ZConsWriter::writeFZ(), OpenMD::RNEMD::writeOutputFile(), OpenMD::TetrahedralityParamXYZ::writeQxyz(), OpenMD::RestWriter::writeRest(), OpenMD::ZconstraintForceManager::ZconstraintForceManager(), and OpenMD::ZConsVisitor::ZConsVisitor().

◆ getStatFileName()

string OpenMD::SimInfo::getStatFileName ( )
inline

Definition at line 397 of file SimInfo.hpp.

Referenced by OpenMD::VelocityVerletIntegrator::createStatWriter().

◆ getStorageLayout()

int OpenMD::SimInfo::getStorageLayout ( )
inline

◆ getUseAtomicVirial()

bool OpenMD::SimInfo::getUseAtomicVirial ( )
inline

Definition at line 450 of file SimInfo.hpp.

References OpenMD::getGlobalCountOfType(), and OpenMD::operator<<().

◆ isTopologyDone()

bool OpenMD::SimInfo::isTopologyDone ( )
inline

Definition at line 439 of file SimInfo.hpp.

Referenced by OpenMD::ForceManager::initialize().

◆ nextMolecule()

Molecule * OpenMD::SimInfo::nextMolecule ( MoleculeIterator i)

Returns the next avaliable Molecule based on the iterator.

Returns
the next avaliable molecule, return NULL if reaching the end of the array
Parameters
ithe iterator of molecule array

Definition at line 237 of file SimInfo.cpp.

References molecules_.

Referenced by OpenMD::SelectionEvaluator::allInstruction(), OpenMD::FluctuatingChargeConstraints::applyConstraints(), OpenMD::FluctuatingChargeLangevin::applyConstraints(), OpenMD::UniformField::applyPerturbation(), OpenMD::UniformGradient::applyPerturbation(), OpenMD::ThermoIntegrationForceManager::calcForces(), calcNdf(), calcNdfRaw(), OpenMD::Electrostatic::calcSurfaceTerm(), OpenMD::SelectionEvaluator::comparatorInstruction(), OpenMD::Rattle::constraintB(), OpenMD::Shake::constraintF(), OpenMD::EnergyCorrFunc::correlateFrames(), OpenMD::MomentumCorrFunc::correlateFrames(), OpenMD::SimCreator::createSim(), OpenMD::DistanceFinder::DistanceFinder(), OpenMD::Shake::doConstraint(), OpenMD::Rattle::doConstraint(), getGlobalAtomIndices(), getGlobalGroupIndices(), OpenMD::FluctuatingChargeObjectiveFunction::getGrad(), OpenMD::PotentialEnergyObjectiveFunction::getGrad(), getNLocalCutoffGroups(), getSimulatedAtomTypes(), OpenMD::HullFinder::HullFinder(), OpenMD::IndexFinder::init(), OpenMD::LangevinHullForceManager::LangevinHullForceManager(), OpenMD::LDForceManager::LDForceManager(), OpenMD::NameFinder::loadNames(), OpenMD::ForceManager::longRangeInteractions(), main(), OpenMD::NameFinder::matchInternalIndex(), OpenMD::LangevinHullDynamics::moveA(), OpenMD::FluctuatingChargeNVE::moveA(), OpenMD::LangevinDynamics::moveA(), OpenMD::NVE::moveA(), OpenMD::NPA::moveA(), OpenMD::FluctuatingChargeNVT::moveA(), OpenMD::FluctuatingChargeLangevin::moveA(), OpenMD::NVT::moveA(), OpenMD::NPT::moveA(), OpenMD::LangevinHullDynamics::moveB(), OpenMD::FluctuatingChargeNVE::moveB(), OpenMD::LangevinDynamics::moveB(), OpenMD::NVE::moveB(), OpenMD::NPA::moveB(), OpenMD::FluctuatingChargeNVT::moveB(), OpenMD::FluctuatingChargeLangevin::moveB(), OpenMD::NVT::moveB(), OpenMD::NPT::moveB(), OpenMD::LDForceManager::postCalculation(), OpenMD::ForceManager::postCalculation(), OpenMD::ForceManager::preCalculation(), OpenMD::EnergyCorrFunc::preCorrelate(), prepareTopology(), OpenMD::MultipoleSum::process(), OpenMD::BOPofR::process(), OpenMD::BondAngleDistribution::process(), OpenMD::TetrahedralityHBMatrix::process(), OpenMD::TetrahedralityParam::process(), OpenMD::BondOrderParameter::process(), OpenMD::RestReader::readReferenceStructure(), OpenMD::Electrostatic::ReciprocalSpaceSum(), OpenMD::Velocitizer::removeAngularDrift(), OpenMD::Velocitizer::removeComDrift(), OpenMD::SelectionManager::SelectionManager(), OpenMD::FluctuatingChargeConstraints::setConstrainRegions(), OpenMD::FluctuatingChargeObjectiveFunction::setCoor(), OpenMD::PotentialEnergyObjectiveFunction::setCoor(), OpenMD::SimCreator::setGlobalIndex(), OpenMD::FluctuatingChargeObjectiveFunction::setInitialCoords(), OpenMD::PotentialEnergyObjectiveFunction::setInitialCoords(), setSnapshotManager(), OpenMD::ForceManager::shortRangeInteractions(), OpenMD::ZconstraintForceManager::update(), OpenMD::Velocitizer::velocitize(), and OpenMD::DumpWriter::writeFrame().

◆ prepareTopology()

void OpenMD::SimInfo::prepareTopology ( )

Do final bookkeeping before Force managers need their data.

The mass factor is the relative mass of an atom to the total mass of the cutoff group it belongs to. By default, all atoms are their own cutoff groups, and therefore have mass factors of

  1. We need some special handling for massless atoms, which will be treated as carrying the entire mass of the cutoff group.

Definition at line 922 of file SimInfo.cpp.

References OpenMD::CutoffGroup::beginAtom(), OpenMD::Molecule::beginAtom(), OpenMD::Molecule::beginCutoffGroup(), beginMolecule(), OpenMD::Atom::getIdent(), OpenMD::StuntDouble::getLocalIndex(), OpenMD::CutoffGroup::getMass(), OpenMD::StuntDouble::getMass(), getNAtoms(), OpenMD::Molecule::getRegion(), identArray_, massFactors_, OpenMD::CutoffGroup::nextAtom(), OpenMD::Molecule::nextAtom(), OpenMD::Molecule::nextCutoffGroup(), nextMolecule(), regions_, and topologyDone_.

Referenced by OpenMD::ForceManager::initialize().

◆ removeInteractionPairs()

◆ removeMolecule()

◆ removeProperty()

void OpenMD::SimInfo::removeProperty ( const string &  propName)

Removes property from PropertyMap by name

Parameters
propNamethe name of property to be removed

Definition at line 981 of file SimInfo.cpp.

References properties_, and OpenMD::PropertyMap::removeProperty().

◆ requiresPrepair()

bool OpenMD::SimInfo::requiresPrepair ( )
inline

Definition at line 586 of file SimInfo.hpp.

Referenced by OpenMD::ForceManager::longRangeInteractions().

◆ requiresSelfCorrection()

bool OpenMD::SimInfo::requiresSelfCorrection ( )
inline

Definition at line 588 of file SimInfo.hpp.

Referenced by OpenMD::ForceManager::longRangeInteractions().

◆ requiresSkipCorrection()

bool OpenMD::SimInfo::requiresSkipCorrection ( )
inline

Definition at line 587 of file SimInfo.hpp.

◆ setDumpFileName()

void OpenMD::SimInfo::setDumpFileName ( const string &  fileName)
inline

Definition at line 393 of file SimInfo.hpp.

Referenced by OpenMD::SimCreator::gatherParameters().

◆ setFdf()

void OpenMD::SimInfo::setFdf ( int  fdf)
inline

sets the current number of frozen degrees of freedom

Definition at line 271 of file SimInfo.hpp.

Referenced by OpenMD::LDForceManager::postCalculation().

◆ setFinalConfigFileName()

void OpenMD::SimInfo::setFinalConfigFileName ( const string &  fileName)
inline

Definition at line 378 of file SimInfo.hpp.

Referenced by OpenMD::SimCreator::gatherParameters().

◆ setGlobalGroupMembership()

void OpenMD::SimInfo::setGlobalGroupMembership ( const vector< int > &  ggm)
inline

Sets GlobalGroupMembership

Definition at line 424 of file SimInfo.hpp.

Referenced by OpenMD::SimCreator::setGlobalIndex().

◆ setGlobalMolMembership()

void OpenMD::SimInfo::setGlobalMolMembership ( const vector< int > &  gmm)
inline

Sets GlobalMolMembership

Definition at line 432 of file SimInfo.hpp.

Referenced by OpenMD::SimCreator::setGlobalIndex().

◆ setIOIndexToIntegrableObject()

void OpenMD::SimInfo::setIOIndexToIntegrableObject ( const vector< StuntDouble *> &  v)

Definition at line 1078 of file SimInfo.cpp.

References IOIndexToIntegrableObject.

Referenced by OpenMD::SimCreator::setGlobalIndex().

◆ setMolToProcMap()

void OpenMD::SimInfo::setMolToProcMap ( const vector< int > &  molToProcMap)
inline

Set MolToProcMap array

Definition at line 725 of file SimInfo.hpp.

Referenced by OpenMD::SimCreator::divideMolecules().

◆ setNZconstraint()

void OpenMD::SimInfo::setNZconstraint ( int  nZconstraint)
inline

Sets the number of z-constraint molecules in the system.

Definition at line 288 of file SimInfo.hpp.

Referenced by main().

◆ setRawMetaData()

void OpenMD::SimInfo::setRawMetaData ( const string &  rawMetaData)
inline

Definition at line 385 of file SimInfo.hpp.

Referenced by OpenMD::SimCreator::createSim().

◆ setReportFileName()

void OpenMD::SimInfo::setReportFileName ( const string &  fileName)
inline

Definition at line 409 of file SimInfo.hpp.

Referenced by OpenMD::SimCreator::gatherParameters().

◆ setRestFileName()

void OpenMD::SimInfo::setRestFileName ( const string &  fileName)
inline

Definition at line 417 of file SimInfo.hpp.

Referenced by OpenMD::SimCreator::gatherParameters().

◆ setSnapshotManager()

◆ setStatFileName()

void OpenMD::SimInfo::setStatFileName ( const string &  fileName)
inline

Definition at line 401 of file SimInfo.hpp.

Referenced by OpenMD::SimCreator::gatherParameters().

◆ setStorageLayout()

void OpenMD::SimInfo::setStorageLayout ( int  sl)
inline

Sets the storage layout (computed by SimCreator)

Definition at line 301 of file SimInfo.hpp.

Referenced by OpenMD::SimCreator::computeStorageLayout(), and OpenMD::PotDiff::PotDiff().

◆ setupSimVariables()

void OpenMD::SimInfo::setupSimVariables ( )
private

◆ update()

void OpenMD::SimInfo::update ( )

update

Performs the global checks and variable settings after the objects have been created.

Definition at line 712 of file SimInfo.cpp.

References calcNConstraints(), calcNdf(), calcNdfRaw(), calcNdfTrans(), and setupSimVariables().

Referenced by OpenMD::ForceManager::initialize(), and main().

◆ usesAtomicVirial()

bool OpenMD::SimInfo::usesAtomicVirial ( )
inline

Definition at line 585 of file SimInfo.hpp.

Referenced by OpenMD::ForceManager::longRangeInteractions().

◆ usesDirectionalAtoms()

bool OpenMD::SimInfo::usesDirectionalAtoms ( )
inline

Definition at line 583 of file SimInfo.hpp.

◆ usesElectrostaticAtoms()

bool OpenMD::SimInfo::usesElectrostaticAtoms ( )
inline

Definition at line 582 of file SimInfo.hpp.

Referenced by OpenMD::ForceManager::setupCutoffs().

◆ usesFluctuatingCharges()

Friends And Related Function Documentation

◆ operator<<

ostream& operator<< ( ostream &  o,
SimInfo info 
)
friend

Definition at line 1060 of file SimInfo.cpp.

Member Data Documentation

◆ calcBoxDipole_

bool OpenMD::SimInfo::calcBoxDipole_
private

flag to indicate whether the topology has been scanned and all the relevant bookkeeping has been done flag to indicate whether or not we calculate the simulation box dipole moment

Definition at line 690 of file SimInfo.hpp.

Referenced by setupSimVariables().

◆ calcBoxQuadrupole_

bool OpenMD::SimInfo::calcBoxQuadrupole_
private

flag to indicate whether or not we calculate the simulation box quadrupole moment

Definition at line 692 of file SimInfo.hpp.

Referenced by setupSimVariables().

◆ dumpFileName_

string OpenMD::SimInfo::dumpFileName_
private

Definition at line 681 of file SimInfo.hpp.

◆ excludedInteractions_

PairList OpenMD::SimInfo::excludedInteractions_
private

lists to handle atoms needing special treatment in the non-bonded interactions

atoms excluded from interacting with each other

Definition at line 657 of file SimInfo.hpp.

Referenced by addInteractionPairs(), and removeInteractionPairs().

◆ fdf_

int OpenMD::SimInfo::fdf_
private

number of frozen degrees of freedom (GLOBAL)

Definition at line 565 of file SimInfo.hpp.

Referenced by getFdf().

◆ fdf_local

int OpenMD::SimInfo::fdf_local
private

number of frozen degrees of freedom (LOCAL)

Definition at line 564 of file SimInfo.hpp.

Referenced by getFdf().

◆ finalConfigFileName_

string OpenMD::SimInfo::finalConfigFileName_
private

Definition at line 680 of file SimInfo.hpp.

◆ forceField_

ForceField* OpenMD::SimInfo::forceField_
private

provides access to defined atom types, bond types, etc.

Definition at line 532 of file SimInfo.hpp.

Referenced by addInteractionPairs(), getSimulatedAtomTypes(), removeInteractionPairs(), and ~SimInfo().

◆ globalGroupMembership_

vector<int> OpenMD::SimInfo::globalGroupMembership_
private

A vector that maps between the global index of an atom, and the global index of cutoff group the atom belong to. It is filled by SimCreator once and only once, since it never changed during the simulation. It should be nGlobalAtoms_ in size.

Definition at line 608 of file SimInfo.hpp.

◆ globalMolMembership_

vector<int> OpenMD::SimInfo::globalMolMembership_
private

A vector that maps between the global index of an atom and the global index of the molecule the atom belongs to. It is filled by SimCreator once and only once, since it is never changed during the simulation. It shoudl be nGlobalAtoms_ in size.

Definition at line 619 of file SimInfo.hpp.

◆ hasNGlobalConstraints_

bool OpenMD::SimInfo::hasNGlobalConstraints_
private

Definition at line 559 of file SimInfo.hpp.

◆ identArray_

vector<int> OpenMD::SimInfo::identArray_
private

A vector that maps between the local index of an atom and the index of the AtomType.

Definition at line 625 of file SimInfo.hpp.

Referenced by prepareTopology().

◆ IOIndexToIntegrableObject

vector<StuntDouble*> OpenMD::SimInfo::IOIndexToIntegrableObject
private

Definition at line 708 of file SimInfo.hpp.

Referenced by getIOIndexToIntegrableObject(), and setIOIndexToIntegrableObject().

◆ localIndexMan_

LocalIndexManager OpenMD::SimInfo::localIndexMan_
private

The reason to have a local index manager is that when molecule is migrating to other processors, the atoms and the rigid-bodies will release their local indices to LocalIndexManager. Combining the information of molecule migrating to current processor, Migrator class can query the LocalIndexManager to make a efficient data moving plan.

Definition at line 674 of file SimInfo.hpp.

◆ massFactors_

vector<RealType> OpenMD::SimInfo::massFactors_
private

A vector which contains the fractional contribution of an atom's mass to the total mass of the cutoffGroup that atom belongs to. In the case of single atom cutoff groups, the mass factor for that atom is 1. For massless atoms, the factor is also 1.

Definition at line 645 of file SimInfo.hpp.

Referenced by prepareTopology().

◆ molecules_

map<int, Molecule*> OpenMD::SimInfo::molecules_
private

Data structures holding primary simulation objects.

map holding pointers to LOCAL molecules

Definition at line 592 of file SimInfo.hpp.

Referenced by addMolecule(), beginMolecule(), nextMolecule(), removeMolecule(), and ~SimInfo().

◆ moleculeStamps_

vector<MoleculeStamp*> OpenMD::SimInfo::moleculeStamps_
private

molecule stamps array

Definition at line 600 of file SimInfo.hpp.

Referenced by addMoleculeStamp().

◆ molStampIds_

vector<int> OpenMD::SimInfo::molStampIds_
private

Stamps are templates for objects that are then used to create groups of objects. For example, a molecule stamp contains information on how to build that molecule (i.e. the topology, the atoms, the bonds, etc.) Once the system is built, the stamps are no longer useful. stamp id for molecules in the system

Definition at line 599 of file SimInfo.hpp.

Referenced by addMoleculeStamp(), and SimInfo().

◆ molToProcMap_

vector<int> OpenMD::SimInfo::molToProcMap_
private

The size of molToProcMap_ is equal to total number of molecules in the system. It maps a molecule to the processor on which it resides. it is filled by SimCreator once and only once.

Definition at line 736 of file SimInfo.hpp.

Referenced by SimInfo().

◆ nAtoms_

int OpenMD::SimInfo::nAtoms_
private

Counts of local objects.

number of atoms in local processor

Definition at line 536 of file SimInfo.hpp.

Referenced by addMolecule(), getNLocalCutoffGroups(), and removeMolecule().

◆ nBends_

int OpenMD::SimInfo::nBends_
private

number of bends in local processor

Definition at line 538 of file SimInfo.hpp.

Referenced by addMolecule(), and removeMolecule().

◆ nBonds_

int OpenMD::SimInfo::nBonds_
private

number of bonds in local processor

Definition at line 537 of file SimInfo.hpp.

Referenced by addMolecule(), and removeMolecule().

◆ nConstraints_

int OpenMD::SimInfo::nConstraints_
private

number of constraints in local processors

Definition at line 544 of file SimInfo.hpp.

Referenced by addMolecule(), calcNConstraints(), calcNdf(), calcNdfTrans(), and removeMolecule().

◆ nCutoffGroups_

int OpenMD::SimInfo::nCutoffGroups_
private

number of cutoff groups in local processor

Definition at line 543 of file SimInfo.hpp.

Referenced by addMolecule(), getNLocalCutoffGroups(), and removeMolecule().

◆ ndf_

int OpenMD::SimInfo::ndf_
private

Degress of freedom.

number of degress of freedom (excludes constraints) (LOCAL)

Definition at line 562 of file SimInfo.hpp.

Referenced by calcNdf().

◆ ndfLocal_

int OpenMD::SimInfo::ndfLocal_
private

number of degrees of freedom (LOCAL, excludes constraints)

Definition at line 563 of file SimInfo.hpp.

Referenced by calcNdf().

◆ ndfRaw_

int OpenMD::SimInfo::ndfRaw_
private

number of degress of freedom (includes constraints), (LOCAL)

Definition at line 566 of file SimInfo.hpp.

Referenced by calcNdfRaw().

◆ ndfTrans_

int OpenMD::SimInfo::ndfTrans_
private

number of translation degress of freedom, (LOCAL)

Definition at line 567 of file SimInfo.hpp.

Referenced by calcNdfTrans().

◆ nFluctuatingCharges_

int OpenMD::SimInfo::nFluctuatingCharges_
private

number of fluctuating charges in local processor

Definition at line 545 of file SimInfo.hpp.

◆ nGlobalAtoms_

int OpenMD::SimInfo::nGlobalAtoms_
private

number of atoms in the system (GLOBAL)

Definition at line 549 of file SimInfo.hpp.

Referenced by SimInfo().

◆ nGlobalBends_

int OpenMD::SimInfo::nGlobalBends_
private

number of bends in the system

Definition at line 555 of file SimInfo.hpp.

Referenced by SimInfo().

◆ nGlobalBonds_

int OpenMD::SimInfo::nGlobalBonds_
private

number of bonds in the system

Definition at line 554 of file SimInfo.hpp.

Referenced by SimInfo().

◆ nGlobalConstraints_

int OpenMD::SimInfo::nGlobalConstraints_
private

number of constraints in the system

Definition at line 558 of file SimInfo.hpp.

Referenced by calcNConstraints().

◆ nGlobalCutoffGroups_

int OpenMD::SimInfo::nGlobalCutoffGroups_
private

number of cutoff groups in this system (GLOBAL)

Definition at line 550 of file SimInfo.hpp.

Referenced by SimInfo().

◆ nGlobalFluctuatingCharges_

int OpenMD::SimInfo::nGlobalFluctuatingCharges_
private

number of fluctuating charges in this system (GLOBAL)

Definition at line 553 of file SimInfo.hpp.

Referenced by calcNdf().

◆ nGlobalIntegrableObjects_

int OpenMD::SimInfo::nGlobalIntegrableObjects_
private

number of integrable objects in this system

Definition at line 551 of file SimInfo.hpp.

Referenced by SimInfo().

◆ nGlobalInversions_

int OpenMD::SimInfo::nGlobalInversions_
private

number of inversions in the system

Definition at line 557 of file SimInfo.hpp.

Referenced by SimInfo().

◆ nGlobalMols_

int OpenMD::SimInfo::nGlobalMols_
private

Counts of global objects.

number of molecules in the system (GLOBAL)

Definition at line 548 of file SimInfo.hpp.

Referenced by SimInfo().

◆ nGlobalRigidBodies_

int OpenMD::SimInfo::nGlobalRigidBodies_
private

number of rigid bodies in this system (GLOBAL)

Definition at line 552 of file SimInfo.hpp.

Referenced by SimInfo().

◆ nGlobalTorsions_

int OpenMD::SimInfo::nGlobalTorsions_
private

number of torsions in the system

Definition at line 556 of file SimInfo.hpp.

Referenced by SimInfo().

◆ nIntegrableObjects_

int OpenMD::SimInfo::nIntegrableObjects_
private

number of integrable objects in local processor

Definition at line 542 of file SimInfo.hpp.

Referenced by addMolecule(), calcNdfTrans(), and removeMolecule().

◆ nInversions_

int OpenMD::SimInfo::nInversions_
private

number of inversions in local processor

Definition at line 540 of file SimInfo.hpp.

Referenced by addMolecule(), and removeMolecule().

◆ nRigidBodies_

int OpenMD::SimInfo::nRigidBodies_
private

number of rigid bodies in local processor

Definition at line 541 of file SimInfo.hpp.

Referenced by addMolecule(), and removeMolecule().

◆ nTorsions_

int OpenMD::SimInfo::nTorsions_
private

number of torsions in local processor

Definition at line 539 of file SimInfo.hpp.

Referenced by addMolecule(), and removeMolecule().

◆ nZconstraint_

int OpenMD::SimInfo::nZconstraint_
private

number of z-constraint molecules (GLOBAL)

Definition at line 568 of file SimInfo.hpp.

Referenced by calcNdf(), and calcNdfTrans().

◆ oneFourInteractions_

PairList OpenMD::SimInfo::oneFourInteractions_
private

atoms sharing a Torsion

Definition at line 660 of file SimInfo.hpp.

Referenced by addInteractionPairs(), and removeInteractionPairs().

◆ oneThreeInteractions_

PairList OpenMD::SimInfo::oneThreeInteractions_
private

atoms sharing a Bend

Definition at line 659 of file SimInfo.hpp.

Referenced by addInteractionPairs(), and removeInteractionPairs().

◆ oneTwoInteractions_

PairList OpenMD::SimInfo::oneTwoInteractions_
private

atoms that are directly Bonded

Definition at line 658 of file SimInfo.hpp.

Referenced by addInteractionPairs(), and removeInteractionPairs().

◆ properties_

PropertyMap OpenMD::SimInfo::properties_
private

Generic Properties can be added

Definition at line 662 of file SimInfo.hpp.

Referenced by addProperty(), clearProperties(), getProperties(), getPropertyByName(), getPropertyNames(), and removeProperty().

◆ rawMetaData_

string OpenMD::SimInfo::rawMetaData_
private

Definition at line 677 of file SimInfo.hpp.

◆ regions_

vector<int> OpenMD::SimInfo::regions_
private

A vector that contains information about the local region of an atom (used for fluctuating charges, etc.)

Definition at line 634 of file SimInfo.hpp.

Referenced by prepareTopology().

◆ reportFileName_

string OpenMD::SimInfo::reportFileName_
private

Definition at line 683 of file SimInfo.hpp.

◆ requiresPrepair_

bool OpenMD::SimInfo::requiresPrepair_
private

does this simulation require a pre-pair loop?

Definition at line 577 of file SimInfo.hpp.

Referenced by setupSimVariables().

◆ requiresSelfCorrection_

bool OpenMD::SimInfo::requiresSelfCorrection_
private

does this simulation require a self-correction?

Definition at line 579 of file SimInfo.hpp.

Referenced by setupSimVariables().

◆ requiresSkipCorrection_

bool OpenMD::SimInfo::requiresSkipCorrection_
private

does this simulation require a skip-correction?

Definition at line 578 of file SimInfo.hpp.

Referenced by setupSimVariables().

◆ restFileName_

string OpenMD::SimInfo::restFileName_
private

Definition at line 684 of file SimInfo.hpp.

◆ simParams_

Globals* OpenMD::SimInfo::simParams_
private

provides access to simulation parameters set by user

Definition at line 533 of file SimInfo.hpp.

Referenced by setupSimVariables(), and ~SimInfo().

◆ sman_

SnapshotManager* OpenMD::SimInfo::sman_
private

SnapshotManager (handles particle positions, etc.)

Definition at line 663 of file SimInfo.hpp.

Referenced by setSnapshotManager(), and ~SimInfo().

◆ statFileName_

string OpenMD::SimInfo::statFileName_
private

Definition at line 682 of file SimInfo.hpp.

◆ storageLayout_

int OpenMD::SimInfo::storageLayout_
private

Bits to tell how much data to store on each object

Definition at line 664 of file SimInfo.hpp.

◆ topologyDone_

bool OpenMD::SimInfo::topologyDone_
private

Definition at line 686 of file SimInfo.hpp.

Referenced by prepareTopology().

◆ useAtomicVirial_

bool OpenMD::SimInfo::useAtomicVirial_
private

flag to indicate whether or not we use Atomic Virials to calculate the pressure

Definition at line 695 of file SimInfo.hpp.

Referenced by setupSimVariables().

◆ usesAtomicVirial_

bool OpenMD::SimInfo::usesAtomicVirial_
private

are we computing atomic virials?

Definition at line 576 of file SimInfo.hpp.

◆ usesDirectionalAtoms_

bool OpenMD::SimInfo::usesDirectionalAtoms_
private

are there atoms with position AND orientation?

Definition at line 572 of file SimInfo.hpp.

Referenced by setupSimVariables().

◆ usesElectrostaticAtoms_

bool OpenMD::SimInfo::usesElectrostaticAtoms_
private

are there electrostatic atoms?

Definition at line 574 of file SimInfo.hpp.

Referenced by setupSimVariables().

◆ usesFluctuatingCharges_

bool OpenMD::SimInfo::usesFluctuatingCharges_
private

are there fluctuating charges?

Definition at line 575 of file SimInfo.hpp.

Referenced by setupSimVariables().

◆ usesMetallicAtoms_

bool OpenMD::SimInfo::usesMetallicAtoms_
private

are there transition metal atoms?

Definition at line 573 of file SimInfo.hpp.

Referenced by setupSimVariables().

◆ usesPeriodicBoundaries_

bool OpenMD::SimInfo::usesPeriodicBoundaries_
private

logicals

use periodic boundary conditions?

Definition at line 571 of file SimInfo.hpp.


The documentation for this class was generated from the following files: