Index: /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 16333)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 16334)
@@ -844,6 +844,30 @@
 		#endif
 	}
-
-	/*if 3d*/
+	else if(iomodel->meshtype==Mesh2DverticalEnum){
+
+		/*Intermediaries*/
+		const int num_vertices = 3; //Tria has 3 vertices
+		IssmDouble    nodeinputs[num_vertices];
+		IssmDouble    cmmininputs[num_vertices];
+		IssmDouble    cmmaxinputs[num_vertices];
+
+		/*Get B*/
+		if (iomodel->Data(MaterialsRheologyBEnum)) {
+			for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyBEnum)[iomodel->elements[num_vertices*index+i]-1];
+			this->inputs->AddInput(new TriaInput(MaterialsRheologyBEnum,nodeinputs,P1Enum));
+		}
+
+		/*Get n*/
+		if (iomodel->Data(MaterialsRheologyNEnum)) {
+			for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyNEnum)[index];
+			this->inputs->AddInput(new TriaInput(MaterialsRheologyNEnum,nodeinputs,P1Enum));
+		}
+
+		/*Get D:*/
+		if (iomodel->Data(DamageDEnum)) {
+			for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(DamageDEnum)[iomodel->elements[num_vertices*index+i]-1];
+			this->inputs->AddInput(new TriaInput(DamageDbarEnum,nodeinputs,P1Enum));
+		}
+	}
 	#ifdef _HAVE_3D_
 	else if(iomodel->meshtype==Mesh3DEnum){
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 16333)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 16334)
@@ -34,19 +34,28 @@
 	materials = new Materials();
 
-	#ifdef _HAVE_3D_
-	if(iomodel->meshtype==Mesh3DEnum)iomodel->FetchData(2,MeshUpperelementsEnum,MeshLowerelementsEnum);
-	#endif
+	/*Create elements*/
 	if(control_analysis)iomodel->FetchData(3,InversionControlParametersEnum,InversionMinParametersEnum,InversionMaxParametersEnum);
-
-	/*Create elements*/
-	for(i=0;i<iomodel->numberofelements;i++){
-		if(iomodel->my_elements[i]){
-
-			/*Create and add tria element to elements dataset: */
-			if(iomodel->meshtype==Mesh2DhorizontalEnum) elements->AddObject(new Tria(i+1,i,i,iomodel,nummodels));
-	        #ifdef _HAVE_3D_
-			else       elements->AddObject(new Penta(i+1,i,i,iomodel,nummodels));
-	        #endif
-		}
+	switch(iomodel->meshtype){
+		case Mesh2DhorizontalEnum:
+			materials->InputDuplicate(MaterialsRheologyBbarEnum,QmuMaterialsRheologyBEnum);
+			for(i=0;i<iomodel->numberofelements;i++){
+				if(iomodel->my_elements[i]) elements->AddObject(new Tria(i+1,i,i,iomodel,nummodels));
+			}
+			break;
+		case Mesh2DverticalEnum:
+			for(i=0;i<iomodel->numberofelements;i++){
+				if(iomodel->my_elements[i]) elements->AddObject(new Tria(i+1,i,i,iomodel,nummodels));
+			}
+			break;
+		#ifdef _HAVE_3D_
+		case Mesh3DEnum:
+			iomodel->FetchData(2,MeshUpperelementsEnum,MeshLowerelementsEnum);
+			for(i=0;i<iomodel->numberofelements;i++){
+				if(iomodel->my_elements[i]) elements->AddObject(new Penta(i+1,i,i,iomodel,nummodels));
+			}
+			break;
+		#endif
+		default:
+			_error_("Mesh not supported yet");
 	}
 
@@ -57,8 +66,16 @@
 			for (i=0;i<iomodel->numberofelements;i++) if(iomodel->my_elements[i]) materials->AddObject(new Matice(i+1,i,iomodel));
 			if(dakota_analysis){
-				if(iomodel->meshtype==Mesh2DhorizontalEnum) materials->InputDuplicate(MaterialsRheologyBbarEnum,QmuMaterialsRheologyBEnum); 
-           #ifdef _HAVE_3D_
-				else       materials->InputDuplicate(MaterialsRheologyBEnum,QmuMaterialsRheologyBEnum); 
-           #endif
+				switch(iomodel->meshtype){
+					case Mesh2DhorizontalEnum:
+						materials->InputDuplicate(MaterialsRheologyBbarEnum,QmuMaterialsRheologyBEnum);
+						break;
+				   #ifdef _HAVE_3D_
+					case Mesh3DEnum:
+						materials->InputDuplicate(MaterialsRheologyBEnum,QmuMaterialsRheologyBEnum); 
+						break;
+				   #endif
+					default:
+						_error_("Mesh not supported yet");
+				}
 			}
 			break;
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp	(revision 16333)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp	(revision 16334)
@@ -55,4 +55,10 @@
 	switch(iomodel->meshtype){
 		case Mesh2DhorizontalEnum:
+			elements_width=3;
+			numberofelements2d = 0;
+			numberofvertices2d = 0;
+			numlayers          = 0;
+			break;
+		case Mesh2DverticalEnum:
 			elements_width=3;
 			numberofelements2d = 0;
