OpenMD 3.1
Molecular Dynamics in the Open
|
Public Member Functions | |
Thermo (SimInfo *info) | |
RealType | getTranslationalKinetic () |
RealType | getRotationalKinetic () |
RealType | getElectronicKinetic () |
RealType | getKinetic () |
RealType | getPotential () |
potVec | getSelectionPotentials () |
RealType | getTotalEnergy () |
RealType | getTemperature () |
RealType | getElectronicTemperature () |
RealType | getNetCharge () |
RealType | getChargeMomentum () |
std::vector< Vector3d > | getCurrentDensity () |
RealType | getPressure () |
RealType | getPressure (Snapshot *snap) |
Mat3x3d | getPressureTensor () |
gives the pressure tensor in amu*fs^-2*Ang^-1 | |
Mat3x3d | getPressureTensor (Snapshot *snap) |
gives the pressure tensor in amu*fs^-2*Ang^-1 for a given snapshot | |
RealType | getVolume () |
Vector3d | getSystemDipole () |
accumulate and return the simulation box dipole moment in C*m | |
Mat3x3d | getSystemQuadrupole () |
accumulate and return the simulation box dipole moment in debye Angstroms | |
Vector3d | getHeatFlux () |
Vector3d | getCom () |
Returns the center of the mass of the whole system. | |
Vector3d | getComVel () |
Returns the velocity of center of mass of the whole system. | |
void | getComAll (Vector3d &com, Vector3d &comVel) |
Returns the center of the mass and Center of Mass velocity of the whole system. | |
void | getInertiaTensor (Mat3x3d &inertiaTensor, Vector3d &angularMomentum) |
Returns the inertia tensor and the total angular momentum for for the entire system. | |
Mat3x3d | getBoundingBox () |
Returns the Axis-aligned bounding box for the current system. | |
Vector3d | getAngularMomentum () |
Returns system angular momentum. | |
RealType | getGyrationalVolume () |
Returns volume of system as estimated by an ellipsoid defined by the radii of gyration. | |
void | getGyrationalVolume (RealType &vol, RealType &detI) |
Overloaded version of gyrational volume that also returns det(I) so dV/dr can be calculated. | |
RealType | getHullVolume () |
RealType | getTaggedAtomPairDistance () |
Definition at line 53 of file Thermo.hpp.
|
inline |
Definition at line 55 of file Thermo.hpp.
Vector3d OpenMD::Thermo::getAngularMomentum | ( | ) |
Returns system angular momentum.
Definition at line 1036 of file Thermo.cpp.
References OpenMD::SimInfo::beginMolecule(), OpenMD::cross(), OpenMD::Vector< Real, Dim >::getArrayPointer(), OpenMD::Molecule::getCom(), getComAll(), OpenMD::Molecule::getComVel(), OpenMD::SnapshotManager::getCurrentSnapshot(), OpenMD::Molecule::getMass(), OpenMD::SimInfo::getSnapshotManager(), and OpenMD::SimInfo::nextMolecule().
Mat3x3d OpenMD::Thermo::getBoundingBox | ( | ) |
Returns the Axis-aligned bounding box for the current system.
Definition at line 980 of file Thermo.cpp.
References OpenMD::SimInfo::beginMolecule(), OpenMD::Snapshot::getBoundingBox(), OpenMD::SnapshotManager::getCurrentSnapshot(), OpenMD::StuntDouble::getPos(), OpenMD::SimInfo::getSnapshotManager(), OpenMD::SimInfo::nextMolecule(), OpenMD::Snapshot::setBoundingBox(), and OpenMD::RigidBody::updateAtoms().
RealType OpenMD::Thermo::getChargeMomentum | ( | ) |
Definition at line 302 of file Thermo.cpp.
Vector3d OpenMD::Thermo::getCom | ( | ) |
Returns the center of the mass of the whole system.
Definition at line 812 of file Thermo.cpp.
References OpenMD::SimInfo::beginMolecule(), OpenMD::Vector< Real, Dim >::getArrayPointer(), OpenMD::Molecule::getCom(), OpenMD::SnapshotManager::getCurrentSnapshot(), OpenMD::Molecule::getMass(), OpenMD::SimInfo::getSnapshotManager(), and OpenMD::SimInfo::nextMolecule().
Returns the center of the mass and Center of Mass velocity of the whole system.
Returns center of mass and center of mass velocity in one function call.
Definition at line 846 of file Thermo.cpp.
References OpenMD::SimInfo::beginMolecule(), OpenMD::Vector< Real, Dim >::getArrayPointer(), OpenMD::Molecule::getCom(), OpenMD::Molecule::getComVel(), OpenMD::SnapshotManager::getCurrentSnapshot(), OpenMD::Molecule::getMass(), OpenMD::SimInfo::getSnapshotManager(), and OpenMD::SimInfo::nextMolecule().
Referenced by getAngularMomentum(), getInertiaTensor(), and OpenMD::Velocitizer::removeAngularDrift().
Vector3d OpenMD::Thermo::getComVel | ( | ) |
Returns the velocity of center of mass of the whole system.
Definition at line 782 of file Thermo.cpp.
References OpenMD::SimInfo::beginMolecule(), OpenMD::Vector< Real, Dim >::getArrayPointer(), OpenMD::Molecule::getComVel(), OpenMD::SnapshotManager::getCurrentSnapshot(), OpenMD::Molecule::getMass(), OpenMD::SimInfo::getSnapshotManager(), and OpenMD::SimInfo::nextMolecule().
Referenced by OpenMD::Velocitizer::removeComDrift().
std::vector< Vector3d > OpenMD::Thermo::getCurrentDensity | ( | ) |
Definition at line 336 of file Thermo.cpp.
RealType OpenMD::Thermo::getElectronicKinetic | ( | ) |
Definition at line 216 of file Thermo.cpp.
RealType OpenMD::Thermo::getElectronicTemperature | ( | ) |
Definition at line 250 of file Thermo.cpp.
RealType OpenMD::Thermo::getGyrationalVolume | ( | ) |
Returns volume of system as estimated by an ellipsoid defined by the radii of gyration.
Returns the Volume of the system based on a ellipsoid with semi-axes based on the radius of gyration V=4/3*Pi*R_1*R_2*R_3 where R_i are related to the principle inertia moments R_i = sqrt(C*I_i/N), this reduces to V = 4/3*Pi*(C/N)^3/2*sqrt(det(I)).
See S.E. Baltazar et. al. Comp. Mat. Sci. 37 (2006) 526-536.
Definition at line 1082 of file Thermo.cpp.
References OpenMD::SquareMatrix3< Real >::determinant(), OpenMD::SnapshotManager::getCurrentSnapshot(), getInertiaTensor(), OpenMD::SimInfo::getNGlobalIntegrableObjects(), and OpenMD::SimInfo::getSnapshotManager().
void OpenMD::Thermo::getGyrationalVolume | ( | RealType & | vol, |
RealType & | detI ) |
Overloaded version of gyrational volume that also returns det(I) so dV/dr can be calculated.
Definition at line 1108 of file Thermo.cpp.
References OpenMD::SquareMatrix3< Real >::determinant(), OpenMD::SnapshotManager::getCurrentSnapshot(), getInertiaTensor(), OpenMD::SimInfo::getNGlobalIntegrableObjects(), and OpenMD::SimInfo::getSnapshotManager().
Vector3d OpenMD::Thermo::getHeatFlux | ( | ) |
Definition at line 693 of file Thermo.cpp.
RealType OpenMD::Thermo::getHullVolume | ( | ) |
Definition at line 1190 of file Thermo.cpp.
Returns the inertia tensor and the total angular momentum for for the entire system.
Return inertia tensor for entire system and angular momentum Vector.
[out] | inertiaTensor | the inertia tensor |
[out] | angularMomentum | the angular momentum vector |
[ Ixx -Ixy -Ixz ] I =| -Iyx Iyy -Iyz | [ -Izx -Iyz Izz ]
Definition at line 895 of file Thermo.cpp.
References OpenMD::SimInfo::beginMolecule(), OpenMD::cross(), OpenMD::StuntDouble::getA(), OpenMD::RectMatrix< Real, Row, Col >::getArrayPointer(), OpenMD::Vector< Real, Dim >::getArrayPointer(), getComAll(), OpenMD::SnapshotManager::getCurrentSnapshot(), OpenMD::StuntDouble::getI(), OpenMD::StuntDouble::getJ(), OpenMD::StuntDouble::getMass(), OpenMD::StuntDouble::getPos(), OpenMD::SimInfo::getSnapshotManager(), OpenMD::StuntDouble::getVel(), OpenMD::StuntDouble::isDirectional(), and OpenMD::SimInfo::nextMolecule().
Referenced by getGyrationalVolume(), getGyrationalVolume(), and OpenMD::Velocitizer::removeAngularDrift().
RealType OpenMD::Thermo::getKinetic | ( | ) |
Definition at line 152 of file Thermo.cpp.
RealType OpenMD::Thermo::getNetCharge | ( | ) |
Definition at line 263 of file Thermo.cpp.
RealType OpenMD::Thermo::getPotential | ( | ) |
Definition at line 164 of file Thermo.cpp.
RealType OpenMD::Thermo::getPressure | ( | ) |
Definition at line 413 of file Thermo.cpp.
RealType OpenMD::Thermo::getPressure | ( | Snapshot * | snap | ) |
Definition at line 433 of file Thermo.cpp.
Mat3x3d OpenMD::Thermo::getPressureTensor | ( | ) |
gives the pressure tensor in amu*fs^-2*Ang^-1
Definition at line 450 of file Thermo.cpp.
References OpenMD::SimInfo::beginMolecule(), OpenMD::RectMatrix< Real, Row, Col >::getArrayPointer(), OpenMD::SnapshotManager::getCurrentSnapshot(), OpenMD::StuntDouble::getMass(), OpenMD::SimInfo::getSnapshotManager(), OpenMD::StuntDouble::getVel(), and OpenMD::SimInfo::nextMolecule().
gives the pressure tensor in amu*fs^-2*Ang^-1 for a given snapshot
Definition at line 492 of file Thermo.cpp.
References OpenMD::SimInfo::beginMolecule(), OpenMD::RectMatrix< Real, Row, Col >::getArrayPointer(), OpenMD::StuntDouble::getMass(), OpenMD::StuntDouble::getVel(), and OpenMD::SimInfo::nextMolecule().
RealType OpenMD::Thermo::getRotationalKinetic | ( | ) |
Definition at line 104 of file Thermo.cpp.
potVec OpenMD::Thermo::getSelectionPotentials | ( | ) |
Definition at line 172 of file Thermo.cpp.
Vector3d OpenMD::Thermo::getSystemDipole | ( | ) |
accumulate and return the simulation box dipole moment in C*m
Definition at line 532 of file Thermo.cpp.
References OpenMD::SimInfo::beginMolecule(), OpenMD::Vector< Real, Dim >::getArrayPointer(), OpenMD::Atom::getAtomType(), OpenMD::SnapshotManager::getCurrentSnapshot(), OpenMD::StuntDouble::getDipole(), OpenMD::StuntDouble::getFlucQPos(), OpenMD::StuntDouble::getPos(), OpenMD::SimInfo::getSnapshotManager(), OpenMD::SimInfo::nextMolecule(), and OpenMD::Snapshot::wrapVector().
Mat3x3d OpenMD::Thermo::getSystemQuadrupole | ( | ) |
accumulate and return the simulation box dipole moment in debye Angstroms
Definition at line 629 of file Thermo.cpp.
References OpenMD::SimInfo::beginMolecule(), OpenMD::RectMatrix< Real, Row, Col >::getArrayPointer(), OpenMD::Atom::getAtomType(), OpenMD::SnapshotManager::getCurrentSnapshot(), OpenMD::StuntDouble::getDipole(), OpenMD::StuntDouble::getFlucQPos(), OpenMD::StuntDouble::getPos(), OpenMD::StuntDouble::getQuadrupole(), OpenMD::SimInfo::getSnapshotManager(), OpenMD::SimInfo::nextMolecule(), and OpenMD::Snapshot::wrapVector().
RealType OpenMD::Thermo::getTaggedAtomPairDistance | ( | ) |
Definition at line 1134 of file Thermo.cpp.
RealType OpenMD::Thermo::getTemperature | ( | ) |
Definition at line 193 of file Thermo.cpp.
RealType OpenMD::Thermo::getTotalEnergy | ( | ) |
Definition at line 180 of file Thermo.cpp.
RealType OpenMD::Thermo::getTranslationalKinetic | ( | ) |
Definition at line 68 of file Thermo.cpp.
RealType OpenMD::Thermo::getVolume | ( | ) |
Definition at line 408 of file Thermo.cpp.