Adun  0.83
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
AdForceFieldTerm.h
1 /*
2  Project: Adun
3 
4  Copyright (C) 2005 Michael Johnston & Jordi Villą--Freixa
5 
6  Author: Michael Johnston
7 
8  This application is free software; you can redistribute it and/or
9  modify it under the terms of the GNU General Public
10  License as published by the Free Software Foundation; either
11  version 2 of the License, or (at your option) any later version.
12 
13  This application is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  Library General Public License for more details.
17 
18  You should have received a copy of the GNU General Public
19  License along with this library; if not, write to the Free
20  Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
21 */
22 #ifndef _ADFORCEFIELD_TERM_
23 #define _ADFORCEFIELD_TERM_
25 #include "AdunKernel/AdunMatrixStructureCoder.h"
26 
52 @protocol AdForceFieldTerm <NSObject>
56 - (id) initWithSystem: (id) system;
61 - (void) evaluateForces;
67 - (void) evaluateEnergy;
78 - (double) energy;
86 - (AdMatrix*) forces;
99 - (void) setExternalForceMatrix: (AdMatrix*) matrix;
104 - (BOOL) usesExternalForceMatrix;
108 - (void) setSystem: (id) system;
112 - (id) system;
116 - (BOOL) canEvaluateEnergy;
120 - (BOOL) canEvaluateForces;
124 - (NSArray*) potentials;
129 - (double) valueForPotential: (NSString*) potential;
136 - (NSArray*) arrayOfValuesForPotentials: (NSArray*) array notFoundMarker: (id) anObject;
143 - (NSDictionary*) dictionaryOfValuesForPotentials: (NSArray*) array;
144 @end
145 #endif