[SCM] Gerris Flow Solver branch, upstream, updated. b3aa46814a06c9cb2912790b23916ffb44f1f203

Stephane Popinet popinet at users.sf.net
Fri May 15 02:54:06 UTC 2009


The following commit has been merged in the upstream branch:
commit a37342067862ce4641da49c9bfc43f63c010da59
Author: Stephane Popinet <popinet at users.sf.net>
Date:   Thu Mar 15 14:14:21 2007 +1100

    New "twod" option for GfsRefineSurface
    
    darcs-hash:20070315031421-d4795-66f5b0e903926e598f2e13ccbefc0f91eb81fb44.gz

diff --git a/src/refine.c b/src/refine.c
index 5f923e9..18a7bb9 100644
--- a/src/refine.c
+++ b/src/refine.c
@@ -265,7 +265,11 @@ static void refine_surface_write (GtsObject * o, FILE * fp)
   (* GTS_OBJECT_CLASS (gfs_refine_surface_class ())->parent_class->write) (o, fp);
   fprintf (fp, " { ");
   gts_surface_write (d->surface, fp);
-  fputs ("}\n", fp);
+  fputc ('}', fp);
+  if (d->twod)
+    fputs (" { twod = 1 }\n", fp);
+  else
+    fputc ('\n', fp);
 }
 
 static void refine_surface_read (GtsObject ** o, GtsFile * fp)
@@ -315,8 +319,16 @@ static void refine_surface_read (GtsObject ** o, GtsFile * fp)
     }
     fp->scope_max--;
   }
-
   gts_file_next_token (fp);
+
+  if (fp->type == '{') {
+    GtsFileVariable var[] = {
+      {GTS_INT, "twod", TRUE},
+      {GTS_NONE}
+    };
+    var[0].data = &refine->twod;
+    gts_file_assign_variables (fp, var);
+  }
 }
 
 static void gfs_refine_surface_refine (GfsRefine * refine, GfsSimulation * sim)
@@ -325,9 +337,14 @@ static void gfs_refine_surface_refine (GfsRefine * refine, GfsSimulation * sim)
 
   data[0] = refine;
   data[1] = sim;
-  gfs_domain_traverse_cut (GFS_DOMAIN (sim), GFS_REFINE_SURFACE (refine)->surface,
-			   FTT_PRE_ORDER, FTT_TRAVERSE_LEAFS,
-			   (FttCellTraverseCutFunc) refine_cut_cell, data);
+  if (GFS_REFINE_SURFACE (refine)->twod)
+    gfs_domain_traverse_cut_2D (GFS_DOMAIN (sim), GFS_REFINE_SURFACE (refine)->surface,
+				FTT_PRE_ORDER, FTT_TRAVERSE_LEAFS,
+				(FttCellTraverseCutFunc) refine_cut_cell, data);
+  else
+    gfs_domain_traverse_cut (GFS_DOMAIN (sim), GFS_REFINE_SURFACE (refine)->surface,
+			     FTT_PRE_ORDER, FTT_TRAVERSE_LEAFS,
+			     (FttCellTraverseCutFunc) refine_cut_cell, data);
 }
 
 static void gfs_refine_surface_class_init (GfsRefineClass * klass)
diff --git a/src/refine.h b/src/refine.h
index b08d2ab..e63646f 100644
--- a/src/refine.h
+++ b/src/refine.h
@@ -76,6 +76,7 @@ struct _GfsRefineSurface {
   GfsRefine parent;
 
   GtsSurface * surface;
+  gboolean twod;
 };
 
 #define GFS_REFINE_SURFACE(obj)            GTS_OBJECT_CAST (obj,\

-- 
Gerris Flow Solver



More information about the debian-science-commits mailing list