Emdee
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Protected Attributes | List of all members
Generator Class Reference

The Generator class provides functions to generate crystal structures, initial velocities, etc. for a MoleculeSystem. More...

#include <generator.h>

Public Member Functions

 Generator ()
 
vector< Atom * > generateFcc (double sideLength, int nCells, AtomType atomType)
 Generator::generateFcc. More...
 
void boltzmannDistributeVelocities (double temperature, const vector< Atom * > &atoms)
 Generator::boltzmannDistributeVelocities. More...
 
void uniformDistributeVelocities (double maxVelocity, vector< Atom * > atoms)
 
const mat & lastBoundaries () const
 
void setNCells (int nCells)
 
void setB (double b)
 
void setIdCounter (int idCounter)
 
int idCounter ()
 
void removeLinearMomentum (const vector< Atom * > &atoms)
 

Protected Attributes

double m_unitLength
 
mat m_lastBoundaries
 
int m_nDimensions
 
int m_idCounter
 

Detailed Description

The Generator class provides functions to generate crystal structures, initial velocities, etc. for a MoleculeSystem.

Constructor & Destructor Documentation

Generator::Generator ( )

Member Function Documentation

void Generator::boltzmannDistributeVelocities ( double  temperature,
const vector< Atom * > &  atoms 
)

Generator::boltzmannDistributeVelocities.

Parameters
temperatureunitless temperature
atomsa vector of atoms to apply the Boltzmann distribution of velocities on.
Note
The Boltzmann constant should have been baked into the unitless temperature.
vector< Atom * > Generator::generateFcc ( double  sideLength,
int  nCells,
AtomType  atomType 
)

Generator::generateFcc.

Parameters
b
nCells
atomTypeAll molecules start out with displacement zero.
Returns
int Generator::idCounter ( )
inline
const mat & Generator::lastBoundaries ( ) const
void Generator::removeLinearMomentum ( const vector< Atom * > &  atoms)
void Generator::setB ( double  b)
void Generator::setIdCounter ( int  idCounter)
inline
void Generator::setNCells ( int  nCells)
void Generator::uniformDistributeVelocities ( double  maxVelocity,
vector< Atom * >  atoms 
)

Member Data Documentation

int Generator::m_idCounter
protected
mat Generator::m_lastBoundaries
protected
int Generator::m_nDimensions
protected
double Generator::m_unitLength
protected

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