OpenMD 3.2
Molecular Dynamics in the Open
Loading...
Searching...
No Matches
OpenMD::Thermo Class Reference

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 ()

Detailed Description

Definition at line 57 of file Thermo.hpp.

Constructor & Destructor Documentation

◆ Thermo()

OpenMD::Thermo::Thermo ( SimInfo * info)

Definition at line 71 of file Thermo.cpp.

Member Function Documentation

◆ getAngularMomentum()

Vector3d OpenMD::Thermo::getAngularMomentum ( )

◆ getBoundingBox()

Mat3x3d OpenMD::Thermo::getBoundingBox ( )

Returns the Axis-aligned bounding box for the current system.

Definition at line 1057 of file Thermo.cpp.

References OpenMD::Snapshot::getBoundingBox(), getBoundingBox(), OpenMD::StuntDouble::getPos(), OpenMD::Snapshot::setBoundingBox(), and OpenMD::RigidBody::updateAtoms().

Referenced by getBoundingBox().

◆ getChargeMomentum()

RealType OpenMD::Thermo::getChargeMomentum ( )

Definition at line 329 of file Thermo.cpp.

◆ getCom()

Vector3d OpenMD::Thermo::getCom ( )

Returns the center of the mass of the whole system.

Definition at line 879 of file Thermo.cpp.

References OpenMD::Vector< Real, Dim >::getArrayPointer(), OpenMD::Molecule::getCom(), getCom(), and OpenMD::Molecule::getMass().

Referenced by getCom().

◆ getComAll()

void OpenMD::Thermo::getComAll ( Vector3d & com,
Vector3d & comVel )

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 913 of file Thermo.cpp.

References OpenMD::Vector< Real, Dim >::getArrayPointer(), OpenMD::Molecule::getCom(), getComAll(), OpenMD::Molecule::getComVel(), and OpenMD::Molecule::getMass().

Referenced by getAngularMomentum(), getComAll(), and getInertiaTensor().

◆ getComVel()

Vector3d OpenMD::Thermo::getComVel ( )

Returns the velocity of center of mass of the whole system.

Definition at line 841 of file Thermo.cpp.

References OpenMD::Vector< Real, Dim >::getArrayPointer(), OpenMD::Molecule::getCom(), OpenMD::Molecule::getComVel(), getComVel(), and OpenMD::Molecule::getMass().

Referenced by getComVel().

◆ getCurrentDensity()

std::vector< Vector3d > OpenMD::Thermo::getCurrentDensity ( )

Definition at line 363 of file Thermo.cpp.

◆ getElectronicKinetic()

RealType OpenMD::Thermo::getElectronicKinetic ( )

Definition at line 243 of file Thermo.cpp.

◆ getElectronicTemperature()

RealType OpenMD::Thermo::getElectronicTemperature ( )

Definition at line 277 of file Thermo.cpp.

◆ getGyrationalVolume() [1/2]

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 1159 of file Thermo.cpp.

References OpenMD::SquareMatrix3< Real >::determinant(), getGyrationalVolume(), and getInertiaTensor().

Referenced by getGyrationalVolume(), and getGyrationalVolume().

◆ getGyrationalVolume() [2/2]

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 1185 of file Thermo.cpp.

References OpenMD::SquareMatrix3< Real >::determinant(), getGyrationalVolume(), and getInertiaTensor().

◆ getHeatFlux()

Vector3d OpenMD::Thermo::getHeatFlux ( )

Definition at line 736 of file Thermo.cpp.

◆ getHullVolume()

RealType OpenMD::Thermo::getHullVolume ( )

Definition at line 1267 of file Thermo.cpp.

◆ getInertiaTensor()

void OpenMD::Thermo::getInertiaTensor ( Mat3x3d & inertiaTensor,
Vector3d & angularMomentum )

Returns the inertia tensor and the total angular momentum for for the entire system.

Return inertia tensor for entire system and angular momentum Vector.

Parameters
[out]inertiaTensorthe inertia tensor
[out]angularMomentumthe angular momentum vector

[ Ixx -Ixy -Ixz ] I =| -Iyx Iyy -Iyz | [ -Izx -Iyz Izz ]

Definition at line 972 of file Thermo.cpp.

References OpenMD::cross(), OpenMD::StuntDouble::getA(), OpenMD::RectMatrix< Real, Row, Col >::getArrayPointer(), OpenMD::Vector< Real, Dim >::getArrayPointer(), getComAll(), OpenMD::StuntDouble::getI(), getInertiaTensor(), OpenMD::StuntDouble::getJ(), OpenMD::StuntDouble::getMass(), OpenMD::StuntDouble::getPos(), OpenMD::StuntDouble::getVel(), and OpenMD::StuntDouble::isDirectional().

Referenced by getGyrationalVolume(), getGyrationalVolume(), and getInertiaTensor().

◆ getKinetic()

RealType OpenMD::Thermo::getKinetic ( )

Definition at line 179 of file Thermo.cpp.

◆ getNetCharge()

RealType OpenMD::Thermo::getNetCharge ( )

Definition at line 290 of file Thermo.cpp.

◆ getPotential()

RealType OpenMD::Thermo::getPotential ( )

Definition at line 191 of file Thermo.cpp.

◆ getPressure() [1/2]

RealType OpenMD::Thermo::getPressure ( )

Definition at line 446 of file Thermo.cpp.

◆ getPressure() [2/2]

RealType OpenMD::Thermo::getPressure ( Snapshot * snap)

Definition at line 466 of file Thermo.cpp.

◆ getPressureTensor() [1/2]

Mat3x3d OpenMD::Thermo::getPressureTensor ( )

◆ getPressureTensor() [2/2]

Mat3x3d OpenMD::Thermo::getPressureTensor ( Snapshot * snap)

gives the pressure tensor in amu*fs^-2*Ang^-1 for a given snapshot

Definition at line 530 of file Thermo.cpp.

References OpenMD::RectMatrix< Real, Row, Col >::getArrayPointer(), OpenMD::StuntDouble::getMass(), OpenMD::StuntDouble::getPos(), getPressureTensor(), and OpenMD::StuntDouble::getVel().

◆ getRotationalKinetic()

RealType OpenMD::Thermo::getRotationalKinetic ( )

Definition at line 118 of file Thermo.cpp.

◆ getSelectionPotentials()

potVec OpenMD::Thermo::getSelectionPotentials ( )

Definition at line 199 of file Thermo.cpp.

◆ getSystemDipole()

Vector3d OpenMD::Thermo::getSystemDipole ( )

◆ getSystemQuadrupole()

Mat3x3d OpenMD::Thermo::getSystemQuadrupole ( )

◆ getTaggedAtomPairDistance()

RealType OpenMD::Thermo::getTaggedAtomPairDistance ( )

Definition at line 1211 of file Thermo.cpp.

◆ getTemperature()

RealType OpenMD::Thermo::getTemperature ( )

Definition at line 220 of file Thermo.cpp.

◆ getTotalEnergy()

RealType OpenMD::Thermo::getTotalEnergy ( )

Definition at line 207 of file Thermo.cpp.

◆ getTranslationalKinetic()

RealType OpenMD::Thermo::getTranslationalKinetic ( )

Definition at line 76 of file Thermo.cpp.

◆ getVolume()

RealType OpenMD::Thermo::getVolume ( )

Definition at line 441 of file Thermo.cpp.


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