[SCM] Gerris Flow Solver branch, upstream,	updated. b3aa46814a06c9cb2912790b23916ffb44f1f203
    Stephane Popinet 
    s.popinet at niwa.co.nz
       
    Fri May 15 02:52:24 UTC 2009
    
    
  
The following commit has been merged in the upstream branch:
commit e1e0d86856147af8f19c4fa2c06f892fd954dae6
Author: Stephane Popinet <s.popinet at niwa.co.nz>
Date:   Wed Aug 3 16:01:18 2005 +1000
    gfs_face_ca was failing in particular cases on 3D meshes
    
    darcs-hash:20050803060118-fbd8f-b7f42f21a155969ee3af881bfb816caa5d00c444.gz
diff --git a/src/solid.c b/src/solid.c
index 5903a7f..4ac74ad 100644
--- a/src/solid.c
+++ b/src/solid.c
@@ -1064,14 +1064,16 @@ void gfs_face_ca (const FttCellFace * face, FttVector * ca)
     m.x = fabs (m.x);
     m.y = fabs (m.y);
     n = m.x + m.y;
-    m.x /= n;
-    m.y /= n;
-    alpha = gfs_line_alpha (&m, f);
-    gfs_line_center (&m, alpha, f, &p);
-    if (s1) p.x = 1. - p.x;
-    if (s2) p.y = 1. - p.y;
-    (&ca->x)[c1] += (p.x - 0.5)*h;
-    (&ca->x)[c2] += (p.y - 0.5)*h;
+    if (n > 0.) {
+      m.x /= n;
+      m.y /= n;
+      alpha = gfs_line_alpha (&m, f);
+      gfs_line_center (&m, alpha, f, &p);
+      if (s1) p.x = 1. - p.x;
+      if (s2) p.y = 1. - p.y;
+      (&ca->x)[c1] += (p.x - 0.5)*h;
+      (&ca->x)[c2] += (p.y - 0.5)*h;
+    }
 #endif /* 3D */
   }
 }
-- 
Gerris Flow Solver
    
    
More information about the debian-science-commits
mailing list