NAMD
|
Public Member Functions | |
ComputeQMMgr () | |
~ComputeQMMgr () | |
void | setCompute (ComputeQM *c) |
void | recvPartQM (QMCoordMsg *) |
void | recvFullQM (QMCoordMsg *) |
void | recvPntChrg (QMPntChrgMsg *) |
void | calcMOPAC (QMGrpCalcMsg *) |
void | calcORCA (QMGrpCalcMsg *) |
void | calcUSR (QMGrpCalcMsg *) |
void | storeQMRes (QMGrpResMsg *) |
void | procQMRes () |
void | recvForce (QMForceMsg *) |
SortedArray< LSSSubsDat > & | get_subsArray () |
Definition at line 401 of file ComputeQM.C.
ComputeQMMgr::ComputeQMMgr | ( | ) |
Definition at line 548 of file ComputeQM.C.
ComputeQMMgr::~ComputeQMMgr | ( | ) |
void ComputeQMMgr::calcMOPAC | ( | QMGrpCalcMsg * | msg | ) |
Definition at line 2801 of file ComputeQM.C.
References QMGrpCalcMsg::baseDir, QMAtomData::bountToIndx, charge, QMAtomData::charge, QMGrpCalcMsg::configLines, QMGrpCalcMsg::constants, QMGrpCalcMsg::data, DebugM, QMAtomData::dist, QMAtomData::element, endi(), QMGrpResMsg::energyCorr, QMGrpResMsg::energyOrig, QMGrpCalcMsg::execPath, for(), QMGrpResMsg::force, Molecule::get_numQMAtoms(), Molecule::get_qmAtmChrg(), Molecule::get_qmAtmIndx(), Molecule::get_qmAtomGroup(), QMGrpResMsg::grpIndx, QMGrpCalcMsg::grpIndx, QMAtomData::id, iERROR(), iout, Vector::length(), Vector::length2(), Node::molecule, NAMD_die(), NAMD_err(), QMGrpCalcMsg::numAllAtoms, QMGrpCalcMsg::numAllPntChrgs, QMGrpResMsg::numForces, QMGrpCalcMsg::numQMAtoms, QMGrpCalcMsg::numRealPntChrgs, Node::Object(), QMGrpCalcMsg::PMEEwaldCoefficient, QMGrpCalcMsg::PMEOn, QMAtomData::position, QMGrpCalcMsg::prepProc, QMGrpCalcMsg::prepProcOn, QMGrpCalcMsg::qmAtmChrgMode, QMCHRGNONE, QMPCTYPE_CLASSICAL, QMPCTYPE_IGNORE, QMGrpCalcMsg::secProc, QMGrpCalcMsg::secProcOn, QMGrpCalcMsg::switching, QMGrpCalcMsg::timestep, QMAtomData::type, Vector::unit(), QMGrpResMsg::virial, Vector::x, x, Vector::y, y, Vector::z, and z.
void ComputeQMMgr::calcORCA | ( | QMGrpCalcMsg * | msg | ) |
Definition at line 3649 of file ComputeQM.C.
References QMGrpCalcMsg::baseDir, QMAtomData::bountToIndx, charge, QMAtomData::charge, QMGrpCalcMsg::charge, QMGrpCalcMsg::configLines, QMGrpCalcMsg::constants, QMGrpCalcMsg::data, DebugM, QMAtomData::dist, endi(), QMGrpResMsg::energyCorr, QMGrpResMsg::energyOrig, QMGrpCalcMsg::execPath, for(), QMGrpResMsg::force, Molecule::get_numQMAtoms(), Molecule::get_qmAtmChrg(), Molecule::get_qmAtmIndx(), Molecule::get_qmAtomGroup(), QMGrpResMsg::grpIndx, QMGrpCalcMsg::grpIndx, QMAtomData::id, iERROR(), iout, Vector::length(), Node::molecule, QMGrpCalcMsg::multiplicity, NAMD_die(), NAMD_err(), QMGrpCalcMsg::numAllAtoms, QMGrpCalcMsg::numAllPntChrgs, QMGrpResMsg::numForces, QMGrpCalcMsg::numQMAtoms, QMGrpCalcMsg::numRealPntChrgs, Node::Object(), QMGrpCalcMsg::PMEEwaldCoefficient, QMGrpCalcMsg::PMEOn, QMAtomData::position, QMGrpCalcMsg::prepProc, QMGrpCalcMsg::prepProcOn, QMGrpCalcMsg::qmAtmChrgMode, QMCHRGCHELPG, QMCHRGMULLIKEN, QMCHRGNONE, QMPCTYPE_CLASSICAL, QMPCTYPE_IGNORE, QMGrpCalcMsg::secProc, QMGrpCalcMsg::secProcOn, QMGrpCalcMsg::switching, QMGrpCalcMsg::timestep, QMAtomData::type, QMGrpResMsg::virial, Vector::x, x, Vector::y, y, Vector::z, and z.
void ComputeQMMgr::calcUSR | ( | QMGrpCalcMsg * | msg | ) |
Definition at line 4511 of file ComputeQM.C.
References QMGrpCalcMsg::baseDir, QMAtomData::bountToIndx, charge, QMAtomData::charge, QMGrpCalcMsg::constants, QMGrpCalcMsg::data, DebugM, QMAtomData::dist, endi(), QMGrpResMsg::energyCorr, QMGrpResMsg::energyOrig, QMGrpCalcMsg::execPath, for(), QMGrpResMsg::force, Molecule::get_numQMAtoms(), Molecule::get_qmAtmChrg(), Molecule::get_qmAtmIndx(), Molecule::get_qmAtomGroup(), QMGrpResMsg::grpIndx, QMGrpCalcMsg::grpIndx, QMAtomData::id, iERROR(), iout, Vector::length(), Vector::length2(), Node::molecule, NAMD_die(), NAMD_err(), QMGrpCalcMsg::numAllAtoms, QMGrpCalcMsg::numAllPntChrgs, QMGrpResMsg::numForces, QMGrpCalcMsg::numQMAtoms, QMGrpCalcMsg::numRealPntChrgs, Node::Object(), QMGrpCalcMsg::PMEEwaldCoefficient, QMGrpCalcMsg::PMEOn, QMAtomData::position, QMGrpCalcMsg::prepProc, QMGrpCalcMsg::prepProcOn, QMGrpCalcMsg::qmAtmChrgMode, QMCHRGNONE, QMPCTYPE_CLASSICAL, QMPCTYPE_IGNORE, QMGrpCalcMsg::secProc, QMGrpCalcMsg::secProcOn, QMGrpCalcMsg::switching, QMGrpCalcMsg::timestep, QMAtomData::type, Vector::unit(), QMGrpResMsg::virial, Vector::x, x, Vector::y, y, Vector::z, and z.
|
inline |
void ComputeQMMgr::procQMRes | ( | ) |
Definition at line 2485 of file ComputeQM.C.
References QMForce::charge, QMCoordMsg::coord, QMPntChrgMsg::coord, DebugM, endi(), QMForceMsg::energy, QMForceMsg::force, Molecule::get_numQMAtoms(), ComputeQMAtom::id, ComputeQMPntChrg::id, iINFO(), SortedArray< Type >::insert(), iout, QMForceMsg::lssDat, QMCoordMsg::numAtoms, QMPntChrgMsg::numAtoms, QMForceMsg::numForces, QMForceMsg::numLssDat, QMForceMsg::PMEOn, SimParameters::PMEOn, ComputeQMAtom::position, SimParameters::qmOutFreq, SimParameters::qmPosOutFreq, ResizeArray< T >::size(), SortedArray< Type >::sort(), QMCoordMsg::sourceNode, QMPntChrgMsg::sourceNode, QMForceMsg::virial, write_dcdstep(), Vector::x, x, Vector::y, y, Vector::z, and z.
void ComputeQMMgr::recvForce | ( | QMForceMsg * | fmsg | ) |
Definition at line 2662 of file ComputeQM.C.
References SortedArray< Type >::add(), QMForceMsg::lssDat, QMForceMsg::numLssDat, and ComputeQM::saveResults().
void ComputeQMMgr::recvFullQM | ( | QMCoordMsg * | qmFullMsg | ) |
Definition at line 1281 of file ComputeQM.C.
References ResizeArray< T >::clear(), ComputeQM::processFullQM(), and ResizeArray< T >::size().
void ComputeQMMgr::recvPartQM | ( | QMCoordMsg * | msg | ) |
Definition at line 818 of file ComputeQM.C.
References ResizeArray< T >::add(), ComputeQMAtom::charge, QMForce::charge, ComputeQMPntChrg::charge, QMCoordMsg::coord, QMPntChrgMsg::coord, DCD_FILEEXISTS, DebugM, ComputeQMPntChrg::dist, SimParameters::dt, endi(), SimParameters::firstTimestep, QMForce::force, Molecule::get_cSMDcoffs(), Molecule::get_cSMDindex(), Molecule::get_cSMDindxLen(), Molecule::get_cSMDKs(), Molecule::get_cSMDnumInst(), Molecule::get_cSMDpairs(), Molecule::get_cSMDVels(), Molecule::get_numQMAtoms(), Molecule::get_qmcSMD(), Molecule::get_qmGrpChrg(), Molecule::get_qmGrpID(), Molecule::get_qmGrpMult(), Molecule::get_qmLSSFreq(), Molecule::get_qmLSSIdxs(), Molecule::get_qmLSSMass(), Molecule::get_qmLSSRefIDs(), Molecule::get_qmLSSRefSize(), Molecule::get_qmLSSResSize(), Molecule::get_qmLSSSize(), Molecule::get_qmMeNumBonds(), Molecule::get_qmNumGrps(), Molecule::get_qmPCFreq(), Molecule::get_qmReplaceAll(), ComputeQMAtom::homeIndx, QMForce::homeIndx, ComputeQMPntChrg::homeIndx, ComputeQMAtom::id, QMForce::id, ComputeQMPntChrg::id, iERROR(), iINFO(), iout, iWARN(), ComputeQMPntChrg::mass, Node::molecule, NAMD_bug(), NAMD_die(), NAMD_err(), QMCoordMsg::numAtoms, QMPntChrgMsg::numAtoms, Molecule::numAtoms, QMCoordMsg::numPCIndxs, PatchMap::Object(), Node::Object(), open_dcd_write(), SimParameters::outputFilename, QMCoordMsg::pcIndxs, PCMODECUSTOMSEL, PCMODEUPDATEPOS, PCMODEUPDATESEL, QMCoordMsg::pcSelMode, ComputeQMAtom::position, ComputeQMPntChrg::position, SimParameters::qmBondValType, SimParameters::qmCustomPCSel, ComputeQMAtom::qmGrpID, ComputeQMPntChrg::qmGrpID, SimParameters::qmLSSOn, SimParameters::qmNoPC, SimParameters::qmOutFreq, SimParameters::qmPosOutFreq, SimParameters::qmSimsPerNode, QMForce::replace, Node::simParameters, ResizeArray< T >::size(), QMCoordMsg::sourceNode, QMPntChrgMsg::sourceNode, TIMEFACTOR, QMCoordMsg::timestep, ComputeQMPntChrg::vdwType, and write_dcdheader().
void ComputeQMMgr::recvPntChrg | ( | QMPntChrgMsg * | msg | ) |
Definition at line 1910 of file ComputeQM.C.
References QMGrpCalcMsg::baseDir, QMAtomData::bountToIndx, ComputeQMAtom::charge, QMAtomData::charge, QMGrpCalcMsg::charge, ResizeArray< T >::clear(), QMGrpCalcMsg::configLines, Node::configList, QMGrpCalcMsg::constants, COULOMB, custom_ComputeQMAtom_Less(), SimParameters::cutoff, QMGrpCalcMsg::cutoff, StringList::data, QMGrpCalcMsg::data, DebugM, SimParameters::dielectric, QMAtomData::dist, QMAtomData::element, endi(), QMGrpCalcMsg::execPath, SortedArray< Type >::find(), ConfigList::find(), SimParameters::firstTimestep, Molecule::get_qmDummyBondVal(), Molecule::get_qmDummyElement(), Molecule::get_qmElements(), Molecule::get_qmGrpBonds(), Molecule::get_qmGrpNumBonds(), Molecule::get_qmGrpSizes(), Molecule::get_qmMMBond(), Molecule::get_qmMMBondedIndx(), Molecule::get_qmMMChargeTarget(), Molecule::get_qmMMNumTargs(), QMGrpCalcMsg::grpIndx, QMForce::homeIndx, QMAtomData::id, iERROR(), iout, SortedArray< Type >::load(), QMGrpCalcMsg::multiplicity, NAMD_die(), StringList::next, SimParameters::nonbondedScaling, QMGrpCalcMsg::numAllAtoms, QMGrpCalcMsg::numAllPntChrgs, QMPntChrgMsg::numAtoms, QMGrpCalcMsg::numQMAtoms, QMGrpCalcMsg::numRealPntChrgs, Node::Object(), QMGrpCalcMsg::pcScheme, QMGrpCalcMsg::peIter, QMGrpCalcMsg::PMEEwaldCoefficient, SimParameters::PMEEwaldCoefficient, QMGrpCalcMsg::PMEOn, SimParameters::PMEOn, QMAtomData::position, QMGrpCalcMsg::prepProc, QMGrpCalcMsg::prepProcOn, QMGrpCalcMsg::qmAtmChrgMode, QMATOMTYPE_DUMMY, QMATOMTYPE_QM, SimParameters::qmBaseDir, SimParameters::qmChrgMode, SimParameters::qmExecPath, SimParameters::qmFormat, QMFormatMOPAC, QMFormatORCA, QMFormatUSR, QMLENTYPE, SimParameters::qmMOPACAddConfigChrg, SimParameters::qmPCScheme, SimParameters::qmPCSwitchOn, SimParameters::qmPCSwitchType, QMPCTYPE_CLASSICAL, QMPCTYPE_EXTRA, QMPCTYPE_IGNORE, SimParameters::qmPrepProc, SimParameters::qmPrepProcOn, QMRATIOTYPE, SimParameters::qmSecProc, SimParameters::qmSecProcOn, QMGrpCalcMsg::secProc, QMGrpCalcMsg::secProcOn, ResizeArray< T >::size(), SortedArray< Type >::sort(), sort, QMGrpCalcMsg::swdist, QMGrpCalcMsg::switching, SimParameters::switchingDist, QMGrpCalcMsg::switchType, QMGrpCalcMsg::timestep, QMAtomData::type, and Vector::unit().
Definition at line 406 of file ComputeQM.C.
void ComputeQMMgr::storeQMRes | ( | QMGrpResMsg * | resMsg | ) |
Definition at line 2422 of file ComputeQM.C.
References QMForce::charge, DebugM, endi(), QMGrpResMsg::energyCorr, QMGrpResMsg::energyOrig, for(), QMForce::force, QMGrpResMsg::force, FORMAT(), QMGrpResMsg::grpIndx, iout, QMGrpResMsg::numForces, SimParameters::qmEnergyOutFreq, QMETITLE(), and QMGrpResMsg::virial.