Index: sm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromSolution.cpp
===================================================================
--- /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromSolution.cpp	(revision 3694)
+++ 	(revision )
@@ -1,64 +1,0 @@
-/*\file UpdateInputsFromSolution.c
-*\brief: update elements properties using a solution vector
-*/
-
-#include "./UpdateInputsFromSolution.h"
-
-void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){
-
-/*diverse: */
-int   noerr=1;
-
-/*input datasets: */
-DataSet* elements=NULL;
-DataSet* nodes=NULL;
-DataSet* vertices=NULL;
-DataSet* loads=NULL;
-DataSet* materials=NULL;
-DataSet* parameters=NULL;
-Vec      solution=NULL;
-int               analysis_type;
-int               sub_analysis_type;
-
-/*Boot module: */
-MODULEBOOT();
-
-/*checks on arguments on the matlab side: */
-CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&UpdateInputsFromSolutionUsage);
-
-/*Input datasets: */
-FetchData(&elements,ELEMENTSIN);
-FetchData(&nodes,NODESIN);
-FetchData(&vertices,VERTICESIN);
-FetchData(&loads,LOADSIN);
-FetchData(&materials,MATERIALSIN);
-FetchParams(&parameters,PARAMETERSIN);
-FetchData(&solution,SOLUTION);
-FetchData(&analysis_type,ANALYSIS);
-FetchData(&sub_analysis_type,SUBANALYSIS);
-
-/*!Generate internal degree of freedom numbers: */
-UpdateInputsFromSolutionx(elements,nodes,vertices,loads, materials,parameters,solution,analysis_type,sub_analysis_type);
-
-/*write output datasets: */
-WriteData(ELEMENTS,elements);
-
-/*Free ressources: */
-delete elements;
-delete nodes;
-delete vertices;
-delete loads;
-delete materials;
-delete parameters;
-VecFree(&solution);
-
-/*end module: */
-MODULEEND();
-}
-
-void UpdateInputsFromSolutionUsage(void)
-{
-	_printf_("\n");
-	_printf_("   usage: [elements] = %s(elements,nodes,vertices,loads,materials,parameters,solution,analysis_type,sub_analysis_type);\n",__FUNCT__);
-	_printf_("\n");
-}
Index: sm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromSolution.h
===================================================================
--- /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromSolution.h	(revision 3694)
+++ 	(revision )
@@ -1,40 +1,0 @@
-
-/*
-	UpdateInputsFromSolution.h
-*/
-
-
-#ifndef _UPDATEINPUTSFROMSOLUTION_H
-#define _UPDATEINPUTSFROMSOLUTION_H
-
-/* local prototypes: */
-void UpdateInputsFromSolutionUsage(void);
-
-#include "../../c/modules.h"
-
-#undef __FUNCT__ 
-#define __FUNCT__  "UpdateInputsFromSolution"
-
-/* serial input macros: */
-#define ELEMENTSIN (mxArray*)prhs[0]
-#define NODESIN (mxArray*)prhs[1]
-#define VERTICESIN (mxArray*)prhs[2]
-#define LOADSIN (mxArray*)prhs[3]
-#define MATERIALSIN (mxArray*)prhs[4]
-#define PARAMETERSIN (mxArray*)prhs[5]
-#define SOLUTION (mxArray*)prhs[6]
-#define ANALYSIS (mxArray*)prhs[7]
-#define SUBANALYSIS (mxArray*)prhs[8]
-
-/* serial output macros: */
-#define ELEMENTS (mxArray**)&plhs[0]
-
-/* serial arg counts: */
-#undef NLHS
-#define NLHS  1
-#undef NRHS
-#define NRHS  9
-
-
-#endif  /* _UPDATEINPUTSFROMSOLUTION_H */
-
Index: /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromVector.cpp
===================================================================
--- /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromVector.cpp	(revision 3695)
+++ /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromVector.cpp	(revision 3695)
@@ -0,0 +1,74 @@
+/*\file UpdateInputsFromVector.c
+*\brief: update elements properties using an input  vector
+*/
+
+#include "./UpdateInputsFromVector.h"
+
+void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){
+
+/*diverse: */
+int   noerr=1;
+
+/*input datasets: */
+DataSet* elements=NULL;
+DataSet* nodes=NULL;
+DataSet* vertices=NULL;
+DataSet* loads=NULL;
+DataSet* materials=NULL;
+DataSet* parameters=NULL;
+double*  vector=NULL;
+int      NameEnum;
+int      TypeEnum;
+
+/*Boot module: */
+MODULEBOOT();
+
+/*checks on arguments on the matlab side: */
+CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&UpdateInputsFromVectorUsage);
+
+/*Input datasets: */
+FetchData(&elements,ELEMENTSIN);
+FetchData(&nodes,NODESIN);
+FetchData(&vertices,VERTICESIN);
+FetchData(&loads,LOADSIN);
+FetchData(&materials,MATERIALSIN);
+FetchParams(&parameters,PARAMETERSIN);
+FetchData(&vector,VECTOR);
+FetchData(&NameEnum,NAME);
+FetchData(&TypeEnum,TYPE);
+
+/*Check that type is one of Constant, Vertex or Element: */
+if ((TypeEnum!=ConstantEnum) && (TypeEnum!=VertexEnum) && (TypeEnum!=ElementEnum)){
+	ISSMERROR("%s%s%s\n","Type of input can only be a constant, a vertex or an element vector.  Right now, you input a ",EnumAsString(TypeEnum)," type data for input update");
+}
+
+/*!Generate internal degree of freedom numbers: */
+UpdateInputsFromVectorx(elements,nodes,vertices,loads, materials,parameters,vector,NameEnum,TypeEnum);
+
+/*write output datasets: */
+WriteData(ELEMENTS,elements);
+WriteData(NODES,nodes);
+WriteData(VERTICES,vertices);
+WriteData(LOADS,loads);
+WriteData(MATERIALS,materials);
+WriteParams(PARAMETERS,parameters);
+
+/*Free ressources: */
+delete elements;
+delete nodes;
+delete vertices;
+delete loads;
+delete materials;
+delete parameters;
+xfree((void**)&vector);
+
+/*end module: */
+MODULEEND();
+}
+
+void UpdateInputsFromVectorUsage(void)
+{
+	_printf_("\n");
+	_printf_("   usage: [elements] = %s(elements,nodes,vertices,loads,materials,parameters,solution,analysis_type,sub_analysis_type);\n",__FUNCT__);
+	_printf_("\n");
+}
Index: /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromVector.h
===================================================================
--- /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromVector.h	(revision 3695)
+++ /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputsFromVector.h	(revision 3695)
@@ -0,0 +1,45 @@
+
+/*
+	UpdateInputsFromVector.h
+*/
+
+
+#ifndef _UPDATEINPUTSFROMVECTOR_H
+#define _UPDATEINPUTSFROMVECTOR_H
+
+/* local prototypes: */
+void UpdateInputsFromVectorUsage(void);
+
+#include "../../c/modules.h"
+
+#undef __FUNCT__ 
+#define __FUNCT__  "UpdateInputsFromVector"
+
+/* serial input macros: */
+#define ELEMENTSIN (mxArray*)prhs[0]
+#define NODESIN (mxArray*)prhs[1]
+#define VERTICESIN (mxArray*)prhs[2]
+#define LOADSIN (mxArray*)prhs[3]
+#define MATERIALSIN (mxArray*)prhs[4]
+#define PARAMETERSIN (mxArray*)prhs[5]
+#define VECTOR (mxArray*)prhs[6]
+#define NAME (mxArray*)prhs[7]
+#define TYPE (mxArray*)prhs[8]
+
+/* serial output macros: */
+#define ELEMENTS (mxArray**)&plhs[0]
+#define NODES (mxArray**)&plhs[1]
+#define VERTICES (mxArray**)&plhs[2]
+#define LOADS (mxArray**)&plhs[3]
+#define MATERIALS (mxArray**)&plhs[4]
+#define PARAMETERS (mxArray**)&plhs[5]
+
+/* serial arg counts: */
+#undef NLHS
+#define NLHS  6
+#undef NRHS
+#define NRHS  9
+
+
+#endif  /* _UPDATEINPUTSFROMVECTOR_H */
+
