Index: /issm/trunk/src/c/objects/Loads/Numericalflux.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Numericalflux.cpp	(revision 5736)
+++ /issm/trunk/src/c/objects/Loads/Numericalflux.cpp	(revision 5737)
@@ -24,5 +24,7 @@
 	this->parameters=NULL;
 	this->helement=NULL;
+	this->element=NULL;
 	this->hnodes=NULL;
+	this->nodes=NULL;
 }
 /*}}}*/
@@ -123,4 +125,6 @@
 	//this->parameters: we still can't point to it, it may not even exist. Configure will handle this.
 	this->parameters=NULL;
+	this->element=NULL;
+	this->nodes=NULL;
 }
 /*}}}*/
@@ -248,4 +252,6 @@
 	/*parameters: may not exist even yet, so let Configure handle it: */
 	this->parameters=NULL;
+	this->element=NULL;
+	this->nodes=NULL;
 
 	/*return: */
@@ -284,6 +290,9 @@
 	numericalflux->helement=(Hook*)this->helement->copy();
 
+	/*corresponding fields*/
+	numericalflux->nodes  =(Node**)numericalflux->hnodes->deliverp();
+	numericalflux->element=(Element*)numericalflux->helement->delivers();
+
 	return numericalflux;
-
 }
 /*}}}*/
@@ -298,4 +307,8 @@
 	helement->configure(elementsin);
 
+	/*Initialize hooked fields*/
+	this->nodes  =(Node**)hnodes->deliverp();
+	this->element=(Element*)helement->delivers();
+
 	/*point parameters to real dataset: */
 	this->parameters=parametersin;
@@ -382,5 +395,5 @@
 
 	/* local declarations */
-	int             i,j;
+	int             i,j,ig;
 	int analysis_type;
 
@@ -391,8 +404,8 @@
 	double    xyz_list[numgrids][3];
 	double    normal[2];
-	int*        doflist=NULL;
+	int*      doflist=NULL;
 
 	/* gaussian points: */
-	int     num_gauss,ig;
+	int     num_gauss;
 	double* gauss_coords =NULL;
 	double  gauss_coord;
@@ -417,6 +430,4 @@
 
 	/*dynamic objects pointed to by hooks: */
-	Node  **nodes           = NULL;
-	Tria   *tria            = NULL;
 	Input  *vxaverage_input = NULL;
 	Input  *vyaverage_input = NULL;
@@ -427,6 +438,5 @@
 
 	/*recover objects from hooks: */
-	nodes=(Node**)hnodes->deliverp();
-	tria=(Tria*)helement->delivers();
+	Tria* tria=(Tria*)element;
 
 	/*recover parameters: */
@@ -549,6 +559,4 @@
 
 	/*dynamic objects pointed to by hooks: */
-	Node**  nodes=NULL;
-	Tria*   tria=NULL;
 	Input*  vxaverage_input=NULL;
 	Input*  vyaverage_input=NULL;
@@ -559,6 +567,5 @@
 
 	/*recover objects from hooks: */
-	nodes=(Node**)hnodes->deliverp();
-	tria=(Tria*)helement->delivers();
+	Tria* tria=(Tria*)element;
 
 	/*recover parameters: */
@@ -692,6 +699,4 @@
 
 	/*dynamic objects pointed to by hooks: */
-	Node**  nodes=NULL;
-	Tria*   tria=NULL;
 	Input*  vxaverage_input=NULL;
 	Input*  vyaverage_input=NULL;
@@ -699,6 +704,5 @@
 
 	/*recover objects from hooks: */
-	nodes=(Node**)hnodes->deliverp();
-	tria=(Tria*)helement->delivers();
+	Tria* tria=(Tria*)element;
 
 	/*Retrieve parameters: */
@@ -813,10 +817,4 @@
 	/*output: */
 	int* doflist=NULL;
-
-	/*pointers: */
-	Node**   nodes=NULL;
-	
-	/*recover pointers: */
-	nodes=(Node**)hnodes->deliverp();
 	
 	/*recover type: */
@@ -921,11 +919,6 @@
 	double value;
 
-	/*dynamic objects pointed to by hooks: */
-	Tria*  tria=NULL;
-	Node** nodes=NULL;
-
 	/*recover objects from hooks: */
-	tria=(Tria*)helement->delivers();
-	nodes=(Node**)hnodes->deliverp();
+	Tria* tria=(Tria*)element;
 
 	/*Get value on Element 1*/
@@ -942,11 +935,6 @@
 	double value;
 
-	/*dynamic objects pointed to by hooks: */
-	Tria*  tria=NULL;
-	Node** nodes=NULL;
-
 	/*recover objects from hooks: */
-	tria=(Tria*)helement->delivers();
-	nodes=(Node**)hnodes->deliverp();
+	Tria* tria=(Tria*)element;
 
 	/*Get value on Element 1*/
Index: /issm/trunk/src/c/objects/Loads/Numericalflux.h
===================================================================
--- /issm/trunk/src/c/objects/Loads/Numericalflux.h	(revision 5736)
+++ /issm/trunk/src/c/objects/Loads/Numericalflux.h	(revision 5737)
@@ -22,6 +22,12 @@
 		int analysis_type;
 
+		/*Hooks*/
 		Hook*       helement;
 		Hook*       hnodes;
+
+		/*Corresponding fields*/
+		Element* element;
+		Node**   nodes;
+
 		Parameters *parameters;
 		Inputs     *inputs;
