[SCM] Gerris Flow Solver branch, upstream, updated. b3aa46814a06c9cb2912790b23916ffb44f1f203
Stephane Popinet
popinet at users.sf.net
Fri May 15 02:55:26 UTC 2009
The following commit has been merged in the upstream branch:
commit ee4ea46ae0f213e4315dcb80b935178698b61beb
Author: Stephane Popinet <popinet at users.sf.net>
Date: Thu Jun 19 07:35:51 2008 +1000
VariableFiltered defines values on all levels
This should fix bugs when using a filtered variable within alpha (alpha needs
to be defined on all levels for the viscous terms).
darcs-hash:20080618213551-d4795-2ff7127a96a0c45ddd3fefeebaa4f969b2223ca2.gz
diff --git a/src/variable.c b/src/variable.c
index 95099b3..7628b89 100644
--- a/src/variable.c
+++ b/src/variable.c
@@ -388,10 +388,16 @@ static void variable_filtered_write (GtsObject * o, FILE * fp)
static void variable_filtered_event_half (GfsEvent * event, GfsSimulation * sim)
{
guint n = GFS_VARIABLE_FILTERED (event)->niter;
+ GfsDomain * domain = GFS_DOMAIN (sim);
+ GfsVariable * v = GFS_VARIABLE1 (event);
- gfs_domain_filter (GFS_DOMAIN (sim), GFS_VARIABLE_FILTERED (event)->v, GFS_VARIABLE1 (event));
+ gfs_domain_filter (domain, GFS_VARIABLE_FILTERED (event)->v, v);
while (--n)
- gfs_domain_filter (GFS_DOMAIN (sim), GFS_VARIABLE1 (event), NULL);
+ gfs_domain_filter (domain, v, NULL);
+ gfs_domain_cell_traverse (domain,
+ FTT_POST_ORDER, FTT_TRAVERSE_NON_LEAFS, -1,
+ (FttCellTraverseFunc) v->fine_coarse, v);
+ gfs_domain_bc (domain, FTT_TRAVERSE_NON_LEAFS, -1, v);
}
static gboolean variable_filtered_event (GfsEvent * event, GfsSimulation * sim)
--
Gerris Flow Solver
More information about the debian-science-commits
mailing list