Index: /issm/trunk/src/c/DataSet/DataSet.cpp
===================================================================
--- /issm/trunk/src/c/DataSet/DataSet.cpp	(revision 4217)
+++ /issm/trunk/src/c/DataSet/DataSet.cpp	(revision 4218)
@@ -565,5 +565,5 @@
 /*Objects methods*/
 /*FUNCTION DataSet::Configure{{{1*/
-void DataSet::Configure(Elements* elements,Loads* loads, DataSet* nodes, Vertices* vertices, DataSet* materials,Parameters* parameters){
+void DataSet::Configure(Elements* elements,Loads* loads, DataSet* nodes, Vertices* vertices, Materials* materials,Parameters* parameters){
 
 	vector<Object*>::iterator object;
Index: /issm/trunk/src/c/DataSet/DataSet.h
===================================================================
--- /issm/trunk/src/c/DataSet/DataSet.h	(revision 4217)
+++ /issm/trunk/src/c/DataSet/DataSet.h	(revision 4218)
@@ -12,4 +12,6 @@
 
 /*forward declarations */
+class Constraints;
+class Materials;
 class Parameters;
 class Elements;
@@ -70,5 +72,5 @@
 		void  FlagNodeSets(Vec pv_g, Vec pv_m, Vec pv_n, Vec pv_f, Vec pv_s,int analysis_type);
 		void  clear();
-		void  Configure(Elements* elements,Loads* loads, DataSet* nodes, Vertices* vertices, DataSet* materials,Parameters* parameters);
+		void  Configure(Elements* elements,Loads* loads, DataSet* nodes, Vertices* vertices, Materials* materials,Parameters* parameters);
 		Object* GetObjectByOffset(int offset);
 		Object* GetObjectById(int* poffset,int eid);
@@ -218,5 +220,19 @@
 };
 
-
+/********************************************************MATERIALS************************************************/
+
+class Materials: public DataSet{
+
+	public:
+
+		/*constructors, destructors: {{{1*/
+		Materials();
+		Materials(int enum_type);
+		~Materials();
+		/*}}}*/
+		/*numerics: {{{1*/
+		/*}}}*/
+
+};
 
 
Index: /issm/trunk/src/c/DataSet/Materials.cpp
===================================================================
--- /issm/trunk/src/c/DataSet/Materials.cpp	(revision 4218)
+++ /issm/trunk/src/c/DataSet/Materials.cpp	(revision 4218)
@@ -0,0 +1,44 @@
+/*
+ * \file Materials.c
+ * \brief: implementation of the Materials 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 Materials::Materials(){{{1*/
+Materials::Materials(){
+	return;
+}
+/*}}}*/
+/*FUNCTION Materials::Materials(int in_enum){{{1*/
+Materials::Materials(int in_enum): DataSet(in_enum){
+	//do nothing;
+	return;
+}
+/*}}}*/
+/*FUNCTION Materials::~Materials(){{{1*/
+Materials::~Materials(){
+	return;
+}
+/*}}}*/
+
+/*Object management*/
Index: /issm/trunk/src/c/Makefile.am
===================================================================
--- /issm/trunk/src/c/Makefile.am	(revision 4217)
+++ /issm/trunk/src/c/Makefile.am	(revision 4218)
@@ -209,4 +209,5 @@
 					./DataSet/Elements.cpp\
 					./DataSet/Constraints.cpp\
+					./DataSet/Materials.cpp\
 					./shared/shared.h\
 					./shared/Alloc/alloc.h\
@@ -740,4 +741,5 @@
 					./DataSet/Elements.cpp\
 					./DataSet/Constraints.cpp\
+					./DataSet/Materials.cpp\
 					./shared/shared.h\
 					./shared/Threads/issm_threads.h\
Index: /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.cpp
===================================================================
--- /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void	ComputeBasalStressx( Vec* psigma,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,Parameters* parameters){
+void	ComputeBasalStressx( Vec* psigma,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,Parameters* parameters){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.h
===================================================================
--- /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void	ComputeBasalStressx( Vec* pp_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,  Parameters* parameters,
+void	ComputeBasalStressx( Vec* pp_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/ComputePressurex/ComputePressurex.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void	ComputePressurex( Vec* pp_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,Parameters* parameters){
+void	ComputePressurex( Vec* pp_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,Parameters* parameters){
 
 	/*intermediary*/
Index: /issm/trunk/src/c/modules/ComputePressurex/ComputePressurex.h
===================================================================
--- /issm/trunk/src/c/modules/ComputePressurex/ComputePressurex.h	(revision 4217)
+++ /issm/trunk/src/c/modules/ComputePressurex/ComputePressurex.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void	ComputePressurex( Vec* pp_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,  Parameters* parameters,
+void	ComputePressurex( Vec* pp_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void	ComputeStrainRatex( Vec* peps,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,Parameters* parameters){
+void	ComputeStrainRatex( Vec* peps,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,Parameters* parameters){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.h
===================================================================
--- /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.h	(revision 4217)
+++ /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void	ComputeStrainRatex(Vec* eps_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,  Parameters* parameters,
+void	ComputeStrainRatex(Vec* eps_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-int	ConfigureObjectsx( Elements* elements, Loads* loads, Nodes* nodes, Vertices* vertices, DataSet* materials,Parameters* parameters){
+int	ConfigureObjectsx( Elements* elements, Loads* loads, Nodes* nodes, Vertices* vertices, Materials* materials,Parameters* parameters){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.h
===================================================================
--- /issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.h	(revision 4218)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-int ConfigureObjectsx( Elements* elements, Loads* loads, Nodes* nodes, Vertices* vertices, DataSet* materials, Parameters* parameters);
+int ConfigureObjectsx( Elements* elements, Loads* loads, Nodes* nodes, Vertices* vertices, Materials* materials, Parameters* parameters);
 
 #endif  /* _CONFIGUREOBJECTSX_H */
Index: /issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.cpp
===================================================================
--- /issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.cpp	(revision 4218)
@@ -11,5 +11,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void CostFunctionx( double* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials,Parameters* parameters){
+void CostFunctionx( double* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.h
===================================================================
--- /issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void CostFunctionx( double* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters);
+void CostFunctionx( double* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif  /* _MISFITX_H */
Index: /issm/trunk/src/c/modules/Dux/Dux.cpp
===================================================================
--- /issm/trunk/src/c/modules/Dux/Dux.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/Dux/Dux.cpp	(revision 4218)
@@ -11,5 +11,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void Dux( Vec* pdu_g, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters){
+void Dux( Vec* pdu_g, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/Dux/Dux.h
===================================================================
--- /issm/trunk/src/c/modules/Dux/Dux.h	(revision 4217)
+++ /issm/trunk/src/c/modules/Dux/Dux.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void Dux( Vec* pdu_g, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters);
+void Dux( Vec* pdu_g, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 #endif  /* _DUX_H */
 
Index: /issm/trunk/src/c/modules/FieldAverageOntoVerticesx/FieldAverageOntoVerticesx.cpp
===================================================================
--- /issm/trunk/src/c/modules/FieldAverageOntoVerticesx/FieldAverageOntoVerticesx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/FieldAverageOntoVerticesx/FieldAverageOntoVerticesx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void FieldAverageOntoVerticesx(Vec* pfield, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters){
+void FieldAverageOntoVerticesx(Vec* pfield, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/FieldAverageOntoVerticesx/FieldAverageOntoVerticesx.h
===================================================================
--- /issm/trunk/src/c/modules/FieldAverageOntoVerticesx/FieldAverageOntoVerticesx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/FieldAverageOntoVerticesx/FieldAverageOntoVerticesx.h	(revision 4218)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void FieldAverageOntoVerticesx(Vec* field, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters);
+void FieldAverageOntoVerticesx(Vec* field, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif  /* _FIELDDEPTHAVERAGEX_H */
Index: /issm/trunk/src/c/modules/FieldDepthAveragex/FieldDepthAveragex.cpp
===================================================================
--- /issm/trunk/src/c/modules/FieldDepthAveragex/FieldDepthAveragex.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/FieldDepthAveragex/FieldDepthAveragex.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void FieldDepthAveragex( Vec field, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,char* fieldname){
+void FieldDepthAveragex( Vec field, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,char* fieldname){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/FieldDepthAveragex/FieldDepthAveragex.h
===================================================================
--- /issm/trunk/src/c/modules/FieldDepthAveragex/FieldDepthAveragex.h	(revision 4217)
+++ /issm/trunk/src/c/modules/FieldDepthAveragex/FieldDepthAveragex.h	(revision 4218)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void FieldDepthAveragex( Vec field, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,char* fieldname);
+void FieldDepthAveragex( Vec field, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp	(revision 4218)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void	GetSolutionFromInputsx( Vec* psolution, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,  Parameters* parameters){
+void	GetSolutionFromInputsx( Vec* psolution, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,  Parameters* parameters){
 
 	/*intermediary: */
Index: /issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.h
===================================================================
--- /issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void GetSolutionFromInputsx( Vec* psolution, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,  Parameters* parameters);
+void GetSolutionFromInputsx( Vec* psolution, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,  Parameters* parameters);
 
 #endif  /* _GETSOLUTIONFROMINPUTSXX_H */
Index: /issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp
===================================================================
--- /issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp	(revision 4218)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void GetVectorFromInputsx( Vec* pvector, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters, int NameEnum, int TypeEnum){
+void GetVectorFromInputsx( Vec* pvector, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, int NameEnum, int TypeEnum){
 
 
@@ -40,5 +40,5 @@
 }
 
-void GetVectorFromInputsx( double** pvector, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters, int NameEnum, int TypeEnum){
+void GetVectorFromInputsx( double** pvector, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.h	(revision 4218)
@@ -9,6 +9,6 @@
 
 /* local prototypes: */
-void	GetVectorFromInputsx( Vec* pvector, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,  Parameters* parameters,int NameEnum,int TypeEnum);
-void	GetVectorFromInputsx( double** pvector, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,  Parameters* parameters,int NameEnum,int TypeEnum);
+void	GetVectorFromInputsx( Vec* pvector, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,  Parameters* parameters,int NameEnum,int TypeEnum);
+void	GetVectorFromInputsx( double** pvector, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/Gradjx/Gradjx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void Gradjx( Vec* pgradient, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,int control_type){
+void Gradjx( Vec* pgradient, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/Gradjx/Gradjx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void Gradjx(Vec* pgrad_g, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials,  Parameters* parameters, int control_type);
+void Gradjx(Vec* pgrad_g, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputAXPYx/InputAXPYx.cpp	(revision 4218)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputAXPYx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,DataSet* materials,Parameters* parameters,int YEnum, double scalar, int XEnum){
+void InputAXPYx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputAXPYx/InputAXPYx.h	(revision 4218)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void InputAXPYx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,DataSet* materials,Parameters* parameters,int YEnum, double scalar, int XEnum);
+void InputAXPYx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputControlConstrainx/InputControlConstrainx.cpp	(revision 4218)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputControlConstrainx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,DataSet* materials,Parameters* parameters,int control_type,double cm_min, double cm_max){
+void InputControlConstrainx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputControlConstrainx/InputControlConstrainx.h	(revision 4218)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void InputControlConstrainx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,DataSet* materials,Parameters* parameters,int control_type,double cm_min, double cm_max);
+void InputControlConstrainx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputConvergencex/InputConvergencex.cpp	(revision 4218)
@@ -8,5 +8,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-int InputConvergencex(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,DataSet* materials,Parameters* parameters,int* enums, int num_enums, int* criterionenums, double* criterionvalues,int num_criterionenums){
+int InputConvergencex(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputConvergencex/InputConvergencex.h	(revision 4218)
@@ -8,5 +8,5 @@
 
 /* local prototypes: */
-int InputConvergencex(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,DataSet* materials,Parameters* parameters,int* enums, int num_enums, int* criterionenums, double* criterionvalues,int num_criterionenums);
+int InputConvergencex(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputDepthAveragex/InputDepthAveragex.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputDepthAveragex( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,int enum_type,int average_enum_type){
+void InputDepthAveragex( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputDepthAveragex/InputDepthAveragex.h	(revision 4218)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void InputDepthAveragex( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,int enum_type,int average_enum_type);
+void InputDepthAveragex( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputDuplicatex/InputDuplicatex.cpp	(revision 4218)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputDuplicatex(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,DataSet* materials,Parameters* parameters,int original_enum, int new_enum){
+void InputDuplicatex(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputDuplicatex/InputDuplicatex.h	(revision 4218)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void InputDuplicatex(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,DataSet* materials,Parameters* parameters,int reinitialized_enum, int original_enum);
+void InputDuplicatex(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputExtrudex/InputExtrudex.cpp	(revision 4218)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputExtrudex( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,int enum_type){
+void InputExtrudex( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputExtrudex/InputExtrudex.h	(revision 4218)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void InputExtrudex( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,int enum_type);
+void InputExtrudex( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputScalex/InputScalex.cpp	(revision 4218)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputScalex(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,DataSet* materials,Parameters* parameters,int enum_type, double scale_factor){
+void InputScalex(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputScalex/InputScalex.h	(revision 4218)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void InputScalex(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,DataSet* materials,Parameters* parameters,int enum_type, double scale_factor);
+void InputScalex(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputToResultx/InputToResultx.cpp	(revision 4218)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputToResultx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,DataSet* materials,Parameters* parameters,int enum_type,int step, double time){
+void InputToResultx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputToResultx/InputToResultx.h	(revision 4218)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void InputToResultx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,DataSet* materials,Parameters* parameters,int enum_type,int step=1, double time=0);
+void InputToResultx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp	(revision 4218)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputUpdateFromConstantx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,bool   constant, int name){
+void InputUpdateFromConstantx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,bool   constant, int name){
 
 	int i;
@@ -30,5 +30,5 @@
 	}
 }
-void InputUpdateFromConstantx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,int    constant, int name){
+void InputUpdateFromConstantx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int    constant, int name){
 	
 	int i;
@@ -51,5 +51,5 @@
 	}
 }
-void InputUpdateFromConstantx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,double constant, int name){
+void InputUpdateFromConstantx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.h	(revision 4218)
@@ -10,7 +10,7 @@
 
 /* local prototypes: */
-void		InputUpdateFromConstantx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,  Parameters* parameters, bool   constant, int name);
-void		InputUpdateFromConstantx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,  Parameters* parameters, int    constant, int name);
-void		InputUpdateFromConstantx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,  Parameters* parameters, double constant, int name);
+void		InputUpdateFromConstantx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,  Parameters* parameters, bool   constant, int name);
+void		InputUpdateFromConstantx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,  Parameters* parameters, int    constant, int name);
+void		InputUpdateFromConstantx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.cpp	(revision 4218)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,Vec solution){
+void InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Vec solution){
 
 	double* serial_solution=NULL;
@@ -25,5 +25,5 @@
 
 
-void InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,double* solution){
+void InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,double* solution){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.h
===================================================================
--- /issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.h	(revision 4218)
@@ -10,10 +10,10 @@
 
 /* local prototypes: */
-void		InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,  Parameters* parameters,Vec solution);
-void        InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,double* solution);
+void		InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,  Parameters* parameters,Vec solution);
+void        InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,double* solution);
 
 //with timestep
-void		InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,  Parameters* parameters,Vec solution,int timestep);
-void        InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,double* solution, int timestep);
+void		InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,  Parameters* parameters,Vec solution,int timestep);
+void        InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.cpp	(revision 4218)
@@ -9,5 +9,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,Vec vector, int NameEnum, int TypeEnum){
+void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Vec vector, int NameEnum, int TypeEnum){
 
 	double* serial_vector=NULL;
@@ -22,5 +22,5 @@
 
 	
-void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,double* vector, int NameEnum, int TypeEnum){
+void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,double* vector, int NameEnum, int TypeEnum){
 
 	int i;
@@ -60,5 +60,5 @@
 }
 
-void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,int* vector, int NameEnum, int TypeEnum){
+void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int* vector, int NameEnum, int TypeEnum){
 	
 	int i;
@@ -98,5 +98,5 @@
 }
 
-void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,bool* vector, int NameEnum, int TypeEnum){
+void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.h	(revision 4218)
@@ -10,8 +10,8 @@
 
 /* local prototypes: */
-void	InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,  Parameters* parameters,Vec vector, int NameEnum,int TypeEnum);
-void	InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,  Parameters* parameters,double* vector, int NameEnum,int TypeEnum);
-void	InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,  Parameters* parameters,int* vector, int NameEnum,int TypeEnum);
-void	InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials,  Parameters* parameters,bool* vector, int NameEnum,int TypeEnum);
+void	InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,  Parameters* parameters,Vec vector, int NameEnum,int TypeEnum);
+void	InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,  Parameters* parameters,double* vector, int NameEnum,int TypeEnum);
+void	InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,  Parameters* parameters,int* vector, int NameEnum,int TypeEnum);
+void	InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/MassFluxx/MassFluxx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void MassFluxx(double* pmass_flux, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,DataSet* materials,Parameters* parameters,  double* segments,int num_segments){
+void MassFluxx(double* pmass_flux, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* 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 4217)
+++ /issm/trunk/src/c/modules/MassFluxx/MassFluxx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MassFluxx(double* pmass_flux, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,DataSet* materials, Parameters* parameters,double* segments,int num_segments);
+void MassFluxx(double* pmass_flux, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* 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 4217)
+++ /issm/trunk/src/c/modules/MaxAbsVxx/MaxAbsVxx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MaxAbsVxx( double* pmaxabsvx, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials,Parameters* parameters){
+void MaxAbsVxx( double* pmaxabsvx, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MaxAbsVxx/MaxAbsVxx.h
===================================================================
--- /issm/trunk/src/c/modules/MaxAbsVxx/MaxAbsVxx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/MaxAbsVxx/MaxAbsVxx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MaxAbsVxx( double* pmaxabsvx, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters);
+void MaxAbsVxx( double* pmaxabsvx, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif  /* _MAXABSVXX_H */
Index: /issm/trunk/src/c/modules/MaxAbsVyx/MaxAbsVyx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MaxAbsVyx/MaxAbsVyx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/MaxAbsVyx/MaxAbsVyx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MaxAbsVyx( double* pmaxabsvy, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials,Parameters* parameters){
+void MaxAbsVyx( double* pmaxabsvy, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MaxAbsVyx/MaxAbsVyx.h
===================================================================
--- /issm/trunk/src/c/modules/MaxAbsVyx/MaxAbsVyx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/MaxAbsVyx/MaxAbsVyx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MaxAbsVyx( double* pmaxabsvy, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters);
+void MaxAbsVyx( double* pmaxabsvy, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif  /* _MAXABSVYX_H */
Index: /issm/trunk/src/c/modules/MaxAbsVzx/MaxAbsVzx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MaxAbsVzx/MaxAbsVzx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/MaxAbsVzx/MaxAbsVzx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MaxAbsVzx( double* pmaxabsvz, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials,Parameters* parameters){
+void MaxAbsVzx( double* pmaxabsvz, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MaxAbsVzx/MaxAbsVzx.h
===================================================================
--- /issm/trunk/src/c/modules/MaxAbsVzx/MaxAbsVzx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/MaxAbsVzx/MaxAbsVzx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MaxAbsVzx( double* pmaxabsvz, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters);
+void MaxAbsVzx( double* pmaxabsvz, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif  /* _MAXABSVZX_H */
Index: /issm/trunk/src/c/modules/MaxVelx/MaxVelx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MaxVelx/MaxVelx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/MaxVelx/MaxVelx.cpp	(revision 4218)
@@ -11,5 +11,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MaxVelx( double* pmaxvel, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials,Parameters* parameters){
+void MaxVelx( double* pmaxvel, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MaxVelx/MaxVelx.h
===================================================================
--- /issm/trunk/src/c/modules/MaxVelx/MaxVelx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/MaxVelx/MaxVelx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MaxVelx( double* pmaxvel, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters);
+void MaxVelx( double* pmaxvel, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif  /* _MAXVELX_H */
Index: /issm/trunk/src/c/modules/MaxVxx/MaxVxx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MaxVxx/MaxVxx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/MaxVxx/MaxVxx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MaxVxx( double* pmaxvx, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials,Parameters* parameters){
+void MaxVxx( double* pmaxvx, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MaxVxx/MaxVxx.h
===================================================================
--- /issm/trunk/src/c/modules/MaxVxx/MaxVxx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/MaxVxx/MaxVxx.h	(revision 4218)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void MaxVxx( double* pmaxvx, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters);
+void MaxVxx( double* pmaxvx, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif  /* _MAXVXX_H */
Index: /issm/trunk/src/c/modules/MaxVyx/MaxVyx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MaxVyx/MaxVyx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/MaxVyx/MaxVyx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MaxVyx( double* pmaxvy, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials,Parameters* parameters){
+void MaxVyx( double* pmaxvy, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MaxVyx/MaxVyx.h
===================================================================
--- /issm/trunk/src/c/modules/MaxVyx/MaxVyx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/MaxVyx/MaxVyx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MaxVyx( double* pmaxvy, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters);
+void MaxVyx( double* pmaxvy, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif  /* _MAXVYX_H */
Index: /issm/trunk/src/c/modules/MaxVzx/MaxVzx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MaxVzx/MaxVzx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/MaxVzx/MaxVzx.cpp	(revision 4218)
@@ -11,5 +11,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MaxVzx( double* pmaxvz, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials,Parameters* parameters){
+void MaxVzx( double* pmaxvz, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MaxVzx/MaxVzx.h
===================================================================
--- /issm/trunk/src/c/modules/MaxVzx/MaxVzx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/MaxVzx/MaxVzx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MaxVzx( double* pmaxvz, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters);
+void MaxVzx( double* pmaxvz, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif  /* _MAXVZX_H */
Index: /issm/trunk/src/c/modules/MinVelx/MinVelx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MinVelx/MinVelx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/MinVelx/MinVelx.cpp	(revision 4218)
@@ -11,5 +11,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MinVelx( double* pminvel, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials,Parameters* parameters){
+void MinVelx( double* pminvel, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MinVelx/MinVelx.h
===================================================================
--- /issm/trunk/src/c/modules/MinVelx/MinVelx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/MinVelx/MinVelx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MinVelx( double* pminvel, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters);
+void MinVelx( double* pminvel, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif  /* _MINVELX_H */
Index: /issm/trunk/src/c/modules/MinVxx/MinVxx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MinVxx/MinVxx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/MinVxx/MinVxx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MinVxx( double* pminvx, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials,Parameters* parameters){
+void MinVxx( double* pminvx, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MinVxx/MinVxx.h
===================================================================
--- /issm/trunk/src/c/modules/MinVxx/MinVxx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/MinVxx/MinVxx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MinVxx( double* pminvx, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters);
+void MinVxx( double* pminvx, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif  /* _MINVX_H */
Index: /issm/trunk/src/c/modules/MinVyx/MinVyx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MinVyx/MinVyx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/MinVyx/MinVyx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MinVyx( double* pminvy, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials,Parameters* parameters){
+void MinVyx( double* pminvy, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MinVyx/MinVyx.h
===================================================================
--- /issm/trunk/src/c/modules/MinVyx/MinVyx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/MinVyx/MinVyx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MinVyx( double* pminvy, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters);
+void MinVyx( double* pminvy, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif  /* _MINVYX_H */
Index: /issm/trunk/src/c/modules/MinVzx/MinVzx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MinVzx/MinVzx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/MinVzx/MinVzx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void MinVzx( double* pminvz, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials,Parameters* parameters){
+void MinVzx( double* pminvz, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 	
 	int i;
Index: /issm/trunk/src/c/modules/MinVzx/MinVzx.h
===================================================================
--- /issm/trunk/src/c/modules/MinVzx/MinVzx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/MinVzx/MinVzx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void MinVzx( double* pminvz, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters);
+void MinVzx( double* pminvz, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif  /* _MINVZX_H */
Index: /issm/trunk/src/c/modules/Misfitx/Misfitx.cpp
===================================================================
--- /issm/trunk/src/c/modules/Misfitx/Misfitx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/Misfitx/Misfitx.cpp	(revision 4218)
@@ -11,5 +11,5 @@
 #include "../SurfaceAreax/SurfaceAreax.h"
 
-void Misfitx( double* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials,Parameters* parameters){
+void Misfitx( double* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 	
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/Misfitx/Misfitx.h
===================================================================
--- /issm/trunk/src/c/modules/Misfitx/Misfitx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/Misfitx/Misfitx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void Misfitx( double* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters);
+void Misfitx( double* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif  /* _MISFITX_H */
Index: /issm/trunk/src/c/modules/ModelProcessorx/CreateDataSets.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateDataSets.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateDataSets.cpp	(revision 4218)
@@ -16,5 +16,5 @@
 
 
-void CreateDataSets(Elements** pelements,Nodes** pnodes, Vertices** pvertices, DataSet** pmaterials, Constraints** pconstraints, Loads** ploads,Parameters** pparameters,IoModel* iomodel,ConstDataHandle iomodel_handle,int solution_type,int analysis_type,int nummodels,int analysis_counter){
+void CreateDataSets(Elements** pelements,Nodes** pnodes, Vertices** pvertices, Materials** pmaterials, Constraints** pconstraints, Loads** 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/CreateElementsVerticesAndMaterials.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 4218)
@@ -13,5 +13,5 @@
 #include "./ModelProcessorx.h"
 
-void	CreateElementsVerticesAndMaterials(Elements** pelements,Vertices** pvertices,DataSet** pmaterials, IoModel* iomodel,ConstDataHandle iomodel_handle,int nummodels){
+void	CreateElementsVerticesAndMaterials(Elements** pelements,Vertices** pvertices,Materials** pmaterials, IoModel* iomodel,ConstDataHandle iomodel_handle,int nummodels){
 
 	/*Intermediary*/
@@ -19,7 +19,7 @@
 
 	/*DataSets: */
-	Elements*   elements  = NULL;
-	Vertices*   vertices = NULL;
-	DataSet*    materials = NULL;
+	Elements*     elements  = NULL;
+	Vertices*     vertices = NULL;
+	Materials*    materials = NULL;
 
 	/*Did we already create the elements? : */
@@ -29,5 +29,5 @@
 	elements  = new Elements(ElementsEnum);
 	vertices  = new Vertices(VerticesEnum);
-	materials = new DataSet(MaterialsEnum);
+	materials = new Materials(MaterialsEnum);
 	
 	/*First, partition elements and vertices. Nodes will partitioned on a per analysis_type basis. If partitining already done, ignore: */
Index: /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.cpp	(revision 4218)
@@ -16,5 +16,5 @@
 #include "../../modules/modules.h"
 
-void ModelProcessorx(Elements** pelements, Nodes** pnodes, Vertices** pvertices, DataSet** pmaterials, Constraints** pconstraints, Loads** ploads, Parameters** pparameters, ConstDataHandle IOMODEL,int solution_type,int nummodels, int* analysis_type_list){
+void ModelProcessorx(Elements** pelements, Nodes** pnodes, Vertices** pvertices, Materials** pmaterials, Constraints** pconstraints, Loads** ploads, Parameters** pparameters, ConstDataHandle IOMODEL,int solution_type,int nummodels, int* analysis_type_list){
 
 	int i;
@@ -25,5 +25,5 @@
 	Nodes* nodes=NULL;
 	Vertices* vertices=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Constraints* constraints=NULL;
 	Loads* loads=NULL;
Index: /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h	(revision 4218)
@@ -13,9 +13,9 @@
 #include "../../io/io.h"
 
-void ModelProcessorx(Elements** pelements, Nodes** pnodes, Vertices** pvertices, DataSet** pmaterials, Constraints** pconstraints, Loads** ploads, Parameters** pparameters, ConstDataHandle iomodel_handle,int solution_type,int nummodels, int* analysis_type_list);
+void ModelProcessorx(Elements** pelements, Nodes** pnodes, Vertices** pvertices, Materials** pmaterials, Constraints** pconstraints, Loads** ploads, Parameters** pparameters, ConstDataHandle iomodel_handle,int solution_type,int nummodels, int* analysis_type_list);
 
 /*Creation of fem datasets: general drivers*/
-void  CreateDataSets(Elements** pelements,Nodes** pnodes,Vertices** pvertices, DataSet** pmaterials, Constraints** pconstraints, Loads** ploads,Parameters** pparameters,IoModel* iomodel,ConstDataHandle iomodel_handle,int solution_type,int analysis_type,int nummodels,int analysis_counter);
-void  CreateElementsVerticesAndMaterials(Elements** pelements,Vertices** pvertices,DataSet** pmaterials, IoModel* iomodel,ConstDataHandle iomodel_handle,int nummodels);
+void  CreateDataSets(Elements** pelements,Nodes** pnodes,Vertices** pvertices, Materials** pmaterials, Constraints** pconstraints, Loads** ploads,Parameters** pparameters,IoModel* iomodel,ConstDataHandle iomodel_handle,int solution_type,int analysis_type,int nummodels,int analysis_counter);
+void  CreateElementsVerticesAndMaterials(Elements** pelements,Vertices** pvertices,Materials** 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);
 void  CreateParametersControl(Parameters** pparameters,IoModel* iomodel,ConstDataHandle iomodel_handle,int analysis_type);
@@ -104,5 +104,5 @@
 
 /*Diverse: */
-void  SortDataSets(Elements** pelements,Nodes** pnodes,Vertices** pvertices, Loads** ploads, DataSet** pmaterials, Constraints** pconstraints, Parameters** pparameters);
+void  SortDataSets(Elements** pelements,Nodes** pnodes,Vertices** pvertices, Loads** ploads, Materials** pmaterials, Constraints** pconstraints, Parameters** pparameters);
 void  UpdateCounters(IoModel* iomodel,Nodes** pnodes,Loads** ploads, Constraints** pconstraints);
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/SortDataSets.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/SortDataSets.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/ModelProcessorx/SortDataSets.cpp	(revision 4218)
@@ -16,5 +16,5 @@
 
 
-void SortDataSets(Elements** pelements,Nodes** pnodes,Vertices** pvertices, Loads** ploads, DataSet** pmaterials, Constraints** pconstraints, Parameters** pparameters){
+void SortDataSets(Elements** pelements,Nodes** pnodes,Vertices** pvertices, Loads** ploads, Materials** pmaterials, Constraints** pconstraints, Parameters** pparameters){
 
 	Elements* elements=NULL;
@@ -22,5 +22,5 @@
 	Vertices* vertices=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Constraints* constraints=NULL;
 	Parameters* parameters=NULL;
Index: /issm/trunk/src/c/modules/OutputResultsx/ElementResultsToPatch.cpp
===================================================================
--- /issm/trunk/src/c/modules/OutputResultsx/ElementResultsToPatch.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/OutputResultsx/ElementResultsToPatch.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 #include "../../objects/objects.h"
 		
-void ElementResultsToPatch(Elements* elements,  Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,DataSet* results){
+void ElementResultsToPatch(Elements* elements,  Nodes* nodes, Vertices* vertices, Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.cpp	(revision 4218)
@@ -17,7 +17,7 @@
 		
 #ifdef _SERIAL_
-void OutputResultsx(mxArray** pdataref, Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,DataSet* results){
+void OutputResultsx(mxArray** pdataref, Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,DataSet* results){
 #else
-void OutputResultsx(                    Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,DataSet* results){
+void OutputResultsx(                    Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,DataSet* results){
 #endif
 
Index: /issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.h
===================================================================
--- /issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.h	(revision 4218)
@@ -16,13 +16,13 @@
 #ifdef _SERIAL_
 #include <mex.h>
-void OutputResultsx(mxArray** pdataref, Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads,  DataSet* materials, Parameters* parameters,DataSet* results);
+void OutputResultsx(mxArray** pdataref, Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads,  Materials* materials, Parameters* parameters,DataSet* results);
 void MatlabWriteResults(mxArray** pdataref, Parameters* parameters, DataSet* results);
 #else
-void OutputResultsx(Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads,  DataSet* materials, Parameters* parameters,DataSet* results);
+void OutputResultsx(Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads,  Materials* materials, Parameters* parameters,DataSet* results);
 void FileWriteResults(Parameters* parameters, DataSet* results);
 #endif
 
 /* local prototypes: */
-void ElementResultsToPatch(Elements* elements,  Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,DataSet* results);
+void ElementResultsToPatch(Elements* elements,  Nodes* nodes, Vertices* vertices, Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/PenaltyConstraintsx/PenaltyConstraintsx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void PenaltyConstraintsx(int* pconverged, int* pnum_unstable_constraints, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads,DataSet* materials,  Parameters* parameters){
+void PenaltyConstraintsx(int* pconverged, int* pnum_unstable_constraints, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads,Materials* materials,  Parameters* parameters){
 
 	int i;
Index: /issm/trunk/src/c/modules/PenaltyConstraintsx/PenaltyConstraintsx.h
===================================================================
--- /issm/trunk/src/c/modules/PenaltyConstraintsx/PenaltyConstraintsx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/PenaltyConstraintsx/PenaltyConstraintsx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void PenaltyConstraintsx(int* pconverged, int* pnum_unstable_constraints, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads,DataSet* materials,  Parameters* parameters); 
+void PenaltyConstraintsx(int* pconverged, int* pnum_unstable_constraints, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads,Materials* materials,  Parameters* parameters); 
 
 #endif  /* _PENALTYCONSTRAINTSX_H */
Index: /issm/trunk/src/c/modules/PenaltySystemMatricesx/PenaltySystemMatricesx.cpp
===================================================================
--- /issm/trunk/src/c/modules/PenaltySystemMatricesx/PenaltySystemMatricesx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/PenaltySystemMatricesx/PenaltySystemMatricesx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void PenaltySystemMatricesx(Mat Kgg, Vec pg,double* pkmax,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,DataSet* materials, Parameters* parameters, int kflag,int pflag){
+void PenaltySystemMatricesx(Mat Kgg, Vec pg,double* pkmax,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* 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 4217)
+++ /issm/trunk/src/c/modules/PenaltySystemMatricesx/PenaltySystemMatricesx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void PenaltySystemMatricesx(Mat Kgg, Vec pg,double* pkmax, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,DataSet* materials, Parameters* parameters, int kflag,int pflag);
+void PenaltySystemMatricesx(Mat Kgg, Vec pg,double* pkmax, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters, int kflag,int pflag);
 
 #endif  /* _PENALTYSYSTEMMATRICESX_H */
Index: /issm/trunk/src/c/modules/SurfaceAreax/SurfaceAreax.cpp
===================================================================
--- /issm/trunk/src/c/modules/SurfaceAreax/SurfaceAreax.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/SurfaceAreax/SurfaceAreax.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void SurfaceAreax( double* pS, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials,Parameters* parameters){
+void SurfaceAreax( double* pS, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
 	
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/SurfaceAreax/SurfaceAreax.h
===================================================================
--- /issm/trunk/src/c/modules/SurfaceAreax/SurfaceAreax.h	(revision 4217)
+++ /issm/trunk/src/c/modules/SurfaceAreax/SurfaceAreax.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void SurfaceAreax( double* pS, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters);
+void SurfaceAreax( double* pS, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif  /* _SURFACEAREAX_H */
Index: /issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.cpp
===================================================================
--- /issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void SystemMatricesx(Mat* pKgg, Vec* ppg,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,DataSet* materials, Parameters* parameters, int kflag,int pflag){
+void SystemMatricesx(Mat* pKgg, Vec* ppg,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* 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 4217)
+++ /issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void SystemMatricesx(Mat* pKgg, Vec* ppg,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,DataSet* materials, Parameters* parameters, int kflag,int pflag);
+void SystemMatricesx(Mat* pKgg, Vec* ppg,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* 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 4217)
+++ /issm/trunk/src/c/modules/UpdateGeometryx/UpdateGeometryx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../../DataSet/DataSet.h"
 
-void UpdateGeometryx( Elements* elements, Nodes* nodes, Vertices* vertices,Loads* loads, DataSet* materials, Parameters* parameters){
+void UpdateGeometryx( Elements* elements, Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters){
 
 	/*Intermediary*/
Index: /issm/trunk/src/c/modules/UpdateGeometryx/UpdateGeometryx.h
===================================================================
--- /issm/trunk/src/c/modules/UpdateGeometryx/UpdateGeometryx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/UpdateGeometryx/UpdateGeometryx.h	(revision 4218)
@@ -10,5 +10,5 @@
 
 /* local prototypes: */
-void UpdateGeometryx(Elements* elements, Nodes* nodes,Vertices* vertices,Loads* loads, DataSet* materials, Parameters* parameters);
+void UpdateGeometryx(Elements* elements, Nodes* nodes,Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters);
 
 #endif  /* _UPDATEGEOMETRYX_H */
Index: /issm/trunk/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp
===================================================================
--- /issm/trunk/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-int UpdateVertexPositionsx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,DataSet* materials,Parameters* parameters){
+int UpdateVertexPositionsx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters){
 
 	int i;
Index: /issm/trunk/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.h
===================================================================
--- /issm/trunk/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.h	(revision 4217)
+++ /issm/trunk/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.h	(revision 4218)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-int UpdateVertexPositionsx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,DataSet* materials,Parameters* parameters);
+int UpdateVertexPositionsx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters);
 
 #endif  /* _UPDATEVERTEXPOSITIONSXX_H */
Index: /issm/trunk/src/c/modules/VecExtrudex/VecExtrudex.cpp
===================================================================
--- /issm/trunk/src/c/modules/VecExtrudex/VecExtrudex.cpp	(revision 4217)
+++ /issm/trunk/src/c/modules/VecExtrudex/VecExtrudex.cpp	(revision 4218)
@@ -10,5 +10,5 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-void VecExtrudex( Vec vector, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,int collapse){
+void VecExtrudex( Vec vector, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* 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 4217)
+++ /issm/trunk/src/c/modules/VecExtrudex/VecExtrudex.h	(revision 4218)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void VecExtrudex( Vec vector, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, DataSet* materials, Parameters* parameters,int collapse);
+void VecExtrudex( Vec vector, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int collapse);
 
 #endif  /* _VECEXTRUDEX_H */
Index: /issm/trunk/src/c/objects/Elements/Beam.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Beam.cpp	(revision 4217)
+++ /issm/trunk/src/c/objects/Elements/Beam.cpp	(revision 4218)
@@ -67,5 +67,5 @@
 /*}}}*/
 /*FUNCTION Beam::Configure {{{1*/
-void  Beam::Configure(Elements* elementsin,Loads* loadsin, DataSet* nodesin, DataSet* materialsin, Parameters* parametersin){
+void  Beam::Configure(Elements* elementsin,Loads* loadsin, DataSet* nodesin, Materials* materialsin, Parameters* parametersin){
 
 	ISSMERROR(" not supported yet!");
Index: /issm/trunk/src/c/objects/Elements/Beam.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Beam.h	(revision 4217)
+++ /issm/trunk/src/c/objects/Elements/Beam.h	(revision 4218)
@@ -44,5 +44,5 @@
 		/*}}}*/
 		/*object management: {{{1*/
-		void  Configure(Elements* elements,Loads* loads,DataSet* nodes,DataSet* materials,Parameters* parameters);
+		void  Configure(Elements* elements,Loads* loads,DataSet* nodes,Materials* materials,Parameters* parameters);
 		void  Echo();
 		void  DeepEcho();
Index: /issm/trunk/src/c/objects/Elements/Element.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Element.h	(revision 4217)
+++ /issm/trunk/src/c/objects/Elements/Element.h	(revision 4218)
@@ -25,5 +25,5 @@
 		
 		virtual        ~Element(){};
-		virtual void   Configure(Elements* elements,Loads* loads,DataSet* nodes,DataSet* materials,Parameters* parameters)=0;
+		virtual void   Configure(Elements* elements,Loads* loads,DataSet* nodes,Materials* materials,Parameters* parameters)=0;
 		
 		virtual void   CreateKMatrix(Mat Kgg)=0;
Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 4217)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 4218)
@@ -275,5 +275,5 @@
 /*Object management: */
 /*FUNCTION Penta::Configure {{{1*/
-void  Penta::Configure(Elements* elementsin, Loads* loadsin, DataSet* nodesin, DataSet* materialsin, Parameters* parametersin){
+void  Penta::Configure(Elements* elementsin, Loads* loadsin, DataSet* nodesin, Materials* materialsin, Parameters* parametersin){
 
 	int analysis_counter;
Index: /issm/trunk/src/c/objects/Elements/Penta.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.h	(revision 4217)
+++ /issm/trunk/src/c/objects/Elements/Penta.h	(revision 4218)
@@ -49,5 +49,5 @@
 		/*}}}*/
 		/*FUNCTION object management {{{1*/
-		void  Configure(Elements* elements,Loads* loads,DataSet* nodes,DataSet* materials,Parameters* parameters);
+		void  Configure(Elements* elements,Loads* loads,DataSet* nodes,Materials* materials,Parameters* parameters);
 		Object* copy();
 		void  DeepEcho();
Index: /issm/trunk/src/c/objects/Elements/Sing.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Sing.cpp	(revision 4217)
+++ /issm/trunk/src/c/objects/Elements/Sing.cpp	(revision 4218)
@@ -39,5 +39,5 @@
 /*Object management*/
 /*FUNCTION Sing::Configure {{{1*/
-void  Sing::Configure(Elements* elementsin,Loads* loadsin, DataSet* nodesin, DataSet* materialsin, Parameters* parametersin){
+void  Sing::Configure(Elements* elementsin,Loads* loadsin, DataSet* nodesin, Materials* materialsin, Parameters* parametersin){
 
 	ISSMERROR(" not supported yet!");
Index: /issm/trunk/src/c/objects/Elements/Sing.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Sing.h	(revision 4217)
+++ /issm/trunk/src/c/objects/Elements/Sing.h	(revision 4218)
@@ -44,5 +44,5 @@
 		/*}}}*/
 		/*object management: {{{1*/
-		void  Configure(Elements* elements,Loads* loads,DataSet* nodes,DataSet* materials,Parameters* parameters);
+		void  Configure(Elements* elements,Loads* loads,DataSet* nodes,Materials* materials,Parameters* parameters);
 		Object* copy();
 		void  DeepEcho();
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 4217)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 4218)
@@ -256,5 +256,5 @@
 /*Object management: */
 /*FUNCTION Tria::Configure {{{1*/
-void  Tria::Configure(Elements* elementsin, Loads* loadsin, DataSet* nodesin, DataSet* materialsin, Parameters* parametersin){
+void  Tria::Configure(Elements* elementsin, Loads* loadsin, DataSet* nodesin, Materials* materialsin, Parameters* parametersin){
 
 	int analysis_counter;
Index: /issm/trunk/src/c/objects/Elements/Tria.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.h	(revision 4217)
+++ /issm/trunk/src/c/objects/Elements/Tria.h	(revision 4218)
@@ -44,5 +44,5 @@
 		/*}}}*/
 		/*FUNCTION object management {{{1*/
-		void  Configure(Elements* elements,Loads* loads,DataSet* nodes,DataSet* materials,Parameters* parameters);
+		void  Configure(Elements* elements,Loads* loads,DataSet* nodes,Materials* materials,Parameters* parameters);
 		Object* copy();
 		void  DeepEcho(void);
Index: /issm/trunk/src/c/objects/FemModel.h
===================================================================
--- /issm/trunk/src/c/objects/FemModel.h	(revision 4217)
+++ /issm/trunk/src/c/objects/FemModel.h	(revision 4218)
@@ -32,5 +32,5 @@
 		Constraints*        constraints; //one set of constraints. each constraint knows which analysis_type it handles
 		Loads*              loads;  //one set of constraints. each constraint knows which analysis_type it handles
-		DataSet*            materials;  //one set of materials, for each element
+		Materials*          materials;  //one set of materials, for each element
 		Parameters*         parameters; //one set of parameters, independent of the analysis_type
 		DataSet*            results; //results that cannot be fit into the elements (such as one time constants, arrays, strings, etc ...)
Index: /issm/trunk/src/c/objects/Loads/Icefront.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Icefront.cpp	(revision 4217)
+++ /issm/trunk/src/c/objects/Loads/Icefront.cpp	(revision 4218)
@@ -136,5 +136,5 @@
 /*Object marshall*/
 /*FUNCTION Icefront::Configure {{{1*/
-void  Icefront::Configure(Elements* elementsin,Loads* loadsin,DataSet* nodesin,Vertices* verticesin,DataSet* materialsin,Parameters* parametersin){
+void  Icefront::Configure(Elements* elementsin,Loads* loadsin,DataSet* nodesin,Vertices* verticesin,Materials* materialsin,Parameters* parametersin){
 
 	/*Take care of hooking up all objects for this element, ie links the objects in the hooks to their respective 
Index: /issm/trunk/src/c/objects/Loads/Icefront.h
===================================================================
--- /issm/trunk/src/c/objects/Loads/Icefront.h	(revision 4217)
+++ /issm/trunk/src/c/objects/Loads/Icefront.h	(revision 4218)
@@ -40,5 +40,5 @@
 		/*}}}*/
 		/*object management: {{{1*/
-		void  Configure(Elements* elementsin,Loads* loadsin,DataSet* nodesin,Vertices* verticesin,DataSet* materialsin,Parameters* parametersin);
+		void  Configure(Elements* elementsin,Loads* loadsin,DataSet* nodesin,Vertices* verticesin,Materials* materialsin,Parameters* parametersin);
 		void  DeepEcho();
 		void  Demarshall(char** pmarshalled_dataset);
Index: /issm/trunk/src/c/objects/Loads/Load.h
===================================================================
--- /issm/trunk/src/c/objects/Loads/Load.h	(revision 4217)
+++ /issm/trunk/src/c/objects/Loads/Load.h	(revision 4218)
@@ -29,5 +29,5 @@
 		virtual int   MarshallSize()=0;
 		virtual void  Demarshall(char** pmarshalled_dataset)=0;
-		virtual void  Configure(Elements* elements,Loads* loads,DataSet* nodes,Vertices* vertices,DataSet* materials,Parameters* parameters)=0;
+		virtual void  Configure(Elements* elements,Loads* loads,DataSet* nodes,Vertices* vertices,Materials* materials,Parameters* parameters)=0;
 		virtual void  CreateKMatrix(Mat Kgg)=0;
 		virtual void  CreatePVector(Vec pg)=0;
Index: /issm/trunk/src/c/objects/Loads/Numericalflux.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Numericalflux.cpp	(revision 4217)
+++ /issm/trunk/src/c/objects/Loads/Numericalflux.cpp	(revision 4218)
@@ -156,5 +156,5 @@
 /*Object marshall*/
 /*FUNCTION Numericalflux::Configure {{{1*/
-void  Numericalflux::Configure(Elements* elementsin,Loads* loadsin,DataSet* nodesin,Vertices* verticesin,DataSet* materialsin,Parameters* parametersin){
+void  Numericalflux::Configure(Elements* elementsin,Loads* loadsin,DataSet* nodesin,Vertices* verticesin,Materials* materialsin,Parameters* parametersin){
 
 	/*Take care of hooking up all objects for this element, ie links the objects in the hooks to their respective 
Index: /issm/trunk/src/c/objects/Loads/Numericalflux.h
===================================================================
--- /issm/trunk/src/c/objects/Loads/Numericalflux.h	(revision 4217)
+++ /issm/trunk/src/c/objects/Loads/Numericalflux.h	(revision 4218)
@@ -35,5 +35,5 @@
 		/*}}}*/
 		/*Object management: {{{1*/
-		void  Configure(Elements* elements,Loads* loads,DataSet* nodes,Vertices* vertices,DataSet* materials,Parameters* parameters);
+		void  Configure(Elements* elements,Loads* loads,DataSet* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
 		void  DeepEcho();
 		void  Demarshall(char** pmarshalled_dataset);
Index: /issm/trunk/src/c/objects/Loads/Pengrid.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Pengrid.cpp	(revision 4217)
+++ /issm/trunk/src/c/objects/Loads/Pengrid.cpp	(revision 4218)
@@ -107,5 +107,5 @@
 /*Object management*/
 /*FUNCTION Pengrid::Configure {{{1*/
-void  Pengrid::Configure(Elements* elementsin,Loads* loadsin,DataSet* nodesin,Vertices* verticesin,DataSet* materialsin,Parameters* parametersin){
+void  Pengrid::Configure(Elements* elementsin,Loads* loadsin,DataSet* nodesin,Vertices* verticesin,Materials* materialsin,Parameters* parametersin){
 
 	/*Take care of hooking up all objects for this load, ie links the objects in the hooks to their respective 
Index: /issm/trunk/src/c/objects/Loads/Pengrid.h
===================================================================
--- /issm/trunk/src/c/objects/Loads/Pengrid.h	(revision 4217)
+++ /issm/trunk/src/c/objects/Loads/Pengrid.h	(revision 4218)
@@ -41,5 +41,5 @@
 		/*}}}*/
 		/*FUNCTION object management {{{1*/
-		void  Configure(Elements* elementsin,Loads* loadsin,DataSet* nodesin,Vertices* verticesin,DataSet* materialsin,Parameters* parametersin);
+		void  Configure(Elements* elementsin,Loads* loadsin,DataSet* nodesin,Vertices* verticesin,Materials* materialsin,Parameters* parametersin);
 		void  DeepEcho();
 		void  Demarshall(char** pmarshalled_dataset);
Index: /issm/trunk/src/c/objects/Loads/Penpair.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Penpair.cpp	(revision 4217)
+++ /issm/trunk/src/c/objects/Loads/Penpair.cpp	(revision 4218)
@@ -73,5 +73,5 @@
 /*Object marshall*/
 /*FUNCTION Penpair::Configure {{{1*/
-void  Penpair::Configure(Elements* elementsin,Loads* loadsin,DataSet* nodesin,Vertices* verticesin,DataSet* materialsin,Parameters* parametersin){
+void  Penpair::Configure(Elements* elementsin,Loads* loadsin,DataSet* nodesin,Vertices* verticesin,Materials* materialsin,Parameters* parametersin){
 
 	/*Take care of hooking up all objects for this element, ie links the objects in the hooks to their respective 
Index: /issm/trunk/src/c/objects/Loads/Penpair.h
===================================================================
--- /issm/trunk/src/c/objects/Loads/Penpair.h	(revision 4217)
+++ /issm/trunk/src/c/objects/Loads/Penpair.h	(revision 4218)
@@ -32,5 +32,5 @@
 		/*}}}*/
 		/*object management: {{{1*/
-		void  Configure(Elements* elements,Loads* loads,DataSet* nodes,Vertices* vertices,DataSet* materials,Parameters* parameters);
+		void  Configure(Elements* elements,Loads* loads,DataSet* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
 		void  DeepEcho();
 		void  Demarshall(char** pmarshalled_dataset);
Index: /issm/trunk/src/c/objects/Loads/Riftfront.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Riftfront.cpp	(revision 4217)
+++ /issm/trunk/src/c/objects/Loads/Riftfront.cpp	(revision 4218)
@@ -131,5 +131,5 @@
 /*Object marshall*/
 /*FUNCTION Riftfront::Configure {{{1*/
-void  Riftfront::Configure(Elements* elementsin,Loads* loadsin,DataSet* nodesin,Vertices* verticesin,DataSet* materialsin,Parameters* parametersin){
+void  Riftfront::Configure(Elements* elementsin,Loads* loadsin,DataSet* nodesin,Vertices* verticesin,Materials* materialsin,Parameters* parametersin){
 
 	/*Take care of hooking up all objects for this element, ie links the objects in the hooks to their respective 
Index: /issm/trunk/src/c/objects/Loads/Riftfront.h
===================================================================
--- /issm/trunk/src/c/objects/Loads/Riftfront.h	(revision 4217)
+++ /issm/trunk/src/c/objects/Loads/Riftfront.h	(revision 4218)
@@ -49,5 +49,5 @@
 		/*}}}*/
 		/*object management: {{{1*/
-		void  Configure(Elements* elements,Loads* loads,DataSet* nodes,Vertices* vertices,DataSet* materials,Parameters* parameters);
+		void  Configure(Elements* elements,Loads* loads,DataSet* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
 		Object* copy();
 		void  DeepEcho();
Index: /issm/trunk/src/mex/ComputeBasalStress/ComputeBasalStress.cpp
===================================================================
--- /issm/trunk/src/mex/ComputeBasalStress/ComputeBasalStress.cpp	(revision 4217)
+++ /issm/trunk/src/mex/ComputeBasalStress/ComputeBasalStress.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Vertices* vertices=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 	int      numberofnodes;
@@ -35,5 +35,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADS);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 	FetchData(&analysis_type,ANALYSIS);
Index: /issm/trunk/src/mex/ComputePressure/ComputePressure.cpp
===================================================================
--- /issm/trunk/src/mex/ComputePressure/ComputePressure.cpp	(revision 4217)
+++ /issm/trunk/src/mex/ComputePressure/ComputePressure.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Vertices* vertices=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 	int      numberofnodes;
@@ -35,5 +35,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADS);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 	FetchData(&analysis_type,ANALYSIS);
Index: /issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.cpp
===================================================================
--- /issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.cpp	(revision 4217)
+++ /issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Nodes* nodes=NULL;
 	Vertices* vertices=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 
@@ -31,5 +31,5 @@
 	FetchData((DataSet**)&nodes,NODES);
 	FetchData((DataSet**)&vertices,VERTICES);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 
Index: /issm/trunk/src/mex/CostFunction/CostFunction.cpp
===================================================================
--- /issm/trunk/src/mex/CostFunction/CostFunction.cpp	(revision 4217)
+++ /issm/trunk/src/mex/CostFunction/CostFunction.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Nodes* nodes=NULL;
 	Vertices* vertices=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 
@@ -32,5 +32,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADS);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 
Index: /issm/trunk/src/mex/Du/Du.cpp
===================================================================
--- /issm/trunk/src/mex/Du/Du.cpp	(revision 4217)
+++ /issm/trunk/src/mex/Du/Du.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Vertices* vertices=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 
@@ -32,5 +32,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADS);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 
Index: /issm/trunk/src/mex/FieldAverageOntoVertices/FieldAverageOntoVertices.cpp
===================================================================
--- /issm/trunk/src/mex/FieldAverageOntoVertices/FieldAverageOntoVertices.cpp	(revision 4217)
+++ /issm/trunk/src/mex/FieldAverageOntoVertices/FieldAverageOntoVertices.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Vertices* vertices=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 	Vec      field=NULL;
@@ -30,5 +30,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADS);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 	FetchData(&field,FIELD);
Index: /issm/trunk/src/mex/FieldDepthAverage/FieldDepthAverage.cpp
===================================================================
--- /issm/trunk/src/mex/FieldDepthAverage/FieldDepthAverage.cpp	(revision 4217)
+++ /issm/trunk/src/mex/FieldDepthAverage/FieldDepthAverage.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Vertices* vertices=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 	Vec      field=NULL;
@@ -31,5 +31,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADS);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 	FetchData(&field,FIELD);
Index: /issm/trunk/src/mex/GetSolutionFromInputs/GetSolutionFromInputs.cpp
===================================================================
--- /issm/trunk/src/mex/GetSolutionFromInputs/GetSolutionFromInputs.cpp	(revision 4217)
+++ /issm/trunk/src/mex/GetSolutionFromInputs/GetSolutionFromInputs.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Vertices* vertices=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 	Vec      ug=NULL;
@@ -32,5 +32,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADSIN);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 
Index: /issm/trunk/src/mex/Gradj/Gradj.cpp
===================================================================
--- /issm/trunk/src/mex/Gradj/Gradj.cpp	(revision 4217)
+++ /issm/trunk/src/mex/Gradj/Gradj.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Vertices    *vertices     = NULL;
 	Loads     *loads        = NULL;
-	DataSet    *materials    = NULL;
+	Materials   *materials    = NULL;
 	Parameters *parameters   = NULL;
 	int         control_type;
@@ -34,5 +34,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADS);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 	parameters->FindParam(&control_type,ControlTypeEnum);
Index: /issm/trunk/src/mex/InputControlConstrain/InputControlConstrain.cpp
===================================================================
--- /issm/trunk/src/mex/InputControlConstrain/InputControlConstrain.cpp	(revision 4217)
+++ /issm/trunk/src/mex/InputControlConstrain/InputControlConstrain.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 Vertices    *vertices          = NULL;
 Loads     *loads             = NULL;
-DataSet    *materials         = NULL;
+Materials   *materials         = NULL;
 Parameters *parameters        = NULL;
 int         control_type;
@@ -32,5 +32,5 @@
 FetchData((DataSet**)&vertices,VERTICESIN);
 FetchData((DataSet**)&loads,LOADSIN);
-FetchData(&materials,MATERIALSIN);
+FetchData((DataSet**)&materials,MATERIALSIN);
 FetchParams(&parameters,PARAMETERSIN);
 FetchData(&control_type,CONTROLTYPE);
Index: /issm/trunk/src/mex/InputDepthAverage/InputDepthAverage.cpp
===================================================================
--- /issm/trunk/src/mex/InputDepthAverage/InputDepthAverage.cpp	(revision 4217)
+++ /issm/trunk/src/mex/InputDepthAverage/InputDepthAverage.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 Vertices    *vertices          = NULL;
 Loads     *loads             = NULL;
-DataSet    *materials         = NULL;
+Materials   *materials         = NULL;
 Parameters *parameters        = NULL;
 int         enum_type;
@@ -31,5 +31,5 @@
 FetchData((DataSet**)&vertices,VERTICESIN);
 FetchData((DataSet**)&loads,LOADSIN);
-FetchData(&materials,MATERIALSIN);
+FetchData((DataSet**)&materials,MATERIALSIN);
 FetchParams(&parameters,PARAMETERSIN);
 FetchData(&enum_type,ENUMTYPE);
Index: /issm/trunk/src/mex/InputDuplicate/InputDuplicate.cpp
===================================================================
--- /issm/trunk/src/mex/InputDuplicate/InputDuplicate.cpp	(revision 4217)
+++ /issm/trunk/src/mex/InputDuplicate/InputDuplicate.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Vertices* vertices=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 	int      original_enum,new_enum; 
@@ -30,5 +30,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADS);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 	
Index: /issm/trunk/src/mex/InputExtrude/InputExtrude.cpp
===================================================================
--- /issm/trunk/src/mex/InputExtrude/InputExtrude.cpp	(revision 4217)
+++ /issm/trunk/src/mex/InputExtrude/InputExtrude.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Vertices* vertices=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 	int      NameEnum;
@@ -30,5 +30,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADS);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 	FetchData(&NameEnum,NAME);
Index: /issm/trunk/src/mex/InputScale/InputScale.cpp
===================================================================
--- /issm/trunk/src/mex/InputScale/InputScale.cpp	(revision 4217)
+++ /issm/trunk/src/mex/InputScale/InputScale.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Vertices* vertices=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 	int      enum_type;
@@ -31,5 +31,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADS);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 	
Index: /issm/trunk/src/mex/InputToResult/InputToResult.cpp
===================================================================
--- /issm/trunk/src/mex/InputToResult/InputToResult.cpp	(revision 4217)
+++ /issm/trunk/src/mex/InputToResult/InputToResult.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Vertices* vertices=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 	int      enum_type,step; 
@@ -31,5 +31,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADS);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 	
Index: /issm/trunk/src/mex/InputUpdateFromConstant/InputUpdateFromConstant.cpp
===================================================================
--- /issm/trunk/src/mex/InputUpdateFromConstant/InputUpdateFromConstant.cpp	(revision 4217)
+++ /issm/trunk/src/mex/InputUpdateFromConstant/InputUpdateFromConstant.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 Vertices* vertices=NULL;
 Loads* loads=NULL;
-DataSet* materials=NULL;
+Materials* materials=NULL;
 Parameters* parameters=NULL;
 double   constant;
@@ -31,5 +31,5 @@
 FetchData((DataSet**)&vertices,VERTICESIN);
 FetchData((DataSet**)&loads,LOADSIN);
-FetchData(&materials,MATERIALSIN);
+FetchData((DataSet**)&materials,MATERIALSIN);
 FetchParams(&parameters,PARAMETERSIN);
 FetchData(&constant,CONSTANT);
Index: /issm/trunk/src/mex/InputUpdateFromSolution/InputUpdateFromSolution.cpp
===================================================================
--- /issm/trunk/src/mex/InputUpdateFromSolution/InputUpdateFromSolution.cpp	(revision 4217)
+++ /issm/trunk/src/mex/InputUpdateFromSolution/InputUpdateFromSolution.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 Vertices* vertices=NULL;
 Loads* loads=NULL;
-DataSet* materials=NULL;
+Materials* materials=NULL;
 Parameters* parameters=NULL;
 Vec      solution=NULL;
@@ -30,5 +30,5 @@
 FetchData((DataSet**)&vertices,VERTICESIN);
 FetchData((DataSet**)&loads,LOADSIN);
-FetchData(&materials,MATERIALSIN);
+FetchData((DataSet**)&materials,MATERIALSIN);
 FetchParams(&parameters,PARAMETERSIN);
 FetchData(&solution,SOLUTION);
Index: /issm/trunk/src/mex/InputUpdateFromVector/InputUpdateFromVector.cpp
===================================================================
--- /issm/trunk/src/mex/InputUpdateFromVector/InputUpdateFromVector.cpp	(revision 4217)
+++ /issm/trunk/src/mex/InputUpdateFromVector/InputUpdateFromVector.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 Vertices* vertices=NULL;
 Loads* loads=NULL;
-DataSet* materials=NULL;
+Materials* materials=NULL;
 Parameters* parameters=NULL;
 double*  vector=NULL;
@@ -33,5 +33,5 @@
 FetchData((DataSet**)&vertices,VERTICESIN);
 FetchData((DataSet**)&loads,LOADSIN);
-FetchData(&materials,MATERIALSIN);
+FetchData((DataSet**)&materials,MATERIALSIN);
 FetchParams(&parameters,PARAMETERSIN);
 FetchData(&vector,&dummy,VECTOR);
Index: /issm/trunk/src/mex/MassFlux/MassFlux.cpp
===================================================================
--- /issm/trunk/src/mex/MassFlux/MassFlux.cpp	(revision 4217)
+++ /issm/trunk/src/mex/MassFlux/MassFlux.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Vertices* vertices=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 
@@ -35,5 +35,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADS);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 	parameters->FindParam(&segments,&num_segments,NULL,QmuMassFluxSegmentsEnum);
Index: /issm/trunk/src/mex/Misfit/Misfit.cpp
===================================================================
--- /issm/trunk/src/mex/Misfit/Misfit.cpp	(revision 4217)
+++ /issm/trunk/src/mex/Misfit/Misfit.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Vertices* vertices=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 
@@ -32,5 +32,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADS);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 
Index: /issm/trunk/src/mex/ModelProcessor/ModelProcessor.cpp
===================================================================
--- /issm/trunk/src/mex/ModelProcessor/ModelProcessor.cpp	(revision 4217)
+++ /issm/trunk/src/mex/ModelProcessor/ModelProcessor.cpp	(revision 4218)
@@ -22,5 +22,5 @@
 	Constraints* constraints=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 
Index: /issm/trunk/src/mex/OutputResults/OutputResults.cpp
===================================================================
--- /issm/trunk/src/mex/OutputResults/OutputResults.cpp	(revision 4217)
+++ /issm/trunk/src/mex/OutputResults/OutputResults.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Vertices* vertices=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 	DataSet* results=NULL;
@@ -33,5 +33,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADS);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 	FetchData(&results,RESULTS);
Index: /issm/trunk/src/mex/ParameterOutput/ParameterOutput.cpp
===================================================================
--- /issm/trunk/src/mex/ParameterOutput/ParameterOutput.cpp	(revision 4217)
+++ /issm/trunk/src/mex/ParameterOutput/ParameterOutput.cpp	(revision 4218)
@@ -14,5 +14,5 @@
 	Nodes* nodes=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	DataSet* results=NULL;
 	int      analysis_type;
@@ -33,5 +33,5 @@
 	FetchData((DataSet**)&nodes,NODES);
 	FetchData((DataSet**)&loads,LOADS);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchData(&results,RESULTS);
 	
Index: /issm/trunk/src/mex/PenaltyConstraints/PenaltyConstraints.cpp
===================================================================
--- /issm/trunk/src/mex/PenaltyConstraints/PenaltyConstraints.cpp	(revision 4217)
+++ /issm/trunk/src/mex/PenaltyConstraints/PenaltyConstraints.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Vertices* vertices=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 
@@ -33,5 +33,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADSIN);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 
Index: /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.cpp
===================================================================
--- /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.cpp	(revision 4217)
+++ /issm/trunk/src/mex/PenaltySystemMatrices/PenaltySystemMatrices.cpp	(revision 4218)
@@ -20,5 +20,5 @@
 	Vertices* vertices=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 	int      kflag,pflag;
@@ -37,5 +37,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADS);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 	
Index: /issm/trunk/src/mex/SystemMatrices/SystemMatrices.cpp
===================================================================
--- /issm/trunk/src/mex/SystemMatrices/SystemMatrices.cpp	(revision 4217)
+++ /issm/trunk/src/mex/SystemMatrices/SystemMatrices.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 	Vertices* vertices=NULL;
 	Loads* loads=NULL;
-	DataSet* materials=NULL;
+	Materials* materials=NULL;
 	Parameters* parameters=NULL;
 	int         kflag,pflag;
@@ -34,5 +34,5 @@
 	FetchData((DataSet**)&vertices,VERTICES);
 	FetchData((DataSet**)&loads,LOADS);
-	FetchData(&materials,MATERIALS);
+	FetchData((DataSet**)&materials,MATERIALS);
 	FetchParams(&parameters,PARAMETERS);
 
Index: /issm/trunk/src/mex/UpdateGeometry/UpdateGeometry.cpp
===================================================================
--- /issm/trunk/src/mex/UpdateGeometry/UpdateGeometry.cpp	(revision 4217)
+++ /issm/trunk/src/mex/UpdateGeometry/UpdateGeometry.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 Vertices    *vertices          = NULL;
 Loads     *loads             = NULL;
-DataSet    *materials         = NULL;
+Materials   *materials         = NULL;
 Parameters *parameters        = NULL;
 
@@ -29,5 +29,5 @@
 FetchData((DataSet**)&vertices,VERTICESIN);
 FetchData((DataSet**)&loads,LOADSIN);
-FetchData(&materials,MATERIALSIN);
+FetchData((DataSet**)&materials,MATERIALSIN);
 FetchParams(&parameters,PARAMETERSIN);
 
Index: /issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.cpp
===================================================================
--- /issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.cpp	(revision 4217)
+++ /issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.cpp	(revision 4218)
@@ -15,5 +15,5 @@
 Vertices    *vertices          = NULL;
 Loads     *loads             = NULL;
-DataSet    *materials         = NULL;
+Materials   *materials         = NULL;
 Parameters *parameters        = NULL;
 
@@ -29,5 +29,5 @@
 FetchData((DataSet**)&vertices,VERTICESIN);
 FetchData((DataSet**)&loads,LOADSIN);
-FetchData(&materials,MATERIALSIN);
+FetchData((DataSet**)&materials,MATERIALSIN);
 FetchParams(&parameters,PARAMETERSIN);
 
