BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
charmm.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 // Molecular Mechanics: CHARMM force field class
6 
7 #ifndef BALL_MOLMEC_CHARMM_CHARMM_H
8 #define BALL_MOLMEC_CHARMM_CHARMM_H
9 
10 #ifndef BALL_COMMON_H
11 # include <BALL/common.h>
12 #endif
13 
14 #ifndef BALL_MOLMEC_COMMON_FORCEFIELD_H
16 #endif
17 
18 #ifndef BALL_KERNEL_SYSTEM_H
19 # include <BALL/KERNEL/system.h>
20 #endif
21 
22 
23 namespace BALL
24 {
30  : public ForceField
31  {
32  public:
33 
37 
41  {
46  static const char* FILENAME;
47 
50  static const char* NONBONDED_CUTOFF;
51 
54  static const char* VDW_CUTOFF;
55 
58  static const char* VDW_CUTON;
59 
62  static const char* ELECTROSTATIC_CUTOFF;
63 
66  static const char* ELECTROSTATIC_CUTON;
67 
70  static const char* SOLVATION_CUTOFF;
71 
74  static const char* SOLVATION_CUTON;
75 
78  static const char* SCALING_VDW_1_4;
79 
82  static const char* USE_EEF1;
83 
86  static const char* SCALING_ELECTROSTATIC_1_4;
87 
90  static const char* DISTANCE_DEPENDENT_DIELECTRIC;
91 
94  static const char* ASSIGN_CHARGES;
95 
98  static const char* ASSIGN_TYPENAMES;
99 
102  static const char* ASSIGN_TYPES;
103 
106  static const char* OVERWRITE_CHARGES;
107 
110  static const char* OVERWRITE_TYPENAMES;
111  };
112 
116  {
119  static const char* FILENAME;
120 
123  static const float NONBONDED_CUTOFF;
124 
127  static const float VDW_CUTOFF;
128 
131  static const float VDW_CUTON;
132 
135  static const float ELECTROSTATIC_CUTOFF;
136 
139  static const float ELECTROSTATIC_CUTON;
140 
143  static const float SOLVATION_CUTOFF;
144 
147  static const float SOLVATION_CUTON;
148 
151  static const float SCALING_ELECTROSTATIC_1_4;
152 
155  static const bool USE_EEF1;
156 
159  static const float SCALING_VDW_1_4;
160 
163  static const bool DISTANCE_DEPENDENT_DIELECTRIC;
164 
167  static const bool ASSIGN_CHARGES;
168 
171  static const bool ASSIGN_TYPENAMES;
172 
175  static const bool ASSIGN_TYPES;
176 
179  static const bool OVERWRITE_CHARGES;
180 
183  static const bool OVERWRITE_TYPENAMES;
184  };
185 
187 
190 
192 
193 
195  CharmmFF();
196 
199  CharmmFF(System& system);
200 
203  CharmmFF(System& system, const Options& options);
204 
207  CharmmFF(const CharmmFF& force_field);
208 
211  virtual ~CharmmFF();
212 
214 
217 
220  const CharmmFF& operator = (const CharmmFF& force_field)
221  ;
222 
225  virtual void clear()
226  ;
227 
229 
232 
235  virtual bool specificSetup()
236  throw(Exception::TooManyErrors);
237 
239 
242 
245  double getStretchEnergy() const;
246 
249  double getBendEnergy() const;
250 
254  double getTorsionEnergy() const;
255 
258  double getImproperTorsionEnergy() const;
259 
262  double getProperTorsionEnergy() const;
263 
267  double getNonbondedEnergy() const;
268 
271  double getESEnergy() const;
272 
275  double getVdWEnergy() const;
276 
279  double getSolvationEnergy() const;
280 
283  bool hasInitializedParameters() const;
284 
286  virtual String getResults() const
287  ;
288 
290 
291  protected:
292 
293  String filename_;
294 
295  bool parameters_initialized_;
296 
297  };
298 } // namespace BALL
299 
300 #endif // BALL_MOLMEC_CHARMM_CHARMM_H
static const float VDW_CUTOFF
Definition: charmm.h:127
#define BALL_CREATE(name)
Definition: create.h:62
static const char * ASSIGN_TYPES
Definition: charmm.h:102
static const float SCALING_VDW_1_4
Definition: charmm.h:159
static const char * SCALING_VDW_1_4
Definition: charmm.h:78
static const bool DISTANCE_DEPENDENT_DIELECTRIC
Definition: charmm.h:163
static const char * SOLVATION_CUTOFF
Definition: charmm.h:70
static const char * VDW_CUTOFF
Definition: charmm.h:54
static const char * DISTANCE_DEPENDENT_DIELECTRIC
Definition: charmm.h:90
static const float NONBONDED_CUTOFF
Definition: charmm.h:123
static const char * NONBONDED_CUTOFF
Definition: charmm.h:50
static const char * ASSIGN_TYPENAMES
Definition: charmm.h:98
static const bool ASSIGN_CHARGES
Definition: charmm.h:167
static const float SCALING_ELECTROSTATIC_1_4
Definition: charmm.h:151
static const char * ELECTROSTATIC_CUTON
Definition: charmm.h:66
static const bool ASSIGN_TYPENAMES
Definition: charmm.h:171
static const char * OVERWRITE_TYPENAMES
Definition: charmm.h:110
static const float SOLVATION_CUTOFF
Definition: charmm.h:143
static const bool USE_EEF1
Definition: charmm.h:155
static const char * USE_EEF1
Definition: charmm.h:82
static const char * OVERWRITE_CHARGES
Definition: charmm.h:106
static const bool OVERWRITE_TYPENAMES
Definition: charmm.h:183
static const char * ASSIGN_CHARGES
Definition: charmm.h:94
static const char * FILENAME
Definition: charmm.h:119
static const char * SOLVATION_CUTON
Definition: charmm.h:74
static const char * SCALING_ELECTROSTATIC_1_4
Definition: charmm.h:86
static const float SOLVATION_CUTON
Definition: charmm.h:147
static const float ELECTROSTATIC_CUTON
Definition: charmm.h:139
static const bool ASSIGN_TYPES
Definition: charmm.h:175
static const float VDW_CUTON
Definition: charmm.h:131
static const char * FILENAME
Definition: charmm.h:46
static const float ELECTROSTATIC_CUTOFF
Definition: charmm.h:135
static const char * ELECTROSTATIC_CUTOFF
Definition: charmm.h:62
static const bool OVERWRITE_CHARGES
Definition: charmm.h:179
#define BALL_EXPORT
Definition: COMMON/global.h:50
static const char * VDW_CUTON
Definition: charmm.h:58