Simpatico
v1.10
|
Interface for a stress calculator.
Definition at line 28 of file StressCalculator.h.
#include <StressCalculator.h>
Public Member Functions | |
virtual void | computeStress () |
Compute and store the stress tensor. More... | |
virtual void | unsetStress () |
Mark the stress as unknown. More... | |
void | computeStress (Tensor &stress) |
Get pair stress tensor. More... | |
void | computeStress (Vector &pressures) |
Get the xx, yy, zz non-Coulomb pair pressures. More... | |
void | computeStress (double &pressure) |
Get the scalar pressure. More... | |
bool | createsStress () const |
Return false if subclass does not generate stress. More... | |
Protected Member Functions | |
StressCalculator (bool createsStress=true) | |
Constructor (protected to prevent direct instantiation). More... | |
|
protected |
Constructor (protected to prevent direct instantiation).
Derived class constructor must set hasStress true or false.
Definition at line 19 of file StressCalculator.cpp.
|
inlinevirtual |
Compute and store the stress tensor.
Default implementation throws an Exception, to allow testing and graceful failure potentials that do not create stress.
Reimplemented in McMd::AnglePotentialImpl< Interaction >, McMd::DihedralPotentialImpl< Interaction >, McMd::MdPairPotentialImpl< Interaction >, McMd::MdEwaldPairPotentialImpl< Interaction >, McMd::McPairPotentialImpl< Interaction >, McMd::BondPotentialImpl< Interaction >, and McMd::LinkPotentialImpl< Interaction >.
Definition at line 40 of file StressCalculator.h.
References UTIL_THROW.
Referenced by computeStress(), McMd::MdSystem::kineticEnergy(), and McMd::McSystem::unsetPotentialEnergies().
|
virtual |
Mark the stress as unknown.
Reimplemented in McMd::MdEwaldPairPotentialImpl< Interaction >.
Definition at line 32 of file StressCalculator.cpp.
Referenced by McMd::McSystem::unsetVirialStress(), and McMd::MdSystem::unsetVirialStress().
void McMd::StressCalculator::computeStress | ( | Tensor & | stress | ) |
Get pair stress tensor.
If necessary, this function calls computeStress() before accessing value.
stress | (output) pair stress tensor |
Definition at line 38 of file StressCalculator.cpp.
References computeStress(), and UTIL_CHECK.
void McMd::StressCalculator::computeStress | ( | Vector & | pressures | ) |
Get the xx, yy, zz non-Coulomb pair pressures.
If necessary, this function calls computeStress() before accessing values.
pressures | (output) diagonal pair stress components |
Definition at line 54 of file StressCalculator.cpp.
References computeStress(), Util::Dimension, and UTIL_CHECK.
void McMd::StressCalculator::computeStress | ( | double & | pressure | ) |
Get the scalar pressure.
If necessary, this function calls computeStress() before accessing values.
pressure | (output) scalar pair pressure. |
Definition at line 72 of file StressCalculator.cpp.
References computeStress(), Util::Dimension, and UTIL_CHECK.
bool McMd::StressCalculator::createsStress | ( | ) | const |
Return false if subclass does not generate stress.
Definition at line 26 of file StressCalculator.cpp.