summaryrefslogtreecommitdiff
path: root/test-chill/test-cases/examples/cuda-chill/cp.c
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) ) ;
            }
              

        }
    }
}