Changes to Physics part by Sanjay.
authorKumaresh P <kpattab2@uiuc.edu>
Wed, 30 Apr 2008 05:13:26 +0000 (05:13 +0000)
committerKumaresh P <kpattab2@uiuc.edu>
Wed, 30 Apr 2008 05:13:26 +0000 (05:13 +0000)
Working Demo!

examples/charm++/Molecular/Makefile
examples/charm++/Molecular/cell.C
examples/charm++/Molecular/common.h
examples/charm++/Molecular/main.C

index 0b290757d94ad0530be4cd32f76816e7ee147bd6..e61bea47a670fce02075173b00991be1b0eee307 100644 (file)
@@ -1,5 +1,5 @@
-CHARMDIR = /expand/home/kpattab2/charm
-CHARMC = $(CHARMDIR)/bin/charmc $(OPTS)
+
+CHARMC=../../../bin/charmc -module liveViz $(OPTS)
 
 default: all
 all: molecular
index 0ba17d7296bdca968ae7a7d44c5df82763d8afaa..a882a76d9a2004d02a52e42d88bddb7c2a293dfa 100644 (file)
@@ -35,13 +35,20 @@ Cell::Cell() {
 
        /* Particle initialization */
        for(i = 0; i < numParts / (m * n); i++){
+           particles.push_back(Particle());
 
-               particles.push_back(Particle());
-               particles[i].x = drand48() * L + thisIndex.x * L;
-    particles[i].y = drand48() * L + thisIndex.y * L;
-    particles[i].vx = (drand48() - 0.5) * 2 * MAX_VELOCITY;
-    particles[i].vy = (drand48() - 0.5) * 2 * MAX_VELOCITY;
-    particles[i].id = (thisIndex.x*m + thisIndex.y) * numParts / (m*n)  + i;
+           particles[i].x = drand48() * L + thisIndex.x * L;
+           particles[i].y = drand48() * L + thisIndex.y * L;
+           particles[i].vx = (drand48() - 0.5) * .2 * MAX_VELOCITY;
+           particles[i].vy = (drand48() - 0.5) * .2 * MAX_VELOCITY;
+           particles[i].id = (thisIndex.x*m + thisIndex.y) * numParts / (m*n)  + i;
+/*
+           particles[i].x = 0.0 + thisIndex.x * L;
+           particles[i].y = (float) i* 0.9 * L + thisIndex.y * L;
+           particles[i].vx = (drand48() - 0.5) * .2 * MAX_VELOCITY;
+           particles[i].vy = 0.0;
+           particles[i].id = (thisIndex.x*m + thisIndex.y) * numParts / (m*n)  + i;
+*/
        }       
 
   updateCount = 0;
@@ -481,12 +488,11 @@ void Interaction::interact(Particle &first, Particle &second){
        fy = f * ry / r;
 
        // updating particle properties
-       second.fx += fx;
-       second.fy += fy;
-       first.fx += -fx;
-       first.fy += -fy;
+       second.fx -= fx;
+       second.fy -= fy;
+       first.fx += fx;
+       first.fy += fy;
 
 }
 
 #include "cell.def.h"
-
index ca1ddfd181b900b48af83d4d8ce39bfc3f8d17db..4dfe60234379e16ecb381fa41ce3b2f886546df8 100644 (file)
@@ -9,14 +9,14 @@
 #define __COMMON_H__
 
 #define DEFAULT_MASS 1
-#define DEFAULT_DELTA 0.1
-#define DEFAULT_PARTICLES 4000
+#define DEFAULT_DELTA 0.005
+#define DEFAULT_PARTICLES 2000
 #define DEFAULT_M 5
 #define DEFAULT_N 5
 #define DEFAULT_L 10
 #define DEFAULT_RADIUS 5
-#define DEFAULT_FINALSTEPCOUNT 1000
-#define MAX_VELOCITY 5.0
+#define DEFAULT_FINALSTEPCOUNT 10000
+#define MAX_VELOCITY 30.0
 
 // Class for keeping track of the properties for a particle
 class Particle{
index dab0e4c79590da8254513ad26297125cf8ee31f0..4ddfeb48fd0f95c068851c72a2c18739e714d827 100644 (file)
@@ -80,6 +80,7 @@ Main::Main(CkArgMsg* msg) {
   liveVizConfig cfg(liveVizConfig::pix_color,true);
   liveVizInit(cfg,cellArray,c);
 
+  sleep(1);
   cellArray.start();
 }