BALL  1.5.0
lennardJones.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 // Molecular Mechanics Parameter: class describing the atom type section of a parameter file
6 
7 #ifndef BALL_MOLMEC_PARAMETER_LENNARDJONES_H
8 #define BALL_MOLMEC_PARAMETER_LENNARDJONES_H
9 
10 #ifndef BALL_FORMAT_PARAMETERSECTION_H
12 #endif
13 
14 #ifndef BALL_MOLMEC_PARAMETER_ATOMTYPES_H
16 #endif
17 
18 namespace BALL
19 {
43  : public ParameterSection
44  {
45  public:
46 
50 
52  {
55  SLATER_KIRKWOOD_FORMAT
56  };
57 
59 
62 
66  {
67  float A;
68  float B;
69  };
70 
72  {
76  };
77 
79 
80 
84 
87  LennardJones() ;
88 
91  LennardJones(const LennardJones& lj) ;
92 
95  virtual ~LennardJones() ;
96 
99  virtual void clear() ;
100 
102 
109  virtual bool extractSection(ForceFieldParameters& parameters,
110  const String& section_name) ;
111 
113  virtual bool extractSection(Parameters& parameters,
114  const String& section_name) ;
115 
118  bool hasParameters(Atom::Type I, Atom::Type J) const ;
119 
122  Values getParameters(Atom::Type I, Atom::Type J) const ;
123 
128  bool assignParameters(Values& parameters, Atom::Type I, Atom::Type J)
129  const ;
130 
134 
137  const LennardJones& operator = (const LennardJones& lj) ;
138 
140 
143 
146  bool operator == (const LennardJones& lj) const ;
147 
149 
150  protected:
151 
153 
154  std::vector<float> A_;
155 
156  std::vector<float> B_;
157 
158  std::vector<float> N_;
159 
160  std::vector<float> Aij_;
161 
162  std::vector<float> Bij_;
163 
164  std::vector<bool> is_defined_;
165 
167 
168  std::vector<String> names_;
169  };
170 } // namespace BALL
171 
172 #endif // BALL_MOLMEC_PARAMETER_LENNARDJONES_H
BALL::LennardJones::number_of_atom_types_
Size number_of_atom_types_
Definition: lennardJones.h:152
BALL::Parameters
Definition: parameters.h:24
BALL::LennardJones::A_B_FORMAT
@ A_B_FORMAT
Definition: lennardJones.h:53
BALL::LennardJones::N_
std::vector< float > N_
Definition: lennardJones.h:158
BALL::LennardJones::Bij_
std::vector< float > Bij_
Definition: lennardJones.h:162
BALL::LennardJones::Data::atom2
Atom * atom2
Definition: lennardJones.h:74
parameterSection.h
BALL::Atom
Definition: atom.h:87
BALL::LennardJones::Values::A
float A
Definition: lennardJones.h:67
BALL::LennardJones::Aij_
std::vector< float > Aij_
Definition: lennardJones.h:160
BALL::String
Definition: string.h:56
BALL::LennardJones::Data
Definition: lennardJones.h:71
BALL
Definition: constants.h:12
BALL::LennardJones::FormatType
FormatType
Definition: lennardJones.h:51
BALL::LennardJones
Definition: lennardJones.h:42
BALL::LennardJones::format_
FormatType format_
Definition: lennardJones.h:166
BALL::LennardJones::A_
std::vector< float > A_
Definition: lennardJones.h:154
BALL_SIZE_TYPE
BALL::LennardJones::names_
std::vector< String > names_
Definition: lennardJones.h:168
BALL::LennardJones::Values::B
float B
Definition: lennardJones.h:68
BALL::operator==
BALL_EXPORT bool operator==(const String &s1, const String &s2)
BALL::ParameterSection
Definition: parameterSection.h:39
BALL::ForceFieldParameters
Definition: forceFieldParameters.h:29
BALL::LennardJones::B_
std::vector< float > B_
Definition: lennardJones.h:156
BALL::LennardJones::is_defined_
std::vector< bool > is_defined_
Definition: lennardJones.h:164
BALL::LennardJones::Values
Definition: lennardJones.h:65
BALL_EXPORT
#define BALL_EXPORT
Definition: COMMON/global.h:50
BALL::Atom::Type
short Type
Definition: atom.h:103
BALL::LennardJones::EPSILON_R_FORMAT
@ EPSILON_R_FORMAT
Definition: lennardJones.h:54
BALL::LennardJones::Data::atom1
Atom * atom1
Definition: lennardJones.h:73
atomTypes.h
BALL::LennardJones::Data::values
Values values
Definition: lennardJones.h:75