[cig-commits] r12004 - in long/3D/Gale/trunk: . src/Gale/Utils/src

walter at geodynamics.org walter at geodynamics.org
Thu May 22 13:04:08 PDT 2008


Author: walter
Date: 2008-05-22 13:04:08 -0700 (Thu, 22 May 2008)
New Revision: 12004

Modified:
   long/3D/Gale/trunk/
   long/3D/Gale/trunk/src/Gale/Utils/src/KineticFriction.c
Log:
 r2179 at earth:  boo | 2008-05-22 13:04:05 -0700
 Use kinetic friction when v_diff!=0, rather than >1e-20.  Also rename v_norm to v_diff_norm.



Property changes on: long/3D/Gale/trunk
___________________________________________________________________
Name: svk:merge
   - 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:2176
   + 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:2179

Modified: long/3D/Gale/trunk/src/Gale/Utils/src/KineticFriction.c
===================================================================
--- long/3D/Gale/trunk/src/Gale/Utils/src/KineticFriction.c	2008-05-22 19:07:20 UTC (rev 12003)
+++ long/3D/Gale/trunk/src/Gale/Utils/src/KineticFriction.c	2008-05-22 20:04:08 UTC (rev 12004)
@@ -337,7 +337,7 @@
   ElementType* elementType;
   Dof_Index nodeDofCount;
   double stress, area, n[3], v_diff[3], v_boundary[3], v_dot_n,
-    v_perpendicular[3], v_norm, friction_force;
+    v_perpendicular[3], v_diff_norm, friction_force;
   IJK ijk;
   unsigned direction, boundary, basis[2], d;
   FeVariable *pressure, *deviatoric_stress, *velocity;
@@ -463,7 +463,7 @@
             v_dot_n=Vec_Dot2D(v_diff,n);
             Vec_Scale2D(v_perpendicular,n,v_dot_n);
             Vec_Sub2D(v_surface_diff,v_diff,v_perpendicular);
-            v_norm=Vec_Mag2D(v_surface_diff);
+            v_diff_norm=Vec_Mag2D(v_surface_diff);
           }
         else
           {
@@ -471,14 +471,14 @@
             v_dot_n=Vec_Dot3D(v,n);
             Vec_Scale3D(v_perpendicular,n,v_dot_n);
             Vec_Sub3D(v_surface_diff,v,v_perpendicular);
-            v_norm=Vec_Mag3D(v_surface_diff);
+            v_diff_norm=Vec_Mag3D(v_surface_diff);
           }
 
         StaticFrictionVC_get_force_vector(force_vector);
 
         friction_force=friction_coefficient*normal_stress*area/overcount;
 
-        if(friction_force>0 && v_norm>1.0e-20)
+        if(friction_force>0 && v_diff_norm!=0.0)
           {
           for(d=0;d<dim;++d)
             {
@@ -486,11 +486,11 @@
               double old_force=
                 force_vector[(lElement_I*elementNodeCount+eNode_I)*nodeDofCount+d];
               force_vector[(lElement_I*elementNodeCount+eNode_I)*nodeDofCount+d]=
-                friction_force*v_surface_diff[d]/v_norm;
+                friction_force*v_surface_diff[d]/v_diff_norm;
               if(old_force==0)
                 alpha=1.0;
               force_vector[(lElement_I*elementNodeCount+eNode_I)*nodeDofCount+d]=
-                (friction_force*v_surface_diff[d]/v_norm)*alpha
+                (friction_force*v_surface_diff[d]/v_diff_norm)*alpha
                 + old_force*(1-alpha);
               
               if(force_vector[(lElement_I*elementNodeCount+eNode_I)*nodeDofCount+d]*old_force<0)



More information about the cig-commits mailing list