Index: /issm/trunk/src/c/DataSet/DataSet.h
===================================================================
--- /issm/trunk/src/c/DataSet/DataSet.h	(revision 4210)
+++ /issm/trunk/src/c/DataSet/DataSet.h	(revision 4211)
@@ -132,4 +132,38 @@
 
 
+/********************************************************NODES************************************************/
+
+class Nodes: public DataSet{
+
+	public:
+
+		/*constructors, destructors: {{{1*/
+		Nodes();
+		Nodes(int enum_type);
+		~Nodes();
+		/*}}}*/
+		/*numerics: {{{1*/
+		/*}}}*/
+
+};
+
+
+/********************************************************VERTICES************************************************/
+
+class Vertices: public DataSet{
+
+	public:
+
+		/*constructors, destructors: {{{1*/
+		Vertices();
+		Vertices(int enum_type);
+		~Vertices();
+		/*}}}*/
+		/*numerics: {{{1*/
+		/*}}}*/
+
+};
+
+
 
 
Index: /issm/trunk/src/c/DataSet/Nodes.cpp
===================================================================
--- /issm/trunk/src/c/DataSet/Nodes.cpp	(revision 4211)
+++ /issm/trunk/src/c/DataSet/Nodes.cpp	(revision 4211)
@@ -0,0 +1,44 @@
+/*
+ * \file Nodes.c
+ * \brief: implementation of the Nodes class, derived from DataSet class
+ */
+
+/*Headers: {{{1*/
+#ifdef HAVE_CONFIG_H
+	#include "config.h"
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include <vector>
+#include <functional>
+#include <algorithm>
+#include <iostream>
+
+#include "./DataSet.h"
+#include "../shared/shared.h"
+#include "../include/include.h"
+#include "../EnumDefinitions/EnumDefinitions.h"
+
+using namespace std;
+/*}}}*/
+
+/*Object constructors and destructor*/
+/*FUNCTION Nodes::Nodes(){{{1*/
+Nodes::Nodes(){
+	return;
+}
+/*}}}*/
+/*FUNCTION Nodes::Nodes(int in_enum){{{1*/
+Nodes::Nodes(int in_enum): DataSet(in_enum){
+	//do nothing;
+	return;
+}
+/*}}}*/
+/*FUNCTION Nodes::~Nodes(){{{1*/
+Nodes::~Nodes(){
+	return;
+}
+/*}}}*/
+
+/*Object management*/
Index: /issm/trunk/src/c/DataSet/Vertices.cpp
===================================================================
--- /issm/trunk/src/c/DataSet/Vertices.cpp	(revision 4211)
+++ /issm/trunk/src/c/DataSet/Vertices.cpp	(revision 4211)
@@ -0,0 +1,44 @@
+/*
+ * \file Vertices.c
+ * \brief: implementation of the Vertices class, derived from DataSet class
+ */
+
+/*Headers: {{{1*/
+#ifdef HAVE_CONFIG_H
+	#include "config.h"
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include <vector>
+#include <functional>
+#include <algorithm>
+#include <iostream>
+
+#include "./DataSet.h"
+#include "../shared/shared.h"
+#include "../include/include.h"
+#include "../EnumDefinitions/EnumDefinitions.h"
+
+using namespace std;
+/*}}}*/
+
+/*Object constructors and destructor*/
+/*FUNCTION Vertices::Vertices(){{{1*/
+Vertices::Vertices(){
+	return;
+}
+/*}}}*/
+/*FUNCTION Vertices::Vertices(int in_enum){{{1*/
+Vertices::Vertices(int in_enum): DataSet(in_enum){
+	//do nothing;
+	return;
+}
+/*}}}*/
+/*FUNCTION Vertices::~Vertices(){{{1*/
+Vertices::~Vertices(){
+	return;
+}
+/*}}}*/
+
+/*Object management*/
Index: /issm/trunk/src/c/Makefile.am
===================================================================
--- /issm/trunk/src/c/Makefile.am	(revision 4210)
+++ /issm/trunk/src/c/Makefile.am	(revision 4211)
@@ -204,4 +204,5 @@
 					./DataSet/Inputs.cpp\
 					./DataSet/Results.cpp\
+					./DataSet/Nodes.cpp\
 					./shared/shared.h\
 					./shared/Alloc/alloc.h\
@@ -730,4 +731,5 @@
 					./DataSet/Inputs.cpp\
 					./DataSet/Results.cpp\
+					./DataSet/Nodes.cpp\
 					./shared/shared.h\
 					./shared/Threads/issm_threads.h\
Index: /issm/trunk/src/c/modules/BuildNodeSetsx/BuildNodeSetsx.cpp
===================================================================
--- /issm/trunk/src/c/modules/BuildNodeSetsx/BuildNodeSetsx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/BuildNodeSetsx/BuildNodeSetsx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-int BuildNodeSetsx( NodeSets** pnodesets, DataSet* nodes,int analysis_type){
+int BuildNodeSetsx( NodeSets** pnodesets, Nodes* nodes,int analysis_type){
 
 	int noerr=1;
Index: /issm/trunk/src/c/modules/BuildNodeSetsx/BuildNodeSetsx.h
===================================================================
--- /issm/trunk/src/c/modules/BuildNodeSetsx/BuildNodeSetsx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/BuildNodeSetsx/BuildNodeSetsx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-int		BuildNodeSetsx( NodeSets** pnodesets,DataSet* nodes,int analysis_type);
+int		BuildNodeSetsx( NodeSets** pnodesets,Nodes* nodes,int analysis_type);
 void PartitionSets(Vec* ppvb, Vec* ppvc,Vec flag_pva, Vec flag_pv_b, Vec flag_pv_c,int gsize);
 
Index: /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.cpp
===================================================================
--- /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void	ComputeBasalStressx( Vec* psigma,DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,Parameters* parameters){
+void	ComputeBasalStressx( Vec* psigma,DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,Parameters* parameters){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.h
===================================================================
--- /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void	ComputeBasalStressx( Vec* pp_g,DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,
+void	ComputeBasalStressx( Vec* pp_g,DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,
 			int analysis_type,int sub_analysis_type);
 
Index: /issm/trunk/src/c/modules/ComputePressurex/ComputePressurex.cpp
===================================================================
--- /issm/trunk/src/c/modules/ComputePressurex/ComputePressurex.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ComputePressurex/ComputePressurex.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void	ComputePressurex( Vec* pp_g,DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,Parameters* parameters){
+void	ComputePressurex( Vec* pp_g,DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,Parameters* parameters){
 
 	/*intermediary*/
Index: /issm/trunk/src/c/modules/ComputePressurex/ComputePressurex.h
===================================================================
--- /issm/trunk/src/c/modules/ComputePressurex/ComputePressurex.h	(revision 4210)
+++ /issm/trunk/src/c/modules/ComputePressurex/ComputePressurex.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void	ComputePressurex( Vec* pp_g,DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,
+void	ComputePressurex( Vec* pp_g,DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,
 			int analysis_type,int sub_analysis_type);
 
Index: /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.cpp
===================================================================
--- /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void	ComputeStrainRatex( Vec* peps,DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,Parameters* parameters){
+void	ComputeStrainRatex( Vec* peps,DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,Parameters* parameters){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.h
===================================================================
--- /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.h	(revision 4210)
+++ /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void	ComputeStrainRatex(Vec* eps_g,DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,
+void	ComputeStrainRatex(Vec* eps_g,DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,
 			int analysis_type,int sub_analysis_type);
 
Index: /issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.cpp
===================================================================
--- /issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-int	ConfigureObjectsx( DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials,Parameters* parameters){
+int	ConfigureObjectsx( DataSet* elements, DataSet* loads, Nodes* nodes, DataSet* vertices, DataSet* materials,Parameters* parameters){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.h
===================================================================
--- /issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.h	(revision 4211)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-int ConfigureObjectsx( DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials, Parameters* parameters);
+int ConfigureObjectsx( DataSet* elements, DataSet* loads, Nodes* nodes, DataSet* vertices, DataSet* materials, Parameters* parameters);
 
 #endif  /* _CONFIGUREOBJECTSX_H */
Index: /issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.cpp
===================================================================
--- /issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.cpp	(revision 4211)
@@ -11,5 +11,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void CostFunctionx( double* pJ, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
+void CostFunctionx( double* pJ, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.h
===================================================================
--- /issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void CostFunctionx( double* pJ, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
+void CostFunctionx( double* pJ, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
 
 #endif  /* _MISFITX_H */
Index: /issm/trunk/src/c/modules/Dux/Dux.cpp
===================================================================
--- /issm/trunk/src/c/modules/Dux/Dux.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/Dux/Dux.cpp	(revision 4211)
@@ -11,5 +11,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void Dux( Vec* pdu_g, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters){
+void Dux( Vec* pdu_g, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/Dux/Dux.h
===================================================================
--- /issm/trunk/src/c/modules/Dux/Dux.h	(revision 4210)
+++ /issm/trunk/src/c/modules/Dux/Dux.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void Dux( Vec* pdu_g, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
+void Dux( Vec* pdu_g, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
 #endif  /* _DUX_H */
 
Index: /issm/trunk/src/c/modules/FieldAverageOntoVerticesx/FieldAverageOntoVerticesx.cpp
===================================================================
--- /issm/trunk/src/c/modules/FieldAverageOntoVerticesx/FieldAverageOntoVerticesx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/FieldAverageOntoVerticesx/FieldAverageOntoVerticesx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void FieldAverageOntoVerticesx(Vec* pfield, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters){
+void FieldAverageOntoVerticesx(Vec* pfield, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/FieldAverageOntoVerticesx/FieldAverageOntoVerticesx.h
===================================================================
--- /issm/trunk/src/c/modules/FieldAverageOntoVerticesx/FieldAverageOntoVerticesx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/FieldAverageOntoVerticesx/FieldAverageOntoVerticesx.h	(revision 4211)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void FieldAverageOntoVerticesx(Vec* field, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
+void FieldAverageOntoVerticesx(Vec* field, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
 
 #endif  /* _FIELDDEPTHAVERAGEX_H */
Index: /issm/trunk/src/c/modules/FieldDepthAveragex/FieldDepthAveragex.cpp
===================================================================
--- /issm/trunk/src/c/modules/FieldDepthAveragex/FieldDepthAveragex.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/FieldDepthAveragex/FieldDepthAveragex.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void FieldDepthAveragex( Vec field, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,char* fieldname){
+void FieldDepthAveragex( Vec field, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,char* fieldname){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/FieldDepthAveragex/FieldDepthAveragex.h
===================================================================
--- /issm/trunk/src/c/modules/FieldDepthAveragex/FieldDepthAveragex.h	(revision 4210)
+++ /issm/trunk/src/c/modules/FieldDepthAveragex/FieldDepthAveragex.h	(revision 4211)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void FieldDepthAveragex( Vec field, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,char* fieldname);
+void FieldDepthAveragex( Vec field, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,char* fieldname);
 
 #endif  /* _FIELDDEPTHAVERAGEX_H */
Index: /issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp
===================================================================
--- /issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp	(revision 4211)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void	GetSolutionFromInputsx( Vec* psolution, DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters){
+void	GetSolutionFromInputsx( Vec* psolution, DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters){
 
 	/*intermediary: */
Index: /issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.h
===================================================================
--- /issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void GetSolutionFromInputsx( Vec* psolution, DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters);
+void GetSolutionFromInputsx( Vec* psolution, DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters);
 
 #endif  /* _GETSOLUTIONFROMINPUTSXX_H */
Index: /issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp
===================================================================
--- /issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp	(revision 4211)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void GetVectorFromInputsx( Vec* pvector, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters, int NameEnum, int TypeEnum){
+void GetVectorFromInputsx( Vec* pvector, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters, int NameEnum, int TypeEnum){
 
 
@@ -40,5 +40,5 @@
 }
 
-void GetVectorFromInputsx( double** pvector, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters, int NameEnum, int TypeEnum){
+void GetVectorFromInputsx( double** pvector, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters, int NameEnum, int TypeEnum){
 	
 	/*output: */
Index: /issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.h
===================================================================
--- /issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.h	(revision 4211)
@@ -9,6 +9,6 @@
 
 /* local prototypes: */
-void	GetVectorFromInputsx( Vec* pvector, DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,int NameEnum,int TypeEnum);
-void	GetVectorFromInputsx( double** pvector, DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,int NameEnum,int TypeEnum);
+void	GetVectorFromInputsx( Vec* pvector, DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,int NameEnum,int TypeEnum);
+void	GetVectorFromInputsx( double** pvector, DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,int NameEnum,int TypeEnum);
 
 #endif  /* _GETVECTORFROMINPUTSXX_H */
Index: /issm/trunk/src/c/modules/Gradjx/Gradjx.cpp
===================================================================
--- /issm/trunk/src/c/modules/Gradjx/Gradjx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/Gradjx/Gradjx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void Gradjx( Vec* pgradient, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int control_type){
+void Gradjx( Vec* pgradient, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int control_type){
 
 	int i;
Index: /issm/trunk/src/c/modules/Gradjx/Gradjx.h
===================================================================
--- /issm/trunk/src/c/modules/Gradjx/Gradjx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/Gradjx/Gradjx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void Gradjx(Vec* pgrad_g, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,  Parameters* parameters, int control_type);
+void Gradjx(Vec* pgrad_g, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,  Parameters* parameters, int control_type);
 
 #endif  /* _GRADJX_H */
Index: /issm/trunk/src/c/modules/InputAXPYx/InputAXPYx.cpp
===================================================================
--- /issm/trunk/src/c/modules/InputAXPYx/InputAXPYx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/InputAXPYx/InputAXPYx.cpp	(revision 4211)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputAXPYx(DataSet* elements,DataSet* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int YEnum, double scalar, int XEnum){
+void InputAXPYx(DataSet* elements,Nodes* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int YEnum, double scalar, int XEnum){
 
 	/*intermediary:*/
Index: /issm/trunk/src/c/modules/InputAXPYx/InputAXPYx.h
===================================================================
--- /issm/trunk/src/c/modules/InputAXPYx/InputAXPYx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/InputAXPYx/InputAXPYx.h	(revision 4211)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void InputAXPYx(DataSet* elements,DataSet* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int YEnum, double scalar, int XEnum);
+void InputAXPYx(DataSet* elements,Nodes* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int YEnum, double scalar, int XEnum);
 
 #endif  /* _AXPYINPUTX_H */
Index: /issm/trunk/src/c/modules/InputControlConstrainx/InputControlConstrainx.cpp
===================================================================
--- /issm/trunk/src/c/modules/InputControlConstrainx/InputControlConstrainx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/InputControlConstrainx/InputControlConstrainx.cpp	(revision 4211)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputControlConstrainx(DataSet* elements,DataSet* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int control_type,double cm_min, double cm_max){
+void InputControlConstrainx(DataSet* elements,Nodes* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int control_type,double cm_min, double cm_max){
 
 	/*intermediary:*/
Index: /issm/trunk/src/c/modules/InputControlConstrainx/InputControlConstrainx.h
===================================================================
--- /issm/trunk/src/c/modules/InputControlConstrainx/InputControlConstrainx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/InputControlConstrainx/InputControlConstrainx.h	(revision 4211)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void InputControlConstrainx(DataSet* elements,DataSet* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int control_type,double cm_min, double cm_max);
+void InputControlConstrainx(DataSet* elements,Nodes* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int control_type,double cm_min, double cm_max);
 
 #endif  /* _ControlConstrainINPUTX_H */
Index: /issm/trunk/src/c/modules/InputConvergencex/InputConvergencex.cpp
===================================================================
--- /issm/trunk/src/c/modules/InputConvergencex/InputConvergencex.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/InputConvergencex/InputConvergencex.cpp	(revision 4211)
@@ -8,5 +8,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-int InputConvergencex(DataSet* elements,DataSet* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int* enums, int num_enums, int* criterionenums, double* criterionvalues,int num_criterionenums){
+int InputConvergencex(DataSet* elements,Nodes* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int* enums, int num_enums, int* criterionenums, double* criterionvalues,int num_criterionenums){
 
 	/*intermediary:*/
Index: /issm/trunk/src/c/modules/InputConvergencex/InputConvergencex.h
===================================================================
--- /issm/trunk/src/c/modules/InputConvergencex/InputConvergencex.h	(revision 4210)
+++ /issm/trunk/src/c/modules/InputConvergencex/InputConvergencex.h	(revision 4211)
@@ -8,5 +8,5 @@
 
 /* local prototypes: */
-int InputConvergencex(DataSet* elements,DataSet* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int* enums, int num_enums, int* criterionenums, double* criterionvalues,int num_criterionenums);
+int InputConvergencex(DataSet* elements,Nodes* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int* enums, int num_enums, int* criterionenums, double* criterionvalues,int num_criterionenums);
 
 #endif  /* _INPUTCONVERGENCEX_H */
Index: /issm/trunk/src/c/modules/InputDepthAveragex/InputDepthAveragex.cpp
===================================================================
--- /issm/trunk/src/c/modules/InputDepthAveragex/InputDepthAveragex.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/InputDepthAveragex/InputDepthAveragex.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputDepthAveragex( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int enum_type,int average_enum_type){
+void InputDepthAveragex( DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int enum_type,int average_enum_type){
 	
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/InputDepthAveragex/InputDepthAveragex.h
===================================================================
--- /issm/trunk/src/c/modules/InputDepthAveragex/InputDepthAveragex.h	(revision 4210)
+++ /issm/trunk/src/c/modules/InputDepthAveragex/InputDepthAveragex.h	(revision 4211)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void InputDepthAveragex( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int enum_type,int average_enum_type);
+void InputDepthAveragex( DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int enum_type,int average_enum_type);
 
 #endif  /* _DEPTHAVERAGEINPUTX_H */
Index: /issm/trunk/src/c/modules/InputDuplicatex/InputDuplicatex.cpp
===================================================================
--- /issm/trunk/src/c/modules/InputDuplicatex/InputDuplicatex.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/InputDuplicatex/InputDuplicatex.cpp	(revision 4211)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputDuplicatex(DataSet* elements,DataSet* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int original_enum, int new_enum){
+void InputDuplicatex(DataSet* elements,Nodes* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int original_enum, int new_enum){
 
 	/*intermediary:*/
Index: /issm/trunk/src/c/modules/InputDuplicatex/InputDuplicatex.h
===================================================================
--- /issm/trunk/src/c/modules/InputDuplicatex/InputDuplicatex.h	(revision 4210)
+++ /issm/trunk/src/c/modules/InputDuplicatex/InputDuplicatex.h	(revision 4211)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void InputDuplicatex(DataSet* elements,DataSet* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int reinitialized_enum, int original_enum);
+void InputDuplicatex(DataSet* elements,Nodes* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int reinitialized_enum, int original_enum);
 
 #endif  /* _INPUTDUPLICATEX_H */
Index: /issm/trunk/src/c/modules/InputExtrudex/InputExtrudex.cpp
===================================================================
--- /issm/trunk/src/c/modules/InputExtrudex/InputExtrudex.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/InputExtrudex/InputExtrudex.cpp	(revision 4211)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputExtrudex( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int enum_type){
+void InputExtrudex( DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int enum_type){
 
 	int i;
Index: /issm/trunk/src/c/modules/InputExtrudex/InputExtrudex.h
===================================================================
--- /issm/trunk/src/c/modules/InputExtrudex/InputExtrudex.h	(revision 4210)
+++ /issm/trunk/src/c/modules/InputExtrudex/InputExtrudex.h	(revision 4211)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void InputExtrudex( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int enum_type);
+void InputExtrudex( DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int enum_type);
 
 #endif  /* _INPUTEXTRUDEX_H */
Index: /issm/trunk/src/c/modules/InputScalex/InputScalex.cpp
===================================================================
--- /issm/trunk/src/c/modules/InputScalex/InputScalex.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/InputScalex/InputScalex.cpp	(revision 4211)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputScalex(DataSet* elements,DataSet* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int enum_type, double scale_factor){
+void InputScalex(DataSet* elements,Nodes* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int enum_type, double scale_factor){
 
 	/*intermediary:*/
Index: /issm/trunk/src/c/modules/InputScalex/InputScalex.h
===================================================================
--- /issm/trunk/src/c/modules/InputScalex/InputScalex.h	(revision 4210)
+++ /issm/trunk/src/c/modules/InputScalex/InputScalex.h	(revision 4211)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void InputScalex(DataSet* elements,DataSet* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int enum_type, double scale_factor);
+void InputScalex(DataSet* elements,Nodes* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int enum_type, double scale_factor);
 
 #endif  /* _SCALEINPUTX_H */
Index: /issm/trunk/src/c/modules/InputToResultx/InputToResultx.cpp
===================================================================
--- /issm/trunk/src/c/modules/InputToResultx/InputToResultx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/InputToResultx/InputToResultx.cpp	(revision 4211)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputToResultx(DataSet* elements,DataSet* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int enum_type,int step, double time){
+void InputToResultx(DataSet* elements,Nodes* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int enum_type,int step, double time){
 
 	/*intermediary:*/
Index: /issm/trunk/src/c/modules/InputToResultx/InputToResultx.h
===================================================================
--- /issm/trunk/src/c/modules/InputToResultx/InputToResultx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/InputToResultx/InputToResultx.h	(revision 4211)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void InputToResultx(DataSet* elements,DataSet* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int enum_type,int step=1, double time=0);
+void InputToResultx(DataSet* elements,Nodes* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,int enum_type,int step=1, double time=0);
 
 #endif  /* _INPUTTORESULTX_H */
Index: /issm/trunk/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp
===================================================================
--- /issm/trunk/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp	(revision 4211)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputUpdateFromConstantx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,bool   constant, int name){
+void InputUpdateFromConstantx( DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,bool   constant, int name){
 
 	int i;
@@ -30,5 +30,5 @@
 	}
 }
-void InputUpdateFromConstantx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int    constant, int name){
+void InputUpdateFromConstantx( DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int    constant, int name){
 	
 	int i;
@@ -51,5 +51,5 @@
 	}
 }
-void InputUpdateFromConstantx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,double constant, int name){
+void InputUpdateFromConstantx( DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,double constant, int name){
 
 	int i;
Index: /issm/trunk/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.h
===================================================================
--- /issm/trunk/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.h	(revision 4211)
@@ -10,7 +10,7 @@
 
 /* local prototypes: */
-void		InputUpdateFromConstantx( DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters, bool   constant, int name);
-void		InputUpdateFromConstantx( DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters, int    constant, int name);
-void		InputUpdateFromConstantx( DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters, double constant, int name);
+void		InputUpdateFromConstantx( DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters, bool   constant, int name);
+void		InputUpdateFromConstantx( DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters, int    constant, int name);
+void		InputUpdateFromConstantx( DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters, double constant, int name);
 
 #endif  /* _UPDATEINPUTSFROMCONSTANTXX_H */
Index: /issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.cpp
===================================================================
--- /issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.cpp	(revision 4211)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputUpdateFromSolutionx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,Vec solution){
+void InputUpdateFromSolutionx( DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,Vec solution){
 
 	double* serial_solution=NULL;
@@ -25,5 +25,5 @@
 
 
-void InputUpdateFromSolutionx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,double* solution){
+void InputUpdateFromSolutionx( DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,double* solution){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.h
===================================================================
--- /issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.h	(revision 4211)
@@ -10,10 +10,10 @@
 
 /* local prototypes: */
-void		InputUpdateFromSolutionx( DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,Vec solution);
-void        InputUpdateFromSolutionx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,double* solution);
+void		InputUpdateFromSolutionx( DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,Vec solution);
+void        InputUpdateFromSolutionx( DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,double* solution);
 
 //with timestep
-void		InputUpdateFromSolutionx( DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,Vec solution,int timestep);
-void        InputUpdateFromSolutionx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,double* solution, int timestep);
+void		InputUpdateFromSolutionx( DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,Vec solution,int timestep);
+void        InputUpdateFromSolutionx( DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,double* solution, int timestep);
 
 #endif  /* _UPDATEINPUTSFROMSOLUTIONXX_H */
Index: /issm/trunk/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.cpp
===================================================================
--- /issm/trunk/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.cpp	(revision 4211)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputUpdateFromVectorx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,Vec vector, int NameEnum, int TypeEnum){
+void InputUpdateFromVectorx( DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,Vec vector, int NameEnum, int TypeEnum){
 
 	double* serial_vector=NULL;
@@ -22,5 +22,5 @@
 
 	
-void InputUpdateFromVectorx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,double* vector, int NameEnum, int TypeEnum){
+void InputUpdateFromVectorx( DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,double* vector, int NameEnum, int TypeEnum){
 
 	int i;
@@ -60,5 +60,5 @@
 }
 
-void InputUpdateFromVectorx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int* vector, int NameEnum, int TypeEnum){
+void InputUpdateFromVectorx( DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int* vector, int NameEnum, int TypeEnum){
 	
 	int i;
@@ -98,5 +98,5 @@
 }
 
-void InputUpdateFromVectorx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,bool* vector, int NameEnum, int TypeEnum){
+void InputUpdateFromVectorx( DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,bool* vector, int NameEnum, int TypeEnum){
 
 	int i;
Index: /issm/trunk/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.h
===================================================================
--- /issm/trunk/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.h	(revision 4211)
@@ -10,8 +10,8 @@
 
 /* local prototypes: */
-void	InputUpdateFromVectorx( DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,Vec vector, int NameEnum,int TypeEnum);
-void	InputUpdateFromVectorx( DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,double* vector, int NameEnum,int TypeEnum);
-void	InputUpdateFromVectorx( DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,int* vector, int NameEnum,int TypeEnum);
-void	InputUpdateFromVectorx( DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,bool* vector, int NameEnum,int TypeEnum);
+void	InputUpdateFromVectorx( DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,Vec vector, int NameEnum,int TypeEnum);
+void	InputUpdateFromVectorx( DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,double* vector, int NameEnum,int TypeEnum);
+void	InputUpdateFromVectorx( DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,int* vector, int NameEnum,int TypeEnum);
+void	InputUpdateFromVectorx( DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,bool* vector, int NameEnum,int TypeEnum);
 
 #endif  /* _UPDATEINPUTSFROMVECTORXX_H */
Index: /issm/trunk/src/c/modules/MassFluxx/MassFluxx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MassFluxx/MassFluxx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/MassFluxx/MassFluxx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void MassFluxx(double* pmass_flux, DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,  double* segments,int num_segments){
+void MassFluxx(double* pmass_flux, DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters,  double* segments,int num_segments){
 
 	int i,j;
Index: /issm/trunk/src/c/modules/MassFluxx/MassFluxx.h
===================================================================
--- /issm/trunk/src/c/modules/MassFluxx/MassFluxx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/MassFluxx/MassFluxx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MassFluxx(double* pmass_flux, DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads,DataSet* materials, Parameters* parameters,double* segments,int num_segments);
+void MassFluxx(double* pmass_flux, DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads,DataSet* materials, Parameters* parameters,double* segments,int num_segments);
 
 
Index: /issm/trunk/src/c/modules/MaxAbsVxx/MaxAbsVxx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MaxAbsVxx/MaxAbsVxx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/MaxAbsVxx/MaxAbsVxx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MaxAbsVxx( double* pmaxabsvx, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
+void MaxAbsVxx( double* pmaxabsvx, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MaxAbsVxx/MaxAbsVxx.h
===================================================================
--- /issm/trunk/src/c/modules/MaxAbsVxx/MaxAbsVxx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/MaxAbsVxx/MaxAbsVxx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MaxAbsVxx( double* pmaxabsvx, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
+void MaxAbsVxx( double* pmaxabsvx, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
 
 #endif  /* _MAXABSVXX_H */
Index: /issm/trunk/src/c/modules/MaxAbsVyx/MaxAbsVyx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MaxAbsVyx/MaxAbsVyx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/MaxAbsVyx/MaxAbsVyx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MaxAbsVyx( double* pmaxabsvy, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
+void MaxAbsVyx( double* pmaxabsvy, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MaxAbsVyx/MaxAbsVyx.h
===================================================================
--- /issm/trunk/src/c/modules/MaxAbsVyx/MaxAbsVyx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/MaxAbsVyx/MaxAbsVyx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MaxAbsVyx( double* pmaxabsvy, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
+void MaxAbsVyx( double* pmaxabsvy, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
 
 #endif  /* _MAXABSVYX_H */
Index: /issm/trunk/src/c/modules/MaxAbsVzx/MaxAbsVzx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MaxAbsVzx/MaxAbsVzx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/MaxAbsVzx/MaxAbsVzx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MaxAbsVzx( double* pmaxabsvz, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
+void MaxAbsVzx( double* pmaxabsvz, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MaxAbsVzx/MaxAbsVzx.h
===================================================================
--- /issm/trunk/src/c/modules/MaxAbsVzx/MaxAbsVzx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/MaxAbsVzx/MaxAbsVzx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MaxAbsVzx( double* pmaxabsvz, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
+void MaxAbsVzx( double* pmaxabsvz, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
 
 #endif  /* _MAXABSVZX_H */
Index: /issm/trunk/src/c/modules/MaxVelx/MaxVelx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MaxVelx/MaxVelx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/MaxVelx/MaxVelx.cpp	(revision 4211)
@@ -11,5 +11,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MaxVelx( double* pmaxvel, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
+void MaxVelx( double* pmaxvel, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MaxVelx/MaxVelx.h
===================================================================
--- /issm/trunk/src/c/modules/MaxVelx/MaxVelx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/MaxVelx/MaxVelx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MaxVelx( double* pmaxvel, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
+void MaxVelx( double* pmaxvel, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
 
 #endif  /* _MAXVELX_H */
Index: /issm/trunk/src/c/modules/MaxVxx/MaxVxx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MaxVxx/MaxVxx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/MaxVxx/MaxVxx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MaxVxx( double* pmaxvx, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
+void MaxVxx( double* pmaxvx, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MaxVxx/MaxVxx.h
===================================================================
--- /issm/trunk/src/c/modules/MaxVxx/MaxVxx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/MaxVxx/MaxVxx.h	(revision 4211)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void MaxVxx( double* pmaxvx, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
+void MaxVxx( double* pmaxvx, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
 
 #endif  /* _MAXVXX_H */
Index: /issm/trunk/src/c/modules/MaxVyx/MaxVyx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MaxVyx/MaxVyx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/MaxVyx/MaxVyx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MaxVyx( double* pmaxvy, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
+void MaxVyx( double* pmaxvy, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MaxVyx/MaxVyx.h
===================================================================
--- /issm/trunk/src/c/modules/MaxVyx/MaxVyx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/MaxVyx/MaxVyx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MaxVyx( double* pmaxvy, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
+void MaxVyx( double* pmaxvy, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
 
 #endif  /* _MAXVYX_H */
Index: /issm/trunk/src/c/modules/MaxVzx/MaxVzx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MaxVzx/MaxVzx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/MaxVzx/MaxVzx.cpp	(revision 4211)
@@ -11,5 +11,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MaxVzx( double* pmaxvz, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
+void MaxVzx( double* pmaxvz, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MaxVzx/MaxVzx.h
===================================================================
--- /issm/trunk/src/c/modules/MaxVzx/MaxVzx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/MaxVzx/MaxVzx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MaxVzx( double* pmaxvz, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
+void MaxVzx( double* pmaxvz, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
 
 #endif  /* _MAXVZX_H */
Index: /issm/trunk/src/c/modules/MinVelx/MinVelx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MinVelx/MinVelx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/MinVelx/MinVelx.cpp	(revision 4211)
@@ -11,5 +11,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MinVelx( double* pminvel, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
+void MinVelx( double* pminvel, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MinVelx/MinVelx.h
===================================================================
--- /issm/trunk/src/c/modules/MinVelx/MinVelx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/MinVelx/MinVelx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MinVelx( double* pminvel, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
+void MinVelx( double* pminvel, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
 
 #endif  /* _MINVELX_H */
Index: /issm/trunk/src/c/modules/MinVxx/MinVxx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MinVxx/MinVxx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/MinVxx/MinVxx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MinVxx( double* pminvx, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
+void MinVxx( double* pminvx, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MinVxx/MinVxx.h
===================================================================
--- /issm/trunk/src/c/modules/MinVxx/MinVxx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/MinVxx/MinVxx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MinVxx( double* pminvx, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
+void MinVxx( double* pminvx, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
 
 #endif  /* _MINVX_H */
Index: /issm/trunk/src/c/modules/MinVyx/MinVyx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MinVyx/MinVyx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/MinVyx/MinVyx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MinVyx( double* pminvy, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
+void MinVyx( double* pminvy, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MinVyx/MinVyx.h
===================================================================
--- /issm/trunk/src/c/modules/MinVyx/MinVyx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/MinVyx/MinVyx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MinVyx( double* pminvy, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
+void MinVyx( double* pminvy, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
 
 #endif  /* _MINVYX_H */
Index: /issm/trunk/src/c/modules/MinVzx/MinVzx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MinVzx/MinVzx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/MinVzx/MinVzx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MinVzx( double* pminvz, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
+void MinVzx( double* pminvz, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MinVzx/MinVzx.h
===================================================================
--- /issm/trunk/src/c/modules/MinVzx/MinVzx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/MinVzx/MinVzx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MinVzx( double* pminvz, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
+void MinVzx( double* pminvz, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
 
 #endif  /* _MINVZX_H */
Index: /issm/trunk/src/c/modules/Misfitx/Misfitx.cpp
===================================================================
--- /issm/trunk/src/c/modules/Misfitx/Misfitx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/Misfitx/Misfitx.cpp	(revision 4211)
@@ -11,5 +11,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void Misfitx( double* pJ, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
+void Misfitx( double* pJ, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
 	
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/Misfitx/Misfitx.h
===================================================================
--- /issm/trunk/src/c/modules/Misfitx/Misfitx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/Misfitx/Misfitx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void Misfitx( double* pJ, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
+void Misfitx( double* pJ, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
 
 #endif  /* _MISFITX_H */
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/CreateNodesBalancedthickness.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/CreateNodesBalancedthickness.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/CreateNodesBalancedthickness.cpp	(revision 4211)
@@ -13,5 +13,5 @@
 #include "../ModelProcessorx.h"
 
-void	CreateNodesBalancedthickness(DataSet** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
+void	CreateNodesBalancedthickness(Nodes** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
 
 	/*Intermediary*/
@@ -20,5 +20,5 @@
 
 	/*DataSets: */
-	DataSet*    nodes = NULL;
+	Nodes*    nodes = NULL;
 
 	/*Recover pointer: */
@@ -26,5 +26,5 @@
 
 	/*Create nodes if they do not exist yet*/
-	if(!nodes) nodes = new DataSet(NodesEnum);
+	if(!nodes) nodes = new Nodes(NodesEnum);
 
 	/*Continuous Galerkin partition of nodes: */
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness2/CreateNodesBalancedthickness2.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness2/CreateNodesBalancedthickness2.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness2/CreateNodesBalancedthickness2.cpp	(revision 4211)
@@ -13,5 +13,5 @@
 #include "../ModelProcessorx.h"
 
-void	CreateNodesBalancedthickness2(DataSet** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
+void	CreateNodesBalancedthickness2(Nodes** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
 
 	/*Intermediary*/
@@ -23,5 +23,5 @@
 
 	/*DataSets: */
-	DataSet* nodes = NULL;
+	Nodes* nodes = NULL;
 
 	/*Recover pointer: */
@@ -29,5 +29,5 @@
 
 	/*Create nodes if they do not exist yet*/
-	if(!nodes) nodes = new DataSet(NodesEnum);
+	if(!nodes) nodes = new Nodes(NodesEnum);
 
 	/*Continuous Galerkin partition of nodes: */
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancedvelocities/CreateNodesBalancedvelocities.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancedvelocities/CreateNodesBalancedvelocities.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancedvelocities/CreateNodesBalancedvelocities.cpp	(revision 4211)
@@ -13,5 +13,5 @@
 #include "../ModelProcessorx.h"
 
-void	CreateNodesBalancedvelocities(DataSet** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
+void	CreateNodesBalancedvelocities(Nodes** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
 
 	/*Intermediary*/
@@ -20,5 +20,5 @@
 
 	/*DataSets: */
-	DataSet*    nodes = NULL;
+	Nodes*    nodes = NULL;
 
 	/*Recover pointer: */
@@ -26,5 +26,5 @@
 
 	/*Create nodes if they do not exist yet*/
-	if(!nodes) nodes = new DataSet(NodesEnum);
+	if(!nodes) nodes = new Nodes(NodesEnum);
 
 	/*Continuous Galerkin partition of nodes: */
Index: /issm/trunk/src/c/modules/ModelProcessorx/CreateDataSets.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateDataSets.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateDataSets.cpp	(revision 4211)
@@ -16,5 +16,5 @@
 
 
-void CreateDataSets(DataSet** pelements,DataSet** pnodes, DataSet** pvertices, DataSet** pmaterials, DataSet** pconstraints, DataSet** ploads,Parameters** pparameters,IoModel* iomodel,ConstDataHandle iomodel_handle,int solution_type,int analysis_type,int nummodels,int analysis_counter){
+void CreateDataSets(DataSet** pelements,Nodes** pnodes, DataSet** pvertices, DataSet** pmaterials, DataSet** pconstraints, DataSet** ploads,Parameters** pparameters,IoModel* iomodel,ConstDataHandle iomodel_handle,int solution_type,int analysis_type,int nummodels,int analysis_counter){
 
 	bool continuous=true;
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateNodesDiagnosticHoriz.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateNodesDiagnosticHoriz.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateNodesDiagnosticHoriz.cpp	(revision 4211)
@@ -13,5 +13,5 @@
 #include "../ModelProcessorx.h"
 
-void	CreateNodesDiagnosticHoriz(DataSet** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
+void	CreateNodesDiagnosticHoriz(Nodes** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
 
 	/*Intermediary*/
@@ -20,8 +20,8 @@
 
 	/*DataSets: */
-	DataSet*    nodes = NULL;
+	Nodes*    nodes = NULL;
 
 	/*First create nodes*/
-	nodes = new DataSet(NodesEnum);
+	nodes = new Nodes(NodesEnum);
 	
 	/*Now, is the flag macayaealpattyn on? otherwise, do nothing: */
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/CreateNodesDiagnosticHutter.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/CreateNodesDiagnosticHutter.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/CreateNodesDiagnosticHutter.cpp	(revision 4211)
@@ -13,5 +13,5 @@
 #include "../ModelProcessorx.h"
 
-void	CreateNodesDiagnosticHutter(DataSet** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
+void	CreateNodesDiagnosticHutter(Nodes** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
 
 	/*Intermediary*/
@@ -20,5 +20,5 @@
 
 	/*DataSets: */
-	DataSet*    nodes = NULL;
+	Nodes*    nodes = NULL;
 
 	/*Recover pointer: */
@@ -26,5 +26,5 @@
 
 	/*Create nodes if they do not exist yet*/
-	if(!nodes) nodes = new DataSet(NodesEnum);
+	if(!nodes) nodes = new Nodes(NodesEnum);
 
 	/*Now, is the flag ishutter on? otherwise, do nothing: */
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticStokes/CreateNodesDiagnosticStokes.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticStokes/CreateNodesDiagnosticStokes.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticStokes/CreateNodesDiagnosticStokes.cpp	(revision 4211)
@@ -13,5 +13,5 @@
 #include "../ModelProcessorx.h"
 
-void	CreateNodesDiagnosticStokes(DataSet** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
+void	CreateNodesDiagnosticStokes(Nodes** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
 
 	/*Intermediary*/
@@ -20,5 +20,5 @@
 
 	/*DataSets: */
-	DataSet*    nodes = NULL;
+	Nodes*    nodes = NULL;
 
 	/*Recover pointer: */
@@ -26,5 +26,5 @@
 
 	/*Create nodes if they do not exist yet*/
-	if(!nodes) nodes = new DataSet(NodesEnum);
+	if(!nodes) nodes = new Nodes(NodesEnum);
 
 	/*Now, do we have Stokes elements?*/
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp	(revision 4211)
@@ -13,5 +13,5 @@
 #include "../ModelProcessorx.h"
 
-void	CreateNodesDiagnosticVert(DataSet** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
+void	CreateNodesDiagnosticVert(Nodes** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
 
 	/*Intermediary*/
@@ -20,5 +20,5 @@
 
 	/*DataSets: */
-	DataSet*    nodes = NULL;
+	Nodes*    nodes = NULL;
 
 	/*Recover pointer: */
@@ -26,5 +26,5 @@
 
 	/*Create nodes if they do not exist yet*/
-	if(!nodes) nodes = new DataSet(NodesEnum);
+	if(!nodes) nodes = new Nodes(NodesEnum);
 
 	/*Now, is the flag macayaealpattyn on? otherwise, do nothing: */
Index: /issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateNodesMelting.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateNodesMelting.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateNodesMelting.cpp	(revision 4211)
@@ -13,5 +13,5 @@
 #include "../ModelProcessorx.h"
 
-void	CreateNodesMelting(DataSet** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
+void	CreateNodesMelting(Nodes** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
 
 	/*Intermediary*/
@@ -20,5 +20,5 @@
 
 	/*DataSets: */
-	DataSet*    nodes = NULL;
+	Nodes*    nodes = NULL;
 
 	/*Recover pointer: */
@@ -26,5 +26,5 @@
 
 	/*Create nodes if they do not exist yet*/
-	if(!nodes) nodes = new DataSet(NodesEnum);
+	if(!nodes) nodes = new Nodes(NodesEnum);
 
 	/*Continuous Galerkin partition of nodes: */
Index: /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.cpp	(revision 4211)
@@ -16,5 +16,5 @@
 #include "../../modules/modules.h"
 
-void ModelProcessorx(DataSet** pelements, DataSet** pnodes, DataSet** pvertices, DataSet** pmaterials, DataSet** pconstraints, DataSet** ploads, Parameters** pparameters, ConstDataHandle IOMODEL,int solution_type,int nummodels, int* analysis_type_list){
+void ModelProcessorx(DataSet** pelements, Nodes** pnodes, DataSet** pvertices, DataSet** pmaterials, DataSet** pconstraints, DataSet** ploads, Parameters** pparameters, ConstDataHandle IOMODEL,int solution_type,int nummodels, int* analysis_type_list){
 
 	int i;
@@ -23,5 +23,5 @@
 	/*output: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* materials=NULL;
Index: /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h	(revision 4211)
@@ -13,8 +13,8 @@
 #include "../../io/io.h"
 
-void ModelProcessorx(DataSet** pelements, DataSet** pnodes, DataSet** pvertices, DataSet** pmaterials, DataSet** pconstraints, DataSet** ploads, Parameters** pparameters, ConstDataHandle iomodel_handle,int solution_type,int nummodels, int* analysis_type_list);
+void ModelProcessorx(DataSet** pelements, Nodes** pnodes, DataSet** pvertices, DataSet** pmaterials, DataSet** pconstraints, DataSet** ploads, Parameters** pparameters, ConstDataHandle iomodel_handle,int solution_type,int nummodels, int* analysis_type_list);
 
 /*Creation of fem datasets: general drivers*/
-void  CreateDataSets(DataSet** pelements,DataSet** pnodes,DataSet** pvertices, DataSet** pmaterials, DataSet** pconstraints, DataSet** ploads,Parameters** pparameters,IoModel* iomodel,ConstDataHandle iomodel_handle,int solution_type,int analysis_type,int nummodels,int analysis_counter);
+void  CreateDataSets(DataSet** pelements,Nodes** pnodes,DataSet** pvertices, DataSet** pmaterials, DataSet** pconstraints, DataSet** ploads,Parameters** pparameters,IoModel* iomodel,ConstDataHandle iomodel_handle,int solution_type,int analysis_type,int nummodels,int analysis_counter);
 void  CreateElementsVerticesAndMaterials(DataSet** pelements,DataSet** pvertices,DataSet** pmaterials, IoModel* iomodel,ConstDataHandle iomodel_handle,int nummodels);
 void  CreateParameters(Parameters** pparameters,IoModel* iomodel,ConstDataHandle iomodel_handle,int solution_type,int analysis_type,int analysis_counter);
@@ -25,5 +25,5 @@
 
 /*diagnostic horizontal*/
-void	CreateNodesDiagnosticHoriz(DataSet** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
+void	CreateNodesDiagnosticHoriz(Nodes** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
 void	CreateConstraintsDiagnosticHoriz(DataSet** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
 void  CreateLoadsDiagnosticHoriz(DataSet** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
@@ -31,5 +31,5 @@
 
 /*diagnostic vertical*/
-void	CreateNodesDiagnosticVert(DataSet** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
+void	CreateNodesDiagnosticVert(Nodes** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
 void	CreateConstraintsDiagnosticVert(DataSet** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
 void    CreateLoadsDiagnosticVert(DataSet** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
@@ -37,5 +37,5 @@
 
 /*diagnostic hutter*/
-void	CreateNodesDiagnosticHutter(DataSet** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
+void	CreateNodesDiagnosticHutter(Nodes** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
 void	CreateConstraintsDiagnosticHutter(DataSet** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
 void    CreateLoadsDiagnosticHutter(DataSet** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
@@ -43,5 +43,5 @@
 
 /*diagnostic stokes*/
-void	CreateNodesDiagnosticStokes(DataSet** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
+void	CreateNodesDiagnosticStokes(Nodes** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
 void	CreateConstraintsDiagnosticStokes(DataSet** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
 void    CreateLoadsDiagnosticStokes(DataSet** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
@@ -49,5 +49,5 @@
 
 /*slope compute*/
-void	CreateNodesSlopeCompute(DataSet** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
+void	CreateNodesSlopeCompute(Nodes** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
 void	CreateConstraintsSlopeCompute(DataSet** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
 void    CreateLoadsSlopeCompute(DataSet** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
@@ -55,5 +55,5 @@
 
 /*thermal:*/
-void	CreateNodesThermal(DataSet** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
+void	CreateNodesThermal(Nodes** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
 void	CreateConstraintsThermal(DataSet** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
 void    CreateLoadsThermal(DataSet** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
@@ -61,5 +61,5 @@
 
 /*melting:*/
-void	CreateNodesMelting(DataSet** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
+void	CreateNodesMelting(Nodes** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
 void	CreateConstraintsMelting(DataSet** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
 void    CreateLoadsMelting(DataSet** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
@@ -67,5 +67,5 @@
 
 /*prognostic:*/
-void	CreateNodesPrognostic(DataSet** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
+void	CreateNodesPrognostic(Nodes** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
 void	CreateConstraintsPrognostic(DataSet** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
 void    CreateLoadsPrognostic(DataSet** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
@@ -73,5 +73,5 @@
 
 /*prognostic2:*/
-void	CreateNodesPrognostic2(DataSet** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
+void	CreateNodesPrognostic2(Nodes** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
 void	CreateConstraintsPrognostic2(DataSet** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
 void    CreateLoadsPrognostic2(DataSet** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
@@ -79,10 +79,10 @@
 
 /*balancedthickness:*/
-void	CreateNodesBalancedthickness(DataSet** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
+void	CreateNodesBalancedthickness(Nodes** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
 void	CreateConstraintsBalancedthickness(DataSet** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
 void    CreateLoadsBalancedthickness(DataSet** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
 void	UpdateElementsBalancedthickness(DataSet* elements,IoModel* iomodel_handle,ConstDataHandle iomodel_handle,int analysis_counter,int analysis_type);
 
-void	CreateNodesBalancedthickness2(DataSet** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
+void	CreateNodesBalancedthickness2(Nodes** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
 void	CreateConstraintsBalancedthickness2(DataSet** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
 void    CreateLoadsBalancedthickness2(DataSet** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
@@ -90,5 +90,5 @@
 
 /*balancedvelocities:*/
-void	CreateNodesBalancedvelocities(DataSet** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
+void	CreateNodesBalancedvelocities(Nodes** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
 void	CreateConstraintsBalancedvelocities(DataSet** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
 void    CreateLoadsBalancedvelocities(DataSet** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
@@ -104,6 +104,6 @@
 
 /*Diverse: */
-void  SortDataSets(DataSet** pelements,DataSet** pnodes,DataSet** pvertices, DataSet** ploads, DataSet** pmaterials, DataSet** pconstraints, Parameters** pparameters);
-void  UpdateCounters(IoModel* iomodel,DataSet** pnodes,DataSet** ploads, DataSet** pconstraints);
+void  SortDataSets(DataSet** pelements,Nodes** pnodes,DataSet** pvertices, DataSet** ploads, DataSet** pmaterials, DataSet** pconstraints, Parameters** pparameters);
+void  UpdateCounters(IoModel* iomodel,Nodes** pnodes,DataSet** ploads, DataSet** pconstraints);
 
 #endif
Index: /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp	(revision 4211)
@@ -13,5 +13,5 @@
 #include "../ModelProcessorx.h"
 
-void	CreateNodesPrognostic(DataSet** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
+void	CreateNodesPrognostic(Nodes** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
 
 	/*Intermediary*/
@@ -20,5 +20,5 @@
 
 	/*DataSets: */
-	DataSet*    nodes = NULL;
+	Nodes*    nodes = NULL;
 
 	/*Recover pointer: */
@@ -26,5 +26,5 @@
 
 	/*Create nodes if they do not exist yet*/
-	if(!nodes) nodes = new DataSet(NodesEnum);
+	if(!nodes) nodes = new Nodes(NodesEnum);
 
 	/*Continuous Galerkin partition of nodes: */
Index: /issm/trunk/src/c/modules/ModelProcessorx/Prognostic2/CreateNodesPrognostic2.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Prognostic2/CreateNodesPrognostic2.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Prognostic2/CreateNodesPrognostic2.cpp	(revision 4211)
@@ -13,5 +13,5 @@
 #include "../ModelProcessorx.h"
 
-void	CreateNodesPrognostic2(DataSet** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
+void	CreateNodesPrognostic2(Nodes** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
 
 	/*Intermediary*/
@@ -23,5 +23,5 @@
 
 	/*DataSets: */
-	DataSet* nodes = NULL;
+	Nodes* nodes = NULL;
 
 	/*Recover pointer: */
@@ -29,5 +29,5 @@
 
 	/*Create nodes if they do not exist yet*/
-	if(!nodes) nodes = new DataSet(NodesEnum);
+	if(!nodes) nodes = new Nodes(NodesEnum);
 
 	/*Continuous Galerkin partition of nodes: */
Index: /issm/trunk/src/c/modules/ModelProcessorx/SlopeCompute/CreateNodesSlopeCompute.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/SlopeCompute/CreateNodesSlopeCompute.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ModelProcessorx/SlopeCompute/CreateNodesSlopeCompute.cpp	(revision 4211)
@@ -13,5 +13,5 @@
 #include "../ModelProcessorx.h"
 
-void	CreateNodesSlopeCompute(DataSet** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
+void	CreateNodesSlopeCompute(Nodes** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
 
 	/*Intermediary*/
@@ -20,5 +20,5 @@
 
 	/*DataSets: */
-	DataSet*    nodes = NULL;
+	Nodes*    nodes = NULL;
 
 	/*Recover pointer: */
@@ -26,5 +26,5 @@
 
 	/*Create nodes if they do not exist yet*/
-	if(!nodes) nodes = new DataSet(NodesEnum);
+	if(!nodes) nodes = new Nodes(NodesEnum);
 	
 	/*Continuous Galerkin partition of nodes: */
Index: /issm/trunk/src/c/modules/ModelProcessorx/SortDataSets.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/SortDataSets.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ModelProcessorx/SortDataSets.cpp	(revision 4211)
@@ -16,8 +16,8 @@
 
 
-void SortDataSets(DataSet** pelements,DataSet** pnodes,DataSet** pvertices, DataSet** ploads, DataSet** pmaterials, DataSet** pconstraints, Parameters** pparameters){
+void SortDataSets(DataSet** pelements,Nodes** pnodes,DataSet** pvertices, DataSet** ploads, DataSet** pmaterials, DataSet** pconstraints, Parameters** pparameters){
 
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
Index: /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp	(revision 4211)
@@ -13,5 +13,5 @@
 #include "../ModelProcessorx.h"
 
-void	CreateNodesThermal(DataSet** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
+void	CreateNodesThermal(Nodes** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
 
 	/*Intermediary*/
@@ -20,5 +20,5 @@
 
 	/*DataSets: */
-	DataSet*    nodes = NULL;
+	Nodes*    nodes = NULL;
 	
 	/*Recover pointer: */
@@ -26,5 +26,5 @@
 
 	/*Create nodes if they do not exist yet*/
-	if(!nodes) nodes = new DataSet(NodesEnum);
+	if(!nodes) nodes = new Nodes(NodesEnum);
 
 	/*Continuous Galerkin partition of nodes: */
Index: /issm/trunk/src/c/modules/ModelProcessorx/UpdateCounters.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/UpdateCounters.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/ModelProcessorx/UpdateCounters.cpp	(revision 4211)
@@ -15,7 +15,7 @@
 #include "./ModelProcessorx.h"
 
-void    UpdateCounters(IoModel* iomodel,DataSet** pnodes,DataSet** ploads, DataSet** pconstraints){
+void    UpdateCounters(IoModel* iomodel,Nodes** pnodes,DataSet** ploads, DataSet** pconstraints){
 
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* loads=NULL;
 	DataSet* constraints=NULL;
Index: /issm/trunk/src/c/modules/MpcNodesx/MpcNodesx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MpcNodesx/MpcNodesx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/MpcNodesx/MpcNodesx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-int MpcNodesx( Mat* pRmg, DataSet* nodes,DataSet* constraints,int analysis_type){
+int MpcNodesx( Mat* pRmg, Nodes* nodes,DataSet* constraints,int analysis_type){
 
 	int i;
Index: /issm/trunk/src/c/modules/MpcNodesx/MpcNodesx.h
===================================================================
--- /issm/trunk/src/c/modules/MpcNodesx/MpcNodesx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/MpcNodesx/MpcNodesx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-int		MpcNodesx( Mat* pRmg, DataSet* nodes,DataSet* constraints,int analysis_type);
+int		MpcNodesx( Mat* pRmg, Nodes* nodes,DataSet* constraints,int analysis_type);
 
 #endif  /* _MPCNODESX_H */
Index: /issm/trunk/src/c/modules/NodesDofx/NodesDofx.cpp
===================================================================
--- /issm/trunk/src/c/modules/NodesDofx/NodesDofx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/NodesDofx/NodesDofx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void NodesDofx(DataSet* nodes, Parameters* parameters){
+void NodesDofx(Nodes* nodes, Parameters* parameters){
 
 	int noerr=1;
Index: /issm/trunk/src/c/modules/NodesDofx/NodesDofx.h
===================================================================
--- /issm/trunk/src/c/modules/NodesDofx/NodesDofx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/NodesDofx/NodesDofx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void NodesDofx(DataSet* nodes, Parameters* parameters);
+void NodesDofx(Nodes* nodes, Parameters* parameters);
 
 #endif  /* _NODESDOFX_H */
Index: /issm/trunk/src/c/modules/OutputResultsx/ElementResultsToPatch.cpp
===================================================================
--- /issm/trunk/src/c/modules/OutputResultsx/ElementResultsToPatch.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/OutputResultsx/ElementResultsToPatch.cpp	(revision 4211)
@@ -15,5 +15,5 @@
 #include "../../objects/objects.h"
 		
-void ElementResultsToPatch(DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials, Parameters* parameters,DataSet* results){
+void ElementResultsToPatch(DataSet* elements,  Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,DataSet* results){
 
 	int i;
Index: /issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.cpp
===================================================================
--- /issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.cpp	(revision 4211)
@@ -17,7 +17,7 @@
 		
 #ifdef _SERIAL_
-void OutputResultsx(mxArray** pdataref, DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials, Parameters* parameters,DataSet* results){
+void OutputResultsx(mxArray** pdataref, DataSet* elements, Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,DataSet* results){
 #else
-void OutputResultsx(DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials, Parameters* parameters,DataSet* results){
+void OutputResultsx(                    DataSet* elements, Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,DataSet* results){
 #endif
 
@@ -29,5 +29,5 @@
 
 	/*Transfer element results into the femmodel->results dataset: */
-	ElementResultsToPatch( elements,  loads,  nodes,  vertices,  materials, parameters,results);
+	ElementResultsToPatch( elements,  nodes,  vertices,  loads, materials, parameters,results);
 
 	#ifdef _PARALLEL_
Index: /issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.h
===================================================================
--- /issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.h	(revision 4211)
@@ -13,17 +13,19 @@
 
 class DataSet;
+class Nodes;
 class Parameters;
+
 
 #ifdef _SERIAL_
 #include <mex.h>
-void OutputResultsx(mxArray** pdataref, DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials, Parameters* parameters,DataSet* results);
+void OutputResultsx(mxArray** pdataref, DataSet* elements, Nodes* nodes, DataSet* vertices, DataSet* loads,  DataSet* materials, Parameters* parameters,DataSet* results);
 void MatlabWriteResults(mxArray** pdataref, Parameters* parameters, DataSet* results);
 #else
-void OutputResultsx(DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials, Parameters* parameters,DataSet* results);
+void OutputResultsx(DataSet* elements, Nodes* nodes, DataSet* vertices, DataSet* loads,  DataSet* materials, Parameters* parameters,DataSet* results);
 void FileWriteResults(Parameters* parameters, DataSet* results);
 #endif
 
 /* local prototypes: */
-void ElementResultsToPatch(DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials, Parameters* parameters,DataSet* results);
+void ElementResultsToPatch(DataSet* elements,  Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,DataSet* results);
 
 #endif  /* _OUTPUTRESULTS_H */
Index: /issm/trunk/src/c/modules/PenaltyConstraintsx/PenaltyConstraintsx.cpp
===================================================================
--- /issm/trunk/src/c/modules/PenaltyConstraintsx/PenaltyConstraintsx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/PenaltyConstraintsx/PenaltyConstraintsx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void PenaltyConstraintsx(int* pconverged, int* pnum_unstable_constraints, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads,DataSet* materials,  Parameters* parameters){
+void PenaltyConstraintsx(int* pconverged, int* pnum_unstable_constraints, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads,DataSet* materials,  Parameters* parameters){
 
 	int i;
Index: /issm/trunk/src/c/modules/PenaltyConstraintsx/PenaltyConstraintsx.h
===================================================================
--- /issm/trunk/src/c/modules/PenaltyConstraintsx/PenaltyConstraintsx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/PenaltyConstraintsx/PenaltyConstraintsx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void PenaltyConstraintsx(int* pconverged, int* pnum_unstable_constraints, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads,DataSet* materials,  Parameters* parameters); 
+void PenaltyConstraintsx(int* pconverged, int* pnum_unstable_constraints, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads,DataSet* materials,  Parameters* parameters); 
 
 #endif  /* _PENALTYCONSTRAINTSX_H */
Index: /issm/trunk/src/c/modules/PenaltySystemMatricesx/PenaltySystemMatricesx.cpp
===================================================================
--- /issm/trunk/src/c/modules/PenaltySystemMatricesx/PenaltySystemMatricesx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/PenaltySystemMatricesx/PenaltySystemMatricesx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void PenaltySystemMatricesx(Mat Kgg, Vec pg,double* pkmax,DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads,DataSet* materials, Parameters* parameters, int kflag,int pflag){
+void PenaltySystemMatricesx(Mat Kgg, Vec pg,double* pkmax,DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads,DataSet* materials, Parameters* parameters, int kflag,int pflag){
 	
 	int i;
Index: /issm/trunk/src/c/modules/PenaltySystemMatricesx/PenaltySystemMatricesx.h
===================================================================
--- /issm/trunk/src/c/modules/PenaltySystemMatricesx/PenaltySystemMatricesx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/PenaltySystemMatricesx/PenaltySystemMatricesx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void PenaltySystemMatricesx(Mat Kgg, Vec pg,double* pkmax, DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads,DataSet* materials, Parameters* parameters, int kflag,int pflag);
+void PenaltySystemMatricesx(Mat Kgg, Vec pg,double* pkmax, DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads,DataSet* materials, Parameters* parameters, int kflag,int pflag);
 
 #endif  /* _PENALTYSYSTEMMATRICESX_H */
Index: /issm/trunk/src/c/modules/SpcNodesx/SpcNodesx.cpp
===================================================================
--- /issm/trunk/src/c/modules/SpcNodesx/SpcNodesx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/SpcNodesx/SpcNodesx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void SpcNodesx(Vec* pyg, DataSet* nodes,DataSet* constraints,int analysis_type){
+void SpcNodesx(Vec* pyg, Nodes* nodes,DataSet* constraints,int analysis_type){
 
 	int i;
Index: /issm/trunk/src/c/modules/SpcNodesx/SpcNodesx.h
===================================================================
--- /issm/trunk/src/c/modules/SpcNodesx/SpcNodesx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/SpcNodesx/SpcNodesx.h	(revision 4211)
@@ -11,5 +11,5 @@
 
 /* local prototypes: */
-void SpcNodesx(Vec* pyg, DataSet* nodesin,DataSet* constraints,int analysis_type);
+void SpcNodesx(Vec* pyg, Nodes* nodesin,DataSet* constraints,int analysis_type);
 
 #endif  /* _SPCNODESX_H */
Index: /issm/trunk/src/c/modules/SurfaceAreax/SurfaceAreax.cpp
===================================================================
--- /issm/trunk/src/c/modules/SurfaceAreax/SurfaceAreax.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/SurfaceAreax/SurfaceAreax.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void SurfaceAreax( double* pS, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
+void SurfaceAreax( double* pS, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials,Parameters* parameters){
 	
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/SurfaceAreax/SurfaceAreax.h
===================================================================
--- /issm/trunk/src/c/modules/SurfaceAreax/SurfaceAreax.h	(revision 4210)
+++ /issm/trunk/src/c/modules/SurfaceAreax/SurfaceAreax.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void SurfaceAreax( double* pS, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
+void SurfaceAreax( double* pS, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters);
 
 #endif  /* _SURFACEAREAX_H */
Index: /issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.cpp
===================================================================
--- /issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void SystemMatricesx(Mat* pKgg, Vec* ppg,DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads,DataSet* materials, Parameters* parameters, int kflag,int pflag){
+void SystemMatricesx(Mat* pKgg, Vec* ppg,DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads,DataSet* materials, Parameters* parameters, int kflag,int pflag){
 	
 	/*intermediary: */
Index: /issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.h
===================================================================
--- /issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void SystemMatricesx(Mat* pKgg, Vec* ppg,DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads,DataSet* materials, Parameters* parameters, int kflag,int pflag);
+void SystemMatricesx(Mat* pKgg, Vec* ppg,DataSet* elements,Nodes* nodes, DataSet* vertices,DataSet* loads,DataSet* materials, Parameters* parameters, int kflag,int pflag);
 
 #endif  /* _SYSTEMMATRICESX_H */
Index: /issm/trunk/src/c/modules/UpdateGeometryx/UpdateGeometryx.cpp
===================================================================
--- /issm/trunk/src/c/modules/UpdateGeometryx/UpdateGeometryx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/UpdateGeometryx/UpdateGeometryx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../DataSet/DataSet.h"
 
-void UpdateGeometryx( DataSet* elements, DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials, Parameters* parameters){
+void UpdateGeometryx( DataSet* elements, Nodes* nodes, DataSet* vertices,DataSet* loads, DataSet* materials, Parameters* parameters){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/UpdateGeometryx/UpdateGeometryx.h
===================================================================
--- /issm/trunk/src/c/modules/UpdateGeometryx/UpdateGeometryx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/UpdateGeometryx/UpdateGeometryx.h	(revision 4211)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void UpdateGeometryx(DataSet* elements, DataSet* nodes,DataSet* vertices,DataSet* loads, DataSet* materials, Parameters* parameters);
+void UpdateGeometryx(DataSet* elements, Nodes* nodes,DataSet* vertices,DataSet* loads, DataSet* materials, Parameters* parameters);
 
 #endif  /* _UPDATEGEOMETRYX_H */
Index: /issm/trunk/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp
===================================================================
--- /issm/trunk/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-int UpdateVertexPositionsx(DataSet* elements,DataSet* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters){
+int UpdateVertexPositionsx(DataSet* elements,Nodes* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters){
 
 	int i;
Index: /issm/trunk/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.h
===================================================================
--- /issm/trunk/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.h	(revision 4210)
+++ /issm/trunk/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.h	(revision 4211)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-int UpdateVertexPositionsx(DataSet* elements,DataSet* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters);
+int UpdateVertexPositionsx(DataSet* elements,Nodes* nodes,DataSet* vertices,DataSet* loads,DataSet* materials,Parameters* parameters);
 
 #endif  /* _UPDATEVERTEXPOSITIONSXX_H */
Index: /issm/trunk/src/c/modules/VecExtrudex/VecExtrudex.cpp
===================================================================
--- /issm/trunk/src/c/modules/VecExtrudex/VecExtrudex.cpp	(revision 4210)
+++ /issm/trunk/src/c/modules/VecExtrudex/VecExtrudex.cpp	(revision 4211)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void VecExtrudex( Vec vector, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int collapse){
+void VecExtrudex( Vec vector, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int collapse){
 
 	double* vector_serial=NULL;
Index: /issm/trunk/src/c/modules/VecExtrudex/VecExtrudex.h
===================================================================
--- /issm/trunk/src/c/modules/VecExtrudex/VecExtrudex.h	(revision 4210)
+++ /issm/trunk/src/c/modules/VecExtrudex/VecExtrudex.h	(revision 4211)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void VecExtrudex( Vec vector, DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int collapse);
+void VecExtrudex( Vec vector, DataSet* elements,Nodes* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,int collapse);
 
 #endif  /* _VECEXTRUDEX_H */
Index: /issm/trunk/src/c/objects/FemModel.h
===================================================================
--- /issm/trunk/src/c/objects/FemModel.h	(revision 4210)
+++ /issm/trunk/src/c/objects/FemModel.h	(revision 4211)
@@ -28,5 +28,5 @@
 		
 		DataSet*            elements; //elements (one set for all analyses)
-		DataSet*            nodes; //one set of nodes
+		Nodes*            nodes; //one set of nodes
 		DataSet*            vertices; //one set of vertices
 		DataSet*            constraints; //one set of constraints. each constraint knows which analysis_type it handles
Index: /issm/trunk/src/c/solutions/balancedthickness.cpp
===================================================================
--- /issm/trunk/src/c/solutions/balancedthickness.cpp	(revision 4210)
+++ /issm/trunk/src/c/solutions/balancedthickness.cpp	(revision 4211)
@@ -84,5 +84,5 @@
 
 		_printf_("write results to disk:\n");
-		OutputResultsx(femmodel->elements, femmodel->loads, femmodel->nodes, femmodel->vertices, femmodel->materials, femmodel->parameters,femmodel->results);
+		OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
 	}
 	else{
Index: /issm/trunk/src/c/solutions/balancedthickness2.cpp
===================================================================
--- /issm/trunk/src/c/solutions/balancedthickness2.cpp	(revision 4210)
+++ /issm/trunk/src/c/solutions/balancedthickness2.cpp	(revision 4211)
@@ -82,5 +82,5 @@
 
 		_printf_("write results to disk:\n");
-		OutputResultsx(femmodel->elements, femmodel->loads, femmodel->nodes, femmodel->vertices, femmodel->materials, femmodel->parameters,femmodel->results);
+		OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
 
 	}
Index: /issm/trunk/src/c/solutions/balancedvelocities.cpp
===================================================================
--- /issm/trunk/src/c/solutions/balancedvelocities.cpp	(revision 4210)
+++ /issm/trunk/src/c/solutions/balancedvelocities.cpp	(revision 4211)
@@ -85,5 +85,5 @@
 
 		_printf_("write results to disk:\n");
-		OutputResultsx(femmodel->elements, femmodel->loads, femmodel->nodes, femmodel->vertices, femmodel->materials, femmodel->parameters,femmodel->results);
+		OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
 
 	}
Index: /issm/trunk/src/c/solutions/bedslope.cpp
===================================================================
--- /issm/trunk/src/c/solutions/bedslope.cpp	(revision 4210)
+++ /issm/trunk/src/c/solutions/bedslope.cpp	(revision 4211)
@@ -86,5 +86,5 @@
 
 		_printf_("write results to disk:\n");
-		OutputResultsx(femmodel->elements, femmodel->loads, femmodel->nodes, femmodel->vertices, femmodel->materials, femmodel->parameters,femmodel->results);
+		OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
 	}
 	else{
Index: /issm/trunk/src/c/solutions/controlrestart.cpp
===================================================================
--- /issm/trunk/src/c/solutions/controlrestart.cpp	(revision 4210)
+++ /issm/trunk/src/c/solutions/controlrestart.cpp	(revision 4211)
@@ -22,5 +22,5 @@
 
 	/*write to disk: */
-	OutputResultsx(femmodel->elements, femmodel->loads, femmodel->nodes, femmodel->vertices, femmodel->materials, femmodel->parameters,femmodel->results);
+	OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
 
 }
Index: /issm/trunk/src/c/solutions/diagnostic.cpp
===================================================================
--- /issm/trunk/src/c/solutions/diagnostic.cpp	(revision 4210)
+++ /issm/trunk/src/c/solutions/diagnostic.cpp	(revision 4211)
@@ -96,5 +96,5 @@
 
 		_printf_("write results to disk:\n");
-		OutputResultsx(femmodel->elements, femmodel->loads, femmodel->nodes, femmodel->vertices, femmodel->materials, femmodel->parameters,femmodel->results);
+		OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
 	}
 	else{
Index: /issm/trunk/src/c/solutions/prognostic.cpp
===================================================================
--- /issm/trunk/src/c/solutions/prognostic.cpp	(revision 4210)
+++ /issm/trunk/src/c/solutions/prognostic.cpp	(revision 4211)
@@ -86,5 +86,5 @@
 		
 		_printf_("write results to disk:\n");
-		OutputResultsx(femmodel->elements, femmodel->loads, femmodel->nodes, femmodel->vertices, femmodel->materials, femmodel->parameters,femmodel->results);
+		OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
 
 	}
Index: /issm/trunk/src/c/solutions/prognostic2.cpp
===================================================================
--- /issm/trunk/src/c/solutions/prognostic2.cpp	(revision 4210)
+++ /issm/trunk/src/c/solutions/prognostic2.cpp	(revision 4211)
@@ -85,5 +85,5 @@
 
 		_printf_("write results to disk:\n");
-		OutputResultsx(femmodel->elements, femmodel->loads, femmodel->nodes, femmodel->vertices, femmodel->materials, femmodel->parameters,femmodel->results);
+		OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
 
 	}
Index: /issm/trunk/src/c/solutions/steadystate.cpp
===================================================================
--- /issm/trunk/src/c/solutions/steadystate.cpp	(revision 4210)
+++ /issm/trunk/src/c/solutions/steadystate.cpp	(revision 4211)
@@ -103,5 +103,5 @@
 
 		_printf_("write results to disk:\n");
-		OutputResultsx(femmodel->elements, femmodel->loads, femmodel->nodes, femmodel->vertices, femmodel->materials, femmodel->parameters,femmodel->results);
+		OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
 
 	}
Index: /issm/trunk/src/c/solutions/surfaceslope.cpp
===================================================================
--- /issm/trunk/src/c/solutions/surfaceslope.cpp	(revision 4210)
+++ /issm/trunk/src/c/solutions/surfaceslope.cpp	(revision 4211)
@@ -86,5 +86,5 @@
 
 		_printf_("write results to disk:\n");
-		OutputResultsx(femmodel->elements, femmodel->loads, femmodel->nodes, femmodel->vertices, femmodel->materials, femmodel->parameters,femmodel->results);
+		OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
 	}
 	else{
Index: /issm/trunk/src/c/solutions/thermal.cpp
===================================================================
--- /issm/trunk/src/c/solutions/thermal.cpp	(revision 4210)
+++ /issm/trunk/src/c/solutions/thermal.cpp	(revision 4211)
@@ -88,5 +88,5 @@
 		
 		_printf_("write results to disk:\n");
-		OutputResultsx(femmodel->elements, femmodel->loads, femmodel->nodes, femmodel->vertices, femmodel->materials, femmodel->parameters,femmodel->results);
+		OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
 
 	}
Index: /issm/trunk/src/c/solutions/transient2d.cpp
===================================================================
--- /issm/trunk/src/c/solutions/transient2d.cpp	(revision 4210)
+++ /issm/trunk/src/c/solutions/transient2d.cpp	(revision 4211)
@@ -82,5 +82,5 @@
 	
 		_printf_("write results to disk:\n");
-		OutputResultsx(femmodel->elements, femmodel->loads, femmodel->nodes, femmodel->vertices, femmodel->materials, femmodel->parameters,femmodel->results);
+		OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
 	}
 	else{
Index: /issm/trunk/src/c/solutions/transient3d.cpp
===================================================================
--- /issm/trunk/src/c/solutions/transient3d.cpp	(revision 4210)
+++ /issm/trunk/src/c/solutions/transient3d.cpp	(revision 4211)
@@ -82,5 +82,5 @@
 	
 		_printf_("write results to disk:\n");
-		OutputResultsx(femmodel->elements, femmodel->loads, femmodel->nodes, femmodel->vertices, femmodel->materials, femmodel->parameters,femmodel->results);
+		OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
 	}
 	else{
Index: /issm/trunk/src/c/solutions/transient3d_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/transient3d_core.cpp	(revision 4210)
+++ /issm/trunk/src/c/solutions/transient3d_core.cpp	(revision 4211)
@@ -70,5 +70,5 @@
 		if (step%5==0){
 			if(verbose)_printf_("%s","      saving temporary results...");
-			OutputResultsx(femmodel->elements, femmodel->loads, femmodel->nodes, femmodel->vertices, femmodel->materials, femmodel->parameters,femmodel->results);
+			OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
 		}
 	}
Index: /issm/trunk/src/mex/BuildNodeSets/BuildNodeSets.cpp
===================================================================
--- /issm/trunk/src/mex/BuildNodeSets/BuildNodeSets.cpp	(revision 4210)
+++ /issm/trunk/src/mex/BuildNodeSets/BuildNodeSets.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 
 	/*input datasets: */
-	DataSet*     nodes=NULL;
+	Nodes*     nodes=NULL;
 	int analysis_type;
 
@@ -25,5 +25,5 @@
 
 	/*Input datasets: */
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&analysis_type,ANALYSISTYPE);
 	
Index: /issm/trunk/src/mex/ComputeBasalStress/ComputeBasalStress.cpp
===================================================================
--- /issm/trunk/src/mex/ComputeBasalStress/ComputeBasalStress.cpp	(revision 4210)
+++ /issm/trunk/src/mex/ComputeBasalStress/ComputeBasalStress.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL; 
+	Nodes* nodes=NULL; 
 	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
@@ -32,5 +32,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
Index: /issm/trunk/src/mex/ComputePressure/ComputePressure.cpp
===================================================================
--- /issm/trunk/src/mex/ComputePressure/ComputePressure.cpp	(revision 4210)
+++ /issm/trunk/src/mex/ComputePressure/ComputePressure.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL; 
+	Nodes* nodes=NULL; 
 	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
@@ -32,5 +32,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
Index: /issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.cpp
===================================================================
--- /issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.cpp	(revision 4210)
+++ /issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.cpp	(revision 4211)
@@ -13,5 +13,5 @@
 	DataSet* elements=NULL;
 	DataSet* loads=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* materials=NULL;
@@ -29,5 +29,5 @@
 	FetchData(&elements,ELEMENTSIN);
 	FetchData(&loads,LOADSIN);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&materials,MATERIALS);
Index: /issm/trunk/src/mex/CostFunction/CostFunction.cpp
===================================================================
--- /issm/trunk/src/mex/CostFunction/CostFunction.cpp	(revision 4210)
+++ /issm/trunk/src/mex/CostFunction/CostFunction.cpp	(revision 4211)
@@ -13,5 +13,5 @@
 	DataSet* elements=NULL;
 	DataSet* loads=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* materials=NULL;
@@ -29,5 +29,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
Index: /issm/trunk/src/mex/Du/Du.cpp
===================================================================
--- /issm/trunk/src/mex/Du/Du.cpp	(revision 4210)
+++ /issm/trunk/src/mex/Du/Du.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
@@ -29,5 +29,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
Index: /issm/trunk/src/mex/FieldAverageOntoVertices/FieldAverageOntoVertices.cpp
===================================================================
--- /issm/trunk/src/mex/FieldAverageOntoVertices/FieldAverageOntoVertices.cpp	(revision 4210)
+++ /issm/trunk/src/mex/FieldAverageOntoVertices/FieldAverageOntoVertices.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
@@ -27,5 +27,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
Index: /issm/trunk/src/mex/FieldDepthAverage/FieldDepthAverage.cpp
===================================================================
--- /issm/trunk/src/mex/FieldDepthAverage/FieldDepthAverage.cpp	(revision 4210)
+++ /issm/trunk/src/mex/FieldDepthAverage/FieldDepthAverage.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
@@ -28,5 +28,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
Index: /issm/trunk/src/mex/GetSolutionFromInputs/GetSolutionFromInputs.cpp
===================================================================
--- /issm/trunk/src/mex/GetSolutionFromInputs/GetSolutionFromInputs.cpp	(revision 4210)
+++ /issm/trunk/src/mex/GetSolutionFromInputs/GetSolutionFromInputs.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
@@ -29,5 +29,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTSIN);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADSIN);
Index: /issm/trunk/src/mex/Gradj/Gradj.cpp
===================================================================
--- /issm/trunk/src/mex/Gradj/Gradj.cpp	(revision 4210)
+++ /issm/trunk/src/mex/Gradj/Gradj.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 	/*input datasets: */
 	DataSet    *elements     = NULL;
-	DataSet    *nodes        = NULL;
+	Nodes      *nodes        = NULL;
 	DataSet    *vertices     = NULL;
 	DataSet    *loads        = NULL;
@@ -31,5 +31,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
Index: /issm/trunk/src/mex/InputControlConstrain/InputControlConstrain.cpp
===================================================================
--- /issm/trunk/src/mex/InputControlConstrain/InputControlConstrain.cpp	(revision 4210)
+++ /issm/trunk/src/mex/InputControlConstrain/InputControlConstrain.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 /*input datasets: */
 DataSet    *elements          = NULL;
-DataSet    *nodes             = NULL;
+Nodes      *nodes             = NULL;
 DataSet    *vertices          = NULL;
 DataSet    *loads             = NULL;
@@ -29,5 +29,5 @@
 /*Input datasets: */
 FetchData(&elements,ELEMENTSIN);
-FetchData(&nodes,NODESIN);
+FetchData((DataSet**)&nodes,NODESIN);
 FetchData(&vertices,VERTICESIN);
 FetchData(&loads,LOADSIN);
Index: /issm/trunk/src/mex/InputDepthAverage/InputDepthAverage.cpp
===================================================================
--- /issm/trunk/src/mex/InputDepthAverage/InputDepthAverage.cpp	(revision 4210)
+++ /issm/trunk/src/mex/InputDepthAverage/InputDepthAverage.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 /*input datasets: */
 DataSet    *elements          = NULL;
-DataSet    *nodes             = NULL;
+Nodes       *nodes             = NULL;
 DataSet    *vertices          = NULL;
 DataSet    *loads             = NULL;
@@ -28,5 +28,5 @@
 /*Input datasets: */
 FetchData(&elements,ELEMENTSIN);
-FetchData(&nodes,NODESIN);
+FetchData((DataSet**)&nodes,NODESIN);
 FetchData(&vertices,VERTICESIN);
 FetchData(&loads,LOADSIN);
Index: /issm/trunk/src/mex/InputDuplicate/InputDuplicate.cpp
===================================================================
--- /issm/trunk/src/mex/InputDuplicate/InputDuplicate.cpp	(revision 4210)
+++ /issm/trunk/src/mex/InputDuplicate/InputDuplicate.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
@@ -27,5 +27,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
Index: /issm/trunk/src/mex/InputExtrude/InputExtrude.cpp
===================================================================
--- /issm/trunk/src/mex/InputExtrude/InputExtrude.cpp	(revision 4210)
+++ /issm/trunk/src/mex/InputExtrude/InputExtrude.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
@@ -27,5 +27,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
Index: /issm/trunk/src/mex/InputScale/InputScale.cpp
===================================================================
--- /issm/trunk/src/mex/InputScale/InputScale.cpp	(revision 4210)
+++ /issm/trunk/src/mex/InputScale/InputScale.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
@@ -28,5 +28,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
Index: /issm/trunk/src/mex/InputToResult/InputToResult.cpp
===================================================================
--- /issm/trunk/src/mex/InputToResult/InputToResult.cpp	(revision 4210)
+++ /issm/trunk/src/mex/InputToResult/InputToResult.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
@@ -28,5 +28,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
Index: /issm/trunk/src/mex/InputUpdateFromConstant/InputUpdateFromConstant.cpp
===================================================================
--- /issm/trunk/src/mex/InputUpdateFromConstant/InputUpdateFromConstant.cpp	(revision 4210)
+++ /issm/trunk/src/mex/InputUpdateFromConstant/InputUpdateFromConstant.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 /*input datasets: */
 DataSet* elements=NULL;
-DataSet* nodes=NULL;
+Nodes* nodes=NULL;
 DataSet* vertices=NULL;
 DataSet* loads=NULL;
@@ -28,5 +28,5 @@
 /*Input datasets: */
 FetchData(&elements,ELEMENTSIN);
-FetchData(&nodes,NODESIN);
+FetchData((DataSet**)&nodes,NODESIN);
 FetchData(&vertices,VERTICESIN);
 FetchData(&loads,LOADSIN);
Index: /issm/trunk/src/mex/InputUpdateFromSolution/InputUpdateFromSolution.cpp
===================================================================
--- /issm/trunk/src/mex/InputUpdateFromSolution/InputUpdateFromSolution.cpp	(revision 4210)
+++ /issm/trunk/src/mex/InputUpdateFromSolution/InputUpdateFromSolution.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 /*input datasets: */
 DataSet* elements=NULL;
-DataSet* nodes=NULL;
+Nodes* nodes=NULL;
 DataSet* vertices=NULL;
 DataSet* loads=NULL;
@@ -27,5 +27,5 @@
 /*Input datasets: */
 FetchData(&elements,ELEMENTSIN);
-FetchData(&nodes,NODESIN);
+FetchData((DataSet**)&nodes,NODESIN);
 FetchData(&vertices,VERTICESIN);
 FetchData(&loads,LOADSIN);
Index: /issm/trunk/src/mex/InputUpdateFromVector/InputUpdateFromVector.cpp
===================================================================
--- /issm/trunk/src/mex/InputUpdateFromVector/InputUpdateFromVector.cpp	(revision 4210)
+++ /issm/trunk/src/mex/InputUpdateFromVector/InputUpdateFromVector.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 /*input datasets: */
 DataSet* elements=NULL;
-DataSet* nodes=NULL;
+Nodes* nodes=NULL;
 DataSet* vertices=NULL;
 DataSet* loads=NULL;
@@ -30,5 +30,5 @@
 /*Input datasets: */
 FetchData(&elements,ELEMENTSIN);
-FetchData(&nodes,NODESIN);
+FetchData((DataSet**)&nodes,NODESIN);
 FetchData(&vertices,VERTICESIN);
 FetchData(&loads,LOADSIN);
Index: /issm/trunk/src/mex/MassFlux/MassFlux.cpp
===================================================================
--- /issm/trunk/src/mex/MassFlux/MassFlux.cpp	(revision 4210)
+++ /issm/trunk/src/mex/MassFlux/MassFlux.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
@@ -32,5 +32,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
Index: /issm/trunk/src/mex/Misfit/Misfit.cpp
===================================================================
--- /issm/trunk/src/mex/Misfit/Misfit.cpp	(revision 4210)
+++ /issm/trunk/src/mex/Misfit/Misfit.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
@@ -29,5 +29,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
Index: /issm/trunk/src/mex/ModelProcessor/ModelProcessor.cpp
===================================================================
--- /issm/trunk/src/mex/ModelProcessor/ModelProcessor.cpp	(revision 4210)
+++ /issm/trunk/src/mex/ModelProcessor/ModelProcessor.cpp	(revision 4211)
@@ -18,5 +18,5 @@
 	/* output datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* constraints=NULL;
Index: /issm/trunk/src/mex/MpcNodes/MpcNodes.cpp
===================================================================
--- /issm/trunk/src/mex/MpcNodes/MpcNodes.cpp	(revision 4210)
+++ /issm/trunk/src/mex/MpcNodes/MpcNodes.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 
 	/*input datasets: */
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* constraints=NULL;
 	int      analysis_type;
@@ -26,5 +26,5 @@
 
 	/*Input datasets: */
-	FetchData(&nodes,NODESIN);
+	FetchData((DataSet**)&nodes,NODESIN);
 	FetchData(&constraints,CONSTRAINTS);
 	FetchData(&analysis_type,ANALYSISTYPE);
Index: /issm/trunk/src/mex/NodesDof/NodesDof.cpp
===================================================================
--- /issm/trunk/src/mex/NodesDof/NodesDof.cpp	(revision 4210)
+++ /issm/trunk/src/mex/NodesDof/NodesDof.cpp	(revision 4211)
@@ -8,5 +8,5 @@
 
 	/*input datasets: */
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	Parameters* parameters=NULL;
 
@@ -18,5 +18,5 @@
 
 	/*Input datasets: */
-	FetchData(&nodes,NODESIN);
+	FetchData((DataSet**)&nodes,NODESIN);
 	FetchParams(&parameters,PARAMETERS);
 
Index: /issm/trunk/src/mex/OutputResults/OutputResults.cpp
===================================================================
--- /issm/trunk/src/mex/OutputResults/OutputResults.cpp	(revision 4210)
+++ /issm/trunk/src/mex/OutputResults/OutputResults.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes*   nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
@@ -30,5 +30,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
Index: /issm/trunk/src/mex/ParameterOutput/ParameterOutput.cpp
===================================================================
--- /issm/trunk/src/mex/ParameterOutput/ParameterOutput.cpp	(revision 4210)
+++ /issm/trunk/src/mex/ParameterOutput/ParameterOutput.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* loads=NULL;
 	DataSet* materials=NULL;
@@ -31,5 +31,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&loads,LOADS);
 	FetchData(&materials,MATERIALS);
Index: /issm/trunk/src/mex/PenaltyConstraints/PenaltyConstraints.cpp
===================================================================
--- /issm/trunk/src/mex/PenaltyConstraints/PenaltyConstraints.cpp	(revision 4210)
+++ /issm/trunk/src/mex/PenaltyConstraints/PenaltyConstraints.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
@@ -30,5 +30,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADSIN);
Index: /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.cpp
===================================================================
--- /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.cpp	(revision 4210)
+++ /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.cpp	(revision 4211)
@@ -17,5 +17,5 @@
 	Vec      pg=NULL;
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
@@ -34,5 +34,5 @@
 	FetchData(&pg,PGIN);
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
Index: /issm/trunk/src/mex/Qmu/Qmu.cpp
===================================================================
--- /issm/trunk/src/mex/Qmu/Qmu.cpp	(revision 4210)
+++ /issm/trunk/src/mex/Qmu/Qmu.cpp	(revision 4211)
@@ -36,5 +36,5 @@
 
 	/*Fetch parameters from femmodel structure: */
-	FetchData(&parameters,PARAMETERS);
+	FetchParams(&parameters,PARAMETERS);
 
 	/*!Generate internal degree of freedom numbers: */
Index: /issm/trunk/src/mex/Qmu/Qmu.h
===================================================================
--- /issm/trunk/src/mex/Qmu/Qmu.h	(revision 4210)
+++ /issm/trunk/src/mex/Qmu/Qmu.h	(revision 4211)
@@ -20,4 +20,5 @@
 /* serial input macros: */
 #define FEMMODEL (mxArray*)prhs[0]
+#define PARAMETERS (mxArray*)prhs[1]
 
 /* serial output macros: */
@@ -27,5 +28,5 @@
 #define NLHS  0
 #undef NRHS
-#define NRHS  1
+#define NRHS  2
 
 
Index: /issm/trunk/src/mex/SpcNodes/SpcNodes.cpp
===================================================================
--- /issm/trunk/src/mex/SpcNodes/SpcNodes.cpp	(revision 4210)
+++ /issm/trunk/src/mex/SpcNodes/SpcNodes.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 
 	/*input datasets: */
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* constraints=NULL;
 	int      analysis_type;
@@ -26,5 +26,5 @@
 
 	/*Input datasets: */
-	FetchData(&nodes,NODESIN);
+	FetchData((DataSet**)&nodes,NODESIN);
 	FetchData(&constraints,CONSTRAINTS);
 	FetchData(&analysis_type,ANALYSISTYPE);
Index: /issm/trunk/src/mex/SystemMatrices/SystemMatrices.cpp
===================================================================
--- /issm/trunk/src/mex/SystemMatrices/SystemMatrices.cpp	(revision 4210)
+++ /issm/trunk/src/mex/SystemMatrices/SystemMatrices.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 	/*input datasets: */
 	DataSet* elements=NULL;
-	DataSet* nodes=NULL;
+	Nodes* nodes=NULL;
 	DataSet* vertices=NULL;
 	DataSet* loads=NULL;
@@ -31,5 +31,5 @@
 	/*Input datasets: */
 	FetchData(&elements,ELEMENTS);
-	FetchData(&nodes,NODES);
+	FetchData((DataSet**)&nodes,NODES);
 	FetchData(&vertices,VERTICES);
 	FetchData(&loads,LOADS);
Index: /issm/trunk/src/mex/UpdateGeometry/UpdateGeometry.cpp
===================================================================
--- /issm/trunk/src/mex/UpdateGeometry/UpdateGeometry.cpp	(revision 4210)
+++ /issm/trunk/src/mex/UpdateGeometry/UpdateGeometry.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 /*input datasets: */
 DataSet    *elements          = NULL;
-DataSet    *nodes             = NULL;
+Nodes      *nodes             = NULL;
 DataSet    *vertices          = NULL;
 DataSet    *loads             = NULL;
@@ -26,5 +26,5 @@
 /*Input datasets: */
 FetchData(&elements,ELEMENTSIN);
-FetchData(&nodes,NODESIN);
+FetchData((DataSet**)&nodes,NODESIN);
 FetchData(&vertices,VERTICESIN);
 FetchData(&loads,LOADSIN);
Index: /issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.cpp
===================================================================
--- /issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.cpp	(revision 4210)
+++ /issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.cpp	(revision 4211)
@@ -12,5 +12,5 @@
 /*input datasets: */
 DataSet    *elements          = NULL;
-DataSet    *nodes             = NULL;
+Nodes      *nodes             = NULL;
 DataSet    *vertices          = NULL;
 DataSet    *loads             = NULL;
@@ -26,5 +26,5 @@
 /*Input datasets: */
 FetchData(&elements,ELEMENTSIN);
-FetchData(&nodes,NODESIN);
+FetchData((DataSet**)&nodes,NODESIN);
 FetchData(&vertices,VERTICESIN);
 FetchData(&loads,LOADSIN);
