[cig-commits] commit: Add option to add dt to currentTime in Equation_eval

Mercurial hg at geodynamics.org
Wed Apr 18 00:28:58 PDT 2012


changeset:   646:3fcd4e9e0d72
tag:         tip
user:        Walter Landry <wlandry at caltech.edu>
date:        Wed Apr 18 00:28:49 2012 -0700
files:       Utils/src/Equation.cxx Utils/src/Equation.h
description:
Add option to add dt to currentTime in Equation_eval


diff -r 444252a1aa84 -r 3fcd4e9e0d72 Utils/src/Equation.cxx
--- a/Utils/src/Equation.cxx	Wed Apr 18 00:28:22 2012 -0700
+++ b/Utils/src/Equation.cxx	Wed Apr 18 00:28:49 2012 -0700
@@ -6,7 +6,7 @@
 #include "StgDomain/StgDomain.h"
 
 double Equation_eval(const double *coord, DomainContext *context,
-                     const std::string &equation)
+                     const std::string &equation, const bool &add_dt)
 {
   mup::Value result;
   try
@@ -17,7 +17,7 @@ double Equation_eval(const double *coord
       p.DefineConst("y", coord[1]); 
       if(context->dim==3)
         p.DefineConst("z", coord[2]); 
-      p.DefineConst("t", context->currentTime);
+      p.DefineConst("t", context->currentTime+(add_dt ? context->dt : 0));
       p.EnableAutoCreateVar(true);
       p.SetExpr(equation);
 
@@ -27,12 +27,14 @@ double Equation_eval(const double *coord
         Journal_PrintfL(Journal_Register( Info_Type,"Equation"),
                         2, "Equation %s:  x=%g y=%g t=%g result=%g\n",
                         equation.c_str(),coord[0],coord[1],
-                        context->currentTime,result.GetFloat());
+                        context->currentTime+(add_dt ? context->dt : 0),
+                        result.GetFloat());
       else
         Journal_PrintfL(Journal_Register( Info_Type,"Equation"),
                         2, "Equation %s:  x=%g y=%g z=%g t=%g result=%g\n",
                         equation.c_str(),coord[0],coord[1],coord[2],
-                        context->currentTime,result.GetFloat());
+                        context->currentTime+(add_dt ? context->dt : 0),
+                        result.GetFloat());
     }
   catch (mup::ParserError &e)
     {
diff -r 444252a1aa84 -r 3fcd4e9e0d72 Utils/src/Equation.h
--- a/Utils/src/Equation.h	Wed Apr 18 00:28:22 2012 -0700
+++ b/Utils/src/Equation.h	Wed Apr 18 00:28:49 2012 -0700
@@ -2,7 +2,14 @@
 #define __StGermain_Utils_Equation_h__
 
 #include <string>
+
 double Equation_eval(const double *coord, DomainContext *context,
-                     const std::string &equation);
+                     const std::string &equation, const bool &add_dt);
+
+inline double Equation_eval(const double *coord, DomainContext *context,
+                            const std::string &equation)
+{
+  return Equation_eval(coord,context,equation,false);
+}
 
 #endif



More information about the CIG-COMMITS mailing list