[SCM] Gerris Flow Solver branch, upstream, updated. b3aa46814a06c9cb2912790b23916ffb44f1f203
Stephane Popinet
popinet at users.sf.net
Fri May 15 02:53:58 UTC 2009
The following commit has been merged in the upstream branch:
commit 26c307a9194e79ab9559d182bd3851f668b5db62
Author: Stephane Popinet <popinet at users.sf.net>
Date: Tue Feb 27 13:15:31 2007 +1100
Fix for merge with CSF branch
darcs-hash:20070227021531-d4795-6dd6747dfa9ee8c404cbc74a2da2860d574b0328.gz
diff --git a/doc/examples/rt/rt.gfs b/doc/examples/rt/rt.gfs
index 1bdbbb0..66c3b53 100644
--- a/doc/examples/rt/rt.gfs
+++ b/doc/examples/rt/rt.gfs
@@ -45,11 +45,6 @@
# The tracer T is used to track both phases
VariableTracer {} T { scheme = vof }
- # We need a filtered version of T (T1) to define a sufficiently
- # smooth density field. The third argument defines how many times the
- # recursive smoothing must be applied.
- VariableFiltered {} T1 T 0
-
# The initial sinusoidal interface.
InitFraction {} T rt.gts
diff --git a/src/init.c b/src/init.c
index 2a68bac..97d2ecb 100644
--- a/src/init.c
+++ b/src/init.c
@@ -107,9 +107,11 @@ GtsObjectClass ** gfs_classes (void)
gfs_variable_curvature_class (),
gfs_variable_position_class (),
gfs_variable_distance_class (),
+
gfs_surface_bc_class (),
gfs_box_class (),
+
gfs_gedge_class (),
gfs_bc_dirichlet_class (),
@@ -143,7 +145,9 @@ GtsObjectClass ** gfs_classes (void)
gfs_adapt_function_class (),
gfs_adapt_gradient_class (),
gfs_adapt_curvature_class (),
+
gfs_event_sum_class (),
+ gfs_event_sum_direction_class (),
gfs_event_harmonic_class (),
gfs_event_stop_class (),
gfs_event_script_class (),
diff --git a/src/ocean.c b/src/ocean.c
index 7ffc096..32bc112 100644
--- a/src/ocean.c
+++ b/src/ocean.c
@@ -654,7 +654,8 @@ static void ocean_run (GfsSimulation * sim)
gfs_domain_timer_start (domain, "correct_normal_velocities");
gfs_poisson_coefficients (domain, NULL);
- gfs_correct_normal_velocities (domain, 2, p, g, sim->advection_params.dt/2., NULL);
+ gfs_correct_normal_velocities_weighted (domain, 2, p, g, sim->advection_params.dt/2., FALSE);
+
gfs_domain_cell_traverse_boundary (domain, FTT_BACK,
FTT_PRE_ORDER, FTT_TRAVERSE_LEAFS, -1,
(FttCellTraverseFunc) compute_w,
diff --git a/src/simulation.c b/src/simulation.c
index 313d04e..092a71f 100644
--- a/src/simulation.c
+++ b/src/simulation.c
@@ -525,10 +525,10 @@ static void simulation_run (GfsSimulation * sim)
if (gfs_has_source_coriolis (domain)) {
gfs_poisson_coefficients (domain, sim->physical_params.alpha);
- gfs_correct_normal_velocities (domain, 2, p, g, 0., NULL);
+ gfs_correct_normal_velocities (domain, 2, p, g, 0.);
gfs_correct_centered_velocities (domain, 2, g, sim->advection_params.dt);
gfs_source_coriolis_implicit (domain, sim->advection_params.dt);
- gfs_correct_normal_velocities (domain, 2, p, g, 0., NULL);
+ gfs_correct_normal_velocities (domain, 2, p, g, 0.);
gfs_correct_centered_velocities (domain, 2, g, -sim->advection_params.dt);
}
diff --git a/src/solid.c b/src/solid.c
index 1f98a0f..c57c222 100644
--- a/src/solid.c
+++ b/src/solid.c
@@ -627,25 +627,18 @@ static void set_solid_fractions_from_surface (FttCell * cell, GtsSurface * s, In
sym[c] = FALSE;
n += (&m.x)[c];
}
- if (n > 0.) {
- m.x /= n; m.y /= n; m.z /= n;
- alpha = m.x*ca.x + m.y*ca.y + m.z*ca.z;
- solid->a = gfs_plane_volume (&m, alpha, 1.);
- gfs_plane_center (&m, alpha, solid->a, &solid->cm);
- for (c = 0; c < FTT_DIMENSION; c++)
- (&solid->cm.x)[c] = (&o.x)[c] +
- (sym[c] ? 1. - (&solid->cm.x)[c] : (&solid->cm.x)[c])*(&h.x)[c];
- }
- else { /* degenerate intersections */
- solid->a = 0.;
- for (i = 0; i < FTT_NEIGHBORS; i++)
- solid->a += solid->s[i];
- solid->a /= FTT_NEIGHBORS;
- if (solid->a == 0. || solid->a == 1.) {
- g_free (solid);
- GFS_STATE (cell)->solid = NULL;
- }
- }
+ g_assert (n > 0.);
+ m.x /= n; m.y /= n; m.z /= n;
+ alpha = m.x*ca.x + m.y*ca.y + m.z*ca.z;
+ solid->a = gfs_plane_volume (&m, alpha);
+ gfs_plane_center (&m, alpha, solid->a, &solid->cm);
+ for (c = 0; c < FTT_DIMENSION; c++)
+ (&solid->cm.x)[c] = (&o.x)[c] +
+ (sym[c] ? 1. - (&solid->cm.x)[c] : (&solid->cm.x)[c])*(&h.x)[c];
+ }
+ else { /* this is a "thin" cell */
+ p->thin++;
+ deal_with_thin_cell (cell, p);
}
if (solid->a == 0.)
GFS_VARIABLE (cell, p->status->i) = 1.;
diff --git a/test/spurious/spurious.gfs b/test/spurious/spurious.gfs
index 4699f06..b96abf4 100644
--- a/test/spurious/spurious.gfs
+++ b/test/spurious/spurious.gfs
@@ -19,36 +19,27 @@
# The convergence is obtained for a wide range of Laplace numbers
# $La=\sigma\rho D/\mu^2$, as illustrated on Figure \ref{laplace}.
#
-# \begin{figure}[htbp]
-# \begin{center}
-# \includegraphics[width=0.6\hsize]{vectors.eps}
-# \end{center}
-# \caption{Spurious currents at equilibrium for $La=12000$.}
-# \label{vectors}
-# \end{figure}
+# Figure \ref{convergence} illustrates the convergence of the error on
+# the droplet shape as a function of resolution for a Laplace number
+# of 12000.
#
# \begin{figure}[htbp]
-# \caption{\label{laplace}Evolution of the capillary number $Ca$ as a function of
-# non-dimensional time $\tau=t\sigma/(\mu D)$ for the range of Laplace
+# \caption{\label{laplace}Evolution of the amplitude of the capillary currents
+# $\max(|{\bf u}|)(D/\sigma)^{1/2}$ as a function of
+# non-dimensional time $\tau=t\mu/D^2$ for the range of Laplace
# numbers indicated in the legend.}
# \begin{center}
# \includegraphics[width=0.8\hsize]{laplace.eps}
# \end{center}
-# \caption{Evolution of the capillary number $Ca$ as a function of
-# non-dimensional time $\tau=t\sigma/(\mu D)$ for the range of Laplace
-# numbers indicated in the legend.}
-# \label{laplace}
# \end{figure}
#
# \begin{figure}[htbp]
-# \caption{\label{convergence}Poor convergence of the capillary number with increased
-# resolution. The diameter is given in number of grid points.}
+# \caption{\label{convergence}Convergence of the error on the equilibrium shape of the
+# droplet with resolution. The diameter is given in number of grid
+# points.}
# \begin{center}
# \includegraphics[width=0.8\hsize]{convergence.eps}
# \end{center}
-# \caption{Poor convergence of the capillary number with increased
-# resolution. The diameter is given in number of grid points.}
-# \label{convergence}
# \end{figure}
#
# Author: St\'ephane Popinet
--
Gerris Flow Solver
More information about the debian-science-commits
mailing list