[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