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

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


The following commit has been merged in the upstream branch:
commit 46c89bfa0d2d6d084562b55bb830463955960744
Author: Stephane Popinet <popinet at users.sf.net>
Date:   Sat Dec 2 17:33:35 2006 +1100

    Init events are also realised at half timesteps
    
    darcs-hash:20061202063335-d4795-0bb8dbba37478b1470fac3a573d70206ae9925f8.gz

diff --git a/src/event.c b/src/event.c
index 330e772..d50e83f 100644
--- a/src/event.c
+++ b/src/event.c
@@ -550,17 +550,22 @@ static void init_vf (FttCell * cell, VarFunc * vf)
   GFS_VARIABLE (cell, vf->v->i) = gfs_function_value (vf->f, cell);
 }
 
+static void gfs_init_event_half (GfsEvent * event, GfsSimulation * sim)
+{
+  GSList * i = GFS_INIT (event)->f;
+  
+  while (i) {
+    gfs_domain_cell_traverse (GFS_DOMAIN (sim), FTT_PRE_ORDER, FTT_TRAVERSE_LEAFS, -1,
+			      (FttCellTraverseFunc) init_vf, i->data);
+    i = i->next;
+  }
+}
+
 static gboolean gfs_init_event (GfsEvent * event, GfsSimulation * sim)
 {
   if ((* GFS_EVENT_CLASS (GTS_OBJECT_CLASS (gfs_init_class ())->parent_class)->event) 
       (event, sim)) {
-    GSList * i = GFS_INIT (event)->f;
-
-    while (i) {
-      gfs_domain_cell_traverse (GFS_DOMAIN (sim), FTT_PRE_ORDER, FTT_TRAVERSE_LEAFS, -1,
-				(FttCellTraverseFunc) init_vf, i->data);
-      i = i->next;
-    }
+    gfs_init_event_half (event, sim);
     return TRUE;
   }
   return FALSE;
@@ -569,6 +574,7 @@ static gboolean gfs_init_event (GfsEvent * event, GfsSimulation * sim)
 static void gfs_init_class_init (GfsGenericInitClass * klass)
 {
   GFS_EVENT_CLASS (klass)->event = gfs_init_event;
+  GFS_EVENT_CLASS (klass)->event_half = gfs_init_event_half;
   GTS_OBJECT_CLASS (klass)->read = gfs_init_read;
   GTS_OBJECT_CLASS (klass)->write = gfs_init_write;
   GTS_OBJECT_CLASS (klass)->destroy = gfs_init_destroy;

-- 
Gerris Flow Solver



More information about the debian-science-commits mailing list