Index: /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 3714)
+++ /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 3715)
@@ -214,4 +214,6 @@
 	PenaltyOffsetEnum,
 	ConstantEnum,
+	KflagEnum,
+	PflagEnum,
 	/*}}}*/
 	/*Parameters{{{1*/
Index: /issm/trunk/src/c/UpdateInputsFromSolutionx/UpdateInputsFromSolutionx.h
===================================================================
--- /issm/trunk/src/c/UpdateInputsFromSolutionx/UpdateInputsFromSolutionx.h	(revision 3714)
+++ /issm/trunk/src/c/UpdateInputsFromSolutionx/UpdateInputsFromSolutionx.h	(revision 3715)
@@ -3,6 +3,6 @@
  */ 
 
-#ifndef _UPDATEINPUTSXX_H
-#define _UPDATEINPUTSXX_H
+#ifndef _UPDATEINPUTSFROMSOLUTIONXX_H
+#define _UPDATEINPUTSFROMSOLUTIONXX_H
 
 #include "../objects/objects.h"
@@ -12,4 +12,4 @@
 void		UpdateInputsFromSolutionx( DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,Vec solution, int analysis_type, int sub_analysis_type);
 
-#endif  /* _UPDATEINPUTSXX_H */
+#endif  /* _UPDATEINPUTSFROMSOLUTIONXX_H */
 
Index: /issm/trunk/src/c/UpdateInputsFromVectorx/UpdateInputsFromVectorx.h
===================================================================
--- /issm/trunk/src/c/UpdateInputsFromVectorx/UpdateInputsFromVectorx.h	(revision 3714)
+++ /issm/trunk/src/c/UpdateInputsFromVectorx/UpdateInputsFromVectorx.h	(revision 3715)
@@ -3,6 +3,6 @@
  */ 
 
-#ifndef _UPDATEINPUTSXX_H
-#define _UPDATEINPUTSXX_H
+#ifndef _UPDATEINPUTSFROMVECTORXX_H
+#define _UPDATEINPUTSFROMVECTORXX_H
 
 #include "../objects/objects.h"
@@ -12,4 +12,4 @@
 void	UpdateInputsFromVectorx( DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,double* vector, int NameEnum,int TypeEnum);
 
-#endif  /* _UPDATEINPUTSXX_H */
+#endif  /* _UPDATEINPUTSFROMVECTORXX_H */
 
Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 3714)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 3715)
@@ -128,5 +128,5 @@
 	if (iomodel->dhdt) {
 		for(i=0;i<6;i++)nodeinputs[i]=iomodel->dhdt[penta_node_ids[i]-1];
-		this->inputs->AddInput(new PentaVertexInput(DhdtEnum,nodeinputs));
+		this->inputs->AddInput(new PentaVertexInput(DhDtEnum,nodeinputs));
 	}
 
Index: /issm/trunk/src/c/objects/Elements/Penta.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.h	(revision 3714)
+++ /issm/trunk/src/c/objects/Elements/Penta.h	(revision 3715)
@@ -141,5 +141,5 @@
 		void  UpdateInputsFromSolutionBalancedvelocities( double* solution,int analysis_type,int sub_analysis_type);
 		void  UpdateInputsFromVector(double* vector, int name, int type);
-		void AddInput(double value, int enum_type){ISSMERROR("not supporte yet!");}
+		void  AddInput(double value, int enum_type){ISSMERROR("not supported yet!");}
 
 		/*}}}*/
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 3714)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 3715)
@@ -117,5 +117,4 @@
 		if (iomodel->drag_q) this->inputs->AddInput(new DoubleInput(DragQEnum,iomodel->drag_q[index]));
 		this->inputs->AddInput(new IntInput(DragTypeEnum,iomodel->drag_type));
-s
 	}
 	if (iomodel->melting_rate) {
Index: /issm/trunk/src/c/objects/Params/BoolParam.cpp
===================================================================
--- /issm/trunk/src/c/objects/Params/BoolParam.cpp	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/BoolParam.cpp	(revision 3715)
@@ -132,5 +132,10 @@
 }
 /*}}}*/
+/*FUNCTION BoolParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
+void  BoolParam::Process(double* partition,int numberofvertices){
+}
+/*}}}*/
 /*FUNCTION BoolParam::SetMatlabField(mxArray* dataref);{{{1*/
+#ifdef _SERIAL_
 void  BoolParam::SetMatlabField(mxArray* dataref){
 	char* name=NULL;
@@ -139,7 +144,4 @@
 	xfree((void**)&name);
 }
+#endif
 /*}}}*/
-/*FUNCTION BoolParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
-void  BoolParam::Process(double* partition,int numberofvertices){
-}
-/*}}}*/
Index: /issm/trunk/src/c/objects/Params/BoolParam.h
===================================================================
--- /issm/trunk/src/c/objects/Params/BoolParam.h	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/BoolParam.h	(revision 3715)
@@ -9,4 +9,16 @@
 /*Headers:*/
 /*{{{1*/
+
+#ifdef HAVE_CONFIG_H
+	#include "config.h"
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#ifdef _SERIAL_
+#include <mex.h>
+#endif
+
+
 #include "./Param.h"
 #include "../../include/types.h"
@@ -55,6 +67,8 @@
 		void  GetParameterValue(Mat* pmat){ISSMERROR("Bool param cannot return a Mat");}
 		char* GetParameterName(void);
+		void  Process(double* partition,int numberofvertices);
+		#ifdef _SERIAL_
 		void  SetMatlabField(mxArray* dataref);
-		void  Process(double* partition,int numberofvertices);
+		#endif
 		/*}}}*/
 };
Index: /issm/trunk/src/c/objects/Params/DoubleMatParam.cpp
===================================================================
--- /issm/trunk/src/c/objects/Params/DoubleMatParam.cpp	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/DoubleMatParam.cpp	(revision 3715)
@@ -169,5 +169,10 @@
 }
 /*}}}*/
+/*FUNCTION DoubleMatParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
+void  DoubleMatParam::Process(double* partition,int numberofvertices){
+}
+/*}}}*/
 /*FUNCTION DoubleMatParam::SetMatlabField(mxArray* dataref);{{{1*/
+#ifdef _SERIAL_
 void  DoubleMatParam::SetMatlabField(mxArray* dataref){
 
@@ -194,7 +199,4 @@
 	xfree((void**)&doublemat);
 }
-/*}}}*/
-/*FUNCTION DoubleMatParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
-void  DoubleMatParam::Process(double* partition,int numberofvertices){
-}
-/*}}}*/
+#endif
+/*}}}*/
Index: /issm/trunk/src/c/objects/Params/DoubleMatParam.h
===================================================================
--- /issm/trunk/src/c/objects/Params/DoubleMatParam.h	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/DoubleMatParam.h	(revision 3715)
@@ -9,4 +9,16 @@
 /*Headers:*/
 /*{{{1*/
+
+#ifdef HAVE_CONFIG_H
+	#include "config.h"
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#ifdef _SERIAL_
+#include <mex.h>
+#endif
+
+
 #include "./Param.h"
 #include "../../include/types.h"
@@ -57,6 +69,9 @@
 		void  GetParameterValue(Mat* pmat){ISSMERROR("DoubleMat param cannot return a Mat");}
 		char* GetParameterName(void);
+		void  Process(double* partition,int numberofvertices);
+		#ifdef _SERIAL_
 		void  SetMatlabField(mxArray* dataref);
-		void  Process(double* partition,int numberofvertices);
+		#endif
+
 		/*}}}*/
 };
Index: /issm/trunk/src/c/objects/Params/DoubleParam.cpp
===================================================================
--- /issm/trunk/src/c/objects/Params/DoubleParam.cpp	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/DoubleParam.cpp	(revision 3715)
@@ -129,5 +129,10 @@
 }
 /*}}}*/
+/*FUNCTION DoubleParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
+void  DoubleParam::Process(double* partition,int numberofvertices){
+}
+/*}}}*/
 /*FUNCTION DoubleParam::SetMatlabField(mxArray* dataref);{{{1*/
+#ifdef _SERIAL_
 void  DoubleParam::SetMatlabField(mxArray* dataref){
 
@@ -137,7 +142,4 @@
 	xfree((void**)&name);
 }
+#endif
 /*}}}*/
-/*FUNCTION DoubleParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
-void  DoubleParam::Process(double* partition,int numberofvertices){
-}
-/*}}}*/
Index: /issm/trunk/src/c/objects/Params/DoubleParam.h
===================================================================
--- /issm/trunk/src/c/objects/Params/DoubleParam.h	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/DoubleParam.h	(revision 3715)
@@ -9,4 +9,16 @@
 /*Headers:*/
 /*{{{1*/
+
+#ifdef HAVE_CONFIG_H
+	#include "config.h"
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#ifdef _SERIAL_
+#include <mex.h>
+#endif
+
+
 #include "./Param.h"
 #include "../../include/types.h"
@@ -55,6 +67,9 @@
 		void  GetParameterValue(Mat* pmat){ISSMERROR("Double param cannot return a Mat");}
 		char* GetParameterName(void);
+		void  Process(double* partition,int numberofvertices);
+		#ifdef _SERIAL_
 		void  SetMatlabField(mxArray* dataref);
-		void  Process(double* partition,int numberofvertices);
+		#endif
+
 		/*}}}*/
 };
Index: /issm/trunk/src/c/objects/Params/DoubleVecParam.cpp
===================================================================
--- /issm/trunk/src/c/objects/Params/DoubleVecParam.cpp	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/DoubleVecParam.cpp	(revision 3715)
@@ -162,5 +162,30 @@
 }
 /*}}}*/
+/*FUNCTION DoubleVecParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
+void  DoubleVecParam::Process(double* partition,int numberofvertices) {
+
+	int i;
+	double* newvalue=NULL;
+
+	/*This param holds a vector of size numberofvertices, which means we are being asked to 
+	 * repartition it: */
+	
+	if(this->M==numberofvertices){
+
+		newvalue=(double*)xmalloc(this->M*sizeof(double));
+				
+		for(i=0;i<this->M;i++){
+			newvalue[(int)(partition[i])]=this->value[i];
+		}
+
+		/*Reassign value to new value: */
+		xfree((void**)&this->value);
+		this->value=newvalue;
+	}
+
+}
+/*}}}*/
 /*FUNCTION DoubleVecParam::SetMatlabField(mxArray* dataref);{{{1*/
+#ifdef _SERIAL_
 void  DoubleVecParam::SetMatlabField(mxArray* dataref){
 
@@ -184,27 +209,4 @@
 	xfree((void**)&doublevec);
 }
-/*}}}*/
-/*FUNCTION DoubleVecParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
-void  DoubleVecParam::Process(double* partition,int numberofvertices) {
-
-	int i;
-	double* newvalue=NULL;
-
-	/*This param holds a vector of size numberofvertices, which means we are being asked to 
-	 * repartition it: */
-	
-	if(this->M==numberofvertices){
-
-		newvalue=(double*)xmalloc(this->M*sizeof(double));
-				
-		for(i=0;i<this->M;i++){
-			newvalue[(int)(partition[i])]=this->value[i];
-		}
-
-		/*Reassign value to new value: */
-		xfree((void**)&this->value);
-		this->value=newvalue;
-	}
-
-}
-/*}}}*/
+#endif
+/*}}}*/
Index: /issm/trunk/src/c/objects/Params/DoubleVecParam.h
===================================================================
--- /issm/trunk/src/c/objects/Params/DoubleVecParam.h	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/DoubleVecParam.h	(revision 3715)
@@ -9,4 +9,16 @@
 /*Headers:*/
 /*{{{1*/
+
+#ifdef HAVE_CONFIG_H
+	#include "config.h"
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#ifdef _SERIAL_
+#include <mex.h>
+#endif
+
+
 #include "./Param.h"
 #include "../../include/types.h"
@@ -55,6 +67,9 @@
 		void  GetParameterValue(Mat* pmat){ISSMERROR("DoubleVec param cannot return a Mat");}
 		char* GetParameterName(void);
+		void  Process(double* partition,int numberofvertices);
+		#ifdef _SERIAL_
 		void  SetMatlabField(mxArray* dataref);
-		void  Process(double* partition,int numberofvertices);
+		#endif
+
 		/*}}}*/
 };
Index: /issm/trunk/src/c/objects/Params/IntParam.cpp
===================================================================
--- /issm/trunk/src/c/objects/Params/IntParam.cpp	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/IntParam.cpp	(revision 3715)
@@ -132,5 +132,10 @@
 }
 /*}}}*/
+/*FUNCTION IntParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
+void  IntParam::Process(double* partition,int numberofvertices){
+}
+/*}}}*/
 /*FUNCTION IntParam::SetMatlabField(mxArray* dataref);{{{1*/
+#ifdef _SERIAL_
 void  IntParam::SetMatlabField(mxArray* dataref){
 	
@@ -141,7 +146,4 @@
 
 }
+#endif
 /*}}}*/
-/*FUNCTION IntParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
-void  IntParam::Process(double* partition,int numberofvertices){
-}
-/*}}}*/
Index: /issm/trunk/src/c/objects/Params/IntParam.h
===================================================================
--- /issm/trunk/src/c/objects/Params/IntParam.h	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/IntParam.h	(revision 3715)
@@ -9,4 +9,16 @@
 /*Headers:*/
 /*{{{1*/
+
+#ifdef HAVE_CONFIG_H
+	#include "config.h"
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#ifdef _SERIAL_
+#include <mex.h>
+#endif
+
+
 #include "./Param.h"
 #include "../../include/types.h"
@@ -55,6 +67,9 @@
 		void  GetParameterValue(Mat* pmat){ISSMERROR("Int param cannot return a Mat");}
 		char* GetParameterName(void);
+		void  Process(double* partition,int numberofvertices);
+		#ifdef _SERIAL_
 		void  SetMatlabField(mxArray* dataref);
-		void  Process(double* partition,int numberofvertices);
+		#endif
+
 		/*}}}*/
 };
Index: /issm/trunk/src/c/objects/Params/Param.h
===================================================================
--- /issm/trunk/src/c/objects/Params/Param.h	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/Param.h	(revision 3715)
@@ -9,4 +9,15 @@
 /*Headers:*/
 /*{{{1*/
+
+#ifdef HAVE_CONFIG_H
+	#include "config.h"
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#ifdef _SERIAL_
+#include <mex.h>
+#endif
+
 #include "../Object.h"
 #include "../Node.h"
@@ -31,6 +42,8 @@
 		virtual void  GetParameterValue(Mat* pmat)=0;
 		virtual char* GetParameterName(void)=0;
+		virtual void  Process(double* partition,int numberofvertices)=0;
+		#ifdef _SERIAL_
 		virtual void  SetMatlabField(mxArray* dataref)=0;
-		virtual void  Process(double* partition,int numberofvertices)=0;
+		#endif
 
 		/*}}}*/
Index: /issm/trunk/src/c/objects/Params/PetscMatParam.cpp
===================================================================
--- /issm/trunk/src/c/objects/Params/PetscMatParam.cpp	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/PetscMatParam.cpp	(revision 3715)
@@ -200,5 +200,10 @@
 }
 /*}}}*/
+/*FUNCTION PetscMatParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
+void  PetscMatParam::Process(double* partition,int numberofvertices){
+}
+/*}}}*/
 /*FUNCTION PetscMatParam::SetMatlabField(mxArray* dataref);{{{1*/
+#ifdef _SERIAL_
 void  PetscMatParam::SetMatlabField(mxArray* dataref){
 	
@@ -222,7 +227,4 @@
 	xfree((void**)&doublemat);
 }
-/*}}}*/
-/*FUNCTION PetscMatParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
-void  PetscMatParam::Process(double* partition,int numberofvertices){
-}
-/*}}}*/
+#endif
+/*}}}*/
Index: /issm/trunk/src/c/objects/Params/PetscMatParam.h
===================================================================
--- /issm/trunk/src/c/objects/Params/PetscMatParam.h	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/PetscMatParam.h	(revision 3715)
@@ -9,4 +9,16 @@
 /*Headers:*/
 /*{{{1*/
+
+#ifdef HAVE_CONFIG_H
+	#include "config.h"
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#ifdef _SERIAL_
+#include <mex.h>
+#endif
+
+
 #include "./Param.h"
 #include "../../include/types.h"
@@ -55,6 +67,9 @@
 		void  GetParameterValue(Mat* poutput);
 		char* GetParameterName(void);
+		void  Process(double* partition,int numberofvertices);
+		#ifdef _SERIAL_
 		void  SetMatlabField(mxArray* dataref);
-		void  Process(double* partition,int numberofvertices);
+		#endif
+
 		/*}}}*/
 };
Index: /issm/trunk/src/c/objects/Params/PetscVecParam.cpp
===================================================================
--- /issm/trunk/src/c/objects/Params/PetscVecParam.cpp	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/PetscVecParam.cpp	(revision 3715)
@@ -193,5 +193,10 @@
 }
 /*}}}*/
+/*FUNCTION PetscVecParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
+void  PetscVecParam::Process(double* partition,int numberofvertices){
+}
+/*}}}*/
 /*FUNCTION PetscVecParam::SetMatlabField(mxArray* dataref);{{{1*/
+#ifdef _SERIAL_
 void  PetscVecParam::SetMatlabField(mxArray* dataref){
 
@@ -216,7 +221,4 @@
 	xfree((void**)&doublevec);
 }
-/*}}}*/
-/*FUNCTION PetscVecParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
-void  PetscVecParam::Process(double* partition,int numberofvertices){
-}
-/*}}}*/
+#endif
+/*}}}*/
Index: /issm/trunk/src/c/objects/Params/PetscVecParam.h
===================================================================
--- /issm/trunk/src/c/objects/Params/PetscVecParam.h	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/PetscVecParam.h	(revision 3715)
@@ -9,4 +9,16 @@
 /*Headers:*/
 /*{{{1*/
+
+#ifdef HAVE_CONFIG_H
+	#include "config.h"
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#ifdef _SERIAL_
+#include <mex.h>
+#endif
+
+
 #include "./Param.h"
 #include "../../include/types.h"
@@ -55,6 +67,9 @@
 		void  GetParameterValue(Vec* poutput);
 		char* GetParameterName(void);
+		void  Process(double* partition,int numberofvertices);
+		#ifdef _SERIAL_
 		void  SetMatlabField(mxArray* dataref);
-		void  Process(double* partition,int numberofvertices);
+		#endif
+
 		/*}}}*/
 };
Index: /issm/trunk/src/c/objects/Params/StringArrayParam.cpp
===================================================================
--- /issm/trunk/src/c/objects/Params/StringArrayParam.cpp	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/StringArrayParam.cpp	(revision 3715)
@@ -225,5 +225,10 @@
 }
 /*}}}*/
+/*FUNCTION StringArrayParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
+void  StringArrayParam::Process(double* partition,int numberofvertices){
+}
+/*}}}*/
 /*FUNCTION StringArrayParam::SetMatlabField(mxArray* dataref);{{{1*/
+#ifdef _SERIAL_
 void  StringArrayParam::SetMatlabField(mxArray* dataref){
 	
@@ -248,7 +253,4 @@
 
 }
-/*}}}*/
-/*FUNCTION StringArrayParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
-void  StringArrayParam::Process(double* partition,int numberofvertices){
-}
-/*}}}*/
+#endif
+/*}}}*/
Index: /issm/trunk/src/c/objects/Params/StringArrayParam.h
===================================================================
--- /issm/trunk/src/c/objects/Params/StringArrayParam.h	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/StringArrayParam.h	(revision 3715)
@@ -9,4 +9,16 @@
 /*Headers:*/
 /*{{{1*/
+
+#ifdef HAVE_CONFIG_H
+	#include "config.h"
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#ifdef _SERIAL_
+#include <mex.h>
+#endif
+
+
 #include "./Param.h"
 #include "../../include/types.h"
@@ -57,6 +69,9 @@
 		void  GetParameterValue(Mat* pmat){ISSMERROR("StringArray param cannot return a Mat");}
 		char* GetParameterName(void);
+		void  Process(double* partition,int numberofvertices);
+		#ifdef _SERIAL_
 		void  SetMatlabField(mxArray* dataref);
-		void  Process(double* partition,int numberofvertices);
+		#endif
+
 		/*}}}*/
 };
Index: /issm/trunk/src/c/objects/Params/StringParam.cpp
===================================================================
--- /issm/trunk/src/c/objects/Params/StringParam.cpp	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/StringParam.cpp	(revision 3715)
@@ -163,5 +163,10 @@
 }
 /*}}}*/
+/*FUNCTION StringParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
+void  StringParam::Process(double* partition,int numberofvertices){
+}
+/*}}}*/
 /*FUNCTION StringParam::SetMatlabField(mxArray* dataref);{{{1*/
+#ifdef _SERIAL_
 void  StringParam::SetMatlabField(mxArray* dataref){
 	
@@ -175,7 +180,4 @@
 
 }
+#endif
 /*}}}*/
-/*FUNCTION StringParam::ProcessParams(double* partition,int numberofvertices);{{{1*/
-void  StringParam::Process(double* partition,int numberofvertices){
-}
-/*}}}*/
Index: /issm/trunk/src/c/objects/Params/StringParam.h
===================================================================
--- /issm/trunk/src/c/objects/Params/StringParam.h	(revision 3714)
+++ /issm/trunk/src/c/objects/Params/StringParam.h	(revision 3715)
@@ -9,4 +9,16 @@
 /*Headers:*/
 /*{{{1*/
+
+#ifdef HAVE_CONFIG_H
+	#include "config.h"
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#ifdef _SERIAL_
+#include <mex.h>
+#endif
+
+
 #include "./Param.h"
 #include "../../include/types.h"
@@ -55,6 +67,9 @@
 		void  GetParameterValue(Mat* pmat){ISSMERROR("String param cannot return a Mat");}
 		char* GetParameterName(void);
+		void  Process(double* partition,int numberofvertices);
+		#ifdef _SERIAL_
 		void  SetMatlabField(mxArray* dataref);
-		void  Process(double* partition,int numberofvertices);
+		#endif
+
 		/*}}}*/
 };
Index: /issm/trunk/src/m/solutions/jpl/diagnostic.m
===================================================================
--- /issm/trunk/src/m/solutions/jpl/diagnostic.m	(revision 3714)
+++ /issm/trunk/src/m/solutions/jpl/diagnostic.m	(revision 3715)
@@ -41,5 +41,5 @@
 		if md.control_analysis,
 			%launch core of control solution.
-			results=control_core(models,inputs);
+			results=control_core(models);
 
 			%process results
@@ -48,5 +48,5 @@
 		else,
 			%launch core of diagnostic solution.
-			results=diagnostic_core(models,inputs);
+			results=diagnostic_core(models);
 
 			%process results
@@ -56,5 +56,5 @@
 	else
 		%launch dakota driver for diagnostic core solution
-		Qmu(models,inputs,models.dh.parameters);
+		Qmu(models,models.dh.parameters);
 	end
 
Index: /issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.cpp
===================================================================
--- /issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.cpp	(revision 3714)
+++ /issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.cpp	(revision 3715)
@@ -32,5 +32,5 @@
 	FetchData(&vertices,VERTICES);
 	FetchData(&materials,MATERIALS);
-	FetchParams(&parameters,PARAMETERS);
+	FetchData((DataSet**)&parameters,PARAMETERS);
 
 	/*!Configure objects:*/
Index: /issm/trunk/src/mex/ControlConstrain/ControlConstrain.h
===================================================================
--- /issm/trunk/src/mex/ControlConstrain/ControlConstrain.h	(revision 3714)
+++ /issm/trunk/src/mex/ControlConstrain/ControlConstrain.h	(revision 3715)
@@ -13,4 +13,5 @@
 #include "../../c/DataSet/DataSet.h"
 #include "../../c/shared/shared.h"
+#include "../../c/EnumDefinitions/EnumDefinitions.h"
 
 #undef __FUNCT__ 
Index: /issm/trunk/src/mex/CostFunction/CostFunction.cpp
===================================================================
--- /issm/trunk/src/mex/CostFunction/CostFunction.cpp	(revision 3714)
+++ /issm/trunk/src/mex/CostFunction/CostFunction.cpp	(revision 3715)
@@ -17,5 +17,4 @@
 	DataSet* materials=NULL;
 	Parameters* parameters=NULL;
-	ParameterInputs* inputs=NULL;
 	int               analysis_type;
 	int               sub_analysis_type;
@@ -40,10 +39,6 @@
 	FetchData(&sub_analysis_type,SUBANALYSIS);
 
-	/*Fetch inputs: */
-	inputs=new ParameterInputs;
-	inputs->Init(INPUTS);
-
 	/*!Call core code: */
-	CostFunctionx(&J, elements,nodes,vertices, loads,materials,parameters,inputs,analysis_type,sub_analysis_type);
+	CostFunctionx(&J, elements,nodes,vertices, loads,materials,parameters,analysis_type,sub_analysis_type);
 
 	/*write output : */
@@ -57,5 +52,4 @@
 	delete materials;
 	delete parameters;
-	delete inputs;
 
 	/*end module: */
@@ -66,5 +60,5 @@
 {
 	_printf_("\n");
-	_printf_("   usage: [J] = %s(elements,nodes,vertices,loads, materials, parameters, inputs);\n",__FUNCT__);
+	_printf_("   usage: [J] = %s(elements,nodes,vertices,loads, materials, parameters);\n",__FUNCT__);
 	_printf_("\n");
 }
Index: /issm/trunk/src/mex/Dof/Dof.cpp
===================================================================
--- /issm/trunk/src/mex/Dof/Dof.cpp	(revision 3714)
+++ /issm/trunk/src/mex/Dof/Dof.cpp	(revision 3715)
@@ -14,5 +14,5 @@
 	DataSet* vertices=NULL;
 	DataSet* elements=NULL;
-	DataSet* params=NULL;
+	Parameters* params=NULL;
 
 	/* output datasets: */
@@ -30,5 +30,5 @@
 	FetchData(&nodes,NODESIN);
 	FetchData(&vertices,VERTICESIN);
-	FetchData(&params,PARAMS);
+	FetchData((DataSet**)&params,PARAMS);
 
 	/*!Generate internal degree of freedom numbers: */
Index: /issm/trunk/src/mex/Du/Du.cpp
===================================================================
--- /issm/trunk/src/mex/Du/Du.cpp	(revision 3714)
+++ /issm/trunk/src/mex/Du/Du.cpp	(revision 3715)
@@ -17,5 +17,4 @@
 	DataSet* materials=NULL;
 	Parameters* parameters=NULL;
-	ParameterInputs* inputs=NULL;
 	int               analysis_type;
 	int               sub_analysis_type;
@@ -40,10 +39,6 @@
 	FetchData(&sub_analysis_type,SUBANALYSIS);
 
-	/*Fetch inputs: */
-	inputs=new ParameterInputs;
-	inputs->Init(INPUTS);
-
 	/*!Call core code: */
-	Dux(&du_g, elements,nodes,vertices, loads,materials,parameters,inputs,analysis_type,sub_analysis_type);
+	Dux(&du_g, elements,nodes,vertices, loads,materials,parameters,analysis_type,sub_analysis_type);
 
 	/*write output : */
@@ -57,5 +52,4 @@
 	delete materials;
 	VecFree(&du_g);
-	delete inputs;
 
 	/*end module: */
@@ -66,5 +60,5 @@
 {
 	_printf_("\n");
-	_printf_("   usage: [du_g] = %s(lements,nodes,vertices,loads,materials, parameters,inputs);\n",__FUNCT__);
+	_printf_("   usage: [du_g] = %s(lements,nodes,vertices,loads,materials, parameters);\n",__FUNCT__);
 	_printf_("\n");
 }
Index: /issm/trunk/src/mex/Gradj/Gradj.cpp
===================================================================
--- /issm/trunk/src/mex/Gradj/Gradj.cpp	(revision 3714)
+++ /issm/trunk/src/mex/Gradj/Gradj.cpp	(revision 3715)
@@ -18,5 +18,4 @@
 	Parameters* parameters=NULL;
 	char*    control_type=NULL;
-	ParameterInputs* inputs=NULL;
 	int      analysis_type;
 	int      sub_analysis_type;
@@ -40,15 +39,11 @@
 	FetchData(&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
-	parameters->FindParam(&numberofnodes,"numberofnodes");
-	parameters->FindParam(&control_type,"control_type");
+	parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
+	parameters->FindParam(&control_type,ControlTypeEnum);
 	FetchData(&analysis_type,ANALYSIS);
 	FetchData(&sub_analysis_type,SUBANALYSIS);
 
-	/*Fetch inputs: */
-	inputs=new ParameterInputs;
-	inputs->Init(INPUTS);
-
 	/*!Call core code: */
-	Gradjx(&grad_g,numberofnodes,elements,nodes,vertices,loads,materials,parameters,inputs,analysis_type,sub_analysis_type,control_type);
+	Gradjx(&grad_g,numberofnodes,elements,nodes,vertices,loads,materials,parameters,analysis_type,sub_analysis_type,control_type);
 
 	/*write output : */
@@ -63,5 +58,4 @@
 	delete parameters;
 	xfree((void**)&control_type);
-	delete inputs;
 	VecFree(&grad_g);
 
@@ -73,5 +67,5 @@
 {
 	_printf_("\n");
-	_printf_("   usage: [grad_g] = %s(elements,nodes,vertices,loads, materials, parameters,inputs);\n",__FUNCT__);
+	_printf_("   usage: [grad_g] = %s(elements,nodes,vertices,loads, materials, parameters);\n",__FUNCT__);
 	_printf_("\n");
 }
Index: /issm/trunk/src/mex/Gradj/Gradj.h
===================================================================
--- /issm/trunk/src/mex/Gradj/Gradj.h	(revision 3714)
+++ /issm/trunk/src/mex/Gradj/Gradj.h	(revision 3715)
@@ -14,4 +14,5 @@
 #include "../../c/DataSet/DataSet.h"
 #include "../../c/shared/shared.h"
+#include "../../c/EnumDefinitions/EnumDefinitions.h"
 
 #undef __FUNCT__ 
Index: /issm/trunk/src/mex/MassFlux/MassFlux.cpp
===================================================================
--- /issm/trunk/src/mex/MassFlux/MassFlux.cpp	(revision 3714)
+++ /issm/trunk/src/mex/MassFlux/MassFlux.cpp	(revision 3715)
@@ -38,5 +38,5 @@
 	FetchData(&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
-	parameters->FindParam(&segments,&num_segments,NULL,"qmu_mass_flux_segments");
+	parameters->FindParam(&segments,&num_segments,NULL,QmuMassFluxSegmentsEnum);
 
 	/*results: */
@@ -65,5 +65,5 @@
 {
 	_printf_("\n");
-	_printf_("   usage: [Kgg,pg] = %s(eleemnts,nodes,loads,materials,params,inputs,analysis_type);\n",__FUNCT__);
+	_printf_("   usage: [Kgg,pg] = %s(eleemnts,nodes,loads,materials,params,analysis_type);\n",__FUNCT__);
 	_printf_("\n");
 }
Index: /issm/trunk/src/mex/MassFlux/MassFlux.h
===================================================================
--- /issm/trunk/src/mex/MassFlux/MassFlux.h	(revision 3714)
+++ /issm/trunk/src/mex/MassFlux/MassFlux.h	(revision 3715)
@@ -14,4 +14,5 @@
 #include "../../c/DataSet/DataSet.h"
 #include "../../c/shared/shared.h"
+#include "../../c/EnumDefinitions/EnumDefinitions.h"
 
 #undef __FUNCT__ 
Index: /issm/trunk/src/mex/Misfit/Misfit.cpp
===================================================================
--- /issm/trunk/src/mex/Misfit/Misfit.cpp	(revision 3714)
+++ /issm/trunk/src/mex/Misfit/Misfit.cpp	(revision 3715)
@@ -17,5 +17,4 @@
 	DataSet* materials=NULL;
 	Parameters* parameters=NULL;
-	ParameterInputs* inputs=NULL;
 	int               analysis_type;
 	int               sub_analysis_type;
@@ -40,10 +39,6 @@
 	FetchData(&sub_analysis_type,SUBANALYSIS);
 
-	/*Fetch inputs: */
-	inputs=new ParameterInputs;
-	inputs->Init(INPUTS);
-
 	/*!Call core code: */
-	Misfitx(&J, elements,nodes,vertices,loads,materials,parameters,inputs,analysis_type,sub_analysis_type);
+	Misfitx(&J, elements,nodes,vertices,loads,materials,parameters,analysis_type,sub_analysis_type);
 
 	/*write output : */
@@ -57,5 +52,4 @@
 	delete materials;
 	delete parameters;
-	delete inputs;
 
 	/*end module: */
@@ -66,5 +60,5 @@
 {
 	_printf_("\n");
-	_printf_("   usage: [J] = %s(elements,nodes,vertices,loads, materials, parameters, inputs);\n",__FUNCT__);
+	_printf_("   usage: [J] = %s(elements,nodes,vertices,loads, materials, parameters);\n",__FUNCT__);
 	_printf_("\n");
 }
Index: /issm/trunk/src/mex/ModelProcessor/ModelProcessor.cpp
===================================================================
--- /issm/trunk/src/mex/ModelProcessor/ModelProcessor.cpp	(revision 3714)
+++ /issm/trunk/src/mex/ModelProcessor/ModelProcessor.cpp	(revision 3715)
@@ -30,5 +30,5 @@
 
 	/*Fill iomodel with matlab workspace data: */
-	IoModelInit(&iomodel,MODEL); //this routine goes through the entire MODEL matlab class, and starts filling the corresponding "c" code model object.
+	iomodel=new IoModel(MODEL); //this routine goes through the entire MODEL matlab class, and starts filling the corresponding "c" code model object.
 
 	/*Create elements, nodes and materials: */
@@ -46,5 +46,5 @@
 
 	/*Free ressources: */
-	DeleteIoModel(&iomodel);
+	delete iomodel;
 	delete elements;
 	delete nodes;
Index: /issm/trunk/src/mex/PenaltyConstraints/PenaltyConstraints.cpp
===================================================================
--- /issm/trunk/src/mex/PenaltyConstraints/PenaltyConstraints.cpp	(revision 3714)
+++ /issm/trunk/src/mex/PenaltyConstraints/PenaltyConstraints.cpp	(revision 3715)
@@ -17,5 +17,4 @@
 	DataSet* materials=NULL;
 	Parameters* parameters=NULL;
-	ParameterInputs* inputs=NULL;
 	int               analysis_type;
 	int               sub_analysis_type;
@@ -43,10 +42,6 @@
 	FetchData(&sub_analysis_type,SUBANALYSIS);
 
-	/*Fetch inputs: */
-	inputs=new ParameterInputs;
-	inputs->Init(INPUTS);
-
 	/*!Generate internal degree of freedom numbers: */
-	PenaltyConstraintsx(&converged, &num_unstable_constraints, elements,nodes,vertices, loads,materials,parameters,inputs,analysis_type,sub_analysis_type); 
+	PenaltyConstraintsx(&converged, &num_unstable_constraints, elements,nodes,vertices, loads,materials,parameters,analysis_type,sub_analysis_type); 
 
 	elements->Echo();
@@ -66,5 +61,4 @@
 	delete materials;
 	delete parameters;
-	delete inputs;
 
 	/*end module: */
@@ -75,5 +69,5 @@
 {
 	_printf_("\n");
-	_printf_("   usage: [loads, constraints_converged, num_unstable_constraints] = %s(elements,nodes,vertices,loads,materials,params,inputs,analysis_type,sub_analysis_type);\n",__FUNCT__);
+	_printf_("   usage: [loads, constraints_converged, num_unstable_constraints] = %s(elements,nodes,vertices,loads,materials,params,analysis_type,sub_analysis_type);\n",__FUNCT__);
 	_printf_("\n");
 }
Index: /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.cpp
===================================================================
--- /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.cpp	(revision 3714)
+++ /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.cpp	(revision 3715)
@@ -23,5 +23,4 @@
 	Parameters* parameters=NULL;
 	int         kflag,pflag;
-	ParameterInputs* inputs=NULL;
 	int               analysis_type;
 	int               sub_analysis_type;
@@ -44,15 +43,11 @@
 	
 	/*parameters: */
-	parameters->FindParam(&kflag,"kflag");
-	parameters->FindParam(&pflag,"pflag");
+	parameters->FindParam(&kflag,KflagEnum);
+	parameters->FindParam(&pflag,PflagEnum);
 	FetchData(&analysis_type,ANALYSIS);
 	FetchData(&sub_analysis_type,SUBANALYSIS);
 
-	/*Fetch inputs: */
-	inputs=new ParameterInputs;
-	inputs->Init(INPUTS);
-
 	/*!Generate stiffnesses from penalties: */
-	PenaltySystemMatricesx(Kgg, pg,&kmax,elements,nodes,vertices,loads,materials,parameters,kflag,pflag,inputs,analysis_type,sub_analysis_type); 
+	PenaltySystemMatricesx(Kgg, pg,&kmax,elements,nodes,vertices,loads,materials,parameters,kflag,pflag,analysis_type,sub_analysis_type); 
 
 	/*write output datasets: */
@@ -68,5 +63,4 @@
 	delete materials;
 	delete parameters;
-	delete inputs;
 	MatFree(&Kgg);
 	VecFree(&pg);
@@ -79,5 +73,5 @@
 {
 	_printf_("\n");
-	_printf_("   usage: [Kgg,pg] = %s(Kggin,pgin,elements,nodes,vertices,loads,materials,params,inputs,analysis_type,sub_analysis_type);\n",__FUNCT__);
+	_printf_("   usage: [Kgg,pg] = %s(Kggin,pgin,elements,nodes,vertices,loads,materials,params,analysis_type,sub_analysis_type);\n",__FUNCT__);
 	_printf_("\n");
 }
Index: /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.h
===================================================================
--- /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.h	(revision 3714)
+++ /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.h	(revision 3715)
@@ -14,4 +14,5 @@
 #include "../../c/DataSet/DataSet.h"
 #include "../../c/shared/shared.h"
+#include "../../c/EnumDefinitions/EnumDefinitions.h"
 
 #undef __FUNCT__ 
Index: /issm/trunk/src/mex/ProcessParams/ProcessParams.cpp
===================================================================
--- /issm/trunk/src/mex/ProcessParams/ProcessParams.cpp	(revision 3714)
+++ /issm/trunk/src/mex/ProcessParams/ProcessParams.cpp	(revision 3715)
@@ -21,5 +21,5 @@
 
 	/*Input datasets: */
-	FetchData(&parameters,PARAMETERSIN);
+	FetchData((DataSet**)&parameters,PARAMETERSIN);
 	FetchData(&partition,PARTITION);
 
Index: /issm/trunk/src/mex/Qmu/Qmu.cpp
===================================================================
--- /issm/trunk/src/mex/Qmu/Qmu.cpp	(revision 3714)
+++ /issm/trunk/src/mex/Qmu/Qmu.cpp	(revision 3715)
@@ -18,5 +18,4 @@
 	/*input datasets: */
 	mxArray* models=NULL;
-	mxArray* inputs=NULL;
 	int      analysis_type;
 	int      sub_analysis_type;
@@ -39,5 +38,4 @@
 	/*Input datasets: */
 	models=MODELS;
-	inputs=INPUTS;
 	
 	FetchData(&analysis_type,mxGetField(PARAMETERS,0,"analysis_type"));
@@ -48,5 +46,5 @@
 
 	/*!Generate internal degree of freedom numbers: */
-	Qmux(models,inputs,analysis_type,sub_analysis_type,dakota_input_file,dakota_output_file,dakota_error_file);
+	Qmux(models,analysis_type,sub_analysis_type,dakota_input_file,dakota_output_file,dakota_error_file);
 
 
@@ -63,5 +61,5 @@
 void QmuUsage(void){
 	_printf_("\n");
-	_printf_("   usage: %s(models,inputs,analysis_type,sub_analysis_type,dakota_input_file,dakota_outputa_file,dakota_error_file);\n",__FUNCT__);
+	_printf_("   usage: %s(models,parameters);\n",__FUNCT__);
 	_printf_("\n");
 }
Index: /issm/trunk/src/mex/Qmu/Qmu.h
===================================================================
--- /issm/trunk/src/mex/Qmu/Qmu.h	(revision 3714)
+++ /issm/trunk/src/mex/Qmu/Qmu.h	(revision 3715)
@@ -20,6 +20,5 @@
 /* serial input macros: */
 #define MODELS (mxArray*)prhs[0]
-#define INPUTS (mxArray*)prhs[1]
-#define PARAMETERS (mxArray*)prhs[2]
+#define PARAMETERS (mxArray*)prhs[1]
 
 /* serial output macros: */
@@ -29,5 +28,5 @@
 #define NLHS  0
 #undef NRHS
-#define NRHS  3
+#define NRHS  2
 
 
Index: /issm/trunk/src/mex/Solver/Solver.cpp
===================================================================
--- /issm/trunk/src/mex/Solver/Solver.cpp	(revision 3714)
+++ /issm/trunk/src/mex/Solver/Solver.cpp	(revision 3715)
@@ -31,5 +31,5 @@
 	FetchData(&uf0,UF0);
 	FetchParams(&parameters,PARAMETERS);
-	parameters->FindParam(&solver_string,"solverstring");
+	parameters->FindParam(&solver_string,SolverStringEnum);
 
 	/*!Reduce vector: */
Index: /issm/trunk/src/mex/Solver/Solver.h
===================================================================
--- /issm/trunk/src/mex/Solver/Solver.h	(revision 3714)
+++ /issm/trunk/src/mex/Solver/Solver.h	(revision 3715)
@@ -14,4 +14,5 @@
 #include "../../c/DataSet/DataSet.h"
 #include "../../c/shared/shared.h"
+#include "../../c/EnumDefinitions/EnumDefinitions.h"
 
 #undef __FUNCT__ 
Index: /issm/trunk/src/mex/SystemMatrices/SystemMatrices.cpp
===================================================================
--- /issm/trunk/src/mex/SystemMatrices/SystemMatrices.cpp	(revision 3714)
+++ /issm/trunk/src/mex/SystemMatrices/SystemMatrices.cpp	(revision 3715)
@@ -20,5 +20,4 @@
 	int         connectivity;
 	int         numberofdofspernode;
-	ParameterInputs* inputs=NULL;
 	int               analysis_type;
 	int               sub_analysis_type;
@@ -43,18 +42,14 @@
 
 	/*parameters: */
-	parameters->FindParam(&kflag,"kflag");
-	parameters->FindParam(&pflag,"pflag");
-	parameters->FindParam(&connectivity,"connectivity");
-	parameters->FindParam(&numberofdofspernode,"numberofdofspernode");
+	parameters->FindParam(&kflag,KflagEnum);
+	parameters->FindParam(&pflag,PflagEnum);
+	parameters->FindParam(&connectivity,ConnectivityEnum);
+	parameters->FindParam(&numberofdofspernode,NumberOfDofsPerNodeEnum);
 
 	FetchData(&analysis_type,ANALYSIS);
 	FetchData(&sub_analysis_type,SUBANALYSIS);
 
-	/*Fetch inputs: */
-	inputs=new ParameterInputs;
-	inputs->Init(INPUTS);
-
 	/*!Generate internal degree of freedom numbers: */
-	SystemMatricesx(&Kgg, &pg,elements,nodes,vertices,loads,materials,parameters,kflag,pflag,connectivity,numberofdofspernode,inputs,analysis_type,sub_analysis_type); 
+	SystemMatricesx(&Kgg, &pg,elements,nodes,vertices,loads,materials,parameters,kflag,pflag,connectivity,numberofdofspernode,analysis_type,sub_analysis_type); 
 
 	/*write output datasets: */
@@ -70,5 +65,4 @@
 	delete materials;
 	delete parameters;
-	delete inputs;
 	MatFree(&Kgg);
 	VecFree(&pg);
@@ -81,5 +75,5 @@
 {
 	_printf_("\n");
-	_printf_("   usage: [Kgg,pg] = %s(elements,nodes,vertices,loads,materials,params,inputs,analysis_type);\n",__FUNCT__);
+	_printf_("   usage: [Kgg,pg] = %s(elements,nodes,vertices,loads,materials,params,analysis_type);\n",__FUNCT__);
 	_printf_("\n");
 }
Index: /issm/trunk/src/mex/SystemMatrices/SystemMatrices.h
===================================================================
--- /issm/trunk/src/mex/SystemMatrices/SystemMatrices.h	(revision 3714)
+++ /issm/trunk/src/mex/SystemMatrices/SystemMatrices.h	(revision 3715)
@@ -14,4 +14,5 @@
 #include "../../c/DataSet/DataSet.h"
 #include "../../c/shared/shared.h"
+#include "../../c/EnumDefinitions/EnumDefinitions.h"
 
 #undef __FUNCT__ 
Index: /issm/trunk/src/mex/TriMeshProcessRifts/TriMeshProcessRifts.h
===================================================================
--- /issm/trunk/src/mex/TriMeshProcessRifts/TriMeshProcessRifts.h	(revision 3714)
+++ /issm/trunk/src/mex/TriMeshProcessRifts/TriMeshProcessRifts.h	(revision 3715)
@@ -13,4 +13,5 @@
 #include "../../c/DataSet/DataSet.h"
 #include "../../c/shared/shared.h"
+#include "../../c/EnumDefinitions/EnumDefinitions.h"
 
 void TriMeshProcessRiftsUsage(void);
Index: /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromVector.cpp
===================================================================
--- /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromVector.cpp	(revision 3714)
+++ /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromVector.cpp	(revision 3715)
@@ -18,4 +18,5 @@
 Parameters* parameters=NULL;
 double*  vector=NULL;
+int      dummy;
 int      NameEnum;
 int      TypeEnum;
@@ -34,5 +35,5 @@
 FetchData(&materials,MATERIALSIN);
 FetchParams(&parameters,PARAMETERSIN);
-FetchData(&vector,VECTOR);
+FetchData(&vector,&dummy,VECTOR);
 FetchData(&NameEnum,NAME);
 FetchData(&TypeEnum,TYPE);
Index: /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromVector.h
===================================================================
--- /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromVector.h	(revision 3714)
+++ /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromVector.h	(revision 3715)
@@ -14,4 +14,5 @@
 #include "../../c/DataSet/DataSet.h"
 #include "../../c/shared/shared.h"
+#include "../../c/EnumDefinitions/EnumDefinitions.h"
 
 #undef __FUNCT__ 
