Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 16220)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 16221)
@@ -6952,9 +6952,9 @@
 
 	/*Intermediaries */
-	IssmDouble Jdet,dt;
-	IssmDouble f,damage;
-	IssmDouble xyz_list[NUMVERTICES][3];
-	Input* damage_input  = NULL;
-	Input* f_input  = NULL;
+	IssmDouble  Jdet ,dt;
+	IssmDouble  f,damage;
+	IssmDouble  xyz_list[NUMVERTICES][3];
+	IssmDouble  f_list[NUMVERTICES];
+	Input      *damage_input             = NULL;
 
 	/*Fetch number of nodes and dof for this finite element*/
@@ -6971,5 +6971,5 @@
 	
 	/*retrieve damage evolution forcing function: */
-	f_input=this->DamageEvolutionF();
+	this->DamageEvolutionF(&f_list[0]);
 
 	/*Initialize forcing function f to 0, do not forget!:*/
@@ -6983,5 +6983,5 @@
 		GetNodalFunctions(basis,gauss);
 
-		f_input->GetInputValue(&f,gauss);
+		TriaRef::GetInputValue(&f,f_list,gauss);
 		damage_input->GetInputValue(&damage,gauss);
 
@@ -6996,5 +6996,5 @@
 /*}}}*/
 /*FUNCTION Tria::DamageEvolutionF{{{*/
-Input* Tria::DamageEvolutionF(void){
+void Tria::DamageEvolutionF(IssmDouble* f){
 
 	/*Intermediaries */
@@ -7007,5 +7007,4 @@
 	IssmDouble NegPsi;
 	Input* damage_input=NULL;
-	Input* z_input=NULL;
 	Input* sigma_xx_input  = NULL;
 	Input* sigma_xy_input  = NULL;
@@ -7013,8 +7012,4 @@
 	GaussTria* gauss=NULL;
 	IssmDouble damage,sigma_xx,sigma_xy,sigma_yy;
-	
-	/*output: */
-	IssmDouble f[NUMVERTICES];
-	Input* f_input=NULL;
 
 	/*retrieve parameters:*/
@@ -7061,9 +7056,7 @@
 
 	}
-	f_input=new TriaInput(NoneEnum,&f[0],P1Enum);
 	
 	/*Clean up and return*/
 	delete gauss;
-	return f_input;
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 16220)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.h	(revision 16221)
@@ -283,6 +283,6 @@
 		ElementVector* CreatePVectorDamageEvolution(void);
 		ElementVector* CreatePVectorDamageEvolution_CG(void);
-		Input* DamageEvolutionF(void);
-		void	       InputUpdateFromSolutionDamageEvolution(IssmDouble* solution);
+		void           DamageEvolutionF(IssmDouble* flist);
+		void	         InputUpdateFromSolutionDamageEvolution(IssmDouble* solution);
 		#endif
 
