Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 14588)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 14589)
@@ -1543,2 +1543,18 @@
 /*}}}*/
 #endif
+#ifdef _HAVE_GIA_
+void FemModel::Deflection(Vector<IssmDouble>* wg){ /*{{{*/
+
+	int      i;
+
+	/*intermediary: */
+	Element *element     = NULL;
+
+	/*Go through elements, and add contribution from each element to the deflection vector wg:*/
+	for (i=0;i<elements->Size();i++){
+		element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
+		element->Deflection(wg);
+	}
+}
+/*}}}*/
+#endif
Index: /issm/trunk-jpl/src/c/classes/FemModel.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 14588)
+++ /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 14589)
@@ -93,4 +93,7 @@
 		void ThicknessAbsGradientx( IssmDouble* pJ, bool process_units,int weight_index);
 		#endif
+		#ifdef _HAVE_GIA_
+		void Deflection(Vector<IssmDouble>* wg);
+		#endif
 		void SystemMatricesx(Matrix<IssmDouble>** pKff, Matrix<IssmDouble>** pKfs, Vector<IssmDouble>** ppf, Vector<IssmDouble>** pdf, IssmDouble* pkmax);
 		void TimeAdaptx(IssmDouble* pdt);
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Element.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Element.h	(revision 14588)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Element.h	(revision 14589)
@@ -100,4 +100,8 @@
 		#endif
 
+		#ifdef _HAVE_GIA_
+		virtual void   Deflection(Vector<IssmDouble>* wg)=0;
+		#endif
+
 		#ifdef _HAVE_CONTROL_
 		virtual void   Gradj(Vector<IssmDouble>* gradient,int control_type,int control_index)=0;
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.cpp	(revision 14588)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.cpp	(revision 14589)
@@ -3359,4 +3359,13 @@
 #endif
 
+#ifdef _HAVE_GIA_
+/*FUNCTION Penta::Deflection {{{*/
+void Penta::Deflection(Vector<IssmDouble>* wg){
+
+	return;
+}
+/*}}}*/
+#endif
+
 #ifdef _HAVE_THERMAL_
 /*FUNCTION Penta::CreateKMatrixEnthalpy {{{*/
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.h	(revision 14588)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.h	(revision 14589)
@@ -140,4 +140,8 @@
 		void   MaxVy(IssmDouble* pmaxvy, bool process_units);
 		void   MaxVz(IssmDouble* pmaxvz, bool process_units);
+		#endif
+
+		#ifdef _HAVE_GIA_
+		void   Deflection(Vector<IssmDouble>* wg);
 		#endif
 
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp	(revision 14588)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp	(revision 14589)
@@ -3035,4 +3035,13 @@
 	/*Return: */
 	return Total_Smb;
+}
+/*}}}*/
+#endif
+
+#ifdef _HAVE_GIA_
+/*FUNCTION Tria::Deflection {{{*/
+void Tria::Deflection(Vector<IssmDouble>* wg){
+
+	return;
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.h	(revision 14588)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.h	(revision 14589)
@@ -140,4 +140,8 @@
 		#endif
 
+		#ifdef _HAVE_GIA_
+		void   Deflection(Vector<IssmDouble>* wg);
+		#endif
+
 		#ifdef _HAVE_CONTROL_
 		IssmDouble DragCoefficientAbsGradient(bool process_units,int weight_index);
Index: /issm/trunk-jpl/src/c/solutions/gia_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutions/gia_core.cpp	(revision 14588)
+++ /issm/trunk-jpl/src/c/solutions/gia_core.cpp	(revision 14589)
@@ -34,5 +34,5 @@
 
 	/*call the main module: */
-	//Deflection();
+	femmodel->Deflection(wg);
 	
 	InputUpdateFromSolutionx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,wg); 
Index: /issm/trunk-jpl/test/NightlyRun/test330.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test330.m	(revision 14588)
+++ /issm/trunk-jpl/test/NightlyRun/test330.m	(revision 14589)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'macayeal','all');
 md.verbose=verbose('solution',true,'convergence',true,'mprocessor',true,'module',true);
-md.cluster=generic('name',oshostname(),'np',1);
+md.cluster=generic('name',oshostname(),'np',3);
 md=solve(md,GiaSolutionEnum());
 
