[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