BALL  1.4.79
 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 ()
 
bool extractSection (Parameters &parameters, const String &section_name)
 
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
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.