[SCM] Gerris Flow Solver branch, upstream, updated. b3aa46814a06c9cb2912790b23916ffb44f1f203
Stephane Popinet
popinet at users.sf.net
Fri May 15 02:56:18 UTC 2009
The following commit has been merged in the upstream branch:
commit 35acbf6978b200605e2a0014158acab5f66f399e
Author: Stephane Popinet <popinet at users.sf.net>
Date: Thu Apr 30 18:35:23 2009 +1000
New function gfs_advance_tracers()
Ignore-this: f10337647b9c268b72a5e2995ff3c44f
darcs-hash:20090430083523-d4795-dc5815f19ca678ba3144191df6940eb406b73802.gz
diff --git a/src/simulation.c b/src/simulation.c
index 2803474..3731cd9 100644
--- a/src/simulation.c
+++ b/src/simulation.c
@@ -348,8 +348,16 @@ static void simulation_read (GtsObject ** object, GtsFile * fp)
sim->modules = g_slist_reverse (sim->modules);
}
-static void advance_tracers (GfsDomain * domain, gdouble dt)
+/**
+ * gfs_advance_tracers:
+ * @domain: a #GfsDomain.
+ *
+ * Performs advection/difussion of tracers associated with @domain.
+ */
+void gfs_advance_tracers (GfsDomain * domain, gdouble dt)
{
+ g_return_if_fail (domain != NULL);
+
GSList * i = domain->variables;
while (i) {
if (GFS_IS_VARIABLE_TRACER_VOF (i->data)) {
@@ -414,7 +422,7 @@ static void simulation_run (GfsSimulation * sim)
&sim->advection_params,
p, sim->physical_params.alpha, res, g);
gfs_simulation_set_timestep (sim);
- advance_tracers (domain, sim->advection_params.dt/2.);
+ gfs_advance_tracers (domain, sim->advection_params.dt/2.);
}
else if (sim->advection_params.gc)
gfs_update_gradients (domain, p, sim->physical_params.alpha, g);
@@ -466,7 +474,7 @@ static void simulation_run (GfsSimulation * sim)
sim->time.i++;
gfs_simulation_set_timestep (sim);
- advance_tracers (domain, sim->advection_params.dt);
+ gfs_advance_tracers (domain, sim->advection_params.dt);
gts_range_add_value (&domain->timestep, gfs_clock_elapsed (domain->timer) - tstart);
gts_range_update (&domain->timestep);
@@ -1586,7 +1594,7 @@ static void advection_run (GfsSimulation * sim)
gfs_simulation_set_timestep (sim);
- advance_tracers (domain, sim->advection_params.dt);
+ gfs_advance_tracers (domain, sim->advection_params.dt);
gts_container_foreach (GTS_CONTAINER (sim->events), (GtsFunc) gfs_event_half_do, sim);
diff --git a/src/simulation.h b/src/simulation.h
index 62ce32a..8a5de07 100644
--- a/src/simulation.h
+++ b/src/simulation.h
@@ -96,6 +96,8 @@ struct _GfsSimulationClass {
#define GFS_IS_SIMULATION(obj) (gts_object_is_from_class (obj,\
gfs_simulation_class ()))
+void gfs_advance_tracers (GfsDomain * domain,
+ gdouble dt);
GfsSimulationClass * gfs_simulation_class (void);
GfsSimulation * gfs_simulation_new (GfsSimulationClass * klass);
void gfs_simulation_init (GfsSimulation * sim);
--
Gerris Flow Solver
More information about the debian-science-commits
mailing list