blob: 837d7a6e6be5de1e31f63ba1636ffa3b313f3303 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#define N 1
#define VOLSIZEY 512
#define VOLSIZEX 512
#define VOLSIZEZ 1
#define ATOMCOUNT 4000
#define GRIDSPACING 0.1
#define zDim 0
extern float sqrtf(float);
void cenergy_cpu(float atoms[ATOMCOUNT*4],float *energy,float z)
{
int i,j,n;float dx,dy,dz;
for (j=0; j<VOLSIZEY; j++) {
for (i=0; i<VOLSIZEX; i++) {
for (n=0;n<ATOMCOUNT;n+=4) {
dx = (GRIDSPACING * i) - atoms[n];
dy = (GRIDSPACING * j) - atoms[n+1];
dz = z - atoms[n+2];
energy[(j*VOLSIZEX + i)+VOLSIZEX*VOLSIZEY*zDim] += atoms[n+3]/sqrtf( (dx*dx) + (dy*dy)+ (dz*dz) ) ;
}
}
}
}
|