BALL::LennardJones Class Reference
[Force Field Parameters]

#include <BALL/MOLMEC/PARAMETER/lennardJones.h>

Inheritance diagram for BALL::LennardJones:
BALL::ParameterSection

List of all members.


Classes

struct  Data
struct  Values

Public Types

Enums
enum  FormatType { A_B_FORMAT, EPSILON_R_FORMAT, SLATER_KIRKWOOD_FORMAT }

Public Member Functions

virtual bool extractSection (ForceFieldParameters &parameters, const String &section_name)
virtual bool extractSection (Parameters &parameters, const String &section_name)
bool hasParameters (Atom::Type I, Atom::Type J) const
Values getParameters (Atom::Type I, Atom::Type J) const
bool assignParameters (Values &parameters, Atom::Type I, Atom::Type J) const
Constructors and Destructors
 LennardJones ()
 LennardJones (const LennardJones &lj)
virtual ~LennardJones ()
virtual void clear ()
Assignment
const LennardJonesoperator= (const LennardJones &lj)
Predicates
bool operator== (const LennardJones &lj) const

Protected Attributes

Size number_of_atom_types_
std::vector< floatA_
std::vector< floatB_
std::vector< floatN_
std::vector< floatAij_
std::vector< floatBij_
std::vector< boolis_defined_
FormatType format_
std::vector< Stringnames_

Detailed Description

Lennard Jones parameter section. This section reads parameters for a Lennard Jones potental (usually a 6-12 Potential). Parameters may be given in three different formats (no mixing of formats is allowed).

If the Slater-Kirkwood format is used, the values for $A_{ij}$ and $B_{ij}$ are calculated as follows (see e.g. Brooks et al., J. Comput. Chem, 4(2):187-217 (1983))

\[ B_{ij} = \frac{3}{2} \left(\frac{1}{4 \pi \varepsilon_0}\right)^\frac{1}{2} \frac{e \hbar \sqrt{m_e} \alpha_i \alpha_j}{\sqrt{\frac{\alpha_i}{N_i} + \sqrt{\frac{\alpha_j}{N_j}}}} \]

\[ A_{ij} = \frac{1}2{} B_{ij} (R_i + R_j)^6 \]


Member Enumeration Documentation

Enumerator:
A_B_FORMAT 
EPSILON_R_FORMAT 
SLATER_KIRKWOOD_FORMAT 

Constructor & Destructor Documentation

BALL::LennardJones::LennardJones (  ) 

Default constructor.

BALL::LennardJones::LennardJones ( const LennardJones lj  ) 

Copy constructor.

virtual BALL::LennardJones::~LennardJones (  )  [virtual]

Destructor.


Member Function Documentation

bool BALL::LennardJones::assignParameters ( Values parameters,
Atom::Type  I,
Atom::Type  J 
) const

Assign the parameters for a given atom type combination. If no parameters are defined for this combination, false is returned and nothing is changed.

virtual void BALL::LennardJones::clear (  )  [virtual]

Clear method.

Reimplemented from BALL::ParameterSection.

virtual bool BALL::LennardJones::extractSection ( Parameters parameters,
const String section_name 
) [virtual]

Reads a parameter section from an INI file. This method reads the section given in section_name from ini_file, interprets (if given) a format line, reads the data from this section according to the format, and builds some datastructures for fast and easy acces to the data.

Parameters:
parameters the parameters defining the inifile to be read from
section_name the name of the section to be read (without the squared brackets)
Returns:
bool - true if the section could be read, false otherwise

Reimplemented from BALL::ParameterSection.

virtual bool BALL::LennardJones::extractSection ( ForceFieldParameters parameters,
const String section_name 
) [virtual]

Reads a parameter section from an INI file. This method reads the section given in section from ini, interprets (if given) a format line, reads the data from this section according to the format, and builds some datastructures for fast and easy access to this data.

Values BALL::LennardJones::getParameters ( Atom::Type  I,
Atom::Type  J 
) const

Returns the parameters for a given atom type combination.

bool BALL::LennardJones::hasParameters ( Atom::Type  I,
Atom::Type  J 
) const

Queries whether a parameter set is defined for the given atom types.

const LennardJones& BALL::LennardJones::operator= ( const LennardJones lj  ) 

Assignment operator

bool BALL::LennardJones::operator== ( const LennardJones lj  )  const

Equality operator


Member Data Documentation

std::vector<float> BALL::LennardJones::A_ [protected]
std::vector<float> BALL::LennardJones::Aij_ [protected]
std::vector<float> BALL::LennardJones::B_ [protected]
std::vector<float> BALL::LennardJones::Bij_ [protected]
std::vector<bool> BALL::LennardJones::is_defined_ [protected]
std::vector<float> BALL::LennardJones::N_ [protected]
std::vector<String> BALL::LennardJones::names_ [protected]