Index: /issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp	(revision 19383)
+++ /issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp	(revision 19384)
@@ -82,5 +82,9 @@
 	int law;
 	iomodel->Constant(&law,DamageLawEnum);
-	if (law>0){
+	if (law==0){
+		parameters->AddObject(iomodel->CopyConstantObject(DamageStressThresholdEnum));
+		parameters->AddObject(iomodel->CopyConstantObject(DamageKappaEnum));
+	}
+	else if (law>0){
 		parameters->AddObject(iomodel->CopyConstantObject(DamageC1Enum));
 		parameters->AddObject(iomodel->CopyConstantObject(DamageC2Enum));
@@ -98,4 +102,25 @@
 void           DamageEvolutionAnalysis::Core(FemModel* femmodel){/*{{{*/
 	_error_("not implemented");
+}/*}}}*/
+void           DamageEvolutionAnalysis::CreateDamageFInput(Element* element){/*{{{*/
+
+	/*Fetch number of vertices and allocate output*/
+	int numnodes = element->GetNumberOfNodes();
+	IssmDouble* f   = xNew<IssmDouble>(numnodes);
+
+	/*Calculate damage evolution source term: */
+	for (int i=0;i<numnodes;i++){
+
+		/* healing could be handled here */
+
+		/* no source term; damage handled in stress balance */
+		f[i]=0;
+	}
+
+	/*Add input*/
+	element->AddInput(DamageFEnum,f,element->GetElementType());
+	
+	/*Clean up and return*/
+	xDelete<IssmDouble>(f);
 }/*}}}*/
 void           DamageEvolutionAnalysis::CreateDamageFInputExp(Element* element){/*{{{*/
@@ -502,4 +527,7 @@
 	element->FindParam(&damagelaw,DamageLawEnum);
 	switch(damagelaw){
+		case 0:
+			this->CreateDamageFInput(element);
+			break;
 		case 1:
 			this->CreateDamageFInputPralong(element);
Index: /issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.h
===================================================================
--- /issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.h	(revision 19383)
+++ /issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.h	(revision 19384)
@@ -22,4 +22,5 @@
 		/*Finite element Analysis*/
 		void           Core(FemModel* femmodel);
+		void           CreateDamageFInput(Element* element);
 		void           CreateDamageFInputExp(Element* element);
 		void           CreateDamageFInputPralong(Element* element);
Index: /issm/trunk-jpl/src/m/classes/damage.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/damage.m	(revision 19383)
+++ /issm/trunk-jpl/src/m/classes/damage.m	(revision 19384)
@@ -173,5 +173,5 @@
 			fielddisplay(self,'isdamage','is damage mechanics being used? {true,false}');
 			if self.isdamage,
-				fielddisplay(self,'law','damage law {''0: undamaged'',''1: pralong''}');
+				fielddisplay(self,'law','damage law {''0: no source term'',''1: pralong''}');
 				fielddisplay(self,'D','damage tensor (scalar)');
 				fielddisplay(self,'spcdamage','damage constraints (NaN means no constraint)');
Index: /issm/trunk-jpl/src/m/classes/damage.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/damage.py	(revision 19383)
+++ /issm/trunk-jpl/src/m/classes/damage.py	(revision 19384)
@@ -52,5 +52,5 @@
 		if self.isdamage:
 			s+="%s\n" % fielddisplay(self,"D","damage tensor (scalar for now)")
-			s+="%s\n" % fielddisplay(self,"law","damage law ['0: undamaged','1: pralong']")
+			s+="%s\n" % fielddisplay(self,"law","damage law ['0: no source term','1: pralong']")
 			s+="%s\n" % fielddisplay(self,"spcdamage","damage constraints (NaN means no constraint)")
 			s+="%s\n" % fielddisplay(self,"max_damage","maximum possible damage (0<=max_damage<1)")
