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

luis at geodynamics.org luis at geodynamics.org
Tue Apr 15 08:10:00 PDT 2008


Author: luis
Date: 2008-04-15 08:09:59 -0700 (Tue, 15 Apr 2008)
New Revision: 11813

Added:
   cs/benchmark/cigma/trunk/src/UnitScalarField.cpp
   cs/benchmark/cigma/trunk/src/UnitScalarField.h
Modified:
   cs/benchmark/cigma/trunk/src/FieldSet.cpp
   cs/benchmark/cigma/trunk/src/ZeroField.h
Log:
Add constant scalar function for quick test
 * Integrating one minus zero should yield the volume of integration


Modified: cs/benchmark/cigma/trunk/src/FieldSet.cpp
===================================================================
--- cs/benchmark/cigma/trunk/src/FieldSet.cpp	2008-04-15 15:09:57 UTC (rev 11812)
+++ cs/benchmark/cigma/trunk/src/FieldSet.cpp	2008-04-15 15:09:59 UTC (rev 11813)
@@ -3,6 +3,7 @@
 #include <cassert>
 #include "FieldSet.h"
 #include "ZeroField.h"
+#include "UnitScalarField.h"
 #include "GaleBenchmarkFields.h"
 #include "OkadaBenchmarkFields.h"
 #include "TestBenchmarkFields.h"
@@ -25,6 +26,9 @@
     ZeroField *zero = new ZeroField();
     addField("zero", zero);
 
+    UnitScalarField *one = new UnitScalarField();
+    addField("scalar.one", one);
+
     typedef okada::strike_slip::Disloc3d OkadaStrikeSlip;
     OkadaStrikeSlip *disloc3d = new OkadaStrikeSlip();
     addField("disloc3d", disloc3d);

Added: cs/benchmark/cigma/trunk/src/UnitScalarField.cpp
===================================================================
--- cs/benchmark/cigma/trunk/src/UnitScalarField.cpp	                        (rev 0)
+++ cs/benchmark/cigma/trunk/src/UnitScalarField.cpp	2008-04-15 15:09:59 UTC (rev 11813)
@@ -0,0 +1,14 @@
+#include "UnitScalarField.h"
+
+using namespace cigma;
+
+UnitScalarField::UnitScalarField() {}
+UnitScalarField::~UnitScalarField() {}
+
+bool UnitScalarField::eval(double *point, double *value)
+{
+    value[0] = 1;
+    return true;
+}
+
+

Added: cs/benchmark/cigma/trunk/src/UnitScalarField.h
===================================================================
--- cs/benchmark/cigma/trunk/src/UnitScalarField.h	                        (rev 0)
+++ cs/benchmark/cigma/trunk/src/UnitScalarField.h	2008-04-15 15:09:59 UTC (rev 11813)
@@ -0,0 +1,26 @@
+#ifndef __UNIT_SCALAR_FIELD_H__
+#define __UNIT_SCALAR_FIELD_H__
+
+#include "UserField.h"
+
+namespace cigma
+{
+    class UnitScalarField;
+}
+
+class cigma::UnitScalarField : public cigma::UserField
+{
+public:
+    UnitScalarField();
+    ~UnitScalarField();
+
+public:
+    int n_dim() { return 3; }
+    int n_rank() { return 1; }
+
+public:
+    bool eval(double *point, double *value);
+};
+
+#endif
+

Modified: cs/benchmark/cigma/trunk/src/ZeroField.h
===================================================================
--- cs/benchmark/cigma/trunk/src/ZeroField.h	2008-04-15 15:09:57 UTC (rev 11812)
+++ cs/benchmark/cigma/trunk/src/ZeroField.h	2008-04-15 15:09:59 UTC (rev 11813)
@@ -3,7 +3,8 @@
 
 #include "UserField.h"
 
-namespace cigma {
+namespace cigma
+{
     class ZeroField;
 }
 



More information about the cig-commits mailing list