Index: /issm/trunk/src/c/objects/Node.cpp
===================================================================
--- /issm/trunk/src/c/objects/Node.cpp	(revision 1196)
+++ /issm/trunk/src/c/objects/Node.cpp	(revision 1197)
@@ -726,4 +726,33 @@
 			}
 		} //if (strcmp(field_name,"velocity")==0)
+		else if (strcmp(field_name,"gradj")==0){
+
+			/* node data: */
+			int          dof1;
+			double       fieldel;
+
+			//initilaize node and get dof1
+			node=this;
+			dof1=node->GetDofList1();
+
+			/*get field for this base node: */
+			fieldel=field_serial[dof1];
+
+			//go throfieldn all nodes which sit on top of this node, until we reach the surface, 
+			//and plfield  field in field
+			for(;;){
+
+				dof1=node->GetDofList1();
+				VecSetValues(field,1,&dof1,&fieldel,INSERT_VALUES);
+				printf("dof=%i\n",dof1);
+				if(dof1>30){
+					printf("dof=%i\n",dof1);
+				}
+
+				if (node->IsOnSurface())break;
+				/*get next node: */
+				node=node->GetUpperNode();
+			}
+		}
 		else if ( 
 				(strcmp(field_name,"thickness")==0) ||
Index: /issm/trunk/src/c/objects/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Penta.cpp	(revision 1196)
+++ /issm/trunk/src/c/objects/Penta.cpp	(revision 1197)
@@ -1255,5 +1255,9 @@
 	}
 	else{
-		throw ErrorException(__FUNCT__," not supported yet!");
+		/*B is a 2d field, use MacAyeal(2d) gradient even if it is Stokes or Pattyn*/
+		tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria (lower face).
+		tria->GradjB(grad_g,inputs,analysis_type,sub_analysis_type);
+		delete tria;
+		return;
 	}
 }
Index: /issm/trunk/src/c/parallel/GradJCompute.cpp
===================================================================
--- /issm/trunk/src/c/parallel/GradJCompute.cpp	(revision 1196)
+++ /issm/trunk/src/c/parallel/GradJCompute.cpp	(revision 1197)
@@ -82,7 +82,10 @@
 
 	if (dim==3){
+		PetscSynchronizedPrintf(MPI_COMM_WORLD,"ok1\n");
+		PetscSynchronizedFlush(MPI_COMM_WORLD);
+
 
 		_printf_("%s\n","      extruding gradient...");
-		FieldExtrudex( grad_g, femmodel->elements,femmodel->nodes,femmodel->loads,femmodel->materials,"gradj",1);
+		FieldExtrudex( grad_g, femmodel->elements,femmodel->nodes,femmodel->loads,femmodel->materials,"gradj",0);
 	}
 	
