[cig-commits] r13863 - in cs/cigma/trunk: . src src/contrib/elastic-okada

luis at geodynamics.org luis at geodynamics.org
Tue Jan 13 03:12:09 PST 2009


Author: luis
Date: 2009-01-13 03:12:09 -0800 (Tue, 13 Jan 2009)
New Revision: 13863

Modified:
   cs/cigma/trunk/Makefile.am
   cs/cigma/trunk/src/contrib/elastic-okada/disloc3d.cpp
   cs/cigma/trunk/src/core_misc.cpp
   cs/cigma/trunk/src/core_misc.h
   cs/cigma/trunk/src/fn_disloc3d.cpp
   cs/cigma/trunk/src/fn_disloc3d.h
Log:
Added elastic-okada source files to Makefile.am

Modified: cs/cigma/trunk/Makefile.am
===================================================================
--- cs/cigma/trunk/Makefile.am	2009-01-13 11:12:07 UTC (rev 13862)
+++ cs/cigma/trunk/Makefile.am	2009-01-13 11:12:09 UTC (rev 13863)
@@ -212,6 +212,8 @@
 	src/io_text_writer.cpp \
 	src/core_args.h \
 	src/core_args.cpp \
+	src/core_misc.h \
+	src/core_misc.cpp \
 	src/core_readers.h \
 	src/core_readers.cpp \
 	src/core_writers.h \
@@ -228,6 +230,7 @@
 	src/core_list_op.cpp \
 	src/ProgressTimer.h \
 	src/ProgressTimer.cpp
+
 # }}}
 
 libcigma_la_cppflags =
@@ -266,9 +269,25 @@
 	src/io_vtk_writer.h \
 	src/io_vtk_writer.cpp
 
+# Add disloc3d function to libcigma.a {{{
+#
+libcigma_la_cppflags += -I$(top_srcdir)/src/contrib/elastic-okada
+libcigma_la_sources += \
+	src/contrib/elastic-okada/dc3d.h \
+	src/contrib/elastic-okada/dc3d.cpp \
+	src/contrib/elastic-okada/cervelli.h \
+	src/contrib/elastic-okada/cervelli.cpp \
+	src/contrib/elastic-okada/disloc3d.h \
+	src/contrib/elastic-okada/disloc3d.cpp \
+	src/fn_disloc3d.h \
+	src/fn_disloc3d.cpp	
+EXTRA_DIST += src/contrib/elastic-okada/README
+#
 # }}}
 
+# }}}
 
+
 ###############################################################################
 # cigma executable
 # {{{

Modified: cs/cigma/trunk/src/contrib/elastic-okada/disloc3d.cpp
===================================================================
--- cs/cigma/trunk/src/contrib/elastic-okada/disloc3d.cpp	2009-01-13 11:12:07 UTC (rev 13862)
+++ cs/cigma/trunk/src/contrib/elastic-okada/disloc3d.cpp	2009-01-13 11:12:09 UTC (rev 13863)
@@ -6,7 +6,8 @@
 
 //
 // TODO: change flagout,flagout2 to int arrays
-// TODO: flagout2 currently disabled (re-enabled since we're using only one station)
+// 
+// Note that flagout2 was previosly disabled (re-enabled since we're using only one station)
 //
 
 void disloc3d(double *models, int nmod,
@@ -37,6 +38,7 @@
     double *flag;
     double *flag2;
     double iret;
+    const bool using_flag2 = true;
 
     double ux,  uy,  uz;
     double uxx, uxy, uxz;
@@ -72,7 +74,7 @@
     {
         stat  = &stations[3*i];
         flag  = &flagout[i];
-        flag2 = &flagout2[nmod*i];
+        if (using_flag2) { flag2 = &flagout2[nmod*i]; }
 
         *flag = 0;
 
@@ -131,7 +133,7 @@
 
                     // fill flags - the rows contain flags for each station, one row per model/fault
                     *flag += iret;
-                    //flag2[j] = iret;
+                    if (using_flag2) { flag2[j] = iret; }
 
                     //
                     // rotate then add

Modified: cs/cigma/trunk/src/core_misc.cpp
===================================================================
--- cs/cigma/trunk/src/core_misc.cpp	2009-01-13 11:12:07 UTC (rev 13862)
+++ cs/cigma/trunk/src/core_misc.cpp	2009-01-13 11:12:09 UTC (rev 13863)
@@ -5,7 +5,7 @@
 #include <cstdlib>
 #include <ctime>
 
-double pick_rand_from_interval(double a, double b)
+double rand_on_interval(double a, double b)
 {
     return a + (b - a) * rand() / (RAND_MAX + 1.0);
 }
@@ -16,7 +16,7 @@
     for (int i = 0; i < dim; i++)
     {
         assert(minpt[i] <= maxpt[i]);
-        x[i] = pick_from_interval(minpt[i], maxpt[i]);
+        x[i] = rand_on_interval(minpt[i], maxpt[i]);
     }
 }
 

Modified: cs/cigma/trunk/src/core_misc.h
===================================================================
--- cs/cigma/trunk/src/core_misc.h	2009-01-13 11:12:07 UTC (rev 13862)
+++ cs/cigma/trunk/src/core_misc.h	2009-01-13 11:12:09 UTC (rev 13863)
@@ -5,7 +5,7 @@
 
 #include <valarray>
 
-double pick_from_interval(double a, double b);
+double rand_on_interval(double a, double b);
 void random_point_in_box(double x[3], double minpt[3], double maxpt[3]);
 
 void linspace(std::valarray<double>& x, double a, double b, int n);

Modified: cs/cigma/trunk/src/fn_disloc3d.cpp
===================================================================
--- cs/cigma/trunk/src/fn_disloc3d.cpp	2009-01-13 11:12:07 UTC (rev 13862)
+++ cs/cigma/trunk/src/fn_disloc3d.cpp	2009-01-13 11:12:09 UTC (rev 13863)
@@ -30,7 +30,7 @@
     double dip, D, Pr, bd;
     double ss, ds, ts;
 
-    for (i = 0; i < nsubfaults; i++)
+    for (int i = 0; i < nsubfaults; i++)
     {
         fi = &subfaults[11*i];
 

Modified: cs/cigma/trunk/src/fn_disloc3d.h
===================================================================
--- cs/cigma/trunk/src/fn_disloc3d.h	2009-01-13 11:12:07 UTC (rev 13862)
+++ cs/cigma/trunk/src/fn_disloc3d.h	2009-01-13 11:12:09 UTC (rev 13863)
@@ -27,8 +27,9 @@
     OkadaDisloc3d();
     ~OkadaDisloc3d();
 
-    virtual int n_dim() { return 3; }
-    virtual int n_rank() { return 3; }
+    virtual inline int n_dim() const { return 3; }
+    virtual inline int n_rank() const { return 3; }
+    virtual inline Function::type getType() const { return GENERAL_FN; }
 
     virtual bool eval(double *station, double *disloc);
 



More information about the CIG-COMMITS mailing list