Index: /issm/trunk/src/c/ModelProcessorx/Balancedthickness/CreateElementsNodesAndMaterialsBalancedthickness.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Balancedthickness/CreateElementsNodesAndMaterialsBalancedthickness.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/Balancedthickness/CreateElementsNodesAndMaterialsBalancedthickness.cpp	(revision 3625)
@@ -48,8 +48,8 @@
 
 				/*Create and add tria element to elements dataset: */
-				elements->AddObject(new Tria(i,iomodel));
+				elements->AddObject(new Tria(i+1,i,iomodel));
 
 				/*Create and add material property to materials dataset: */
-				materials->AddObject(new Matice(i,iomodel,3));
+				materials->AddObject(new Matice(i+1,i,iomodel,3));
 			}
 		}//for (i=0;i<numberofelements;i++)
@@ -79,8 +79,8 @@
 			if(iomodel->my_elements[i]){
 				/*Create and add penta element to elements dataset: */
-				elements->AddObject(new Penta(i,iomodel));
+				elements->AddObject(new Penta(i+1,i,iomodel));
 
 				/*Create and add material property to materials dataset: */
-				materials->AddObject(new Matice(i,iomodel,6));
+				materials->AddObject(new Matice(i+1,i,iomodel,6));
 			}
 		}//for (i=0;i<numberofelements;i++)
@@ -99,5 +99,5 @@
 
 	/*Add new constrant material property to materials, at the end: */
-	materials->AddObject(new Matpar(iomodel));
+	materials->AddObject(new Matpar(iomodel->numberofelements+1,iomodel));
 
 	/*First fetch data: */
@@ -122,8 +122,8 @@
 
 			/*Add vertex to vertices dataset: */
-			vertices->AddObject(new Vertex(i,iomodel));
+			vertices->AddObject(new Vertex(i+1,i,iomodel));
 
 			/*Add node to nodes dataset: */
-			nodes->AddObject(new Node(i,iomodel));
+			nodes->AddObject(new Node(i+1,i,iomodel));
 
 		}
Index: /issm/trunk/src/c/ModelProcessorx/Balancedthickness/CreateLoadsBalancedthickness.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Balancedthickness/CreateLoadsBalancedthickness.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/Balancedthickness/CreateLoadsBalancedthickness.cpp	(revision 3625)
@@ -18,5 +18,4 @@
 	loads   = new DataSet(LoadsEnum);
 	
-	
 	/*All our datasets are already order by ids. Set presort flag so that later on, when sorting is requested on these 
 	 * datasets, it will not be redone: */
@@ -29,4 +28,2 @@
 
 }
-
-
Index: /issm/trunk/src/c/ModelProcessorx/Balancedthickness2/CreateElementsNodesAndMaterialsBalancedthickness2.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Balancedthickness2/CreateElementsNodesAndMaterialsBalancedthickness2.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/Balancedthickness2/CreateElementsNodesAndMaterialsBalancedthickness2.cpp	(revision 3625)
@@ -52,8 +52,8 @@
 
 				/*Create and add tria element to elements dataset: */
-				elements->AddObject(new Tria(i,iomodel));
+				elements->AddObject(new Tria(i+1,i,iomodel));
 
 				/*Create and add material property to materials dataset: */
-				materials->AddObject(new Matice(i,iomodel,3));
+				materials->AddObject(new Matice(i+1,i,iomodel,3));
 			}
 		}//for (i=0;i<numberofelements;i++)
@@ -72,5 +72,5 @@
 
 	/*Add new constrant material property tgo materials, at the end: */
-	materials->AddObject(new Matpar(iomodel));
+	materials->AddObject(new Matpar(iomodel->numberofelements+1,iomodel));
 
 	/*Create nodes and vertices: */
@@ -97,5 +97,5 @@
 
 			/*Add vertex to vertices dataset: */
-			vertices->AddObject(new Vertex(i,iomodel));
+			vertices->AddObject(new Vertex(i+1,i,iomodel));
 
 		}
@@ -116,5 +116,5 @@
 
 				/*Add node to nodes dataset: */
-				nodes->AddObject(new Node(vertex_index,node_index,iomodel));
+				nodes->AddObject(new Node(i+1,vertex_index,node_index,iomodel));
 
 			}
Index: /issm/trunk/src/c/ModelProcessorx/Balancedvelocities/CreateElementsNodesAndMaterialsBalancedvelocities.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Balancedvelocities/CreateElementsNodesAndMaterialsBalancedvelocities.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/Balancedvelocities/CreateElementsNodesAndMaterialsBalancedvelocities.cpp	(revision 3625)
@@ -48,8 +48,8 @@
 
 				/*Create and add tria element to elements dataset: */
-				elements->AddObject(new Tria(i,iomodel));
+				elements->AddObject(new Tria(i+1,i,iomodel));
 
 				/*Create and add material property to materials dataset: */
-				materials->AddObject(new Matice(i,iomodel,3));
+				materials->AddObject(new Matice(i+1,i,iomodel,3));
 			}
 
@@ -81,8 +81,8 @@
 			if(iomodel->my_elements[i]){
 				/*Create and add penta element to elements dataset: */
-				elements->AddObject(new Penta(i,iomodel));
+				elements->AddObject(new Penta(i+1,i,iomodel));
 
 				/*Create and add material property to materials dataset: */
-				materials->AddObject(new Matice(i,iomodel,6));
+				materials->AddObject(new Matice(i+1,i,iomodel,6));
 
 			}//if(my_elements[i])
@@ -103,5 +103,5 @@
 
 	/*Add new constrant material property to materials, at the end: */
-	materials->AddObject(new Matpar(iomodel));
+	materials->AddObject(new Matpar(iomodel->numberofelements+1,iomodel)); //put it at the end of the materials
 		
 	/*First fetch data: */
@@ -126,8 +126,8 @@
 			
 			/*Add vertex to vertices dataset: */
-			vertices->AddObject(new Vertex(i,iomodel));
+			vertices->AddObject(new Vertex(i+1,i,iomodel));
 
 			/*Add node to nodes dataset: */
-			nodes->AddObject(new Node(i,iomodel));
+			nodes->AddObject(new Node(i+1,i,iomodel));
 
 		}
Index: /issm/trunk/src/c/ModelProcessorx/Balancedvelocities/CreateLoadsBalancedvelocities.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Balancedvelocities/CreateLoadsBalancedvelocities.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/Balancedvelocities/CreateLoadsBalancedvelocities.cpp	(revision 3625)
@@ -18,5 +18,4 @@
 	loads   = new DataSet(LoadsEnum);
 	
-	
 	/*All our datasets are already order by ids. Set presort flag so that later on, when sorting is requested on these 
 	 * datasets, it will not be redone: */
@@ -29,4 +28,2 @@
 
 }
-
-
Index: /issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateElementsNodesAndMaterialsDiagnosticHoriz.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateElementsNodesAndMaterialsDiagnosticHoriz.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateElementsNodesAndMaterialsDiagnosticHoriz.cpp	(revision 3625)
@@ -59,8 +59,8 @@
 
 					/*Create and add tria element to elements dataset: */
-					elements->AddObject(new Tria(i,iomodel));
+					elements->AddObject(new Tria(i+1,i,iomodel));
 					
 					/*Create and add material property to materials dataset: */
-					materials->AddObject(new Matice(i,iomodel,3));
+					materials->AddObject(new Matice(i+1,i,iomodel,3));
 				}
 			}
@@ -104,8 +104,8 @@
 				if (*(iomodel->elements_type+2*i+0)==MacAyealFormulationEnum || *(iomodel->elements_type+2*i+0)==PattynFormulationEnum){ //elements of type 1 are Hutter type Tria. Don't create this elements.
 					/*Create and add penta element to elements dataset: */
-					elements->AddObject(new Penta(i,iomodel));
+					elements->AddObject(new Penta(i+1,i,iomodel));
 					
 					/*Create and add material property to materials dataset: */
-					materials->AddObject(new Matice(i,iomodel,6));
+					materials->AddObject(new Matice(i+1,i,iomodel,6));
 					
 				}
@@ -134,5 +134,5 @@
 	
 	/*Add new constrant material property tgo materials, at the end: */
-	materials->AddObject(new Matpar(iomodel));
+	materials->AddObject(new Matpar(iomodel->numberofelements+1,iomodel));//put it at the end of the materials
 	
 	/*Create nodes and vertices: */
@@ -158,8 +158,8 @@
 			
 			/*Add vertex to vertices dataset: */
-			vertices->AddObject(new Vertex(i,iomodel));
+			vertices->AddObject(new Vertex(i+1,i,iomodel));
 
 			/*Add node to nodes dataset: */
-			nodes->AddObject(new Node(i,iomodel));
+			nodes->AddObject(new Node(i+1,i,iomodel));
 
 		}
Index: /issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp	(revision 3625)
@@ -19,4 +19,5 @@
 	int element;
 	int i;
+	int counter=1;
 
 	/*Create loads: */
@@ -48,5 +49,6 @@
 
 		/*Create and  add load: */
-		loads->AddObject(new Icefront(i,iomodel));
+		loads->AddObject(new Icefront(counter,i,iomodel));
+		counter++;
 
 	}
@@ -70,5 +72,6 @@
 			if(iomodel->my_elements[(int)*(iomodel->riftinfo+RIFTINFOSIZE*i+2)]){
 
-				loads->AddObject(new Riftfront(i,iomodel));
+				loads->AddObject(new Riftfront(counter,i,iomodel));
+				counter++;
 			}
 		}
Index: /issm/trunk/src/c/ModelProcessorx/DiagnosticHutter/CreateElementsNodesAndMaterialsDiagnosticHutter.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/DiagnosticHutter/CreateElementsNodesAndMaterialsDiagnosticHutter.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/DiagnosticHutter/CreateElementsNodesAndMaterialsDiagnosticHutter.cpp	(revision 3625)
@@ -58,8 +58,8 @@
 
 				/*Create and add penta element to elements dataset: */
-				elements->AddObject(new Sing(i,iomodel));
+				elements->AddObject(new Sing(i+1,i,iomodel));
 
 				/*Create and add material property to materials dataset: */
-				materials->AddObject(new Matice(i,iomodel,1));
+				materials->AddObject(new Matice(i+1,i,iomodel,1));
 
 			}
@@ -76,8 +76,8 @@
 
 						/*Create and add penta element to elements dataset: */
-						elements->AddObject(new Beam(i,iomodel));
+						elements->AddObject(new Beam(i+1,i,iomodel));
 
 						/*Create and add material property to materials dataset: */
-						materials->AddObject(new Matice(i,iomodel,2));
+						materials->AddObject(new Matice(i+1,i,iomodel,2));
 
 					}
@@ -102,5 +102,11 @@
 
 	/*Add new constrant material property to materials, at the end: */
-	materials->AddObject(new Matpar(iomodel));
+	if (strcmp(iomodel->meshtype,"2d")==0){
+		materials->AddObject(new Matpar(iomodel->numberofvertices+1,iomodel));                          //put it at the end of the materials
+	}
+	else{
+		materials->AddObject(new Matpar(iomodel->numberofvertices2d*(iomodel->numlayers-1)+1,iomodel)); //put it at the end of the materials
+	}
+}
 		
 	/*First fetch data: */
@@ -126,8 +132,8 @@
 
 			/*Add vertex to vertices dataset: */
-			vertices->AddObject(new Vertex(i,iomodel));
+			vertices->AddObject(new Vertex(i+1,i,iomodel));
 
 			/*Add node to nodes dataset: */
-			nodes->AddObject(new Node(i,iomodel));
+			nodes->AddObject(new Node(i+1,i,iomodel));
 
 		}
Index: /issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateElementsNodesAndMaterialsDiagnosticStokes.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateElementsNodesAndMaterialsDiagnosticStokes.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateElementsNodesAndMaterialsDiagnosticStokes.cpp	(revision 3625)
@@ -62,8 +62,8 @@
 
 				 /*Create and add penta element to elements dataset: */
-				 elements->AddObject(new Penta(i,iomodel));
+				 elements->AddObject(new Penta(i+1,i,iomodel));
 
 				 /*Create and add material property to materials dataset: */
-				 materials->AddObject(new Matice(i,iomodel,6));
+				 materials->AddObject(new Matice(i+1,i,iomodel,6));
 			 }
 
@@ -91,5 +91,5 @@
 
 	/*Add new constrant material property to materials, at the end: */
-	materials->AddObject(new Matpar(iomodel));
+	materials->AddObject(new Matpar(iomodel->numberofelements+1,iomodel));
 	
 	/*First fetch data: */
@@ -114,8 +114,8 @@
 
 			/*Add vertex to vertices dataset: */
-			vertices->AddObject(new Vertex(i,iomodel));
+			vertices->AddObject(new Vertex(i+1,i,iomodel));
 
 			/*Add node to nodes dataset: */
-			nodes->AddObject(new Node(i,iomodel));
+			nodes->AddObject(new Node(i+1,i,iomodel));
 
 		}
Index: /issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateLoadsDiagnosticStokes.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateLoadsDiagnosticStokes.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateLoadsDiagnosticStokes.cpp	(revision 3625)
@@ -22,5 +22,5 @@
 	/*pengrid intermediary data: */
 	int numberofpressureloads;
-	int count=0;
+	int counter=1;
 
 	/*Create loads: */
@@ -37,5 +37,4 @@
 	IoModelFetchData(&iomodel->bed,NULL,NULL,iomodel_handle,"bed");
 
-	count=1; //matlab indexing
 	/*First load data:*/
 	for (i=0;i<numberofpressureloads;i++){
@@ -55,4 +54,5 @@
 		/*Create and  add load: */
 		loads->AddObject(new Icefront(i,iomodel));
+		counter++;
 
 	}
@@ -76,5 +76,6 @@
 			if ((iomodel->gridonbed[i]) && (iomodel->gridonicesheet[i]) && (iomodel->gridonstokes[i])){
 				
-				loads->AddObject(new Pengrid(count,i,iomodel));
+				loads->AddObject(new Pengrid(counter,i,iomodel));
+				counter++;
 			}
 		} //if((iomodel->my_vertices[i]==1))
Index: /issm/trunk/src/c/ModelProcessorx/DiagnosticVert/CreateElementsNodesAndMaterialsDiagnosticVert.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/DiagnosticVert/CreateElementsNodesAndMaterialsDiagnosticVert.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/DiagnosticVert/CreateElementsNodesAndMaterialsDiagnosticVert.cpp	(revision 3625)
@@ -54,8 +54,8 @@
 
 			/*Create and add penta element to elements dataset: */
-			elements->AddObject(new Penta(i,iomodel));
+			elements->AddObject(new Penta(i+1,i,iomodel));
 
 			/*Create and add material property to materials dataset: */
-			materials->AddObject(new Matice(i,iomodel,6));
+			materials->AddObject(new Matice(i+1,i,iomodel,6));
 
 		}
@@ -77,5 +77,5 @@
 
 	/*Add new constrant material property to materials, at the end: */
-	materials->AddObject(new Matpar(iomodel));
+	materials->AddObject(new Matpar(iomodel->numberofelements+1,iomodel));//put it at the end of the materials
 	
 	/*First fetch data: */
@@ -98,8 +98,8 @@
 
 			/*Add vertex to vertices dataset: */
-			vertices->AddObject(new Vertex(i,iomodel));
+			vertices->AddObject(new Vertex(i+1,i,iomodel));
 
 			/*Add node to nodes dataset: */
-			nodes->AddObject(new Node(i,iomodel));
+			nodes->AddObject(new Node(i+1,i,iomodel));
 
 		}
Index: /issm/trunk/src/c/ModelProcessorx/Melting/CreateElementsNodesAndMaterialsMelting.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Melting/CreateElementsNodesAndMaterialsMelting.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/Melting/CreateElementsNodesAndMaterialsMelting.cpp	(revision 3625)
@@ -55,8 +55,8 @@
 
 				/*Create and add tria element to elements dataset: */
-				elements->AddObject(new Penta(i,iomodel));
+				elements->AddObject(new Penta(i+1,i,iomodel));
 
 				/*Create and add material property to materials dataset: */
-				materials->AddObject(new Matice(i,iomodel,6));
+				materials->AddObject(new Matice(i+1,i,iomodel,6));
 			}
 
@@ -82,5 +82,5 @@
 
 	/*Add new constrant material property tgo materials, at the end: */
-	materials->AddObject(new Matpar(iomodel));
+	materials->AddObject(new Matpar(iomodel->numberofelements+1,iomodel));//put it at the end of the materials
 
 	/*First fetch data: */
@@ -105,8 +105,8 @@
 			
 			/*Add vertex to vertices dataset: */
-			vertices->AddObject(new Vertex(i,iomodel));
+			vertices->AddObject(new Vertex(i+1,i,iomodel));
 
 			/*Add node to nodes dataset: */
-			nodes->AddObject(new Node(i,iomodel));
+			nodes->AddObject(new Node(i+1,i,iomodel));
 
 		}
Index: /issm/trunk/src/c/ModelProcessorx/Melting/CreateLoadsMelting.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Melting/CreateLoadsMelting.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/Melting/CreateLoadsMelting.cpp	(revision 3625)
@@ -49,4 +49,2 @@
 
 }
-
-
Index: /issm/trunk/src/c/ModelProcessorx/Prognostic/CreateElementsNodesAndMaterialsPrognostic.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Prognostic/CreateElementsNodesAndMaterialsPrognostic.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/Prognostic/CreateElementsNodesAndMaterialsPrognostic.cpp	(revision 3625)
@@ -48,8 +48,8 @@
 
 				/*Create and add tria element to elements dataset: */
-				elements->AddObject(new Tria(i,iomodel));
+				elements->AddObject(new Tria(i+1,i,iomodel));
 
 				/*Create and add material property to materials dataset: */
-				materials->AddObject(new Matice(i,iomodel,3));
+				materials->AddObject(new Matice(i+1,i,iomodel,3));
 			}
 		}//for (i=0;i<numberofelements;i++)
@@ -80,8 +80,8 @@
 			if(iomodel->my_elements[i]){
 				/*Create and add penta element to elements dataset: */
-				elements->AddObject(new Penta(i,iomodel));
+				elements->AddObject(new Penta(i+1,i,iomodel));
 
 				/*Create and add material property to materials dataset: */
-				materials->AddObject(new Matice(i,iomodel,6));
+				materials->AddObject(new Matice(i+1,i,iomodel,6));
 			}
 		}//for (i=0;i<numberofelements;i++)
@@ -100,5 +100,5 @@
 
 	/*Add new constrant material property to materials, at the end: */
-	materials->AddObject(new Matpar(iomodel));
+	materials->AddObject(new Matpar(iomodel->numberofelements+1,iomodel));//put it at the end of the materials
 
 	/*First fetch data: */
@@ -123,8 +123,8 @@
 
 			/*Add vertex to vertices dataset: */
-			vertices->AddObject(new Vertex(i,iomodel));
+			vertices->AddObject(new Vertex(i+1,i,iomodel));
 
 			/*Add node to nodes dataset: */
-			nodes->AddObject(new Node(i,iomodel));
+			nodes->AddObject(new Node(i+1,i,iomodel));
 
 		}
Index: /issm/trunk/src/c/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp	(revision 3625)
@@ -27,4 +27,2 @@
 
 }
-
-
Index: /issm/trunk/src/c/ModelProcessorx/Prognostic2/CreateElementsNodesAndMaterialsPrognostic2.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Prognostic2/CreateElementsNodesAndMaterialsPrognostic2.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/Prognostic2/CreateElementsNodesAndMaterialsPrognostic2.cpp	(revision 3625)
@@ -52,8 +52,8 @@
 
 				/*Create and add tria element to elements dataset: */
-				elements->AddObject(new Tria(i,iomodel));
+				elements->AddObject(new Tria(i+1,i,iomodel));
 
 				/*Create and add material property to materials dataset: */
-				materials->AddObject(new Matice(i,iomodel,3));
+				materials->AddObject(new Matice(i+1,i,iomodel,3));
 			}
 		}//for (i=0;i<numberofelements;i++)
@@ -72,5 +72,5 @@
 
 	/*Add new constrant material property tgo materials, at the end: */
-	materials->AddObject(new Matpar(iomodel));
+	materials->AddObject(new Matpar(iomodel->numberofelements+1,iomodel));
 
 	/*Create nodes and vertices: */
@@ -97,5 +97,5 @@
 
 			/*Add vertex to vertices dataset: */
-			vertices->AddObject(new Vertex(i,iomodel));
+			vertices->AddObject(new Vertex(i+1,i,iomodel));
 
 		}
@@ -116,5 +116,5 @@
 
 				/*Add node to nodes dataset: */
-				nodes->AddObject(new Node(vertex_index,node_index,iomodel));
+				nodes->AddObject(new Node(i+1,vertex_index,node_index,iomodel));
 
 			}
Index: /issm/trunk/src/c/ModelProcessorx/SlopeCompute/CreateElementsNodesAndMaterialsSlopeCompute.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/SlopeCompute/CreateElementsNodesAndMaterialsSlopeCompute.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/SlopeCompute/CreateElementsNodesAndMaterialsSlopeCompute.cpp	(revision 3625)
@@ -46,8 +46,8 @@
 				
 				/*Create and add tria element to elements dataset: */
-				elements->AddObject(new Tria(i,iomodel));
+				elements->AddObject(new Tria(i+1,i,iomodel));
 
 				/*Create and add material property to materials dataset: */
-				materials->AddObject(new Matice(i,iomodel,3));
+				materials->AddObject(new Matice(i+1,i,iomodel,3));
 			}
 
@@ -74,8 +74,8 @@
 			if(iomodel->my_elements[i]){
 				/*Create and add penta element to elements dataset: */
-				elements->AddObject(new Penta(i,iomodel));
+				elements->AddObject(new Penta(i+1,i,iomodel));
 
 				/*Create and add material property to materials dataset: */
-				materials->AddObject(new Matice(i,iomodel,6));
+				materials->AddObject(new Matice(i+1,i,iomodel,6));
 
 			}//if(my_elements[i])
@@ -92,5 +92,5 @@
 
 	/*Add new constrant material property tgo materials, at the end: */
-	materials->AddObject(new Matpar(iomodel));
+	materials->AddObject(new Matpar(iomodel->numberofelements+1,iomodel)); //put it at the end of the materials
 	
 	/*First fetch data: */
@@ -115,8 +115,8 @@
 			
 			/*Add vertex to vertices dataset: */
-			vertices->AddObject(new Vertex(i,iomodel));
+			vertices->AddObject(new Vertex(i+1,i,iomodel));
 
 			/*Add node to nodes dataset: */
-			nodes->AddObject(new Node(i,iomodel));
+			nodes->AddObject(new Node(i+1,i,iomodel));
 
 		}
Index: /issm/trunk/src/c/ModelProcessorx/Thermal/CreateElementsNodesAndMaterialsThermal.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Thermal/CreateElementsNodesAndMaterialsThermal.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/Thermal/CreateElementsNodesAndMaterialsThermal.cpp	(revision 3625)
@@ -53,8 +53,8 @@
 
 			/*Create and add tria element to elements dataset: */
-			elements->AddObject(new Penta(i,iomodel));
+			elements->AddObject(new Penta(i+1,i,iomodel));
 
 			/*Create and add material property to materials dataset: */
-			materials->AddObject(new Matice(i,iomodel,6));
+			materials->AddObject(new Matice(i+1,i,iomodel,6));
 		}
 	}//for (i=0;i<numberofelements;i++)
@@ -78,5 +78,5 @@
 
 	/*Add new constrant material property tgo materials, at the end: */
-	materials->AddObject(new Matpar(iomodel));
+	materials->AddObject(new Matpar(iomodel->numberofelements+1,iomodel));//put it at the end of the materials
 	
 	/*Create nodes and vertices: */
@@ -101,8 +101,8 @@
 			
 			/*Add vertex to vertices dataset: */
-			vertices->AddObject(new Vertex(i,iomodel));
+			vertices->AddObject(new Vertex(i+1,i,iomodel));
 
 			/*Add node to nodes dataset: */
-			nodes->AddObject(new Node(i,iomodel));
+			nodes->AddObject(new Node(i+1,i,iomodel));
 
 		}
Index: /issm/trunk/src/c/ModelProcessorx/Thermal/CreateLoadsThermal.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Thermal/CreateLoadsThermal.cpp	(revision 3624)
+++ /issm/trunk/src/c/ModelProcessorx/Thermal/CreateLoadsThermal.cpp	(revision 3625)
@@ -52,4 +52,2 @@
 
 }
-				
-
