86 |
|
|
87 |
|
|
88 |
|
// declaration of functions needed to wrap the fortran module |
89 |
– |
|
90 |
– |
extern "C" { |
91 |
– |
|
92 |
– |
void forcefactory_( char* forceName, |
93 |
– |
int* status, |
94 |
– |
void (*wrapFunction)( void (*p1)( int* ident, |
95 |
– |
double* mass, |
96 |
– |
double* epslon, |
97 |
– |
double* sigma, |
98 |
– |
int* isDipole, |
99 |
– |
int* isSSd, |
100 |
– |
double* dipole, |
101 |
– |
double* w0, |
102 |
– |
double* v0, |
103 |
– |
int* status ), |
104 |
– |
void (*p2)( int *nLocal, |
105 |
– |
int *identArray, |
106 |
– |
int *isError ), |
107 |
– |
void (*p3)( double* positionArray, |
108 |
– |
double* forceArray, |
109 |
– |
double* potentialEnergy, |
110 |
– |
double* tau, |
111 |
– |
short int* doPotentialCalc, |
112 |
– |
int* isError)), |
113 |
– |
int forceNameLength ); |
114 |
– |
} |
89 |
|
|
90 |
|
|
117 |
– |
void TPEfunctionWrapper( void (*p1)( int* ident, double* mass, double* epslon, |
118 |
– |
double* sigma, int* isDipole, int* isSSD, |
119 |
– |
double* dipole, double* w0, double* v0, |
120 |
– |
int* status ), |
121 |
– |
void (*p2)( int *nLocal, int *identArray, int *isError ), |
122 |
– |
void (*p3)( double* positionArray,double* forceArray, |
123 |
– |
double* potentialEnergy, double* tau, |
124 |
– |
short int* doPotentialCalc, int* isError ) ); |
91 |
|
|
126 |
– |
void (*newTPEtype)( int* ident, double* mass, double* epslon, double* sigma, |
127 |
– |
int* isDipole, int* isSSD, double* dipole, double* w0, |
128 |
– |
double* v0, int* status ); |
129 |
– |
|
130 |
– |
void (*initTPEfortran) ( int *nLocal, int *identArray, int *isError ); |
131 |
– |
|
92 |
|
TraPPE_ExFF* currentTPEwrap; |
93 |
|
|
94 |
|
using namespace TPE; |