22 #ifndef ADSMOOTHED_GBTERM
23 #define ADSMOOTHED_GBTERM
25 #include "Base/AdMatrix.h"
26 #include "Base/AdVector.h"
27 #include "Base/AdLinkedList.h"
28 #include "Base/AdGeneralizedBornFunctions.h"
29 #include "Base/AdVolumeFunctions.h"
30 #include "Base/AdQuadratureFunctions.h"
31 #include "AdunKernel/AdunMoleculeCavity.h"
32 #include "AdunKernel/AdunGrid.h"
33 #include "AdunKernel/AdForceFieldTerm.h"
35 #include "AdunKernel/AdunNonbondedTerm.h"
36 #include "AdunKernel/AdunSystem.h"
37 #include "AdunKernel/AdunDataMatrix.h"
38 #include "AdunKernel/AdunNonbondedTerm.h"
39 #include "AdunKernel/AdunMemoryManager.h"
40 #include "AdunKernel/AdunListHandler.h"
41 #include "AdunKernel/AdunCellListHandler.h"
42 #include "AdunKernel/AdunCuboidBox.h"
43 #include "AdunKernel/AdunThreadManager.h"
59 - (id) initWithSystem: (
id) aSystem
60 nonbondedTerm: (
id) aTerm
61 smoothingLength: (
double) length
62 solventPermittivity: (
double) epsilonSol
63 tensionCoefficient: (
double) gamma
64 updateInterval: (
unsigned int) interval;
86 double tensionCoefficient;
127 int numberRadialPoints;
128 int numberAngularPoints;
143 - (id) initWithDictionary: (NSDictionary*) dict;
153 - (id) initWithSystem: (
id) system
154 nonbondedTerm: (
id) term
155 smoothingLength: (
double) length
156 solventPermittivity: (
double) epsilonSol
157 tensionCoefficient: (
double) gamma
158 updateInterval: (
unsigned int) interval;
164 - (void) calculateBornRadii;
171 - (void) setAutoUpdateBornRadii: (BOOL) value;
176 - (BOOL) autoUpdateBornRadii;
180 - (double) screeningEnergy;
184 - (double) selfEnergy;
197 - (double) nonPolarEnergy;
202 - (void) setSolventPermittivity: (
double) value;
207 - (void) setSolutePermittivity: (
double) value;
211 - (double) solutePermittivity;
215 - (double) solventPermittivity;
230 - (void) _initIntegrationVariables;
231 - (void) _cleanUpIntegrationVariables;
242 - (void) _createGrid;
243 - (void) _initLookupTableVariables;
244 - (void) updateLookupTable;
245 - (void) _cleanUpLookupTableVariables;
246 - (void) _freeNeighbourTable;
254 - (void) _initBornRadiiVariables;
255 - (void) _cleanUpBornRadiiVariables;
256 - (void) _calculateBornRadiusAndCFATermsForAtom: (
int) atomIndex;
257 - (void) _calculateBornRadiiAndCFATermsForAtomsInRange: (NSRange) range;
258 - (void) _calculateBornRadiiAndCFATerms;
268 - (double) _calculateSASAForAtom: (
int) atomIndex;
269 - (void) _calculateSASAForAtomsInRange: (NSRange) range;
270 - (void) _calculateSASA;
316 - (BOOL) _calculateDerivativesOfBornRadiusOfAtom:(
int) mainAtom
317 contributingAtoms: (NSMutableIndexSet*) indexSet
318 radiusGradients: (
AdMatrix*) radiusGradients;
327 extern NSDictionary* generalizedBornRadiiDict;
341 NSMutableIndexSet* atomQueue;
344 NSMutableArray* energyInvocations;
345 NSMutableArray* pairForceInvocations;
346 NSMutableArray* selfForceInvocations;
347 NSMutableArray* sasaInvocations;
348 NSMutableArray* bornRadiiInvocations;
354 - (void) _threadedEnergyEvaluation: (
unsigned int) threadNumber;
355 - (void) _threadedPairForceEvaluation: (
unsigned int) threadNumber;
356 - (void) _threadedSelfForceEvaluation: (
unsigned int) threadNumber;
357 - (void) _threadedBornRadiiCalculation: (
unsigned int) threadNumber;
358 - (void) _threadedSASACalculation: (
unsigned int) threadNumber;