Index: /issm/trunk/src/c/ModelProcessorx/Melting/CreateElementsNodesAndMaterialsMelting.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Melting/CreateElementsNodesAndMaterialsMelting.cpp	(revision 1904)
+++ /issm/trunk/src/c/ModelProcessorx/Melting/CreateElementsNodesAndMaterialsMelting.cpp	(revision 1905)
@@ -123,5 +123,5 @@
 
 	/*Width of elements: */
-	if(strcmp(iomodel->meshtype,"2d")==0)throw ErrorException(__FUNCT__," error message: 2d temperature computations not supported yet!");
+	if (strcmp(iomodel->meshtype,"2d")==0)goto cleanup_and_return;
 	elements_width=6; //penta elements
 
Index: /issm/trunk/src/c/ModelProcessorx/Melting/CreateLoadsMelting.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Melting/CreateLoadsMelting.cpp	(revision 1904)
+++ /issm/trunk/src/c/ModelProcessorx/Melting/CreateLoadsMelting.cpp	(revision 1905)
@@ -45,4 +45,7 @@
 	count=0;
 
+	/*if 2d: return*/
+	if (strcmp(iomodel->meshtype,"2d")==0)goto cleanup_and_return;
+
 	//create penalties for grids: no grid can have a temperature over the melting point
 	IoModelFetchData((void**)&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed","Matrix","Mat");
Index: /issm/trunk/src/c/ModelProcessorx/Melting/CreateParametersMelting.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Melting/CreateParametersMelting.cpp	(revision 1904)
+++ /issm/trunk/src/c/ModelProcessorx/Melting/CreateParametersMelting.cpp	(revision 1905)
@@ -25,4 +25,7 @@
 	parameters=*pparameters;
 
+	/*if 2d: return*/
+	if (strcmp(iomodel->meshtype,"2d")==0)goto cleanup_and_return;
+
 	count=parameters->Size();
 
@@ -48,4 +51,6 @@
 		xfree((void**)&melting);
 	}
+
+	cleanup_and_return:
 	
 	/*Assign output pointer: */
Index: /issm/trunk/src/c/ModelProcessorx/Thermal/CreateConstraintsThermal.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Thermal/CreateConstraintsThermal.cpp	(revision 1904)
+++ /issm/trunk/src/c/ModelProcessorx/Thermal/CreateConstraintsThermal.cpp	(revision 1905)
@@ -33,4 +33,7 @@
 	/*Create constraints: */
 	constraints = new DataSet(ConstraintsEnum());
+
+	/*return if 2d mesh*/
+	if (strcmp(iomodel->meshtype,"2d")==0)goto cleanup_and_return;
 
 	/*Fetch data: */
Index: /issm/trunk/src/c/ModelProcessorx/Thermal/CreateElementsNodesAndMaterialsThermal.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Thermal/CreateElementsNodesAndMaterialsThermal.cpp	(revision 1904)
+++ /issm/trunk/src/c/ModelProcessorx/Thermal/CreateElementsNodesAndMaterialsThermal.cpp	(revision 1905)
@@ -123,9 +123,8 @@
 	materials = new DataSet(MaterialsEnum());
 
+	/*return if 2d mesh*/
+	if (strcmp(iomodel->meshtype,"2d")==0)goto cleanup_and_return;
+
 	/*Width of elements: */
-	if(strcmp(iomodel->meshtype,"2d")==0){
-		throw ErrorException(__FUNCT__," 2d temperature computation not supported yet!");
-	}
-		
 	elements_width=6; //penta elements
 
Index: /issm/trunk/src/c/ModelProcessorx/Thermal/CreateLoadsThermal.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Thermal/CreateLoadsThermal.cpp	(revision 1904)
+++ /issm/trunk/src/c/ModelProcessorx/Thermal/CreateLoadsThermal.cpp	(revision 1905)
@@ -46,4 +46,7 @@
 	count=0;
 
+	/*return if 2d mesh*/
+	if (strcmp(iomodel->meshtype,"2d")==0)goto cleanup_and_return;
+
 	//create penalties for grids: no grid can have a temperature over the melting point
 	IoModelFetchData((void**)&iomodel->spctemperature,NULL,NULL,iomodel_handle,"spctemperature","Matrix","Mat");
Index: /issm/trunk/src/c/ModelProcessorx/Thermal/CreateParametersThermal.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Thermal/CreateParametersThermal.cpp	(revision 1904)
+++ /issm/trunk/src/c/ModelProcessorx/Thermal/CreateParametersThermal.cpp	(revision 1905)
@@ -29,4 +29,7 @@
 	/*recover parameters : */
 	parameters=*pparameters;
+
+	/*return if 2d mesh*/
+	if (strcmp(iomodel->meshtype,"2d")==0)goto cleanup_and_return;
 
 	count=parameters->Size();
@@ -80,4 +83,6 @@
 		xfree((void**)&temperature);
 	}
+
+	cleanup_and_return:
 	
 	/*Assign output pointer: */
