OpenMD 3.0
Molecular Dynamics in the Open
Loading...
Searching...
No Matches
OpenMD::Integrator Class Referenceabstract

Declaration of the Integrator base class, which all other integrators inherit from. More...

#include <Integrator.hpp>

+ Inheritance diagram for OpenMD::Integrator:

Public Member Functions

virtual ~Integrator ()
 Default Destructor.
 
void integrate ()
 
void updateSizes ()
 
void setVelocitizer (std::unique_ptr< Velocitizer > velocitizer)
 
void setFluctuatingChargePropagator (FluctuatingChargePropagator *prop)
 
void setRotationAlgorithm (RotationAlgorithm *algo)
 
void setRNEMD (std::unique_ptr< RNEMD::RNEMD > rnemd)
 

Protected Member Functions

 Integrator (SimInfo *info)
 
virtual void initialize ()
 
virtual void preStep ()
 
virtual void step ()=0
 Computes an integration step from t to t+dt.
 
virtual void calcForce ()
 
virtual void postStep ()
 
virtual void finalize ()
 
virtual void resetIntegrator ()
 
virtual void doUpdateSizes ()
 
void saveConservedQuantity ()
 

Protected Attributes

RealType dt
 
RealType dt2
 
RealType runTime
 
RealType sampleTime
 
RealType statusTime
 
RealType thermalTime
 
RealType resetTime
 
RealType RNEMD_exchangeTime
 
RealType currSample
 
RealType currStatus
 
RealType currThermal
 
RealType currReset
 
RealType currRNEMD
 
SimInfoinfo_ {nullptr}
 
GlobalssimParams {nullptr}
 
ForceManagerforceMan_ {nullptr}
 
RotationAlgorithmrotAlgo_ {nullptr}
 
FluctuatingChargePropagatorflucQ_ {nullptr}
 
Rattlerattle_ {nullptr}
 
std::unique_ptr< Velocitizervelocitizer_ {nullptr}
 
std::unique_ptr< RNEMD::RNEMDrnemd_ {nullptr}
 
bool needPotential {false}
 
bool needVirial {false}
 
bool needReset {false}
 
bool needVelocityScaling {false}
 
bool useRNEMD {false}
 
RealType targetScalingTemp
 
Statsstats {nullptr}
 
DumpWriterdumpWriter {nullptr}
 
StatWriterstatWriter {nullptr}
 
Thermo thermo
 
Snapshotsnap {nullptr}
 
ProgressBarPtr progressBar {nullptr}
 

Detailed Description

Declaration of the Integrator base class, which all other integrators inherit from.

It provides an abstract integrate() function which will be called by the host application to integrate the system forward in time.

Several convenience functions are also provided that are commonly needed by subclasses.

Todo
document

Definition at line 73 of file Integrator.hpp.

Constructor & Destructor Documentation

◆ ~Integrator()

OpenMD::Integrator::~Integrator ( )
virtual

Default Destructor.

Definition at line 204 of file Integrator.cpp.

◆ Integrator()

OpenMD::Integrator::Integrator ( SimInfo * info)
protected

Definition at line 65 of file Integrator.cpp.

Member Function Documentation

◆ calcForce()

void OpenMD::Integrator::calcForce ( )
protectedvirtual

Definition at line 311 of file Integrator.cpp.

◆ doUpdateSizes()

virtual void OpenMD::Integrator::doUpdateSizes ( )
inlineprotectedvirtual

Definition at line 102 of file Integrator.hpp.

◆ finalize()

void OpenMD::Integrator::finalize ( )
protectedvirtual

Definition at line 377 of file Integrator.cpp.

◆ initialize()

void OpenMD::Integrator::initialize ( )
protectedvirtual

Definition at line 256 of file Integrator.cpp.

◆ integrate()

void OpenMD::Integrator::integrate ( )

Definition at line 240 of file Integrator.cpp.

◆ postStep()

void OpenMD::Integrator::postStep ( )
protectedvirtual

Definition at line 316 of file Integrator.cpp.

◆ preStep()

void OpenMD::Integrator::preStep ( )
protectedvirtual

Definition at line 302 of file Integrator.cpp.

◆ resetIntegrator()

virtual void OpenMD::Integrator::resetIntegrator ( )
inlineprotectedvirtual

Definition at line 101 of file Integrator.hpp.

◆ saveConservedQuantity()

void OpenMD::Integrator::saveConservedQuantity ( )
protected

Definition at line 252 of file Integrator.cpp.

◆ setFluctuatingChargePropagator()

void OpenMD::Integrator::setFluctuatingChargePropagator ( FluctuatingChargePropagator * prop)

Definition at line 223 of file Integrator.cpp.

◆ setRNEMD()

void OpenMD::Integrator::setRNEMD ( std::unique_ptr< RNEMD::RNEMD > rnemd)

Definition at line 236 of file Integrator.cpp.

◆ setRotationAlgorithm()

void OpenMD::Integrator::setRotationAlgorithm ( RotationAlgorithm * algo)

Definition at line 230 of file Integrator.cpp.

◆ setVelocitizer()

void OpenMD::Integrator::setVelocitizer ( std::unique_ptr< Velocitizer > velocitizer)

Definition at line 219 of file Integrator.cpp.

◆ step()

virtual void OpenMD::Integrator::step ( )
protectedpure virtual

Computes an integration step from t to t+dt.

This function must be implemented by any subclasses, and computes a single integration step from the current time (t) to (t+dt).

Implemented in OpenMD::NPT, and OpenMD::VelocityVerletIntegrator.

◆ updateSizes()

void OpenMD::Integrator::updateSizes ( )

Definition at line 214 of file Integrator.cpp.

Member Data Documentation

◆ currReset

RealType OpenMD::Integrator::currReset
protected

Definition at line 115 of file Integrator.hpp.

◆ currRNEMD

RealType OpenMD::Integrator::currRNEMD
protected

Definition at line 116 of file Integrator.hpp.

◆ currSample

RealType OpenMD::Integrator::currSample
protected

Definition at line 112 of file Integrator.hpp.

◆ currStatus

RealType OpenMD::Integrator::currStatus
protected

Definition at line 113 of file Integrator.hpp.

◆ currThermal

RealType OpenMD::Integrator::currThermal
protected

Definition at line 114 of file Integrator.hpp.

◆ dt

RealType OpenMD::Integrator::dt
protected

Definition at line 105 of file Integrator.hpp.

◆ dt2

RealType OpenMD::Integrator::dt2
protected

Definition at line 105 of file Integrator.hpp.

◆ dumpWriter

DumpWriter* OpenMD::Integrator::dumpWriter {nullptr}
protected

Definition at line 136 of file Integrator.hpp.

◆ flucQ_

FluctuatingChargePropagator* OpenMD::Integrator::flucQ_ {nullptr}
protected

Definition at line 122 of file Integrator.hpp.

◆ forceMan_

ForceManager* OpenMD::Integrator::forceMan_ {nullptr}
protected

Definition at line 120 of file Integrator.hpp.

◆ info_

SimInfo* OpenMD::Integrator::info_ {nullptr}
protected

Definition at line 118 of file Integrator.hpp.

◆ needPotential

bool OpenMD::Integrator::needPotential {false}
protected

Definition at line 127 of file Integrator.hpp.

◆ needReset

bool OpenMD::Integrator::needReset {false}
protected

Definition at line 129 of file Integrator.hpp.

◆ needVelocityScaling

bool OpenMD::Integrator::needVelocityScaling {false}
protected

Definition at line 130 of file Integrator.hpp.

◆ needVirial

bool OpenMD::Integrator::needVirial {false}
protected

Definition at line 128 of file Integrator.hpp.

◆ progressBar

ProgressBarPtr OpenMD::Integrator::progressBar {nullptr}
protected

Definition at line 141 of file Integrator.hpp.

◆ rattle_

Rattle* OpenMD::Integrator::rattle_ {nullptr}
protected

Definition at line 123 of file Integrator.hpp.

◆ resetTime

RealType OpenMD::Integrator::resetTime
protected

Definition at line 110 of file Integrator.hpp.

◆ rnemd_

std::unique_ptr<RNEMD::RNEMD> OpenMD::Integrator::rnemd_ {nullptr}
protected

Definition at line 125 of file Integrator.hpp.

◆ RNEMD_exchangeTime

RealType OpenMD::Integrator::RNEMD_exchangeTime
protected

Definition at line 111 of file Integrator.hpp.

◆ rotAlgo_

RotationAlgorithm* OpenMD::Integrator::rotAlgo_ {nullptr}
protected

Definition at line 121 of file Integrator.hpp.

◆ runTime

RealType OpenMD::Integrator::runTime
protected

Definition at line 106 of file Integrator.hpp.

◆ sampleTime

RealType OpenMD::Integrator::sampleTime
protected

Definition at line 107 of file Integrator.hpp.

◆ simParams

Globals* OpenMD::Integrator::simParams {nullptr}
protected

Definition at line 119 of file Integrator.hpp.

◆ snap

Snapshot* OpenMD::Integrator::snap {nullptr}
protected

Definition at line 140 of file Integrator.hpp.

◆ stats

Stats* OpenMD::Integrator::stats {nullptr}
protected

Definition at line 135 of file Integrator.hpp.

◆ statusTime

RealType OpenMD::Integrator::statusTime
protected

Definition at line 108 of file Integrator.hpp.

◆ statWriter

StatWriter* OpenMD::Integrator::statWriter {nullptr}
protected

Definition at line 137 of file Integrator.hpp.

◆ targetScalingTemp

RealType OpenMD::Integrator::targetScalingTemp
protected

Definition at line 133 of file Integrator.hpp.

◆ thermalTime

RealType OpenMD::Integrator::thermalTime
protected

Definition at line 109 of file Integrator.hpp.

◆ thermo

Thermo OpenMD::Integrator::thermo
protected

Definition at line 138 of file Integrator.hpp.

◆ useRNEMD

bool OpenMD::Integrator::useRNEMD {false}
protected

Definition at line 131 of file Integrator.hpp.

◆ velocitizer_

std::unique_ptr<Velocitizer> OpenMD::Integrator::velocitizer_ {nullptr}
protected

Definition at line 124 of file Integrator.hpp.


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