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

#include <NPA.hpp>

Inheritance diagram for OpenMD::NPA:
OpenMD::NPT OpenMD::VelocityVerletIntegrator OpenMD::Integrator

Public Member Functions

 NPA (SimInfo *info)
 
- Public Member Functions inherited from OpenMD::NPT
 NPT (SimInfo *info)
 
virtual ~NPT ()
 
int getMaxIterationNumber ()
 
void setMaxIterationNumber (int maxIter)
 
RealType getTauThermostat ()
 
void setTauThermostat (RealType tt)
 
RealType getTauBarostat ()
 
void setTauBarostat (RealType tb)
 
RealType getTargetTemp ()
 
void setTargetTemp (RealType tt)
 
RealType getTargetPressure ()
 
void setTargetPressure (RealType tp)
 
RealType getChiTolerance ()
 
void setChiTolerance (RealType tol)
 
RealType getEtaTolerance ()
 
void setEtaTolerance (RealType tol)
 
- Public Member Functions inherited from OpenMD::VelocityVerletIntegrator
virtual ~VelocityVerletIntegrator ()
 
- Public Member Functions inherited from OpenMD::Integrator
virtual ~Integrator ()
 
void integrate ()
 
void updateSizes ()
 
void setForceManager (ForceManager *forceMan)
 
void setVelocitizer (Velocitizer *velocitizer)
 
void setFluctuatingChargePropagator (FluctuatingChargePropagator *prop)
 
void setRotationAlgorithm (RotationAlgorithm *algo)
 
void setRNEMD (RNEMD *rnemd)
 

Protected Attributes

Mat3x3d eta
 
- Protected Attributes inherited from OpenMD::NPT
RealType NkBT
 
RealType fkBT
 
RealType tt2
 
RealType tb2
 
RealType instaTemp
 
RealType instaPress
 
RealType instaVol
 
RealType targetTemp
 
RealType targetPressure
 
RealType tauThermostat
 
RealType tauBarostat
 
std::vector< Vector3doldPos
 
std::vector< Vector3doldVel
 
std::vector< Vector3doldJi
 
RealType etaTolerance
 
pair< RealType, RealType > thermostat
 
Mat3x3d press
 
int maxIterNum_
 
- Protected Attributes inherited from OpenMD::VelocityVerletIntegrator
RealType dt2
 
RealType currSample
 
RealType currStatus
 
RealType currThermal
 
RealType currReset
 
RealType currRNEMD
 
- Protected Attributes inherited from OpenMD::Integrator
SimInfoinfo_
 
GlobalssimParams
 
ForceManagerforceMan_
 
RotationAlgorithmrotAlgo_
 
FluctuatingChargePropagatorflucQ_
 
Rattlerattle_
 
Velocitizervelocitizer_
 
RNEMDrnemd_
 
bool needPotential
 
bool needStress
 
bool needReset
 
bool needVelocityScaling
 
RealType targetScalingTemp
 
bool useRNEMD
 
Statsstats
 
DumpWriterdumpWriter
 
StatWriterstatWriter
 
Thermo thermo
 
RealType runTime
 
RealType sampleTime
 
RealType statusTime
 
RealType thermalTime
 
RealType resetTime
 
RealType RNEMD_exchangeTime
 
RealType dt
 
Snapshotsnap
 

Private Member Functions

virtual void moveA ()
 
virtual void moveB ()
 
virtual void evolveEtaA ()
 
virtual void evolveEtaB ()
 
virtual bool etaConverged ()
 
virtual void getVelScaleA (Vector3d &sc, const Vector3d &vel)
 
virtual void getVelScaleB (Vector3d &sc, int index)
 
virtual void getPosScale (const Vector3d &pos, const Vector3d &COM, int index, Vector3d &sc)
 
virtual void calcVelScale ()
 
virtual void scaleSimBox ()
 
virtual RealType calcConservedQuantity ()
 
virtual void loadEta ()
 
virtual void saveEta ()
 

Private Attributes

Mat3x3d oldEta
 
Mat3x3d prevEta
 
Mat3x3d vScale
 

Additional Inherited Members

- Protected Member Functions inherited from OpenMD::NPT
virtual void integrateStep ()
 
virtual void doUpdateSizes ()
 
virtual void resetIntegrator ()
 
virtual void resetEta ()
 
- Protected Member Functions inherited from OpenMD::VelocityVerletIntegrator
 VelocityVerletIntegrator (SimInfo *info)
 
virtual void doIntegrate ()
 
virtual void initialize ()
 
virtual void preStep ()
 
virtual void postStep ()
 
virtual void finalize ()
 
- Protected Member Functions inherited from OpenMD::Integrator
 Integrator (SimInfo *info)
 
void saveConservedQuantity ()
 

Detailed Description

Constant normal pressure and lateral surface area integrator No thermostat!

Note
Ikeguchi M.,J. Comput Chem, 25:529-542, 2004

Definition at line 62 of file NPA.hpp.

Constructor & Destructor Documentation

◆ NPA()

OpenMD::NPA::NPA ( SimInfo info)
inline

Definition at line 65 of file NPA.hpp.

Member Function Documentation

◆ calcConservedQuantity()

◆ calcVelScale()

void OpenMD::NPA::calcVelScale ( )
privatevirtual

Implements OpenMD::NPT.

Definition at line 260 of file NPA.cpp.

References eta, and vScale.

Referenced by moveA(), and moveB().

◆ etaConverged()

bool OpenMD::NPA::etaConverged ( )
privatevirtual

Implements OpenMD::NPT.

Definition at line 302 of file NPA.cpp.

References eta, OpenMD::NPT::etaTolerance, and prevEta.

◆ evolveEtaA()

void OpenMD::NPA::evolveEtaA ( )
privatevirtual

◆ evolveEtaB()

void OpenMD::NPA::evolveEtaB ( )
privatevirtual

◆ getPosScale()

void OpenMD::NPA::getPosScale ( const Vector3d pos,
const Vector3d COM,
int  index,
Vector3d sc 
)
privatevirtual

Implements OpenMD::NPT.

Definition at line 277 of file NPA.cpp.

References eta, and OpenMD::NPT::oldPos.

Referenced by moveA().

◆ getVelScaleA()

void OpenMD::NPA::getVelScaleA ( Vector3d sc,
const Vector3d vel 
)
privatevirtual

Implements OpenMD::NPT.

Definition at line 269 of file NPA.cpp.

References vScale.

Referenced by moveA().

◆ getVelScaleB()

void OpenMD::NPA::getVelScaleB ( Vector3d sc,
int  index 
)
privatevirtual

Implements OpenMD::NPT.

Definition at line 273 of file NPA.cpp.

References OpenMD::NPT::oldVel, and vScale.

Referenced by moveB().

◆ loadEta()

void OpenMD::NPA::loadEta ( )
privatevirtual

Implements OpenMD::NPT.

Definition at line 358 of file NPA.cpp.

References eta, OpenMD::Snapshot::getBarostat(), and OpenMD::Integrator::snap.

Referenced by calcConservedQuantity(), moveA(), and moveB().

◆ moveA()

◆ moveB()

◆ saveEta()

void OpenMD::NPA::saveEta ( )
privatevirtual

Implements OpenMD::NPT.

Definition at line 369 of file NPA.cpp.

References eta, OpenMD::Snapshot::setBarostat(), and OpenMD::Integrator::snap.

Referenced by moveA(), and moveB().

◆ scaleSimBox()

void OpenMD::NPA::scaleSimBox ( )
privatevirtual

Member Data Documentation

◆ eta

Mat3x3d OpenMD::NPA::eta
protected

◆ oldEta

Mat3x3d OpenMD::NPA::oldEta
private

Definition at line 96 of file NPA.hpp.

Referenced by evolveEtaA(), and evolveEtaB().

◆ prevEta

Mat3x3d OpenMD::NPA::prevEta
private

Definition at line 97 of file NPA.hpp.

Referenced by etaConverged(), and evolveEtaB().

◆ vScale

Mat3x3d OpenMD::NPA::vScale
private

Definition at line 98 of file NPA.hpp.

Referenced by calcVelScale(), getVelScaleA(), and getVelScaleB().


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