Index: /issm/trunk/src/mex/ComputePressure/ComputePressure.cpp
===================================================================
--- /issm/trunk/src/mex/ComputePressure/ComputePressure.cpp	(revision 3444)
+++ /issm/trunk/src/mex/ComputePressure/ComputePressure.cpp	(revision 3445)
@@ -12,5 +12,6 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	DataSet* nodes=NULL; 
+	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
 	DataSet* materials=NULL;
@@ -31,4 +32,5 @@
 	FetchData(&elements,ELEMENTS);
 	FetchData(&nodes,NODES);
+	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
 	FetchData(&materials,MATERIALS);
@@ -40,8 +42,8 @@
 	inputs->Init(INPUTS);
 
-	UpdateFromInputsx(elements,nodes,loads, materials,parameters,inputs);
+	UpdateFromInputsx(elements,nodes,vertices,loads, materials,parameters,inputs);
 
 	/*!Generate internal degree of freedom numbers: */
-	ComputePressurex(&p_g, elements,nodes,loads,materials,parameters);
+	ComputePressurex(&p_g, elements,nodes,vertices,loads,materials,parameters);
 
 	/*write output datasets: */
@@ -50,4 +52,5 @@
 	/*Free ressources: */
 	delete nodes;
+	delete vertices;
 	delete elements;
 	delete materials;
Index: /issm/trunk/src/mex/ComputePressure/ComputePressure.h
===================================================================
--- /issm/trunk/src/mex/ComputePressure/ComputePressure.h	(revision 3444)
+++ /issm/trunk/src/mex/ComputePressure/ComputePressure.h	(revision 3445)
@@ -19,8 +19,9 @@
 #define ELEMENTS (mxArray*)prhs[0]
 #define NODES (mxArray*)prhs[1]
-#define LOADS (mxArray*)prhs[2]
-#define MATERIALS (mxArray*)prhs[3]
-#define PARAMETERS (mxArray*)prhs[4]
-#define INPUTS (mxArray*)prhs[5]
+#define VERTICES (mxArray*)prhs[2]
+#define LOADS (mxArray*)prhs[3]
+#define MATERIALS (mxArray*)prhs[4]
+#define PARAMETERS (mxArray*)prhs[5]
+#define INPUTS (mxArray*)prhs[6]
 
 /* serial output macros: */
@@ -31,5 +32,5 @@
 #define NLHS  1
 #undef NRHS
-#define NRHS  6
+#define NRHS  7
 
 
Index: /issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.cpp
===================================================================
--- /issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.cpp	(revision 3444)
+++ /issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.cpp	(revision 3445)
@@ -14,4 +14,5 @@
 	DataSet* loads=NULL;
 	DataSet* nodes=NULL;
+	DataSet* vertices=NULL;
 	DataSet* materials=NULL;
 	DataSet* parameters=NULL;
@@ -29,9 +30,10 @@
 	FetchData(&loads,LOADSIN);
 	FetchData(&nodes,NODES);
+	FetchData(&vertices,VERTICES);
 	FetchData(&materials,MATERIALS);
 	FetchData(&parameters,PARAMETERS);
 
 	/*!Configure objects:*/
-	ConfigureObjectsx(elements, loads, nodes, materials,parameters);
+	ConfigureObjectsx(elements, loads, nodes, vertices,materials,parameters);
 
 	/*write output datasets: */
@@ -45,4 +47,5 @@
 	delete loads;
 	delete nodes;
+	delete vertices;
 	delete materials;
 	delete parameters;
Index: /issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.h
===================================================================
--- /issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.h	(revision 3444)
+++ /issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.h	(revision 3445)
@@ -20,6 +20,7 @@
 #define LOADSIN (mxArray*)prhs[1]
 #define NODES (mxArray*)prhs[2]
-#define MATERIALS (mxArray*)prhs[3]
-#define PARAMETERS (mxArray*)prhs[4]
+#define VERTICES (mxArray*)prhs[3]
+#define MATERIALS (mxArray*)prhs[4]
+#define PARAMETERS (mxArray*)prhs[5]
 
 /* serial output macros: */
@@ -33,5 +34,5 @@
 #define NLHS  4
 #undef NRHS
-#define NRHS  5
+#define NRHS  6
 
 
Index: /issm/trunk/src/mex/CostFunction/CostFunction.cpp
===================================================================
--- /issm/trunk/src/mex/CostFunction/CostFunction.cpp	(revision 3444)
+++ /issm/trunk/src/mex/CostFunction/CostFunction.cpp	(revision 3445)
@@ -12,6 +12,7 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
+	DataSet* loads=NULL;
 	DataSet* nodes=NULL;
-	DataSet* loads=NULL;
+	DataSet* vertices=NULL;
 	DataSet* materials=NULL;
 	DataSet* parameters=NULL;
@@ -32,4 +33,5 @@
 	FetchData(&elements,ELEMENTS);
 	FetchData(&nodes,NODES);
+	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
 	FetchData(&materials,MATERIALS);
@@ -43,5 +45,5 @@
 
 	/*!Call core code: */
-	CostFunctionx(&J, elements,nodes,loads,materials,parameters,inputs,analysis_type,sub_analysis_type);
+	CostFunctionx(&J, elements,nodes,vertices, loads,materials,parameters,inputs,analysis_type,sub_analysis_type);
 
 	/*write output : */
@@ -51,4 +53,5 @@
 	delete elements;
 	delete nodes;
+	delete vertices;
 	delete loads;
 	delete materials;
Index: /issm/trunk/src/mex/CostFunction/CostFunction.h
===================================================================
--- /issm/trunk/src/mex/CostFunction/CostFunction.h	(revision 3444)
+++ /issm/trunk/src/mex/CostFunction/CostFunction.h	(revision 3445)
@@ -19,10 +19,11 @@
 #define ELEMENTS (mxArray*)prhs[0]
 #define NODES (mxArray*)prhs[1]
-#define LOADS (mxArray*)prhs[2]
-#define MATERIALS (mxArray*)prhs[3]
-#define PARAMETERS (mxArray*)prhs[4]
-#define INPUTS (mxArray*)prhs[5]
-#define ANALYSIS (mxArray*)prhs[6]
-#define SUBANALYSIS (mxArray*)prhs[7]
+#define VERTICES (mxArray*)prhs[2]
+#define LOADS (mxArray*)prhs[3]
+#define MATERIALS (mxArray*)prhs[4]
+#define PARAMETERS (mxArray*)prhs[5]
+#define INPUTS (mxArray*)prhs[6]
+#define ANALYSIS (mxArray*)prhs[7]
+#define SUBANALYSIS (mxArray*)prhs[8]
 
 /* serial output macros: */
@@ -33,5 +34,5 @@
 #define NLHS  1
 #undef NRHS
-#define NRHS  8
+#define NRHS  9
 
 
Index: /issm/trunk/src/mex/Du/Du.cpp
===================================================================
--- /issm/trunk/src/mex/Du/Du.cpp	(revision 3444)
+++ /issm/trunk/src/mex/Du/Du.cpp	(revision 3445)
@@ -13,4 +13,5 @@
 	DataSet* elements=NULL;
 	DataSet* nodes=NULL;
+	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
 	DataSet* materials=NULL;
@@ -33,4 +34,5 @@
 	FetchData(&elements,ELEMENTS);
 	FetchData(&nodes,NODES);
+	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
 	FetchData(&materials,MATERIALS);
@@ -44,5 +46,5 @@
 
 	/*!Call core code: */
-	Dux(&du_g, elements,nodes,loads,materials,parameters,inputs,analysis_type,sub_analysis_type);
+	Dux(&du_g, elements,nodes,vertices, loads,materials,parameters,inputs,analysis_type,sub_analysis_type);
 
 	/*write output : */
@@ -52,4 +54,5 @@
 	delete elements;
 	delete nodes;
+	delete vertices;
 	delete loads;
 	delete materials;
Index: /issm/trunk/src/mex/Du/Du.h
===================================================================
--- /issm/trunk/src/mex/Du/Du.h	(revision 3444)
+++ /issm/trunk/src/mex/Du/Du.h	(revision 3445)
@@ -19,10 +19,11 @@
 #define ELEMENTS (mxArray*)prhs[0]
 #define NODES (mxArray*)prhs[1]
-#define LOADS (mxArray*)prhs[2]
-#define MATERIALS (mxArray*)prhs[3]
-#define PARAMETERS (mxArray*)prhs[4]
-#define INPUTS (mxArray*)prhs[5]
-#define ANALYSIS (mxArray*)prhs[6]
-#define SUBANALYSIS (mxArray*)prhs[7]
+#define VERTICES (mxArray*)prhs[2]
+#define LOADS (mxArray*)prhs[3]
+#define MATERIALS (mxArray*)prhs[4]
+#define PARAMETERS (mxArray*)prhs[5]
+#define INPUTS (mxArray*)prhs[6]
+#define ANALYSIS (mxArray*)prhs[7]
+#define SUBANALYSIS (mxArray*)prhs[8]
 
 /* serial output macros: */
@@ -33,5 +34,5 @@
 #define NLHS  1
 #undef NRHS
-#define NRHS  8
+#define NRHS  9
 
 
Index: /issm/trunk/src/mex/FieldAverageOntoVertices/FieldAverageOntoVertices.cpp
===================================================================
--- /issm/trunk/src/mex/FieldAverageOntoVertices/FieldAverageOntoVertices.cpp	(revision 3444)
+++ /issm/trunk/src/mex/FieldAverageOntoVertices/FieldAverageOntoVertices.cpp	(revision 3445)
@@ -13,4 +13,5 @@
 	DataSet* elements=NULL;
 	DataSet* nodes=NULL;
+	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
 	DataSet* materials=NULL;
@@ -28,4 +29,5 @@
 	FetchData(&elements,ELEMENTS);
 	FetchData(&nodes,NODES);
+	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
 	FetchData(&materials,MATERIALS);
@@ -35,5 +37,5 @@
 
 	/*!Call core code: */
-	FieldAverageOntoVerticesx(field,elements,nodes,loads,materials,parameters,fieldname);
+	FieldAverageOntoVerticesx(field,elements,nodes,vertices,loads,materials,parameters,fieldname);
 
 	/*write output : */
@@ -43,4 +45,5 @@
 	delete elements;
 	delete nodes;
+	delete vertices;
 	delete loads;
 	delete materials;
Index: /issm/trunk/src/mex/FieldAverageOntoVertices/FieldAverageOntoVertices.h
===================================================================
--- /issm/trunk/src/mex/FieldAverageOntoVertices/FieldAverageOntoVertices.h	(revision 3444)
+++ /issm/trunk/src/mex/FieldAverageOntoVertices/FieldAverageOntoVertices.h	(revision 3445)
@@ -19,9 +19,10 @@
 #define ELEMENTS (mxArray*)prhs[0]
 #define NODES (mxArray*)prhs[1]
-#define LOADS (mxArray*)prhs[2]
-#define MATERIALS (mxArray*)prhs[3]
-#define PARAMETERS (mxArray*)prhs[4]
-#define FIELD (mxArray*)prhs[5]
-#define FIELDNAME (mxArray*)prhs[6]
+#define VERTICES (mxArray*)prhs[2]
+#define LOADS (mxArray*)prhs[3]
+#define MATERIALS (mxArray*)prhs[4]
+#define PARAMETERS (mxArray*)prhs[5]
+#define FIELD (mxArray*)prhs[6]
+#define FIELDNAME (mxArray*)prhs[7]
 
 /* serial output macros: */
@@ -32,5 +33,5 @@
 #define NLHS  1
 #undef NRHS
-#define NRHS  7
+#define NRHS  8
 
 
Index: /issm/trunk/src/mex/FieldDepthAverage/FieldDepthAverage.cpp
===================================================================
--- /issm/trunk/src/mex/FieldDepthAverage/FieldDepthAverage.cpp	(revision 3444)
+++ /issm/trunk/src/mex/FieldDepthAverage/FieldDepthAverage.cpp	(revision 3445)
@@ -13,4 +13,5 @@
 	DataSet* elements=NULL;
 	DataSet* nodes=NULL;
+	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
 	DataSet* materials=NULL;
@@ -28,4 +29,5 @@
 	FetchData(&elements,ELEMENTS);
 	FetchData(&nodes,NODES);
+	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
 	FetchData(&materials,MATERIALS);
@@ -35,5 +37,5 @@
 
 	/*!Call core code: */
-	FieldDepthAveragex(field,elements,nodes,loads,materials,parameters,fieldname);
+	FieldDepthAveragex(field,elements,nodes,vertices,loads,materials,parameters,fieldname);
 
 	/*write output : */
@@ -43,4 +45,5 @@
 	delete elements;
 	delete nodes;
+	delete vertices;
 	delete loads;
 	delete materials;
Index: /issm/trunk/src/mex/FieldDepthAverage/FieldDepthAverage.h
===================================================================
--- /issm/trunk/src/mex/FieldDepthAverage/FieldDepthAverage.h	(revision 3444)
+++ /issm/trunk/src/mex/FieldDepthAverage/FieldDepthAverage.h	(revision 3445)
@@ -19,9 +19,10 @@
 #define ELEMENTS (mxArray*)prhs[0]
 #define NODES (mxArray*)prhs[1]
-#define LOADS (mxArray*)prhs[2]
-#define MATERIALS (mxArray*)prhs[3]
-#define PARAMETERS (mxArray*)prhs[4]
-#define FIELD (mxArray*)prhs[5]
-#define FIELDNAME (mxArray*)prhs[6]
+#define VERTICES (mxArray*)prhs[2]
+#define LOADS (mxArray*)prhs[3]
+#define MATERIALS (mxArray*)prhs[4]
+#define PARAMETERS (mxArray*)prhs[5]
+#define FIELD (mxArray*)prhs[6]
+#define FIELDNAME (mxArray*)prhs[7]
 
 /* serial output macros: */
@@ -32,5 +33,5 @@
 #define NLHS  1
 #undef NRHS
-#define NRHS  7
+#define NRHS  8
 
 
Index: /issm/trunk/src/mex/FieldExtrude/FieldExtrude.cpp
===================================================================
--- /issm/trunk/src/mex/FieldExtrude/FieldExtrude.cpp	(revision 3444)
+++ /issm/trunk/src/mex/FieldExtrude/FieldExtrude.cpp	(revision 3445)
@@ -13,4 +13,5 @@
 	DataSet* elements=NULL;
 	DataSet* nodes=NULL;
+	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
 	DataSet* materials=NULL;
@@ -29,4 +30,5 @@
 	FetchData(&elements,ELEMENTS);
 	FetchData(&nodes,NODES);
+	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
 	FetchData(&materials,MATERIALS);
@@ -37,5 +39,5 @@
 
 	/*!Call core code: */
-	FieldExtrudex(field,elements,nodes,loads,materials,parameters,field_name,collapse);
+	FieldExtrudex(field,elements,nodes,vertices,loads,materials,parameters,field_name,collapse);
 
 	/*write output : */
@@ -45,4 +47,5 @@
 	delete elements;
 	delete nodes;
+	delete vertices;
 	delete loads;
 	delete materials;
Index: /issm/trunk/src/mex/FieldExtrude/FieldExtrude.h
===================================================================
--- /issm/trunk/src/mex/FieldExtrude/FieldExtrude.h	(revision 3444)
+++ /issm/trunk/src/mex/FieldExtrude/FieldExtrude.h	(revision 3445)
@@ -19,10 +19,11 @@
 #define ELEMENTS (mxArray*)prhs[0]
 #define NODES (mxArray*)prhs[1]
-#define LOADS (mxArray*)prhs[2]
-#define MATERIALS (mxArray*)prhs[3]
-#define PARAMETERS (mxArray*)prhs[4]
-#define FIELD (mxArray*)prhs[5]
-#define FIELDNAME (mxArray*)prhs[6]
-#define COLLAPSE (mxArray*)prhs[7]
+#define VERTICES (mxArray*)prhs[2]
+#define LOADS (mxArray*)prhs[3]
+#define MATERIALS (mxArray*)prhs[4]
+#define PARAMETERS (mxArray*)prhs[5]
+#define FIELD (mxArray*)prhs[6]
+#define FIELDNAME (mxArray*)prhs[7]
+#define COLLAPSE (mxArray*)prhs[8]
 
 /* serial output macros: */
@@ -33,5 +34,5 @@
 #define NLHS  1
 #undef NRHS
-#define NRHS  8
+#define NRHS  9
 
 
Index: /issm/trunk/src/mex/Gradj/Gradj.cpp
===================================================================
--- /issm/trunk/src/mex/Gradj/Gradj.cpp	(revision 3444)
+++ /issm/trunk/src/mex/Gradj/Gradj.cpp	(revision 3445)
@@ -13,4 +13,5 @@
 	DataSet* elements=NULL;
 	DataSet* nodes=NULL;
+	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
 	DataSet* materials=NULL;
@@ -35,4 +36,5 @@
 	FetchData(&elements,ELEMENTS);
 	FetchData(&nodes,NODES);
+	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
 	FetchData(&materials,MATERIALS);
@@ -48,5 +50,5 @@
 
 	/*!Call core code: */
-	Gradjx(&grad_g,numberofnodes,elements,nodes,loads,materials,parameters,inputs,analysis_type,sub_analysis_type,control_type);
+	Gradjx(&grad_g,numberofnodes,elements,nodes,vertices,loads,materials,parameters,inputs,analysis_type,sub_analysis_type,control_type);
 
 	/*write output : */
@@ -56,4 +58,5 @@
 	delete elements;
 	delete nodes;
+	delete vertices;
 	delete loads;
 	delete materials;
Index: /issm/trunk/src/mex/Gradj/Gradj.h
===================================================================
--- /issm/trunk/src/mex/Gradj/Gradj.h	(revision 3444)
+++ /issm/trunk/src/mex/Gradj/Gradj.h	(revision 3445)
@@ -19,10 +19,11 @@
 #define ELEMENTS (mxArray*)prhs[0]
 #define NODES (mxArray*)prhs[1]
-#define LOADS (mxArray*)prhs[2]
-#define MATERIALS (mxArray*)prhs[3]
-#define PARAMETERS (mxArray*)prhs[4]
-#define INPUTS (mxArray*)prhs[5]
-#define ANALYSIS (mxArray*)prhs[6]
-#define SUBANALYSIS (mxArray*)prhs[7]
+#define VERTICES (mxArray*)prhs[2]
+#define LOADS (mxArray*)prhs[3]
+#define MATERIALS (mxArray*)prhs[4]
+#define PARAMETERS (mxArray*)prhs[5]
+#define INPUTS (mxArray*)prhs[6]
+#define ANALYSIS (mxArray*)prhs[7]
+#define SUBANALYSIS (mxArray*)prhs[8]
 
 /* serial output macros: */
@@ -33,5 +34,5 @@
 #define NLHS  1
 #undef NRHS
-#define NRHS  8
+#define NRHS  9
 
 
Index: /issm/trunk/src/mex/Makefile.am
===================================================================
--- /issm/trunk/src/mex/Makefile.am	(revision 3444)
+++ /issm/trunk/src/mex/Makefile.am	(revision 3445)
@@ -58,5 +58,5 @@
 				TriMeshRefine\
 				UpdateFromInputs\
-				UpdateNodePositions\
+				UpdateVertexPositions\
 				UpdateGeometry
 
@@ -246,5 +246,5 @@
 			  UpdateGeometry/UpdateGeometry.h
 
-UpdateNodePositions_SOURCES = UpdateNodePositions/UpdateNodePositions.cpp\
-			  UpdateNodePositions/UpdateNodePositions.h
-
+UpdateVertexPositions_SOURCES = UpdateVertexPositions/UpdateVertexPositions.cpp\
+			  UpdateVertexPositions/UpdateVertexPositions.h
+
Index: /issm/trunk/src/mex/MassFlux/MassFlux.cpp
===================================================================
--- /issm/trunk/src/mex/MassFlux/MassFlux.cpp	(revision 3444)
+++ /issm/trunk/src/mex/MassFlux/MassFlux.cpp	(revision 3445)
@@ -13,4 +13,5 @@
 	DataSet* elements=NULL;
 	DataSet* nodes=NULL;
+	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
 	DataSet* materials=NULL;
@@ -33,4 +34,5 @@
 	FetchData(&elements,ELEMENTS);
 	FetchData(&nodes,NODES);
+	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
 	FetchData(&materials,MATERIALS);
@@ -42,5 +44,5 @@
 
 	/*!Compute mass flux along the profile: */
-	MassFluxx(&mass_flux, elements,nodes,loads,materials,parameters,segments,num_segments,ug);
+	MassFluxx(&mass_flux, elements,nodes,vertices,loads,materials,parameters,segments,num_segments,ug);
 
 	/*write output datasets: */
@@ -50,4 +52,5 @@
 	delete elements;
 	delete nodes;
+	delete vertices;
 	delete loads;
 	delete materials;
Index: /issm/trunk/src/mex/MassFlux/MassFlux.h
===================================================================
--- /issm/trunk/src/mex/MassFlux/MassFlux.h	(revision 3444)
+++ /issm/trunk/src/mex/MassFlux/MassFlux.h	(revision 3445)
@@ -19,8 +19,9 @@
 #define ELEMENTS (mxArray*)prhs[0]
 #define NODES (mxArray*)prhs[1]
-#define LOADS (mxArray*)prhs[2]
-#define MATERIALS (mxArray*)prhs[3]
-#define PARAMETERS (mxArray*)prhs[4]
-#define UG (mxArray*)prhs[5]
+#define VERTICES (mxArray*)prhs[2]
+#define LOADS (mxArray*)prhs[3]
+#define MATERIALS (mxArray*)prhs[4]
+#define PARAMETERS (mxArray*)prhs[5]
+#define UG (mxArray*)prhs[6]
 
 /* serial output macros: */
@@ -31,5 +32,5 @@
 #define NLHS  1
 #undef NRHS
-#define NRHS  6
+#define NRHS  7
 
 
Index: /issm/trunk/src/mex/Misfit/Misfit.cpp
===================================================================
--- /issm/trunk/src/mex/Misfit/Misfit.cpp	(revision 3444)
+++ /issm/trunk/src/mex/Misfit/Misfit.cpp	(revision 3445)
@@ -13,4 +13,5 @@
 	DataSet* elements=NULL;
 	DataSet* nodes=NULL;
+	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
 	DataSet* materials=NULL;
@@ -32,4 +33,5 @@
 	FetchData(&elements,ELEMENTS);
 	FetchData(&nodes,NODES);
+	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
 	FetchData(&materials,MATERIALS);
@@ -43,5 +45,5 @@
 
 	/*!Call core code: */
-	Misfitx(&J, elements,nodes,loads,materials,parameters,inputs,analysis_type,sub_analysis_type);
+	Misfitx(&J, elements,nodes,vertices,loads,materials,parameters,inputs,analysis_type,sub_analysis_type);
 
 	/*write output : */
@@ -51,4 +53,5 @@
 	delete elements;
 	delete nodes;
+	delete vertices;
 	delete loads;
 	delete materials;
Index: /issm/trunk/src/mex/Misfit/Misfit.h
===================================================================
--- /issm/trunk/src/mex/Misfit/Misfit.h	(revision 3444)
+++ /issm/trunk/src/mex/Misfit/Misfit.h	(revision 3445)
@@ -19,10 +19,11 @@
 #define ELEMENTS (mxArray*)prhs[0]
 #define NODES (mxArray*)prhs[1]
-#define LOADS (mxArray*)prhs[2]
-#define MATERIALS (mxArray*)prhs[3]
-#define PARAMETERS (mxArray*)prhs[4]
-#define INPUTS (mxArray*)prhs[5]
-#define ANALYSIS (mxArray*)prhs[6]
-#define SUBANALYSIS (mxArray*)prhs[7]
+#define VERTICES (mxArray*)prhs[2]
+#define LOADS (mxArray*)prhs[3]
+#define MATERIALS (mxArray*)prhs[4]
+#define PARAMETERS (mxArray*)prhs[5]
+#define INPUTS (mxArray*)prhs[6]
+#define ANALYSIS (mxArray*)prhs[7]
+#define SUBANALYSIS (mxArray*)prhs[8]
 
 /* serial output macros: */
@@ -33,5 +34,5 @@
 #define NLHS  1
 #undef NRHS
-#define NRHS  8
+#define NRHS  9
 
 
Index: /issm/trunk/src/mex/PenaltyConstraints/PenaltyConstraints.cpp
===================================================================
--- /issm/trunk/src/mex/PenaltyConstraints/PenaltyConstraints.cpp	(revision 3444)
+++ /issm/trunk/src/mex/PenaltyConstraints/PenaltyConstraints.cpp	(revision 3445)
@@ -13,4 +13,5 @@
 	DataSet* elements=NULL;
 	DataSet* nodes=NULL;
+	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
 	DataSet* materials=NULL;
@@ -33,4 +34,5 @@
 	FetchData(&elements,ELEMENTS);
 	FetchData(&nodes,NODES);
+	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADSIN);
 	FetchData(&materials,MATERIALS);
@@ -46,5 +48,5 @@
 
 	/*!Generate internal degree of freedom numbers: */
-	PenaltyConstraintsx(&converged, &num_unstable_constraints, elements,nodes,loads,materials,parameters,inputs,analysis_type,sub_analysis_type); 
+	PenaltyConstraintsx(&converged, &num_unstable_constraints, elements,nodes,vertices, loads,materials,parameters,inputs,analysis_type,sub_analysis_type); 
 
 	/*write output datasets: */
@@ -57,4 +59,5 @@
 	delete elements;
 	delete nodes;
+	delete vertices;
 	delete loads;
 	delete materials;
Index: /issm/trunk/src/mex/PenaltyConstraints/PenaltyConstraints.h
===================================================================
--- /issm/trunk/src/mex/PenaltyConstraints/PenaltyConstraints.h	(revision 3444)
+++ /issm/trunk/src/mex/PenaltyConstraints/PenaltyConstraints.h	(revision 3445)
@@ -19,10 +19,11 @@
 #define ELEMENTS (mxArray*)prhs[0]
 #define NODES (mxArray*)prhs[1]
-#define LOADSIN (mxArray*)prhs[2]
-#define MATERIALS (mxArray*)prhs[3]
-#define PARAMETERS (mxArray*)prhs[4]
-#define INPUTS (mxArray*)prhs[5]
-#define ANALYSIS (mxArray*)prhs[6]
-#define SUBANALYSIS (mxArray*)prhs[7]
+#define VERTICES (mxArray*)prhs[2]
+#define LOADSIN (mxArray*)prhs[3]
+#define MATERIALS (mxArray*)prhs[4]
+#define PARAMETERS (mxArray*)prhs[5]
+#define INPUTS (mxArray*)prhs[6]
+#define ANALYSIS (mxArray*)prhs[7]
+#define SUBANALYSIS (mxArray*)prhs[8]
 
 /* serial output macros: */
@@ -35,5 +36,5 @@
 #define NLHS  3
 #undef NRHS
-#define NRHS  8
+#define NRHS  9
 
 #endif  /* _PENALTYCONSTRAINTS_H */
Index: /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.cpp
===================================================================
--- /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.cpp	(revision 3444)
+++ /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.cpp	(revision 3445)
@@ -18,4 +18,5 @@
 	DataSet* elements=NULL;
 	DataSet* nodes=NULL;
+	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
 	DataSet* materials=NULL;
@@ -37,4 +38,5 @@
 	FetchData(&elements,ELEMENTS);
 	FetchData(&nodes,NODES);
+	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
 	FetchData(&materials,MATERIALS);
@@ -52,5 +54,5 @@
 
 	/*!Generate stiffnesses from penalties: */
-	PenaltySystemMatricesx(Kgg, pg,&kmax,elements,nodes,loads,materials,parameters,kflag,pflag,inputs,analysis_type,sub_analysis_type); 
+	PenaltySystemMatricesx(Kgg, pg,&kmax,elements,nodes,vertices,loads,materials,parameters,kflag,pflag,inputs,analysis_type,sub_analysis_type); 
 
 	/*write output datasets: */
@@ -62,4 +64,5 @@
 	delete elements;
 	delete nodes;
+	delete vertices;
 	delete loads;
 	delete materials;
Index: /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.h
===================================================================
--- /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.h	(revision 3444)
+++ /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.h	(revision 3445)
@@ -21,10 +21,11 @@
 #define ELEMENTS (mxArray*)prhs[2]
 #define NODES (mxArray*)prhs[3]
-#define LOADS (mxArray*)prhs[4]
-#define MATERIALS (mxArray*)prhs[5]
-#define PARAMETERS (mxArray*)prhs[6]
-#define INPUTS (mxArray*)prhs[7]
-#define ANALYSIS (mxArray*)prhs[8]
-#define SUBANALYSIS (mxArray*)prhs[9]
+#define VERTICES (mxArray*)prhs[4]
+#define LOADS (mxArray*)prhs[5]
+#define MATERIALS (mxArray*)prhs[6]
+#define PARAMETERS (mxArray*)prhs[7]
+#define INPUTS (mxArray*)prhs[8]
+#define ANALYSIS (mxArray*)prhs[9]
+#define SUBANALYSIS (mxArray*)prhs[10]
 
 /* serial output macros: */
@@ -37,5 +38,5 @@
 #define NLHS  3
 #undef NRHS
-#define NRHS  10
+#define NRHS  11
 
 
Index: /issm/trunk/src/mex/SystemMatrices/SystemMatrices.cpp
===================================================================
--- /issm/trunk/src/mex/SystemMatrices/SystemMatrices.cpp	(revision 3444)
+++ /issm/trunk/src/mex/SystemMatrices/SystemMatrices.cpp	(revision 3445)
@@ -13,4 +13,5 @@
 	DataSet* elements=NULL;
 	DataSet* nodes=NULL;
+	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
 	DataSet* materials=NULL;
@@ -36,4 +37,5 @@
 	FetchData(&elements,ELEMENTS);
 	FetchData(&nodes,NODES);
+	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
 	FetchData(&materials,MATERIALS);
@@ -54,5 +56,5 @@
 
 	/*!Generate internal degree of freedom numbers: */
-	SystemMatricesx(&Kgg, &pg,elements,nodes,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,inputs,analysis_type,sub_analysis_type); 
 
 	/*write output datasets: */
@@ -64,4 +66,5 @@
 	delete elements;
 	delete nodes;
+	delete vertices;
 	delete loads;
 	delete materials;
Index: /issm/trunk/src/mex/SystemMatrices/SystemMatrices.h
===================================================================
--- /issm/trunk/src/mex/SystemMatrices/SystemMatrices.h	(revision 3444)
+++ /issm/trunk/src/mex/SystemMatrices/SystemMatrices.h	(revision 3445)
@@ -19,10 +19,11 @@
 #define ELEMENTS (mxArray*)prhs[0]
 #define NODES (mxArray*)prhs[1]
-#define LOADS (mxArray*)prhs[2]
-#define MATERIALS (mxArray*)prhs[3]
-#define PARAMETERS (mxArray*)prhs[4]
-#define INPUTS (mxArray*)prhs[5]
-#define ANALYSIS (mxArray*)prhs[6]
-#define SUBANALYSIS (mxArray*)prhs[7]
+#define VERTICES (mxArray*)prhs[2]
+#define LOADS (mxArray*)prhs[3]
+#define MATERIALS (mxArray*)prhs[4]
+#define PARAMETERS (mxArray*)prhs[5]
+#define INPUTS (mxArray*)prhs[6]
+#define ANALYSIS (mxArray*)prhs[7]
+#define SUBANALYSIS (mxArray*)prhs[8]
 
 /* serial output macros: */
@@ -34,5 +35,5 @@
 #define NLHS  2
 #undef NRHS
-#define NRHS  8
+#define NRHS  9
 
 
Index: /issm/trunk/src/mex/UpdateFromInputs/UpdateFromInputs.cpp
===================================================================
--- /issm/trunk/src/mex/UpdateFromInputs/UpdateFromInputs.cpp	(revision 3444)
+++ /issm/trunk/src/mex/UpdateFromInputs/UpdateFromInputs.cpp	(revision 3445)
@@ -13,4 +13,5 @@
 	DataSet* elements=NULL;
 	DataSet* nodes=NULL;
+	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
 	DataSet* materials=NULL;
@@ -27,4 +28,5 @@
 	FetchData(&elements,ELEMENTSIN);
 	FetchData(&nodes,NODESIN);
+	FetchData(&vertices,VERTICESIN);
 	FetchData(&loads,LOADSIN);
 	FetchData(&materials,MATERIALSIN);
@@ -36,9 +38,10 @@
 	
 	/*!Generate internal degree of freedom numbers: */
-	UpdateFromInputsx(elements,nodes,loads, materials,parameters,inputs);
+	UpdateFromInputsx(elements,nodes,vertices,loads, materials,parameters,inputs);
 	
 	/*write output datasets: */
 	WriteData(ELEMENTS,elements);
-	WriteData(NODES,nodes);
+	WriteData(NODES,nodes); 
+	WriteData(VERTICES,vertices);
 	WriteData(LOADS,loads);
 	WriteData(MATERIALS,materials);
@@ -48,4 +51,5 @@
 	delete elements;
 	delete nodes;
+	delete vertices;
 	delete loads;
 	delete materials;
Index: /issm/trunk/src/mex/UpdateFromInputs/UpdateFromInputs.h
===================================================================
--- /issm/trunk/src/mex/UpdateFromInputs/UpdateFromInputs.h	(revision 3444)
+++ /issm/trunk/src/mex/UpdateFromInputs/UpdateFromInputs.h	(revision 3445)
@@ -19,21 +19,23 @@
 #define ELEMENTSIN (mxArray*)prhs[0]
 #define NODESIN (mxArray*)prhs[1]
-#define LOADSIN (mxArray*)prhs[2]
-#define MATERIALSIN (mxArray*)prhs[3]
-#define PARAMETERSIN (mxArray*)prhs[4]
-#define INPUTS (mxArray*)prhs[5]
+#define VERTICESIN (mxArray*)prhs[2]
+#define LOADSIN (mxArray*)prhs[3]
+#define MATERIALSIN (mxArray*)prhs[4]
+#define PARAMETERSIN (mxArray*)prhs[5]
+#define INPUTS (mxArray*)prhs[6]
 
 /* serial output macros: */
 #define ELEMENTS (mxArray**)&plhs[0]
 #define NODES (mxArray**)&plhs[1]
-#define LOADS (mxArray**)&plhs[2]
-#define MATERIALS (mxArray**)&plhs[3]
-#define PARAMETERS (mxArray**)&plhs[4]
+#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  5
+#define NLHS  6
 #undef NRHS
-#define NRHS  6
+#define NRHS  7
 
 
Index: /issm/trunk/src/mex/UpdateGeometry/UpdateGeometry.cpp
===================================================================
--- /issm/trunk/src/mex/UpdateGeometry/UpdateGeometry.cpp	(revision 3444)
+++ /issm/trunk/src/mex/UpdateGeometry/UpdateGeometry.cpp	(revision 3445)
@@ -13,4 +13,5 @@
 	DataSet* elements=NULL;
 	DataSet* nodes=NULL;
+	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
 	DataSet* materials=NULL;
@@ -34,4 +35,5 @@
 	FetchData(&elements,ELEMENTS);
 	FetchData(&nodes,NODES);
+	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
 	FetchData(&materials,MATERIALS);
@@ -43,5 +45,5 @@
 
 	/*!Generate internal degree of freedom numbers: */
-	UpdateGeometryx(&outthickness,&outbed,&outsurface, elements, nodes,loads, materials, parameters,newthickness,bed,surface);
+	UpdateGeometryx(&outthickness,&outbed,&outsurface, elements, nodes,vertices,loads, materials, parameters,newthickness,bed,surface);
 
 	/*write output data: */
@@ -53,4 +55,5 @@
 	delete elements;
 	delete nodes;
+	delete vertices;
 	delete loads;
 	delete materials;
Index: /issm/trunk/src/mex/UpdateGeometry/UpdateGeometry.h
===================================================================
--- /issm/trunk/src/mex/UpdateGeometry/UpdateGeometry.h	(revision 3444)
+++ /issm/trunk/src/mex/UpdateGeometry/UpdateGeometry.h	(revision 3445)
@@ -19,10 +19,11 @@
 #define ELEMENTS (mxArray*)prhs[0]
 #define NODES (mxArray*)prhs[1]
-#define LOADS (mxArray*)prhs[2]
-#define MATERIALS (mxArray*)prhs[3]
-#define PARAMETERS (mxArray*)prhs[4]
-#define NEWTHICKNESS (mxArray*)prhs[5]
-#define BED (mxArray*)prhs[6]
-#define SURFACE (mxArray*)prhs[7]
+#define VERTICES (mxArray*)prhs[2]
+#define LOADS (mxArray*)prhs[3]
+#define MATERIALS (mxArray*)prhs[4]
+#define PARAMETERS (mxArray*)prhs[5]
+#define NEWTHICKNESS (mxArray*)prhs[6]
+#define BED (mxArray*)prhs[7]
+#define SURFACE (mxArray*)prhs[8]
 
 /* serial output macros: */
@@ -35,5 +36,5 @@
 #define NLHS  3
 #undef NRHS
-#define NRHS  8
+#define NRHS  9
 
 
Index: /issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.cpp
===================================================================
--- /issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.cpp	(revision 3445)
+++ /issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.cpp	(revision 3445)
@@ -0,0 +1,48 @@
+/*\file UpdateVertexPositions.c
+ *\brief: update vertex positions using new geometry defined by new bed and new thickness
+ */
+
+#include "./UpdateVertexPositions.h"
+
+void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){
+
+	/*diverse: */
+	int   noerr=1;
+
+	/*input datasets: */
+	DataSet* vertices=NULL;
+	Vec      thickness=NULL;
+	Vec      bed=NULL;
+
+	/*Boot module: */
+	MODULEBOOT();
+
+	/*checks on arguments on the matlab side: */
+	CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&UpdateVertexPositionsUsage);
+
+	/*Input datasets: */
+	FetchData(&vertices,VERTICES);
+	FetchData(&thickness,THICKNESS);
+	FetchData(&bed,BED);
+	
+	/*!Generate internal degree of freedom numbers: */
+	UpdateVertexPositionsx(vertices,thickness,bed);
+
+	/*write output datasets: */
+	WriteData(VERTICESOUT,vertices);
+
+	/*Free ressources: */
+	delete vertices;
+	VecFree(&thickness);
+	VecFree(&bed);
+
+	/*end module: */
+	MODULEEND();
+}
+
+void UpdateVertexPositionsUsage(void)
+{
+	_printf_("\n");
+	_printf_("   usage: [vertices] = %s(vertices, thickness, bed);\n",__FUNCT__);
+	_printf_("\n");
+}
Index: /issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.h
===================================================================
--- /issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.h	(revision 3445)
+++ /issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.h	(revision 3445)
@@ -0,0 +1,34 @@
+
+/*
+	UpdateVertexPositions.h
+*/
+
+
+#ifndef _UPDATEVERTEXPOSITIONS_H
+#define _UPDATEVERTEXPOSITIONS_H
+
+/* local prototypes: */
+void UpdateVertexPositionsUsage(void);
+
+#include "../../c/issm.h"
+
+#undef __FUNCT__ 
+#define __FUNCT__  "UpdateVertexPositions"
+
+/* serial input macros: */
+#define VERTICES (mxArray*)prhs[0]
+#define BED (mxArray*)prhs[1]
+#define THICKNESS (mxArray*)prhs[2]
+	
+/* serial output macros: */
+#define VERTICESOUT (mxArray**)&plhs[0]
+
+/* serial arg counts: */
+#undef NLHS
+#define NLHS  1
+#undef NRHS
+#define NRHS  3
+
+
+#endif  /* _UPDATEVERTEXPOSITIONS_H */
+
