Index: /issm/trunk/src/mex/Makefile.am
===================================================================
--- /issm/trunk/src/mex/Makefile.am	(revision 3692)
+++ /issm/trunk/src/mex/Makefile.am	(revision 3693)
@@ -58,6 +58,6 @@
 				TriMeshProcessRifts\
 				TriMeshRefine\
-				UpdateFromInputs\
-				UpdateInputs\
+				UpdateInputsFromSolution\
+				UpdateInputsFromVector\
 				UpdateVertexPositions\
 				UpdateGeometry
@@ -248,6 +248,9 @@
 			  UpdateFromInputs/UpdateFromInputs.h
 
-UpdateInputs_SOURCES = UpdateInputs/UpdateInputs.cpp\
-			  UpdateInputs/UpdateInputs.h
+UpdateInputsFromSolution_SOURCES = UpdateInputsFromSolution/UpdateInputsFromSolution.cpp\
+			  UpdateInputsFromSolution/UpdateInputsFromSolution.h
+
+UpdateInputsFromVector_SOURCES = UpdateInputsFromVector/UpdateInputsFromVector.cpp\
+			  UpdateInputsFromVector/UpdateInputsFromVector.h
 
 UpdateGeometry_SOURCES = UpdateGeometry/UpdateGeometry.cpp\
Index: /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputs.cpp
===================================================================
--- /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputs.cpp	(revision 3693)
+++ /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputs.cpp	(revision 3693)
@@ -0,0 +1,64 @@
+/*\file UpdateInputs.c
+ *\brief: update elements properties using a solution vector
+ */
+
+#include "./UpdateInputs.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__,&UpdateInputsUsage);
+	
+	/*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: */
+	UpdateInputsx(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 UpdateInputsUsage(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/UpdateInputs.h
===================================================================
--- /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputs.h	(revision 3693)
+++ /issm/trunk/src/mex/UpdateInputsFromVector/UpdateInputs.h	(revision 3693)
@@ -0,0 +1,40 @@
+
+/*
+	UpdateInputs.h
+*/
+
+
+#ifndef _UPDATEINPUTS_H
+#define _UPDATEINPUTS_H
+
+/* local prototypes: */
+void UpdateInputsUsage(void);
+
+#include "../../c/issm.h"
+
+#undef __FUNCT__ 
+#define __FUNCT__  "UpdateInputs"
+
+/* 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  /* _UPDATEINPUTS_H */
+
