[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