Adun  0.83
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
AdunGRFNonbondedTerm.h
1 /*
2  Project: Adun
3 
4  Copyright (C) 2005 Michael Johnston & Jordi Villą--Freixa
5 
6  Author: Michael Johnston
7 
8  Created: 2005-06-23 11:06:55 +0200 by michael johnston
9 
10  This application is free software; you can redistribute it and/or
11  modify it under the terms of the GNU General Public
12  License as published by the Free Software Foundation; either
13  version 2 of the License, or (at your option) any later version.
14 
15  This application is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  Library General Public License for more details.
19 
20  You should have received a copy of the GNU General Public
21  License along with this library; if not, write to the Free
22  Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
23 */
24 #ifndef _ADGRFNONBONDED_TERM
25 #define _ADGRFNONBONDED_TERM
26 #include "Base/AdForceFieldFunctions.h"
27 #include "Base/AdLinkedList.h"
28 #include "AdunKernel/AdunDataMatrix.h"
29 #include "AdunKernel/AdunNonbondedTerm.h"
31 #include "AdunKernel/AdunMemoryManager.h"
32 #include "AdunKernel/AdunListHandler.h"
33 #include "AdunKernel/AdunSystem.h"
34 #include "AdunKernel/AdunCellListHandler.h"
35 
51 {
52  @private
53  BOOL usingExternalForceMatrix;
54  unsigned int updateInterval;
55  double buffer;
56  double cutoff;
57  double electrostaticConstant;
58  double vdwPotential;
59  double estPotential;
60  double epsilon1;
61  double epsilon2;
62  double kappa;
63  double b0;
64  double b1;
65  double* partialCharges;
67  AdMatrix* parameters;
69  NSString* lennardJonesType;
70  AdDataMatrix* elementProperties;
71  NSArray* pairs;
72  id listHandler;
73  id memoryManager;
74  id system;
75  NSString* messageId;
76  Class listHandlerClass;
77 }
81 - (id) init;
94 - (id) initWithSystem: (id) system;
98 - (id) initWithSystem: (id) aSystem
99  cutoff: (double) aDouble
100  updateInterval: (unsigned int) anInt
101  epsilonOne: (double) e1
102  epsilonTwo: (double) e2
103  kappa: (double) k
104  nonbondedPairs: (NSArray*) nonbondedPairs
105  externalForceMatrix: (AdMatrix*) matrix;
124 - (id) initWithSystem: (id) aSystem
125  cutoff: (double) aDouble
126  updateInterval: (unsigned int) anInt
127  epsilonOne: (double) e1
128  epsilonTwo: (double) e2
129  kappa: (double) k
130  nonbondedPairs: (NSArray*) nonbondedPairs
131  externalForceMatrix: (AdMatrix*) matrix
132  listHandlerClass: (Class) aClass;
139 - (void) updateList: (BOOL) reset;
144 - (double) permittivity;
148 - (double) epsilonOne;
152 - (void) setEpsilonOne: (double) value;
156 - (double) epsilonTwo;
160 - (void) setEpsilonTwo: (double) value;
164 - (double) kappa;
168 - (void) setKappa: (double) value;
172 - (void) evaluateLennardJonesForces;
176 - (void) evaluateElectrostaticForces;
184 - (ListElement*) interactionList;
185 @end
186 
187 #endif