[cig-commits] commit: Add ability to define new variables in HydrostaticTerm

Mercurial hg at geodynamics.org
Tue May 17 13:07:22 PDT 2011


changeset:   788:b8e84f1700d3
tag:         tip
user:        Walter Landry <wlandry at caltech.edu>
date:        Tue May 17 13:05:53 2011 -0700
files:       plugins/StandardConditionFunctions/StandardConditionFunctions.cxx
description:
Add ability to define new variables in HydrostaticTerm


diff -r 9ba9fa4383b5 -r b8e84f1700d3 plugins/StandardConditionFunctions/StandardConditionFunctions.cxx
--- a/plugins/StandardConditionFunctions/StandardConditionFunctions.cxx	Sun May 15 14:10:49 2011 -0700
+++ b/plugins/StandardConditionFunctions/StandardConditionFunctions.cxx	Tue May 17 13:05:53 2011 -0700
@@ -47,6 +47,7 @@
 #include <assert.h>
 #include "StandardConditionFunctions.h"
 #include "muParser.h"
+#include <list>
 
 const Type StgFEM_StandardConditionFunctions_Type = "StgFEM_StandardConditionFunctions";
 
@@ -2794,6 +2795,15 @@ void StgFEM_StandardConditionFunctions_E
                                               equation_string,10);
 }
 
+mu::value_type* StgFEM_StandardConditionFunctions_AddVariable
+(const mu::char_type *a_szName,
+ void *a_pUserData)
+{
+  static std::list<mu::value_type> variables;
+  variables.push_front(0);
+  return &(*(variables.begin()));
+}
+
 void StgFEM_StandardConditionFunctions_EquationN(Node_LocalIndex node_lI,
                                                  Variable_Index var_I,
                                                  void* _context,
@@ -2827,6 +2837,7 @@ void StgFEM_StandardConditionFunctions_E
       p.DefineVar("y", coord+1); 
       p.DefineVar("z", coord+2); 
       p.DefineVar("t", &(context->currentTime));
+      p.SetVarFactory(StgFEM_StandardConditionFunctions_AddVariable, &p);
       p.SetExpr(equation_string);
 
       *result=p.Eval();



More information about the CIG-COMMITS mailing list