BALL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Public Member Functions | Protected Attributes | List of all members
BALL::LennardJones Class Reference

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

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

Classes

struct  Data
struct  Values

Public Types

Enums
enum  FormatType { A_B_FORMAT, EPSILON_R_FORMAT, SLATER_KIRKWOOD_FORMAT }
- Public Types inherited from BALL::ParameterSection
enum  { MAX_FIELDS = 20 }

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
- Public Member Functions inherited from BALL::ParameterSection
 ParameterSection ()
 ParameterSection (const ParameterSection &parameter_section)
virtual ~ParameterSection ()
const StringgetSectionName () const
const StringgetValue (const String &key, const String &variable) const
bool has (const String &key, const String &variable) const
bool has (const String &key) const
bool hasVariable (const String &variable) const
Position getColumnIndex (const String &variable) const
Size getNumberOfVariables () const
Size getNumberOfKeys () const
const StringgetValue (Position key_index, Position variable_index) const
const StringgetKey (Position key_index) const
const ParameterSectionoperator= (const ParameterSection &section)
virtual bool isValid () const
bool operator== (const ParameterSection &parameter_section) 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_
- Protected Attributes inherited from BALL::ParameterSection
String section_name_
String format_line_
StringHashMap< Indexsection_entries_
StringHashMap< Indexvariable_names_
std::vector< Stringentries_
std::vector< Stringkeys_
Size number_of_variables_
std::vector< floatversion_
bool valid_

Additional Inherited Members

- Public Attributes inherited from BALL::ParameterSection
Options options
- Static Public Attributes inherited from BALL::ParameterSection
static const String UNDEFINED

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 \]

Definition at line 42 of file lennardJones.h.

Member Enumeration Documentation

Enumerator:
A_B_FORMAT 
EPSILON_R_FORMAT 
SLATER_KIRKWOOD_FORMAT 

Definition at line 51 of file lennardJones.h.

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 ( ForceFieldParameters 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 access to this data.

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
parametersthe parameters defining the inifile to be read from
section_namethe 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.

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

Definition at line 154 of file lennardJones.h.

std::vector<float> BALL::LennardJones::Aij_
protected

Definition at line 160 of file lennardJones.h.

std::vector<float> BALL::LennardJones::B_
protected

Definition at line 156 of file lennardJones.h.

std::vector<float> BALL::LennardJones::Bij_
protected

Definition at line 162 of file lennardJones.h.

FormatType BALL::LennardJones::format_
protected

Definition at line 166 of file lennardJones.h.

std::vector<bool> BALL::LennardJones::is_defined_
protected

Definition at line 164 of file lennardJones.h.

std::vector<float> BALL::LennardJones::N_
protected

Definition at line 158 of file lennardJones.h.

std::vector<String> BALL::LennardJones::names_
protected

Definition at line 168 of file lennardJones.h.

Size BALL::LennardJones::number_of_atom_types_
protected

Definition at line 152 of file lennardJones.h.