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

#include <RNEMD.hpp>

Classes

struct  OutputData
 

Public Member Functions

 RNEMD (SimInfo *info)
 
 ~RNEMD ()
 
void doRNEMD ()
 
void doSwap (SelectionManager &smanA, SelectionManager &smanB)
 
void doNIVS (SelectionManager &smanA, SelectionManager &smanB)
 
void doVSS (SelectionManager &smanA, SelectionManager &smanB)
 
RealType getDividingArea ()
 
void collectData ()
 
void getStarted ()
 
void parseOutputFileFormat (const std::string &format)
 
void writeOutputFile ()
 
void writeReal (int index, unsigned int bin)
 
void writeVector (int index, unsigned int bin)
 
void writeRealErrorBars (int index, unsigned int bin)
 
void writeVectorErrorBars (int index, unsigned int bin)
 

Private Types

enum  RNEMDMethod { rnemdSwap, rnemdNIVS, rnemdVSS, rnemdUnkownMethod }
 
enum  RNEMDFluxType {
  rnemdKE, rnemdRotKE, rnemdFullKE, rnemdPx,
  rnemdPy, rnemdPz, rnemdPvector, rnemdLx,
  rnemdLy, rnemdLz, rnemdLvector, rnemdKePx,
  rnemdKePy, rnemdKePvector, rnemdKeLx, rnemdKeLy,
  rnemdKeLz, rnemdKeLvector, rnemdUnknownFluxType
}
 
enum  OutputFields {
  BEGININDEX = 0, Z = BEGININDEX, R, TEMPERATURE,
  VELOCITY, ANGULARVELOCITY, DENSITY, ENDINDEX
}
 
typedef bitset< ENDINDEX-BEGININDEXOutputBitSet
 
typedef map< string, OutputFieldsOutputMapType
 

Private Attributes

SimInfoinfo_
 
map< string, RNEMDMethodstringToMethod_
 
map< string, RNEMDFluxTypestringToFluxType_
 
RNEMDMethod rnemdMethod_
 
RNEMDFluxType rnemdFluxType_
 
string rnemdObjectSelection_
 
SelectionEvaluator evaluator_
 
SelectionManager seleMan_
 
string selectionA_
 
SelectionEvaluator evaluatorA_
 
SelectionManager seleManA_
 
string selectionB_
 
SelectionEvaluator evaluatorB_
 
SelectionManager seleManB_
 
SelectionManager commonA_
 
SelectionManager commonB_
 
bool hasSelectionA_
 
bool hasSelectionB_
 
bool hasSphereBRadius_
 
string outputSelection_
 
SelectionEvaluator outputEvaluator_
 
SelectionManager outputSeleMan_
 
bool hasOutputSelection_
 
bool usePeriodicBoundaryConditions_
 
bool hasDividingArea_
 
RealType dividingArea_
 
int nBins_
 
RealType binWidth_
 
RealType slabWidth_
 
RealType slabACenter_
 
RealType slabBCenter_
 
RealType sphereARadius_
 
RealType sphereBRadius_
 
RealType areaA_
 
bool AisHull_
 
RealType areaB_
 
bool BisHull_
 
Vector3d coordinateOrigin_
 
RealType kineticFlux_
 
Vector3d momentumFluxVector_
 
Vector3d angularMomentumFluxVector_
 
RealType kineticTarget_
 
Vector3d momentumTarget_
 
Vector3d angularMomentumTarget_
 
RealType kineticExchange_
 
Vector3d momentumExchange_
 
Vector3d angularMomentumExchange_
 
RealType exchangeTime_
 
RealType targetJzpz2_
 
unsigned int trialCount_
 
unsigned int failTrialCount_
 
unsigned int failRootCount_
 
string rnemdFileName_
 
ofstream rnemdFile_
 
RealType runTime_
 
RealType statusTime_
 
vector< OutputDatadata_
 
OutputBitSet outputMask_
 
OutputMapType outputMap_
 
AccumulatorareaAccumulator_
 
bool doRNEMD_
 
bool hasData_
 

Detailed Description

Definition at line 54 of file RNEMD.hpp.

Member Typedef Documentation

◆ OutputBitSet

Definition at line 121 of file RNEMD.hpp.

◆ OutputMapType

typedef map<string, OutputFields> OpenMD::RNEMD::OutputMapType
private

Definition at line 122 of file RNEMD.hpp.

Member Enumeration Documentation

◆ OutputFields

Enumerator
BEGININDEX 
TEMPERATURE 
VELOCITY 
ANGULARVELOCITY 
DENSITY 
ENDINDEX 

Definition at line 103 of file RNEMD.hpp.

◆ RNEMDFluxType

Enumerator
rnemdKE 
rnemdRotKE 
rnemdFullKE 
rnemdPx 
rnemdPy 
rnemdPz 
rnemdPvector 
rnemdLx 
rnemdLy 
rnemdLz 
rnemdLvector 
rnemdKePx 
rnemdKePy 
rnemdKePvector 
rnemdKeLx 
rnemdKeLy 
rnemdKeLz 
rnemdKeLvector 
rnemdUnknownFluxType 

Definition at line 81 of file RNEMD.hpp.

◆ RNEMDMethod

Enumerator
rnemdSwap 
rnemdNIVS 
rnemdVSS 
rnemdUnkownMethod 

Definition at line 75 of file RNEMD.hpp.

Constructor & Destructor Documentation

◆ RNEMD()

OpenMD::RNEMD::RNEMD ( SimInfo info)

Definition at line 74 of file RNEMD.cpp.

References OpenMD::RNEMD::OutputData::accumulator, angularMomentumExchange_, angularMomentumFluxVector_, ANGULARVELOCITY, areaAccumulator_, binWidth_, BisHull_, commonA_, commonB_, coordinateOrigin_, data_, OpenMD::RNEMD::OutputData::dataType, DENSITY, dividingArea_, doRNEMD_, ENDINDEX, OpenMD::Constants::energyConvert, errorStruct::errMsg, OpenMD::SelectionEvaluator::evaluate(), evaluator_, evaluatorA_, evaluatorB_, exchangeTime_, failRootCount_, failTrialCount_, OpenMD::Snapshot::getHmat(), OpenMD::Thermo::getHullVolume(), OpenMD::getPrefix(), OpenMD::Globals::getRNEMDParameters(), OpenMD::SelectionManager::getSelectionCount(), OpenMD::SimInfo::getSimParams(), hasDividingArea_, hasOutputSelection_, hasSelectionA_, hasSelectionB_, hasSphereBRadius_, errorStruct::isFatal, kineticExchange_, kineticFlux_, OpenMD::SelectionEvaluator::loadScriptString(), momentumExchange_, momentumFluxVector_, nBins_, OPENMD_ERROR, OPENMD_WARNING, outputEvaluator_, outputMap_, outputMask_, outputSelection_, outputSeleMan_, painCave, parseOutputFileFormat(), OpenMD::Constants::PI, R, rnemdFileName_, rnemdFluxType_, rnemdFullKE, rnemdKE, rnemdKeLvector, rnemdKeLx, rnemdKeLy, rnemdKeLz, rnemdKePvector, rnemdKePx, rnemdKePy, rnemdLvector, rnemdLx, rnemdLy, rnemdLz, rnemdMethod_, rnemdNIVS, rnemdObjectSelection_, rnemdPvector, rnemdPx, rnemdPy, rnemdPz, rnemdRotKE, rnemdSwap, rnemdVSS, runTime_, selectionA_, selectionB_, seleMan_, seleManA_, seleManB_, OpenMD::SelectionManager::setSelectionSet(), errorStruct::severity, simError(), slabACenter_, slabBCenter_, slabWidth_, sphereARadius_, sphereBRadius_, statusTime_, stringToFluxType_, stringToMethod_, TEMPERATURE, OpenMD::RNEMD::OutputData::title, trialCount_, OpenMD::RNEMD::OutputData::units, usePeriodicBoundaryConditions_, OpenMD::V3Zero, VELOCITY, OpenMD::Vector3< Real >::x(), OpenMD::Vector3< Real >::y(), Z, and OpenMD::Vector3< Real >::z().

◆ ~RNEMD()

OpenMD::RNEMD::~RNEMD ( )

Definition at line 648 of file RNEMD.cpp.

References areaAccumulator_, data_, doRNEMD_, rnemdFile_, worldRank, and writeOutputFile().

Member Function Documentation

◆ collectData()

◆ doNIVS()

◆ doRNEMD()

◆ doSwap()

◆ doVSS()

◆ getDividingArea()

◆ getStarted()

◆ parseOutputFileFormat()

void OpenMD::RNEMD::parseOutputFileFormat ( const std::string &  format)

◆ writeOutputFile()

◆ writeReal()

void OpenMD::RNEMD::writeReal ( int  index,
unsigned int  bin 
)

◆ writeRealErrorBars()

void OpenMD::RNEMD::writeRealErrorBars ( int  index,
unsigned int  bin 
)

◆ writeVector()

void OpenMD::RNEMD::writeVector ( int  index,
unsigned int  bin 
)

◆ writeVectorErrorBars()

void OpenMD::RNEMD::writeVectorErrorBars ( int  index,
unsigned int  bin 
)

Member Data Documentation

◆ AisHull_

bool OpenMD::RNEMD::AisHull_
private

Definition at line 167 of file RNEMD.hpp.

◆ angularMomentumExchange_

Vector3d OpenMD::RNEMD::angularMomentumExchange_
private

Definition at line 184 of file RNEMD.hpp.

Referenced by doVSS(), RNEMD(), and writeOutputFile().

◆ angularMomentumFluxVector_

Vector3d OpenMD::RNEMD::angularMomentumFluxVector_
private

Definition at line 175 of file RNEMD.hpp.

Referenced by collectData(), doRNEMD(), RNEMD(), and writeOutputFile().

◆ angularMomentumTarget_

Vector3d OpenMD::RNEMD::angularMomentumTarget_
private

Definition at line 179 of file RNEMD.hpp.

Referenced by doRNEMD(), doVSS(), and writeOutputFile().

◆ areaA_

RealType OpenMD::RNEMD::areaA_
private

Definition at line 166 of file RNEMD.hpp.

◆ areaAccumulator_

Accumulator* OpenMD::RNEMD::areaAccumulator_
private

Definition at line 202 of file RNEMD.hpp.

Referenced by collectData(), RNEMD(), writeOutputFile(), and ~RNEMD().

◆ areaB_

RealType OpenMD::RNEMD::areaB_
private

Definition at line 168 of file RNEMD.hpp.

◆ binWidth_

RealType OpenMD::RNEMD::binWidth_
private

Definition at line 160 of file RNEMD.hpp.

Referenced by collectData(), and RNEMD().

◆ BisHull_

bool OpenMD::RNEMD::BisHull_
private

Definition at line 169 of file RNEMD.hpp.

Referenced by RNEMD().

◆ commonA_

SelectionManager OpenMD::RNEMD::commonA_
private

Definition at line 143 of file RNEMD.hpp.

Referenced by doRNEMD(), and RNEMD().

◆ commonB_

SelectionManager OpenMD::RNEMD::commonB_
private

Definition at line 144 of file RNEMD.hpp.

Referenced by doRNEMD(), and RNEMD().

◆ coordinateOrigin_

Vector3d OpenMD::RNEMD::coordinateOrigin_
private

Definition at line 171 of file RNEMD.hpp.

Referenced by collectData(), doVSS(), and RNEMD().

◆ data_

vector<OutputData> OpenMD::RNEMD::data_
private

◆ dividingArea_

RealType OpenMD::RNEMD::dividingArea_
private

Definition at line 157 of file RNEMD.hpp.

Referenced by getDividingArea(), and RNEMD().

◆ doRNEMD_

◆ evaluator_

SelectionEvaluator OpenMD::RNEMD::evaluator_
private

Definition at line 133 of file RNEMD.hpp.

Referenced by doRNEMD(), and RNEMD().

◆ evaluatorA_

SelectionEvaluator OpenMD::RNEMD::evaluatorA_
private

Definition at line 138 of file RNEMD.hpp.

Referenced by doRNEMD(), getDividingArea(), and RNEMD().

◆ evaluatorB_

SelectionEvaluator OpenMD::RNEMD::evaluatorB_
private

Definition at line 141 of file RNEMD.hpp.

Referenced by doRNEMD(), getDividingArea(), and RNEMD().

◆ exchangeTime_

RealType OpenMD::RNEMD::exchangeTime_
private

Definition at line 186 of file RNEMD.hpp.

Referenced by doRNEMD(), RNEMD(), and writeOutputFile().

◆ failRootCount_

unsigned int OpenMD::RNEMD::failRootCount_
private

Definition at line 192 of file RNEMD.hpp.

Referenced by doNIVS(), RNEMD(), and writeOutputFile().

◆ failTrialCount_

unsigned int OpenMD::RNEMD::failTrialCount_
private

Definition at line 191 of file RNEMD.hpp.

Referenced by doNIVS(), doSwap(), doVSS(), RNEMD(), and writeOutputFile().

◆ hasData_

bool OpenMD::RNEMD::hasData_
private

Definition at line 204 of file RNEMD.hpp.

Referenced by collectData(), and writeOutputFile().

◆ hasDividingArea_

bool OpenMD::RNEMD::hasDividingArea_
private

Definition at line 156 of file RNEMD.hpp.

Referenced by doRNEMD(), getDividingArea(), getStarted(), and RNEMD().

◆ hasOutputSelection_

bool OpenMD::RNEMD::hasOutputSelection_
private

Definition at line 153 of file RNEMD.hpp.

Referenced by RNEMD().

◆ hasSelectionA_

bool OpenMD::RNEMD::hasSelectionA_
private

Definition at line 145 of file RNEMD.hpp.

Referenced by getDividingArea(), and RNEMD().

◆ hasSelectionB_

bool OpenMD::RNEMD::hasSelectionB_
private

Definition at line 146 of file RNEMD.hpp.

Referenced by getDividingArea(), and RNEMD().

◆ hasSphereBRadius_

bool OpenMD::RNEMD::hasSphereBRadius_
private

Definition at line 147 of file RNEMD.hpp.

Referenced by RNEMD().

◆ info_

SimInfo* OpenMD::RNEMD::info_
private

◆ kineticExchange_

RealType OpenMD::RNEMD::kineticExchange_
private

Definition at line 182 of file RNEMD.hpp.

Referenced by doNIVS(), doSwap(), doVSS(), RNEMD(), and writeOutputFile().

◆ kineticFlux_

RealType OpenMD::RNEMD::kineticFlux_
private

Definition at line 173 of file RNEMD.hpp.

Referenced by doRNEMD(), RNEMD(), and writeOutputFile().

◆ kineticTarget_

RealType OpenMD::RNEMD::kineticTarget_
private

Definition at line 177 of file RNEMD.hpp.

Referenced by doNIVS(), doRNEMD(), doVSS(), and writeOutputFile().

◆ momentumExchange_

Vector3d OpenMD::RNEMD::momentumExchange_
private

Definition at line 183 of file RNEMD.hpp.

Referenced by doNIVS(), doSwap(), doVSS(), RNEMD(), and writeOutputFile().

◆ momentumFluxVector_

Vector3d OpenMD::RNEMD::momentumFluxVector_
private

Definition at line 174 of file RNEMD.hpp.

Referenced by doRNEMD(), RNEMD(), and writeOutputFile().

◆ momentumTarget_

Vector3d OpenMD::RNEMD::momentumTarget_
private

Definition at line 178 of file RNEMD.hpp.

Referenced by doNIVS(), doRNEMD(), doVSS(), and writeOutputFile().

◆ nBins_

int OpenMD::RNEMD::nBins_
private

◆ outputEvaluator_

SelectionEvaluator OpenMD::RNEMD::outputEvaluator_
private

Definition at line 151 of file RNEMD.hpp.

Referenced by collectData(), and RNEMD().

◆ outputMap_

OutputMapType OpenMD::RNEMD::outputMap_
private

Definition at line 201 of file RNEMD.hpp.

Referenced by parseOutputFileFormat(), and RNEMD().

◆ outputMask_

OutputBitSet OpenMD::RNEMD::outputMask_
private

Definition at line 200 of file RNEMD.hpp.

Referenced by collectData(), parseOutputFileFormat(), RNEMD(), and writeOutputFile().

◆ outputSelection_

string OpenMD::RNEMD::outputSelection_
private

Definition at line 150 of file RNEMD.hpp.

Referenced by RNEMD(), and writeOutputFile().

◆ outputSeleMan_

SelectionManager OpenMD::RNEMD::outputSeleMan_
private

Definition at line 152 of file RNEMD.hpp.

Referenced by collectData(), and RNEMD().

◆ rnemdFile_

ofstream OpenMD::RNEMD::rnemdFile_
private

◆ rnemdFileName_

string OpenMD::RNEMD::rnemdFileName_
private

Definition at line 194 of file RNEMD.hpp.

Referenced by RNEMD(), and writeOutputFile().

◆ rnemdFluxType_

RNEMDFluxType OpenMD::RNEMD::rnemdFluxType_
private

Definition at line 129 of file RNEMD.hpp.

Referenced by doNIVS(), doSwap(), doVSS(), RNEMD(), and writeOutputFile().

◆ rnemdMethod_

RNEMDMethod OpenMD::RNEMD::rnemdMethod_
private

Definition at line 128 of file RNEMD.hpp.

Referenced by doRNEMD(), RNEMD(), and writeOutputFile().

◆ rnemdObjectSelection_

string OpenMD::RNEMD::rnemdObjectSelection_
private

Definition at line 132 of file RNEMD.hpp.

Referenced by doRNEMD(), RNEMD(), and writeOutputFile().

◆ runTime_

RealType OpenMD::RNEMD::runTime_
private

Definition at line 197 of file RNEMD.hpp.

Referenced by RNEMD().

◆ selectionA_

string OpenMD::RNEMD::selectionA_
private

Definition at line 137 of file RNEMD.hpp.

Referenced by doRNEMD(), RNEMD(), and writeOutputFile().

◆ selectionB_

string OpenMD::RNEMD::selectionB_
private

Definition at line 140 of file RNEMD.hpp.

Referenced by doRNEMD(), RNEMD(), and writeOutputFile().

◆ seleMan_

SelectionManager OpenMD::RNEMD::seleMan_
private

Definition at line 134 of file RNEMD.hpp.

Referenced by doRNEMD(), and RNEMD().

◆ seleManA_

SelectionManager OpenMD::RNEMD::seleManA_
private

Definition at line 139 of file RNEMD.hpp.

Referenced by doRNEMD(), doSwap(), getDividingArea(), and RNEMD().

◆ seleManB_

SelectionManager OpenMD::RNEMD::seleManB_
private

Definition at line 142 of file RNEMD.hpp.

Referenced by doRNEMD(), doSwap(), getDividingArea(), and RNEMD().

◆ slabACenter_

RealType OpenMD::RNEMD::slabACenter_
private

Definition at line 162 of file RNEMD.hpp.

Referenced by RNEMD().

◆ slabBCenter_

RealType OpenMD::RNEMD::slabBCenter_
private

Definition at line 163 of file RNEMD.hpp.

Referenced by RNEMD().

◆ slabWidth_

RealType OpenMD::RNEMD::slabWidth_
private

Definition at line 161 of file RNEMD.hpp.

Referenced by RNEMD().

◆ sphereARadius_

RealType OpenMD::RNEMD::sphereARadius_
private

Definition at line 164 of file RNEMD.hpp.

Referenced by getDividingArea(), and RNEMD().

◆ sphereBRadius_

RealType OpenMD::RNEMD::sphereBRadius_
private

Definition at line 165 of file RNEMD.hpp.

Referenced by getDividingArea(), and RNEMD().

◆ statusTime_

RealType OpenMD::RNEMD::statusTime_
private

Definition at line 197 of file RNEMD.hpp.

Referenced by RNEMD().

◆ stringToFluxType_

map<string, RNEMDFluxType> OpenMD::RNEMD::stringToFluxType_
private

Definition at line 127 of file RNEMD.hpp.

Referenced by RNEMD(), and writeOutputFile().

◆ stringToMethod_

map<string, RNEMDMethod> OpenMD::RNEMD::stringToMethod_
private

Definition at line 126 of file RNEMD.hpp.

Referenced by RNEMD(), and writeOutputFile().

◆ targetJzpz2_

RealType OpenMD::RNEMD::targetJzpz2_
private

Definition at line 188 of file RNEMD.hpp.

◆ trialCount_

unsigned int OpenMD::RNEMD::trialCount_
private

Definition at line 190 of file RNEMD.hpp.

Referenced by doRNEMD(), RNEMD(), and writeOutputFile().

◆ usePeriodicBoundaryConditions_

bool OpenMD::RNEMD::usePeriodicBoundaryConditions_
private

Definition at line 155 of file RNEMD.hpp.

Referenced by collectData(), doNIVS(), doSwap(), doVSS(), getDividingArea(), and RNEMD().


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