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

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


The following commit has been merged in the upstream branch:
commit dc952332c72d26d9a4c4f74a378090a33e11a605
Author: Stephane Popinet <popinet at users.sf.net>
Date:   Tue Mar 20 12:06:56 2007 +1100

    Source terms for non-advected variables are taken into account
    
    darcs-hash:20070320010656-d4795-831eac78b3be1fd5884560b8355b5ba8f59138a7.gz

diff --git a/src/ocean.c b/src/ocean.c
index 6ae4e14..9358bee 100644
--- a/src/ocean.c
+++ b/src/ocean.c
@@ -296,6 +296,13 @@ static void ocean_run (GfsSimulation * sim)
 
     gfs_domain_bc (domain, FTT_TRAVERSE_LEAFS, -1, p);
 
+    i = domain->variables;
+    while (i) {
+      if (!GFS_IS_VARIABLE_TRACER (i->data))
+	gfs_domain_variable_centered_sources (domain, i->data, i->data, sim->advection_params.dt);
+      i = i->next;
+    }
+
     gts_container_foreach (GTS_CONTAINER (sim->events), (GtsFunc) gfs_event_half_do, sim);
 
     gfs_correct_normal_velocities_weighted (domain, 2, p, g, 0., FALSE); 
@@ -672,6 +679,13 @@ static void ocean_run (GfsSimulation * sim)
       i = i->next;
     }
 
+    i = domain->variables;
+    while (i) {
+      if (!GFS_IS_VARIABLE_TRACER (i->data))
+	gfs_domain_variable_centered_sources (domain, i->data, i->data, sim->advection_params.dt);
+      i = i->next;
+    }
+
     gts_container_foreach (GTS_CONTAINER (sim->events), (GtsFunc) gfs_event_half_do, sim);
 
     gfs_centered_velocity_advection_diffusion (domain, 2,
diff --git a/src/simulation.c b/src/simulation.c
index 1ab26c8..6b0722e 100644
--- a/src/simulation.c
+++ b/src/simulation.c
@@ -515,8 +515,15 @@ static void simulation_run (GfsSimulation * sim)
 			p, sim->physical_params.alpha, g);
     gfs_variables_swap (p, pmac);
 
-    gts_container_foreach (GTS_CONTAINER (sim->events), (GtsFunc) gfs_event_half_do, sim);
+    i = domain->variables;
+    while (i) {
+      if (!GFS_IS_VARIABLE_TRACER (i->data))
+	gfs_domain_variable_centered_sources (domain, i->data, i->data, sim->advection_params.dt);
+      i = i->next;
+    }
 
+    gts_container_foreach (GTS_CONTAINER (sim->events), (GtsFunc) gfs_event_half_do, sim);
+    
     gfs_centered_velocity_advection_diffusion (domain,
 					       FTT_DIMENSION,
 					       &sim->advection_params,
@@ -1371,6 +1378,13 @@ static void advection_run (GfsSimulation * sim)
 			      (FttFaceTraverseFunc) gfs_face_interpolated_normal_velocity,
 			      gfs_domain_velocity (domain));
 
+    GSList * i = domain->variables;
+    while (i) {
+      if (!GFS_IS_VARIABLE_TRACER (i->data))
+	gfs_domain_variable_centered_sources (domain, i->data, i->data, sim->advection_params.dt);
+      i = i->next;
+    }
+
     advance_tracers (domain, sim->advection_params.dt);
 
     gts_container_foreach (GTS_CONTAINER (sim->events), (GtsFunc) gfs_event_half_do, sim);
@@ -1516,6 +1530,13 @@ static void poisson_run (GfsSimulation * sim)
 				(FttCellTraverseFunc) copy_res, data);
     }
 
+    i = domain->variables;
+    while (i) {
+      if (!GFS_IS_VARIABLE_TRACER (i->data))
+	gfs_domain_variable_centered_sources (domain, i->data, i->data, sim->advection_params.dt);
+      i = i->next;
+    }
+
     gts_container_foreach (GTS_CONTAINER (sim->events), (GtsFunc) gfs_event_do, sim);
 
     gfs_domain_timer_start (domain, "poisson_cycle");

-- 
Gerris Flow Solver



More information about the debian-science-commits mailing list