Index: /issm/trunk/src/c/modules/Orthx/Orthx.cpp
===================================================================
--- /issm/trunk/src/c/modules/Orthx/Orthx.cpp	(revision 7906)
+++ /issm/trunk/src/c/modules/Orthx/Orthx.cpp	(revision 7907)
@@ -21,5 +21,7 @@
 	if(oldgradj){
 		VecNorm(oldgradj,NORM_2,&norm_old);
+		_assert_(norm_old!=0); 
 		VecDot(newgradj,oldgradj,&dot_product);
+		_assert_(dot_product!=NAN); 
 		VecAXPY(newgradj, -dot_product/pow(norm_old,2), oldgradj);
 	}
Index: /issm/trunk/src/c/objects/Loads/Friction.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Friction.cpp	(revision 7906)
+++ /issm/trunk/src/c/objects/Loads/Friction.cpp	(revision 7907)
@@ -111,4 +111,5 @@
 
 	alpha2=pow(drag_coefficient,2)*pow(Neff,r)*pow(vmag,(s-1));
+	_assert_(!isnan(alpha2));
 
 	/*Assign output pointers:*/
@@ -172,4 +173,5 @@
 
 	alpha2=pow(drag_coefficient,2)*pow(Neff,r)*pow(vmag,(s-1));
+	_assert_(!isnan(alpha2));
 
 	/*Assign output pointers:*/
@@ -228,5 +230,9 @@
 	vmag=sqrt(pow(vx,2)+pow(vy,2));
 
+	/*Checks*/
+	if(vmag==0 && (s-1)<0) _error_("velocity is 0 ans (s-1)=%g<0, alpha_complement is Inf",s-1);
+
 	alpha_complement=pow(Neff,r)*pow(vmag,(s-1));
+	_assert_(!isnan(alpha_complement));
 
 	/*Assign output pointers:*/
