Index: /issm/trunk/src/c/ModelProcessorx/DiagnosticHutter/CreateElementsNodesAndMaterialsDiagnosticHutter.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/DiagnosticHutter/CreateElementsNodesAndMaterialsDiagnosticHutter.cpp	(revision 3402)
+++ /issm/trunk/src/c/ModelProcessorx/DiagnosticHutter/CreateElementsNodesAndMaterialsDiagnosticHutter.cpp	(revision 3403)
@@ -10,4 +10,5 @@
 #include "../../shared/shared.h"
 #include "../../MeshPartitionx/MeshPartitionx.h"
+#include "../../include/typedefs.h"
 #include "../IoModel.h"
 
@@ -31,4 +32,6 @@
 	Beam*       beam   = NULL;
 	Sing*       sing   = NULL;
+	ElementProperties* sing_properties=NULL;
+	ElementProperties* beam_properties=NULL;
 
 	/*output: */
@@ -49,16 +52,16 @@
 	/*sing constructor input: */
 	int   sing_id;
-	int   sing_mid;
-	int   sing_mparid;
-	int   sing_numparid;
-	int   sing_g;
-	double sing_h,sing_k;
+	int   sing_matice_id;
+	int   sing_matpar_id;
+	int   sing_numpar_id;
+	int   sing_node_ids[1];
+	double sing_h[1],sing_k[1];
 
 	/*beam constructor input: */
 	int   beam_id;
-	int   beam_mid;
-	int   beam_mparid;
-	int   beam_numparid;
-	int   beam_g[2];
+	int   beam_matice_id;
+	int   beam_matpar_id;
+	int   beam_numpar_id;
+	int   beam_node_ids[2];
 	double beam_h[2];
 	double beam_s[2];
@@ -112,8 +115,8 @@
 	/*Width of elements: */
 	if(strcmp(iomodel->meshtype,"2d")==0){
-		elements_width=3; //tria elements
+		elements_width=1; //sing  elements
 	}
 	else{
-		elements_width=6; //penta elements
+		elements_width=2; //beam elements
 	}
 
@@ -222,15 +225,21 @@
 				/*Deal with sing element: */
 				sing_id=i+1; 
-				sing_mid=i+1; //refers to the corresponding material property card
-				sing_mparid=iomodel->numberofnodes+1;//refers to the corresponding matpar property card
-				sing_numparid=1;
-				sing_g=i+1;
-				sing_h=iomodel->thickness[i];
-				sing_k=iomodel->drag[i];
+				sing_matice_id=i+1; //refers to the corresponding material property card
+				sing_matpar_id=iomodel->numberofnodes+1;//refers to the corresponding matpar property card
+				sing_numpar_id=1;
+				sing_node_ids[0]=i+1;
+				sing_h[0]=iomodel->thickness[i];
+				sing_k[0]=iomodel->drag[i];
+
+				/*Create properties: */
+				sing_properties=new ElementProperties(1,sing_h,NULL,NULL, sing_k,NULL,NULL, NULL, UNDEF, (double)UNDEF, (double)UNDEF, UNDEF, UNDEF,true, UNDEF,UNDEF,UNDEF);
 
 				/*Create sing element using its constructor:*/
-				sing=new Sing(sing_id, sing_mid, sing_mparid, sing_numparid, sing_g, sing_h, sing_k);
-
-				/*Add tria element to elements dataset: */
+				sing=new Sing(sing_id, sing_node_ids, sing_matice_id, sing_matpar_id, sing_numpar_id, sing_properties);
+
+				/*delete properties: */
+				delete sing_properties;
+
+				/*Add sing element to elements dataset: */
 				elements->AddObject(sing);
 
@@ -267,9 +276,9 @@
 					/*Deal with sing element: */
 					beam_id=i+1; 
-					beam_mid=i+1; //refers to the corresponding material property card
-					beam_mparid=iomodel->numberofnodes-iomodel->numberofnodes2d+1;//refers to the corresponding matpar property card
-					beam_numparid=1;
-					beam_g[0]=i+1;
-					beam_g[1]=(int)iomodel->uppernodes[i]; //grid that lays right on top
+					beam_matice_id=i+1; //refers to the corresponding material property card
+					beam_matpar_id=iomodel->numberofnodes-iomodel->numberofnodes2d+1;//refers to the corresponding matpar property card
+					beam_numpar_id=1;
+					beam_node_ids[0]=i+1;
+					beam_node_ids[1]=(int)iomodel->uppernodes[i]; //grid that lays right on top
 					beam_h[0]=iomodel->thickness[i];
 					beam_h[1]=iomodel->thickness[(int)(iomodel->uppernodes[i]-1)];
@@ -283,6 +292,12 @@
 					beam_onbed=(bool)iomodel->gridonbed[i];
 
-					/*Create beam element ubeam its constructor:*/
-					beam=new Beam(beam_id, beam_mid, beam_mparid, beam_numparid,beam_g, beam_h, beam_s,beam_b,beam_k,beam_onbed);
+					/*Create element properties: */
+					beam_properties=new ElementProperties(2,beam_h, beam_s, beam_b, beam_k, NULL,NULL, NULL, UNDEF, NULL, NULL, UNDEF, beam_onbed, (bool)UNDEF, UNDEF, UNDEF, UNDEF);
+
+					/*Create Beam using its constructor:*/
+					beam= new Beam(beam_id,beam_node_ids, beam_matice_id, beam_matpar_id, beam_numpar_id, beam_properties);
+
+					/*delete properties: */
+					delete beam_properties;
 
 					/*Add tria element to elements dataset: */
