[cig-commits] r11701 - cs/benchmark/cigma/trunk/src

luis at geodynamics.org luis at geodynamics.org
Tue Apr 1 01:40:26 PDT 2008


Author: luis
Date: 2008-04-01 01:40:26 -0700 (Tue, 01 Apr 2008)
New Revision: 11701

Modified:
   cs/benchmark/cigma/trunk/src/CompareCmd.cpp
Log:
Updates to CompareCmd
 * Normalize comparisons by the cell volume.
 * Since we compute the squared norm, take sqrt before storing residual


Modified: cs/benchmark/cigma/trunk/src/CompareCmd.cpp
===================================================================
--- cs/benchmark/cigma/trunk/src/CompareCmd.cpp	2008-04-01 08:40:25 UTC (rev 11700)
+++ cs/benchmark/cigma/trunk/src/CompareCmd.cpp	2008-04-01 08:40:26 UTC (rev 11701)
@@ -1,5 +1,6 @@
 #include <iostream>
 #include <iomanip>
+#include <cmath>
 #include <cstdlib>
 #include <cassert>
 #include "CompareCmd.h"
@@ -388,8 +389,9 @@
         qr->select_cell(e);
         field_a->tabulate_element(e, phi_a.data);
         field_b->Field::eval(*(qr->points), phi_b);
-        double err = qr->L2(phi_a, phi_b);
-        residuals->update(e, err);
+        double err2 = qr->L2(phi_a, phi_b);
+        double vol = qr->meshPart->cell->volume();
+        residuals->update(e, sqrt(err2/vol));
         env->update_timer(e);
     }
     env->end_timer();
@@ -433,10 +435,11 @@
             double *globalPoint = (*(qr->points))[q];
             bool ca = field_a->eval(globalPoint, &values_a[q*valdim]);
             bool cb = field_b->eval(globalPoint, &values_b[q*valdim]);
+            //*
             if (cb)
             {
                 cout << globalPoint[0] << " " << globalPoint[1] << " " << globalPoint[2] << endl;
-            }
+            } // */
         }
         double err = qr->L2(phi_a, phi_b);
         residuals->update(e, err);
@@ -544,8 +547,9 @@
             field_a->eval(globalPoint, &values_a[q*valdim]);
             field_b->eval(globalPoint, &values_b[q*valdim]);
         }
-        double err = qr->L2(phi_a, phi_b);
-        residuals->update(e, err);
+        double err2 = qr->L2(phi_a, phi_b);
+        double vol = qr->meshPart->cell->volume();
+        residuals->update(e, sqrt(err2/vol));
         env->update_timer(e);
     }
     env->end_timer();



More information about the cig-commits mailing list