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

Bond Order Parameter. More...

#include <BondOrderParameter.hpp>

Inheritance diagram for OpenMD::BondOrderParameter:
OpenMD::StaticAnalyser

Public Member Functions

 BondOrderParameter (SimInfo *info, const std::string &filename, const std::string &sele, double rCut, int nbins)
 
virtual ~BondOrderParameter ()
 
virtual void process ()
 
- Public Member Functions inherited from OpenMD::StaticAnalyser
 StaticAnalyser (SimInfo *info, const std::string &filename, unsigned int nbins)
 
virtual ~StaticAnalyser ()
 
void setOutputName (const std::string &filename)
 
const std::string & getOutputFileName () const
 
void setStep (int step)
 
int getStep ()
 
const std::string & getAnalysisType () const
 
void setAnalysisType (const std::string &type)
 
void setParameterString (const std::string &params)
 

Private Member Functions

virtual void initializeHistogram ()
 
virtual void collectHistogram (std::vector< RealType > q, std::vector< ComplexType > what)
 
void writeOrderParameter (std::vector< RealType > Q, std::vector< ComplexType > What)
 

Private Attributes

SnapshotcurrentSnapshot_
 
std::string selectionScript_
 
SelectionManager seleMan_
 
SelectionEvaluator evaluator_
 
RealType rCut_
 
int frameCounter_
 
int nBins_
 
std::map< std::pair< int, int >, int > m2Min
 
std::map< std::pair< int, int >, int > m2Max
 
std::map< std::pair< int, int >, std::vector< RealType > > w3j
 
RealType MinQ_
 
RealType MaxQ_
 
RealType deltaQ_
 
std::vector< int > Qcount_
 
std::map< std::pair< int, int >, int > Q_histogram_
 
RealType MinW_
 
RealType MaxW_
 
RealType deltaW_
 
std::vector< int > Wcount_
 
std::map< std::pair< int, int >, int > W_histogram_
 

Static Private Attributes

static const int lMax_ = 12
 

Additional Inherited Members

- Protected Member Functions inherited from OpenMD::StaticAnalyser
virtual void writeOutput ()
 
virtual void writeData (ostream &os, OutputData *dat, unsigned int bin)
 
virtual void writeErrorBars (ostream &os, OutputData *dat, unsigned int bin)
 
OutputDatabeginOutputData (vector< OutputData *>::iterator &i)
 
OutputDatanextOutputData (vector< OutputData *>::iterator &i)
 
- Protected Attributes inherited from OpenMD::StaticAnalyser
SimInfoinfo_
 
std::string dumpFilename_
 
std::string outputFilename_
 
int step_
 
std::string analysisType_
 
std::string paramString_
 
unsigned int nBins_
 
OutputDatacounts_
 
vector< OutputData * > data_
 

Detailed Description

Bond Order Parameter.

Computes orientational bond order parameters as outlined in:

"Bond-orientaional order in liquids and glasses," by P. J. Steinhart, D. R. Nelson, and M. Ronchetti, Phys. Rev. B, 28, 784 (1983).

A somewhat more useful reference which has formulae for these order parameters for individual atoms is:

"Numerical calculation of the rate of crystal nucleation in a Lennard-Jones system at moderate undercooling," by Pieter Rein ten Wolde, Maria J. Ruiz-Montero, and Daan Frenkel, J. Chem. Phys. 104, pp. 9932-9947 (1996).

Note that this version uses a single cutoff radius to decide membership in the list of neighbors, and does not have use a distance-dependent weighting as used in the second reference above.

The selection script can be utilized to look at specific types of central atoms. A dynamic selector can also be utilized. By default, this class computes the

\[ Q_{l} \]

and

\[ \hat{W}_{l} \]

parameters up to

\[ l = 12 \]

. The completed configurational averages of these values as well as the distributions of atomic

\[ q_{l} \]

and

\[ \hat{w}_{l} \]

values are then placed in .boq and .bow files.

Definition at line 87 of file BondOrderParameter.hpp.

Constructor & Destructor Documentation

◆ BondOrderParameter()

◆ ~BondOrderParameter()

OpenMD::BondOrderParameter::~BondOrderParameter ( )
virtual

Definition at line 132 of file BondOrderParameter.cpp.

References lMax_, m2Max, m2Min, Q_histogram_, w3j, and W_histogram_.

Member Function Documentation

◆ collectHistogram()

void OpenMD::BondOrderParameter::collectHistogram ( std::vector< RealType >  q,
std::vector< ComplexType what 
)
privatevirtual

◆ initializeHistogram()

void OpenMD::BondOrderParameter::initializeHistogram ( )
privatevirtual

Definition at line 145 of file BondOrderParameter.cpp.

References lMax_, nBins_, Q_histogram_, and W_histogram_.

◆ process()

◆ writeOrderParameter()

Member Data Documentation

◆ currentSnapshot_

Snapshot* OpenMD::BondOrderParameter::currentSnapshot_
private

Definition at line 102 of file BondOrderParameter.hpp.

Referenced by process().

◆ deltaQ_

RealType OpenMD::BondOrderParameter::deltaQ_
private

◆ deltaW_

RealType OpenMD::BondOrderParameter::deltaW_
private

◆ evaluator_

SelectionEvaluator OpenMD::BondOrderParameter::evaluator_
private

Definition at line 105 of file BondOrderParameter.hpp.

Referenced by BondOrderParameter(), and process().

◆ frameCounter_

int OpenMD::BondOrderParameter::frameCounter_
private

Definition at line 109 of file BondOrderParameter.hpp.

Referenced by process().

◆ lMax_

const int OpenMD::BondOrderParameter::lMax_ = 12
staticprivate

◆ m2Max

std::map<std::pair<int,int>,int> OpenMD::BondOrderParameter::m2Max
private

Definition at line 113 of file BondOrderParameter.hpp.

Referenced by BondOrderParameter(), process(), and ~BondOrderParameter().

◆ m2Min

std::map<std::pair<int,int>,int> OpenMD::BondOrderParameter::m2Min
private

Definition at line 112 of file BondOrderParameter.hpp.

Referenced by BondOrderParameter(), process(), and ~BondOrderParameter().

◆ MaxQ_

RealType OpenMD::BondOrderParameter::MaxQ_
private

Definition at line 117 of file BondOrderParameter.hpp.

Referenced by BondOrderParameter(), and collectHistogram().

◆ MaxW_

RealType OpenMD::BondOrderParameter::MaxW_
private

Definition at line 123 of file BondOrderParameter.hpp.

Referenced by BondOrderParameter(), and collectHistogram().

◆ MinQ_

RealType OpenMD::BondOrderParameter::MinQ_
private

◆ MinW_

RealType OpenMD::BondOrderParameter::MinW_
private

◆ nBins_

int OpenMD::BondOrderParameter::nBins_
private

◆ Q_histogram_

std::map<std::pair<int,int>,int> OpenMD::BondOrderParameter::Q_histogram_
private

◆ Qcount_

std::vector<int> OpenMD::BondOrderParameter::Qcount_
private

◆ rCut_

RealType OpenMD::BondOrderParameter::rCut_
private

Definition at line 107 of file BondOrderParameter.hpp.

Referenced by BondOrderParameter(), and process().

◆ selectionScript_

std::string OpenMD::BondOrderParameter::selectionScript_
private

Definition at line 103 of file BondOrderParameter.hpp.

Referenced by writeOrderParameter().

◆ seleMan_

SelectionManager OpenMD::BondOrderParameter::seleMan_
private

Definition at line 104 of file BondOrderParameter.hpp.

Referenced by BondOrderParameter(), and process().

◆ w3j

std::map<std::pair<int,int>,std::vector<RealType> > OpenMD::BondOrderParameter::w3j
private

Definition at line 114 of file BondOrderParameter.hpp.

Referenced by BondOrderParameter(), process(), and ~BondOrderParameter().

◆ W_histogram_

std::map<std::pair<int,int>,int> OpenMD::BondOrderParameter::W_histogram_
private

◆ Wcount_

std::vector<int> OpenMD::BondOrderParameter::Wcount_
private

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