# Title: Estimation of the numerical viscosity # # Description: # # The velocity field is initialised with an exact stationary solution of # the Euler equations in a periodic 2D domain. An exact Euler solver # would not change this field, however any numerical solver will # introduce numerical dissipation which will slowly dissipate the # kinetic energy of the initial solution. By monitoring the evolution of # the kinetic energy, the dissipative properties of the numerical scheme # can be measured (see \cite{rider95} for details). # # Figures \ref{divmax} and figure \ref{divL2} illustrate the evolution # of the divergence of the velocity field with time. This is a check of # the stability of the approximate projection and should remain bounded. # # Figures \ref{kinetic} and \ref{reynolds} illustrates the evolution of # the kinetic energy and the corresponding equivalent Reynolds number as # a function of resolution. The higher the Reynolds number, the less # dissipative the scheme. # # \begin{figure}[htbp] # \caption{\label{divmax}Evolution of the maximum divergence.} # \begin{center} # \includegraphics[width=0.8\hsize]{divmax.eps} # \end{center} # \end{figure} # # \begin{figure}[htbp] # \caption{\label{divL2}Evolution of the L2 norm of the divergence.} # \begin{center} # \includegraphics[width=0.8\hsize]{divL2.eps} # \end{center} # \end{figure} # # \begin{figure}[htbp] # \caption{\label{kinetic}Evolution of the kinetic energy.} # \begin{center} # \includegraphics[width=0.8\hsize]{kinetic.eps} # \end{center} # \end{figure} # # \begin{figure}[htbp] # \caption{\label{reynolds}Equivalent Reynolds number as a function of resolution.} # \begin{center} # \includegraphics[width=0.8\hsize]{reynolds.eps} # \end{center} # \end{figure} # # Author: St\'ephane Popinet # Command: sh reynolds.sh reynolds.gfs 1 # Version: 0.6.4 # Required files: reynolds.sh div5.ref div6.ref div7.ref reynolds.ref # Running time: 3 minutes # Generated files: divmax.eps reynolds.eps divL2.eps kinetic.eps # 1 2 GfsSimulation GfsBox GfsGEdge {} { Time { end = 2 } Refine LEVEL Init {} { U = (- cos (2.*M_PI*x)*sin (2.*M_PI*y)) V = (sin (2.*M_PI*x)*cos (2.*M_PI*y)) } ApproxProjectionParams { tolerance = 1e-6 } ProjectionParams { tolerance = 1e-6 } OutputScalarNorm { istep = 1 } divLEVEL { v = Divergence } OutputScalarSum { istep = 1 } kineticLEVEL { v = Velocity2 } OutputScalarSum { istep = 1 } stdout { v = Velocity2 } } GfsBox {} 1 1 right 1 1 top