[SCM] Gerris Flow Solver branch, upstream, updated. b3aa46814a06c9cb2912790b23916ffb44f1f203

Stephane Popinet popinet at users.sf.net
Fri May 15 02:55:44 UTC 2009


The following commit has been merged in the upstream branch:
commit 1a9b075c3dd83d8aea71c379df363143d86e304b
Author: Stephane Popinet <popinet at users.sf.net>
Date:   Tue Sep 9 16:54:21 2008 +1000

    Axisymmetric spurious currents test case
    
    darcs-hash:20080909065421-d4795-8f9f11b6905c9c9a502d828ad89d9f5cf5d3eaca.gz

diff --git a/test/spurious/spurious.gfs b/test/spurious/axi/axi.gfs
similarity index 52%
copy from test/spurious/spurious.gfs
copy to test/spurious/axi/axi.gfs
index e9dd85f..8ce5c8b 100644
--- a/test/spurious/spurious.gfs
+++ b/test/spurious/axi/axi.gfs
@@ -1,32 +1,9 @@
-# Title: Circular droplet in equilibrium
+# Title: Axisymmetric spherical droplet in equilibrium
 #
 # Description:
 #
-# A circular droplet of diameter $D=0.8$ is initialised centered on
-# the top-left corner of the unit box. Surface tension is imposed on
-# the interface. The exact solution is given by Laplace's law: uniform
-# zero velocity and a pressure jump accross the interface exactly
-# balancing the surface tension force.
-#
-# The initial condition -- while close to the exact solution -- does
-# not guarantee the exact balance between the numerical
-# discretisations of surface tension and pressure gradient. However,
-# these small initial perturbations generate small capillary waves
-# which are progressively (on a timescale of order $D^2/\mu$) damped
-# by viscosity so that the exact (to round-off error) balance is
-# eventually obtained.
-#
-# The convergence is obtained for a wide range of Laplace numbers
-# $La=\sigma\rho D/\mu^2$, as illustrated on Figure \ref{laplace}.
-# Correspondingly, convergence of the curvature to a constant value is
-# also obtained at all Laplace numbers as illustrated on Figure
-# \ref{curvature}.
-#
-# Figure \ref{convergence} illustrates the convergence of the error on
-# the droplet shape as a function of resolution for a Laplace number
-# of 12000. Both the shape error and the relative error on the
-# equilibrium curvature value illustrated on Figure
-# \ref{kconvergence} show close to second-order convergence.
+# The same test case but using the axisymmetric solver. The results
+# are comparable.
 #
 # \begin{figure}[htbp]
 # \caption{\label{laplace}Evolution of the amplitude of the capillary currents
@@ -67,16 +44,16 @@
 # \end{figure}
 #
 # Author: St\'ephane Popinet
-# Command: sh spurious.sh spurious.gfs
-# Version: 1.1.2
-# Required files: spurious.sh convergence.ref kconvergence.ref
+# Command: sh ../spurious.sh axi.gfs 1e-8
+# Version: 1.3.1
+# Required files: convergence.ref kconvergence.ref
 # Generated files: laplace.eps curvature.eps convergence.eps kconvergence.eps
 #
 
-Define CIRCLE (ellipse (-0.5,0.5,0.4,0.4))
+Define CIRCLE (ellipse (-0.5,0.,0.4,0.4))
 Define MU sqrt(0.8/LAPLACE)
 
-1 0 GfsSimulation GfsBox GfsGEdge {} {
+1 0 GfsAxi GfsBox GfsGEdge {} {
   Time { end = TMAX }
   Refine LEVEL
   RefineSurface {return 10;} CIRCLE
@@ -88,8 +65,7 @@ Define MU sqrt(0.8/LAPLACE)
   VariableTracerVOF T
   VariableCurvature K T
   SourceTension T 1 K
-  SourceDiffusion U MU
-  SourceDiffusion V MU
+  SourceViscosity MU
 
   InitFraction T CIRCLE
   Init {} { Tref = T }
@@ -99,19 +75,19 @@ Define MU sqrt(0.8/LAPLACE)
 
   OutputSimulation { start = end } stdout { depth = LEVEL }
   OutputScalarNorm { istep = 1 } {
-    awk '{ print MU*$3/(0.8*0.8), $9*sqrt(0.8) }' > La-LAPLACE-LEVEL
+    awk '{ print MU*$3/(0.8*0.8), $9*sqrt(0.8); fflush (stdout); }' > La-LAPLACE-LEVEL
   } { v = Velocity }
   OutputScalarNorm { istep = 1 } {
-    awk '{ print MU*$3/(0.8*0.8), $5, $7, $9 }' > E-LAPLACE-LEVEL
+    awk '{ print MU*$3/(0.8*0.8), $5, $7, $9; fflush (stdout); }' > E-LAPLACE-LEVEL
   } { v = (Tref - T) }
   OutputScalarStats { istep = 1 } {
-    awk '{ print MU*$3/(0.8*0.8), $5, $7, $9, $11 }' > K-LAPLACE-LEVEL
+    awk '{ print MU*$3/(0.8*0.8), $5, $7, $9, $11; fflush (stdout); }' > K-LAPLACE-LEVEL
   } { v = (K - 2.50771) }
   OutputScalarNorm { istep = 1 } {
-    awk '{ print MU*$3/(0.8*0.8), $5, $7, $9 }' > EK-LAPLACE-LEVEL
-  } { v = (T > 0 && T < 1 ? K - 2.5 : 0) }
+    awk '{ print MU*$3/(0.8*0.8), $5, $7, $9; fflush (stdout); }' > EK-LAPLACE-LEVEL
+  } { v = (T > 0 && T < 1 ? (K - 5.)/2. : 0) }
 }
 GfsBox {
-  top = Boundary
+  bottom = Boundary
   left = Boundary
 }
diff --git a/test/spurious/axi/convergence.ref b/test/spurious/axi/convergence.ref
new file mode 100644
index 0000000..7d31968
--- /dev/null
+++ b/test/spurious/axi/convergence.ref
@@ -0,0 +1,5 @@
+6.4 9.187e-03 5.444e-02
+12.8 4.680e-03 3.822e-02
+25.6 1.435e-03 1.598e-02
+51.2 4.523e-04 7.418e-03
+102.4 1.541e-04 3.657e-03
diff --git a/test/spurious/axi/kconvergence.ref b/test/spurious/axi/kconvergence.ref
new file mode 100644
index 0000000..4f15f8b
--- /dev/null
+++ b/test/spurious/axi/kconvergence.ref
@@ -0,0 +1,5 @@
+6.4 0.00828 0.02504
+12.8 0.0015228 0.006756
+25.6 0.00036676 0.0023472
+51.2 5.728e-05 0.0005136
+102.4 9.908e-06 0.00012508
diff --git a/test/spurious/spurious.gfs b/test/spurious/spurious.gfs
index e9dd85f..7da7160 100644
--- a/test/spurious/spurious.gfs
+++ b/test/spurious/spurious.gfs
@@ -67,7 +67,7 @@
 # \end{figure}
 #
 # Author: St\'ephane Popinet
-# Command: sh spurious.sh spurious.gfs
+# Command: sh spurious.sh spurious.gfs 1e-11
 # Version: 1.1.2
 # Required files: spurious.sh convergence.ref kconvergence.ref
 # Generated files: laplace.eps curvature.eps convergence.eps kconvergence.eps
diff --git a/test/spurious/spurious.sh b/test/spurious/spurious.sh
index fbdb24d..aa16417 100755
--- a/test/spurious/spurious.sh
+++ b/test/spurious/spurious.sh
@@ -64,7 +64,7 @@ else
 fi
 
 for f in La-120-5 La-1200-5 La-12000-5; do
-    if awk '{ last = $2; }END{if (last > 1e-11) exit (1);}' < $f; then :
+    if awk -v tolerance=$2 '{ last = $2; }END{if (last > tolerance) exit (1);}' < $f; then :
     else
 	exit 1
     fi
diff --git a/test/template.tex b/test/template.tex
index 83c7cdb..9db0d2c 100644
--- a/test/template.tex
+++ b/test/template.tex
@@ -84,6 +84,7 @@ branch only.
 \section{Surface tension}
 
 \input{spurious/spurious.tex}
+\input{spurious/axi/axi.tex}
 \input{capwave/capwave.tex}
 \input{capwave/density/density.tex}
 \input{capwave/air-water/air-water.tex}

-- 
Gerris Flow Solver



More information about the debian-science-commits mailing list