BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
amber.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // Molecular Mechanics: Amber force field class
5 
6 #ifndef BALL_MOLMEC_AMBER_AMBER_H
7 #define BALL_MOLMEC_AMBER_AMBER_H
8 
9 #ifndef BALL_COMMON_H
10 # include <BALL/common.h>
11 #endif
12 
13 #ifndef BALL_MOLMEC_COMMON_FORCEFIELD_H
15 #endif
16 
17 #ifndef BALL_KERNEL_SYSTEM_H
18 # include <BALL/KERNEL/system.h>
19 #endif
20 
21 #ifndef BALL_COMMON_EXCEPTION_H
22 # include <BALL/COMMON/exception.h>
23 #endif
24 
25 namespace BALL
26 {
32  : public ForceField
33  {
34  public:
35 
39 
43  {
46  static const char* FILENAME;
47 
52  static const char* NONBONDED_CUTOFF;
53 
56  static const char* VDW_CUTOFF;
57 
60  static const char* VDW_CUTON;
61 
64  static const char* ELECTROSTATIC_CUTOFF;
65 
68  static const char* ELECTROSTATIC_CUTON;
69 
72  static const char* SCALING_VDW_1_4;
73 
76  static const char* SCALING_ELECTROSTATIC_1_4;
77 
80  static const char* DISTANCE_DEPENDENT_DIELECTRIC;
81 
84  static const char* ASSIGN_CHARGES;
85 
88  static const char* ASSIGN_TYPENAMES;
89 
92  static const char* ASSIGN_TYPES;
93 
96  static const char* OVERWRITE_CHARGES;
97 
100  static const char* OVERWRITE_TYPENAMES;
101  };
102 
106  {
109  static const char* FILENAME;
110 
113  static const float NONBONDED_CUTOFF;
114 
117  static const float VDW_CUTOFF;
118 
121  static const float VDW_CUTON;
122 
125  static const float ELECTROSTATIC_CUTOFF;
126 
129  static const float ELECTROSTATIC_CUTON;
130 
134  static const float SCALING_ELECTROSTATIC_1_4;
135 
138  static const float SCALING_VDW_1_4;
139 
143  static const bool DISTANCE_DEPENDENT_DIELECTRIC;
144 
147  static const bool ASSIGN_CHARGES;
148 
151  static const bool ASSIGN_TYPENAMES;
152 
155  static const bool ASSIGN_TYPES;
156 
159  static const bool OVERWRITE_CHARGES;
160 
163  static const bool OVERWRITE_TYPENAMES;
164  };
165 
167 
170 
171 
173 
174 
176  AmberFF();
177 
180  AmberFF(System& system);
181 
184  AmberFF(System& system, const Options& options);
185 
188  AmberFF(const AmberFF& force_field);
189 
192  virtual ~AmberFF();
193 
195 
198 
201  const AmberFF& operator = (const AmberFF& force_field)
202  ;
203 
206  virtual void clear()
207  ;
208 
210 
213 
216  virtual bool specificSetup()
217  throw(Exception::TooManyErrors);
218 
220 
223 
226  double getStretchEnergy() const;
227 
230  double getBendEnergy() const;
231 
235  double getTorsionEnergy() const;
236 
240  double getNonbondedEnergy() const;
241 
244  double getESEnergy() const;
245 
248  double getVdWEnergy() const;
249 
252  bool hasInitializedParameters() const;
253 
257  Size getUpdateFrequency() const;
258 
260  virtual String getResults() const
261  ;
262 
264 
265  protected:
266 
267  String filename_;
268 
269  bool parameters_initialized_;
270 
271  };
272 } // namespace BALL
273 
274 #endif // BALL_MOLMEC_AMBER_H