120 |
|
void setLJfortran( void (*fortranSub)( double* positionArray, |
121 |
|
double* forceArray, |
122 |
|
double* potentialEnergy, |
123 |
< |
short int* doPotentialCalc ) ){ |
123 |
> |
double* tau, |
124 |
> |
short int* doPotentialCalc, |
125 |
> |
int* isError ) ){ |
126 |
|
doLJfortran = fortranSub; |
127 |
|
} |
128 |
|
void doForces( int ); |
136 |
|
void (*doLJfortran)( double* positionArray, |
137 |
|
double* forceArray, |
138 |
|
double* potentialEnergy, |
139 |
< |
short int* doPotentialCalc ); |
139 |
> |
double* tau, |
140 |
> |
short int* doPotentialCalc, |
141 |
> |
int* isError ); |
142 |
|
void initFortran( void ); |
143 |
|
}; |
144 |
|
|
145 |
+ |
class LJ_FF : public ForceFields{ |
146 |
+ |
|
147 |
+ |
public: |
148 |
+ |
SSD_FF(); |
149 |
+ |
virtual ~SSD_FF(); |
150 |
+ |
|
151 |
+ |
void initializeAtoms( void ); |
152 |
+ |
void initializeBonds( bond_pair* the_bonds ); |
153 |
+ |
void initializeBends( bend_set* the_bends ); |
154 |
+ |
void initializeTorsions( torsion_set* the_torsions ); |
155 |
+ |
void setSSDfortran( void (*fortranSub)( double* positionArray, |
156 |
+ |
double* forceArray, |
157 |
+ |
double* potentialEnergy, |
158 |
+ |
short int* doPotentialCalc ) ){ |
159 |
+ |
doSSDfortran = fortranSub; |
160 |
+ |
} |
161 |
+ |
void doForces( int ); |
162 |
+ |
|
163 |
+ |
private: |
164 |
+ |
|
165 |
+ |
void fastForward( char* stopText, char* searchOwner ); |
166 |
+ |
|
167 |
+ |
// set our sister fortran module's function to be our own. |
168 |
+ |
void wrapMe( void ); |
169 |
+ |
void (*doSSDfortran)( double* positionArray, |
170 |
+ |
double* forceArray, |
171 |
+ |
double* potentialEnergy, |
172 |
+ |
short int* doPotentialCalc ); |
173 |
+ |
void initFortran( void ); |
174 |
+ |
}; |
175 |
+ |
|
176 |
|
#endif |