22 #ifndef ADUN_MMFORCEFIELD
23 #define ADUN_MMFORCEFIELD
29 #include "Base/AdVector.h"
30 #include "Base/AdMatrix.h"
31 #include "Base/AdLinkedList.h"
32 #include "Base/AdForceFieldFunctions.h"
33 #include "AdunKernel/AdunForceField.h"
34 #include "AdunKernel/AdunNonbondedTerm.h"
35 #include "AdunKernel/AdunPureNonbondedTerm.h"
36 #include "AdunKernel/AdMatrixModification.h"
87 - (double) valueForPotential: (NSString*) potential;
94 - (NSArray*) arrayOfValuesForPotentials: (NSArray*) array notFoundMarker: (
id) anObject;
101 - (NSDictionary*) dictionaryOfValuesForPotentials: (NSArray*) array;
137 - (NSArray*) potentialsForTerm: (NSString*) aTerm;
142 - (NSArray*) potentialsForTerms: (NSArray*) array;
146 - (NSString*) termForPotential: (NSString*) aPotential;
206 BOOL improperTorsion;
216 double *reciprocalMasses;
224 NSLock *accelerationsLock;
226 NSMutableDictionary* customTerms;
227 NSMutableArray* customTermNames;
235 id bondedInteractions;
236 id nonbondedInteractionTypes;
246 NSMutableArray* saveTerms;
261 - (id) initWithDictionary: (NSDictionary*) dictionary;
269 + (id) forceFieldForSystem: (
AdSystem*) system;
277 - (id) initWithSystem: (
id) system;
281 - (id) initWithSystem: (
id) system nonbondedTerm: (
AdNonbondedTerm*) anObject;
297 - (id) initWithSystem: (
id) system
299 customTerms: (NSDictionary*) aDict;
305 - (
AdDataMatrix*) evaluateFiniteDifferenceForcesForTerm: (NSString*) aTerm;
309 - (void) evaluateFiniteDifferenceForces;
313 - (void) setSystem: (
id) anObject;
328 - (NSString*) vdwInteractionType;
381 - (NSArray*) arrayOfEnergiesForTerms: (NSArray*) terms notFoundMarker: (
id) anObject;
433 - (void) _handleSystemContentsChange: (NSNotification*) aNotification;
446 - (void) logForceSaveMatrix: (NSString*) fileName;
454 - (void) _saveForcesForStep:(
int) step forForce: (
int) i;
462 - (void) setOptions: (NSDictionary*) opt;