[SCM] Gerris Flow Solver branch, upstream, updated. b3aa46814a06c9cb2912790b23916ffb44f1f203
Stephane Popinet
popinet at users.sf.net
Fri May 15 02:53:35 UTC 2009
The following commit has been merged in the upstream branch:
commit 96e711ecf03ede5269689b00c1104444f2d171f8
Author: Stephane Popinet <popinet at users.sf.net>
Date: Thu Feb 2 04:37:13 2006 +1100
UNDO: Levelset function is computed using the VOF-reconstructed interface
darcs-hash:20060201173713-d4795-e72a61fd1b84ff5856b591b913b84194b7a74ade.gz
diff --git a/src/levelset.c b/src/levelset.c
index 453aad7..88bf7b3 100644
--- a/src/levelset.c
+++ b/src/levelset.c
@@ -19,7 +19,6 @@
#include <stdlib.h>
#include "levelset.h"
-#include "vof.h"
/* GfsVariableLevelSet: object */
@@ -155,47 +154,9 @@ static gdouble isoline_distance2 (FttCell * cell, GtsPoint * t, gpointer v1)
}
}
-static gdouble vof_distance2 (FttCell * cell, GtsPoint * t, gpointer v)
-{
- gdouble f = GFS_VARIABLE (cell, GFS_VARIABLE1 (v)->i);
-
- if (f < 1e-6 || 1. - f < 1.e-6)
- return G_MAXDOUBLE;
- if (!FTT_CELL_IS_LEAF (cell))
- return ftt_cell_point_distance2_min (cell, t);
- else {
- gdouble h = ftt_cell_size (cell), d2;
- GSList * l = gfs_vof_facet (cell, v);
- GtsPoint * p1 = l->data, * p2 = l->next->data;
- GtsSegment s;
- FttVector p;
-
- ftt_cell_pos (cell, &p);
- p1->x = p.x + h*p1->x; p1->y = p.y + h*p1->y;
- p2->x = p.x + h*p2->x; p2->y = p.y + h*p2->y;
- s.v1 = (GtsVertex *) p1; s.v2 = (GtsVertex *) p2;
- d2 = gts_point_segment_distance2 (t, &s);
- gts_object_destroy (GTS_OBJECT (p1));
- gts_object_destroy (GTS_OBJECT (p2));
- g_slist_free (l);
- return d2;
- }
-}
-
static void levelset (FttCell * cell, GfsVariable * v)
{
GfsVariableLevelSet * l = GFS_VARIABLE_LEVELSET (v);
- GtsPoint p;
- gdouble d2;
-
- ftt_cell_pos (cell, (FttVector *) &p.x);
- d2 = gfs_domain_cell_point_distance2 (v->domain, &p, vof_distance2, l->v, NULL);
- GFS_VARIABLE (cell, v->i) = GFS_VARIABLE (cell, l->v->i) > 0.5 ? sqrt (d2) : -sqrt (d2);
-}
-
-static void levelset1 (FttCell * cell, GfsVariable * v)
-{
- GfsVariableLevelSet * l = GFS_VARIABLE_LEVELSET (v);
FttCell * closest = NULL;
GtsPoint p;
gdouble d2;
@@ -236,8 +197,6 @@ static void variable_levelset_event_half (GfsEvent * event, GfsSimulation * sim)
v->min = gfs_temporary_variable (domain);
v->max = gfs_temporary_variable (domain);
- gfs_domain_cell_traverse (domain, FTT_POST_ORDER, FTT_TRAVERSE_NON_LEAFS, -1,
- (FttCellTraverseFunc) v->v->fine_coarse, v->v);
gfs_domain_cell_traverse (domain, FTT_POST_ORDER, FTT_TRAVERSE_ALL, -1,
(FttCellTraverseFunc) min_max, v);
gfs_domain_cell_traverse (domain, FTT_PRE_ORDER, FTT_TRAVERSE_LEAFS, -1,
--
Gerris Flow Solver
More information about the debian-science-commits
mailing list