OpenMD 3.2
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}
const RealType dtEps = 1.0e-4

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 76 of file Integrator.hpp.

Constructor & Destructor Documentation

◆ ~Integrator()

OpenMD::Integrator::~Integrator ( )
virtual

Default Destructor.

Definition at line 200 of file Integrator.cpp.

References ~Integrator().

Referenced by ~Integrator().

◆ Integrator()

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

Definition at line 68 of file Integrator.cpp.

Member Function Documentation

◆ calcForce()

void OpenMD::Integrator::calcForce ( )
protectedvirtual

Definition at line 307 of file Integrator.cpp.

◆ doUpdateSizes()

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

Definition at line 105 of file Integrator.hpp.

◆ finalize()

void OpenMD::Integrator::finalize ( )
protectedvirtual

Definition at line 373 of file Integrator.cpp.

◆ initialize()

void OpenMD::Integrator::initialize ( )
protectedvirtual

Definition at line 252 of file Integrator.cpp.

◆ integrate()

void OpenMD::Integrator::integrate ( )

Definition at line 236 of file Integrator.cpp.

◆ postStep()

void OpenMD::Integrator::postStep ( )
protectedvirtual

Definition at line 312 of file Integrator.cpp.

◆ preStep()

void OpenMD::Integrator::preStep ( )
protectedvirtual

Definition at line 298 of file Integrator.cpp.

◆ resetIntegrator()

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

Definition at line 104 of file Integrator.hpp.

◆ saveConservedQuantity()

void OpenMD::Integrator::saveConservedQuantity ( )
protected

Definition at line 248 of file Integrator.cpp.

◆ setFluctuatingChargePropagator()

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

Definition at line 219 of file Integrator.cpp.

◆ setRNEMD()

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

Definition at line 232 of file Integrator.cpp.

◆ setRotationAlgorithm()

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

Definition at line 226 of file Integrator.cpp.

◆ setVelocitizer()

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

Definition at line 215 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 210 of file Integrator.cpp.

Member Data Documentation

◆ currReset

RealType OpenMD::Integrator::currReset
protected

Definition at line 118 of file Integrator.hpp.

◆ currRNEMD

RealType OpenMD::Integrator::currRNEMD
protected

Definition at line 119 of file Integrator.hpp.

◆ currSample

RealType OpenMD::Integrator::currSample
protected

Definition at line 115 of file Integrator.hpp.

◆ currStatus

RealType OpenMD::Integrator::currStatus
protected

Definition at line 116 of file Integrator.hpp.

◆ currThermal

RealType OpenMD::Integrator::currThermal
protected

Definition at line 117 of file Integrator.hpp.

◆ dt

RealType OpenMD::Integrator::dt
protected

Definition at line 108 of file Integrator.hpp.

◆ dt2

RealType OpenMD::Integrator::dt2
protected

Definition at line 108 of file Integrator.hpp.

◆ dtEps

const RealType OpenMD::Integrator::dtEps = 1.0e-4
protected

Definition at line 146 of file Integrator.hpp.

◆ dumpWriter

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

Definition at line 139 of file Integrator.hpp.

◆ flucQ_

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

Definition at line 125 of file Integrator.hpp.

◆ forceMan_

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

Definition at line 123 of file Integrator.hpp.

◆ info_

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

Definition at line 121 of file Integrator.hpp.

◆ needPotential

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

Definition at line 130 of file Integrator.hpp.

◆ needReset

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

Definition at line 132 of file Integrator.hpp.

◆ needVelocityScaling

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

Definition at line 133 of file Integrator.hpp.

◆ needVirial

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

Definition at line 131 of file Integrator.hpp.

◆ progressBar

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

Definition at line 144 of file Integrator.hpp.

◆ rattle_

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

Definition at line 126 of file Integrator.hpp.

◆ resetTime

RealType OpenMD::Integrator::resetTime
protected

Definition at line 113 of file Integrator.hpp.

◆ rnemd_

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

Definition at line 128 of file Integrator.hpp.

◆ RNEMD_exchangeTime

RealType OpenMD::Integrator::RNEMD_exchangeTime
protected

Definition at line 114 of file Integrator.hpp.

◆ rotAlgo_

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

Definition at line 124 of file Integrator.hpp.

◆ runTime

RealType OpenMD::Integrator::runTime
protected

Definition at line 109 of file Integrator.hpp.

◆ sampleTime

RealType OpenMD::Integrator::sampleTime
protected

Definition at line 110 of file Integrator.hpp.

◆ simParams

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

Definition at line 122 of file Integrator.hpp.

◆ snap

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

Definition at line 143 of file Integrator.hpp.

◆ stats

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

Definition at line 138 of file Integrator.hpp.

◆ statusTime

RealType OpenMD::Integrator::statusTime
protected

Definition at line 111 of file Integrator.hpp.

◆ statWriter

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

Definition at line 140 of file Integrator.hpp.

◆ targetScalingTemp

RealType OpenMD::Integrator::targetScalingTemp
protected

Definition at line 136 of file Integrator.hpp.

◆ thermalTime

RealType OpenMD::Integrator::thermalTime
protected

Definition at line 112 of file Integrator.hpp.

◆ thermo

Thermo OpenMD::Integrator::thermo
protected

Definition at line 141 of file Integrator.hpp.

◆ useRNEMD

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

Definition at line 134 of file Integrator.hpp.

◆ velocitizer_

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

Definition at line 127 of file Integrator.hpp.


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