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

Stephane Popinet popinet at users.sf.net
Fri May 15 02:53:36 UTC 2009


The following commit has been merged in the upstream branch:
commit d59affddb9d8871f7797171b7aa9f9b91aac3ae6
Author: Stephane Popinet <popinet at users.sf.net>
Date:   Fri Feb 3 12:43:15 2006 +1100

    Renamed VariableLevelSet as VariableDistance
    
    darcs-hash:20060203014315-d4795-94b66b3575cac38c3d9334623f902f0979d99fbd.gz

diff --git a/src/levelset.c b/src/levelset.c
index 0f200b6..fc00c08 100644
--- a/src/levelset.c
+++ b/src/levelset.c
@@ -21,13 +21,13 @@
 #include "levelset.h"
 #include "vof.h"
 
-/* GfsVariableLevelSet: object */
+/* GfsVariableDistance: object */
 
-static void variable_levelset_read (GtsObject ** o, GtsFile * fp)
+static void variable_distance_read (GtsObject ** o, GtsFile * fp)
 {
   GfsDomain * domain;
 
-  (* GTS_OBJECT_CLASS (gfs_variable_levelset_class ())->parent_class->read) (o, fp);
+  (* GTS_OBJECT_CLASS (gfs_variable_distance_class ())->parent_class->read) (o, fp);
   if (fp->type == GTS_ERROR)
     return;
 
@@ -36,26 +36,19 @@ static void variable_levelset_read (GtsObject ** o, GtsFile * fp)
     return;
   }
   domain = GFS_DOMAIN (gfs_object_simulation (*o));
-  if (!(GFS_VARIABLE_LEVELSET (*o)->v = 
+  if (!(GFS_VARIABLE_DISTANCE (*o)->v = 
 	gfs_variable_from_name (domain->variables, fp->token->str))) {
     gts_file_error (fp, "unknown variable `%s'", fp->token->str);
     return;
   }
   gts_file_next_token (fp);
-
-  if (fp->type != GTS_INT && fp->type != GTS_FLOAT) {
-    gts_file_error (fp, "expecting a number (level)");
-    return;
-  }
-  GFS_VARIABLE_LEVELSET (*o)->level = atof (fp->token->str);
-  gts_file_next_token (fp);
 }
 
-static void variable_levelset_write (GtsObject * o, FILE * fp)
+static void variable_distance_write (GtsObject * o, FILE * fp)
 {
-  (* GTS_OBJECT_CLASS (gfs_variable_levelset_class ())->parent_class->write) (o, fp);
+  (* GTS_OBJECT_CLASS (gfs_variable_distance_class ())->parent_class->write) (o, fp);
 
-  fprintf (fp, " %s %g", GFS_VARIABLE_LEVELSET (o)->v->name, GFS_VARIABLE_LEVELSET (o)->level);
+  fprintf (fp, " %s", GFS_VARIABLE_DISTANCE (o)->v->name);
 }
 
 static gdouble vof_distance2 (FttCell * cell, GtsPoint * t, gpointer v)
@@ -89,9 +82,9 @@ static gdouble vof_distance2 (FttCell * cell, GtsPoint * t, gpointer v)
   }
 }
 
-static void levelset (FttCell * cell, GfsVariable * v)
+static void distance (FttCell * cell, GfsVariable * v)
 {
-  GfsVariableLevelSet * l = GFS_VARIABLE_LEVELSET (v);
+  GfsVariableDistance * l = GFS_VARIABLE_DISTANCE (v);
   GtsPoint p;
   gdouble d2;
   
@@ -100,59 +93,59 @@ static void levelset (FttCell * cell, GfsVariable * v)
   GFS_VARIABLE (cell, v->i) = GFS_VARIABLE (cell, l->v->i) > 0.5 ? sqrt (d2) : -sqrt (d2);
 }
 
-static void variable_levelset_event_half (GfsEvent * event, GfsSimulation * sim)
+static void variable_distance_event_half (GfsEvent * event, GfsSimulation * sim)
 {
   GfsDomain * domain = GFS_DOMAIN (sim);
-  GfsVariableLevelSet * v = GFS_VARIABLE_LEVELSET (event);
+  GfsVariableDistance * v = GFS_VARIABLE_DISTANCE (event);
 
-  gfs_domain_timer_start (domain, "levelset");
+  gfs_domain_timer_start (domain, "distance");
 
   gfs_domain_cell_traverse (domain, FTT_POST_ORDER, FTT_TRAVERSE_NON_LEAFS, -1,
   			    (FttCellTraverseFunc) v->v->fine_coarse, v->v);
   gfs_domain_cell_traverse (domain, FTT_PRE_ORDER, FTT_TRAVERSE_LEAFS, -1,
-			    (FttCellTraverseFunc) levelset, event);
+			    (FttCellTraverseFunc) distance, event);
   gfs_domain_bc (domain, FTT_TRAVERSE_LEAFS, -1, GFS_VARIABLE1 (event));
 
-  gfs_domain_timer_stop (domain, "levelset");
+  gfs_domain_timer_stop (domain, "distance");
 }
 
-static gboolean variable_levelset_event (GfsEvent * event, GfsSimulation * sim)
+static gboolean variable_distance_event (GfsEvent * event, GfsSimulation * sim)
 {
-  if ((* GFS_EVENT_CLASS (GTS_OBJECT_CLASS (gfs_variable_levelset_class ())->parent_class)->event)
+  if ((* GFS_EVENT_CLASS (GTS_OBJECT_CLASS (gfs_variable_distance_class ())->parent_class)->event)
       (event, sim)) {
-    if (!GFS_VARIABLE_LEVELSET (event)->first_done) {
-      variable_levelset_event_half (event, sim);
-      GFS_VARIABLE_LEVELSET (event)->first_done = TRUE;
+    if (!GFS_VARIABLE_DISTANCE (event)->first_done) {
+      variable_distance_event_half (event, sim);
+      GFS_VARIABLE_DISTANCE (event)->first_done = TRUE;
     }
     return TRUE;
   }
   return FALSE;
 }
 
-static void variable_levelset_class_init (GtsObjectClass * klass)
+static void variable_distance_class_init (GtsObjectClass * klass)
 {
-  klass->read = variable_levelset_read;
-  klass->write = variable_levelset_write;
-  GFS_EVENT_CLASS (klass)->event = variable_levelset_event;
-  GFS_EVENT_CLASS (klass)->event_half = variable_levelset_event_half;
+  klass->read = variable_distance_read;
+  klass->write = variable_distance_write;
+  GFS_EVENT_CLASS (klass)->event = variable_distance_event;
+  GFS_EVENT_CLASS (klass)->event_half = variable_distance_event_half;
 }
 
-GfsVariableClass * gfs_variable_levelset_class (void)
+GfsVariableClass * gfs_variable_distance_class (void)
 {
   static GfsVariableClass * klass = NULL;
 
   if (klass == NULL) {
-    GtsObjectClassInfo gfs_variable_levelset_info = {
-      "GfsVariableLevelSet",
-      sizeof (GfsVariableLevelSet),
+    GtsObjectClassInfo gfs_variable_distance_info = {
+      "GfsVariableDistance",
+      sizeof (GfsVariableDistance),
       sizeof (GfsVariableClass),
-      (GtsObjectClassInitFunc) variable_levelset_class_init,
+      (GtsObjectClassInitFunc) variable_distance_class_init,
       (GtsObjectInitFunc) NULL,
       (GtsArgSetFunc) NULL,
       (GtsArgGetFunc) NULL
     };
     klass = gts_object_class_new (GTS_OBJECT_CLASS (gfs_variable_class ()), 
-				  &gfs_variable_levelset_info);
+				  &gfs_variable_distance_info);
   }
 
   return klass;
@@ -178,8 +171,8 @@ static void variable_curvature_read (GtsObject ** o, GtsFile * fp)
     gts_file_error (fp, "unknown variable `%s'", fp->token->str);
     return;
   }
-  if (!GFS_IS_VARIABLE_LEVELSET (GFS_VARIABLE_CURVATURE (*o)->d)) {
-    gts_file_error (fp, "variable `%s' is not a GfsVariableLevelSet", fp->token->str);
+  if (!GFS_IS_VARIABLE_DISTANCE (GFS_VARIABLE_CURVATURE (*o)->d)) {
+    gts_file_error (fp, "variable `%s' is not a GfsVariableDistance", fp->token->str);
     return;
   }
   gts_file_next_token (fp);
@@ -236,7 +229,7 @@ static void interface_curvature (FttCell * cell, gpointer * data)
 {
   GfsVariable * v = data[1];
   GfsVariableCurvature * k = GFS_VARIABLE_CURVATURE (v);
-  gdouble f = GFS_VARIABLE (cell, GFS_VARIABLE_LEVELSET (k->d)->v->i);
+  gdouble f = GFS_VARIABLE (cell, GFS_VARIABLE_DISTANCE (k->d)->v->i);
 
   if (GFS_IS_FULL (f))
     GFS_VARIABLE (cell, v->i) = G_MAXDOUBLE;
diff --git a/src/levelset.h b/src/levelset.h
index ceed8a8..36eb5e2 100644
--- a/src/levelset.h
+++ b/src/levelset.h
@@ -26,27 +26,26 @@ extern "C" {
 
 #include "variable.h"
 
-/* GfsVariableLevelSet: header */
+/* GfsVariableDistance: header */
 
-typedef struct _GfsVariableLevelSet                GfsVariableLevelSet;
+typedef struct _GfsVariableDistance                GfsVariableDistance;
 
-struct _GfsVariableLevelSet {
+struct _GfsVariableDistance {
   /*< private >*/
   GfsVariable parent;
   gboolean first_done;
 
   /*< public >*/
   GfsVariable * v;
-  gdouble level;
 };
 
-#define GFS_VARIABLE_LEVELSET(obj)            GTS_OBJECT_CAST (obj,\
-					           GfsVariableLevelSet,\
-					           gfs_variable_levelset_class ())
-#define GFS_IS_VARIABLE_LEVELSET(obj)         (gts_object_is_from_class (obj,\
-					     gfs_variable_levelset_class ()))
+#define GFS_VARIABLE_DISTANCE(obj)            GTS_OBJECT_CAST (obj,\
+					           GfsVariableDistance,\
+					           gfs_variable_distance_class ())
+#define GFS_IS_VARIABLE_DISTANCE(obj)         (gts_object_is_from_class (obj,\
+					     gfs_variable_distance_class ()))
 
-GfsVariableClass * gfs_variable_levelset_class  (void);
+GfsVariableClass * gfs_variable_distance_class  (void);
 
 /* GfsVariableCurvature: header */
 
diff --git a/test/spurious/spurious.gfs b/test/spurious/spurious.gfs
index 4b9020c..c830ae5 100644
--- a/test/spurious/spurious.gfs
+++ b/test/spurious/spurious.gfs
@@ -67,7 +67,7 @@
 
   VariableTracer {} T { scheme = vof }
   VariableFiltered {} T1 T 1
-  VariableLevelSet {} L T 0.5
+  VariableDistance {} L T
   VariableCurvature {} K L
   SourceTension {} T K
   SourceDiffusion {} U MU
diff --git a/test/spurious/spurious.sh b/test/spurious/spurious.sh
index a67043c..6539b06 100755
--- a/test/spurious/spurious.sh
+++ b/test/spurious/spurious.sh
@@ -2,8 +2,8 @@ if ! $donotrun; then
     shapes ellipse | transform --scale 0.8 > circle.gts
     for La in 12000 1200 120; do
 	mu=`echo $La | awk '{print sqrt (0.4/$1)}'`
-	tmax=`echo $mu | awk '{print 500.*$1*0.4}'`
-	if sed "s/LEVEL/6/g" < $1 |\
+	tmax=`echo $mu | awk '{print 1000.*$1*0.4}'`
+	if sed "s/LEVEL/5/g" < $1 |\
            sed "s/MU/$mu/g" |\
            sed "s/TMAX/$tmax/g" | gerris2D - | awk -v mu=$mu -v D=0.4 '{
              print $3/(mu*D) " " $9*mu;
@@ -17,7 +17,7 @@ if ! $donotrun; then
     for level in 5 6 7; do
         La=12000
         mu=`echo $La | awk '{print sqrt (0.4/$1)}'`
-	tmax=`echo $mu | awk '{print 500.*$1*0.4}'`
+	tmax=`echo $mu | awk '{print 1000.*$1*0.4}'`
 	if sed "s/LEVEL/$level/g" < $1 |\
            sed "s/MU/$mu/g" |\
            sed "s/TMAX/$tmax/g" | gerris2D - | awk -v mu=$mu -v level=$level -v D=0.4 '{ 

-- 
Gerris Flow Solver



More information about the debian-science-commits mailing list