Fixed some more bugs. Now crack2D runs on multiple processors.
authorMilind Bhandarkar <milind@cs.uiuc.edu>
Thu, 24 Aug 2000 22:26:18 +0000 (22:26 +0000)
committerMilind Bhandarkar <milind@cs.uiuc.edu>
Thu, 24 Aug 2000 22:26:18 +0000 (22:26 +0000)
examples/fem/crack2D/Makefile
examples/fem/crack2D/driver.C
examples/fem/crack2D/lst_NL.C
examples/fem/crack2D/lst_coh2.C

index 4b2a5c38883f6c979b5dbcf089a39ed23226d21c..8073ae4f7bec49438105b4488ff0637b16986bdb 100644 (file)
@@ -1,4 +1,4 @@
-CHARMC=../../../../bin/charmc $(OPTS) -TARG:exc_max=OZV:exc_min=OZV
+CHARMC=../../../../bin/charmc $(OPTS)
 
 all: getmesh pgm
 
index 689a0cfd00dee43773fe50da984d482603b37bc2..da4a366c6da9716bff85f45f48cde52a03ddfb78 100644 (file)
@@ -79,10 +79,10 @@ driver(int nn, int *nnums, int ne, int *enums, int npere, int *conn)
   int i;
   int kk = -1;
   double prop, slope;
+  double stime, etime;
+  stime = CkTimer();
   for(i=0;i<gd->nTime;i++)
   {
-    if(gd->myid==0)
-      CkPrintf("Beginning iteration %d at time %lf\n", i, CkTimer());
     if (gd->ts_proportion[kk+1] == i)
     {
       kk++;
@@ -101,6 +101,9 @@ driver(int nn, int *nnums, int ne, int *enums, int npere, int *conn)
     updateNodes(gd, prop, slope);
     FEM_Update_Field(rfield, gd->nodes);
   }
+  etime = CkTimer();
+  if(gd->myid == 0)
+    CkPrintf("Time per iteration = %lf seconds\n", (etime-stime)/gd->nTime);
 }
 
 extern "C" void
index 2a6047d70aedb2a0ca8f38339f5a52598c19342c..545b4595739a1234c1af65ab66e336a8a0024b88 100644 (file)
@@ -55,9 +55,7 @@ void
 lst_NL(GlobalData *gd)
 {
   int idx;
-  // skip over cohesive elements
-  for(idx=0; idx<gd->ne && gd->nnums[idx]<gd->numCLST; idx++);
-  for(; idx<gd->ne; idx++) {
+  for(idx=gd->svol; idx<gd->evol; idx++) {
     Element *v = &(gd->elements[idx]);
     Node *n[6];
     int k;
index 73f55ea3190beb90a11da81c5ecde41ffab9372a..752ad9b81d68400502a5ff732a5940516cebcd9f 100644 (file)
@@ -29,7 +29,7 @@ void
 lst_coh2(GlobalData *gd) 
 {
   int idx;
-  for(idx=0; idx<gd->ne && gd->enums[idx]<gd->numCLST; idx++) {
+  for(idx=gd->scoh; idx<gd->ecoh; idx++) {
     Element *coh = &(gd->elements[idx]);
     Node *n[6];
     int k;