[SCM] Gerris Flow Solver branch, upstream, updated. e8f73a07832050124d2b8bf6c6f35b33180e65a8
Stephane Popinet
popinet at users.sf.net
Tue Nov 24 12:25:06 UTC 2009
The following commit has been merged in the upstream branch:
commit 16f097fcf8af0ad491b4945237768db1fc4095f5
Author: Stephane Popinet <popinet at users.sf.net>
Date: Thu Sep 17 11:14:56 2009 +1000
Units of VariableTerrain are properly reset
Ignore-this: 406bdb46cc93366981007bd4aa0a0a94
darcs-hash:20090917011456-d4795-0e43e3342c0c71614bc3f7c1e16c0987ddf3fb27.gz
diff --git a/modules/terrain.mod b/modules/terrain.mod
index 80a369a..4f6798a 100644
--- a/modules/terrain.mod
+++ b/modules/terrain.mod
@@ -1428,56 +1428,6 @@ static void none (FttCell * parent, GfsVariable * v)
{
}
-static void variable_terrain_read (GtsObject ** o, GtsFile * fp)
-{
- (* GTS_OBJECT_CLASS (gfs_variable_terrain_class ())->parent_class->read) (o, fp);
- if (fp->type == GTS_ERROR)
- return;
-
- GfsVariableTerrain * v = GFS_VARIABLE_TERRAIN (*o);
- rsurfaces_read (&v->rs, fp);
- if (fp->type == GTS_ERROR)
- return;
-
- GfsSimulation * sim = gfs_object_simulation (*o);
- if (GFS_IS_RIVER (sim) && fp->type == '{') {
- gboolean reconstruct = FALSE;
- GtsFileVariable var[] = {
- {GTS_INT, "reconstruct", TRUE, &reconstruct},
- {GTS_NONE}
- };
- gts_file_assign_variables (fp, var);
- if (fp->type == GTS_ERROR)
- return;
- if (reconstruct) {
- v->p = GFS_RIVER (sim)->v[0];
- v->H = GFS_RIVER (sim)->H;
- /* the coarse -> fine and fine -> coarse interpolations of p and H
- are taken over by variable_terrain_coarse_fine (below )*/
- v->p->coarse_fine = none;
- v->H->coarse_fine = none;
- v->p->fine_coarse = none;
- v->H->fine_coarse = none;
- }
- }
-}
-
-static void variable_terrain_write (GtsObject * o, FILE * fp)
-{
- (* GTS_OBJECT_CLASS (gfs_variable_terrain_class ())->parent_class->write) (o, fp);
-
- rsurfaces_write (&GFS_VARIABLE_TERRAIN (o)->rs, fp);
- if (GFS_VARIABLE_TERRAIN (o)->H)
- fputs (" { reconstruct = 1 }", fp);
-}
-
-static void variable_terrain_class_init (GtsObjectClass * klass)
-{
- klass->destroy = variable_terrain_destroy;
- klass->read = variable_terrain_read;
- klass->write = variable_terrain_write;
-}
-
static void variable_terrain_coarse_fine (FttCell * parent, GfsVariable * v)
{
GfsVariableTerrain * t = GFS_VARIABLE_TERRAIN (v);
@@ -1622,12 +1572,65 @@ static void variable_terrain_fine_coarse (FttCell * parent, GfsVariable * v)
}
}
+static void variable_terrain_read (GtsObject ** o, GtsFile * fp)
+{
+ (* GTS_OBJECT_CLASS (gfs_variable_terrain_class ())->parent_class->read) (o, fp);
+ if (fp->type == GTS_ERROR)
+ return;
+
+ GfsVariableTerrain * v = GFS_VARIABLE_TERRAIN (*o);
+ rsurfaces_read (&v->rs, fp);
+ if (fp->type == GTS_ERROR)
+ return;
+
+ GfsVariable * v1 = GFS_VARIABLE1 (*o);
+ v1->units = 1.;
+ g_free (v1->description);
+ v1->description = g_strdup ("Terrain");
+ v1->coarse_fine = variable_terrain_coarse_fine;
+ v1->fine_coarse = variable_terrain_fine_coarse;
+
+ GfsSimulation * sim = gfs_object_simulation (*o);
+ if (GFS_IS_RIVER (sim) && fp->type == '{') {
+ gboolean reconstruct = FALSE;
+ GtsFileVariable var[] = {
+ {GTS_INT, "reconstruct", TRUE, &reconstruct},
+ {GTS_NONE}
+ };
+ gts_file_assign_variables (fp, var);
+ if (fp->type == GTS_ERROR)
+ return;
+ if (reconstruct) {
+ v->p = GFS_RIVER (sim)->v[0];
+ v->H = GFS_RIVER (sim)->H;
+ /* the coarse -> fine and fine -> coarse interpolations of p and H
+ are taken over by variable_terrain_coarse_fine (below )*/
+ v->p->coarse_fine = none;
+ v->H->coarse_fine = none;
+ v->p->fine_coarse = none;
+ v->H->fine_coarse = none;
+ }
+ }
+}
+
+static void variable_terrain_write (GtsObject * o, FILE * fp)
+{
+ (* GTS_OBJECT_CLASS (gfs_variable_terrain_class ())->parent_class->write) (o, fp);
+
+ rsurfaces_write (&GFS_VARIABLE_TERRAIN (o)->rs, fp);
+ if (GFS_VARIABLE_TERRAIN (o)->H)
+ fputs (" { reconstruct = 1 }", fp);
+}
+
+static void variable_terrain_class_init (GtsObjectClass * klass)
+{
+ klass->destroy = variable_terrain_destroy;
+ klass->read = variable_terrain_read;
+ klass->write = variable_terrain_write;
+}
+
static void variable_terrain_init (GfsVariableTerrain * v)
{
- GFS_VARIABLE1 (v)->units = 1.;
- GFS_VARIABLE1 (v)->description = g_strdup ("Terrain");
- GFS_VARIABLE1 (v)->coarse_fine = variable_terrain_coarse_fine;
- GFS_VARIABLE1 (v)->fine_coarse = variable_terrain_fine_coarse;
v->rs.basename = g_strdup ("*");
}
--
Gerris Flow Solver
More information about the debian-science-commits
mailing list