Nstrophy/docs/nstrophy_doc/nstrophy_doc.tex

255 lines
7.7 KiB
TeX

\documentclass{ian}
\usepackage{largearray}
\begin{document}
\hbox{}
\hfil{\bf\LARGE
{\tt nstrophy}
}
\vfill
\tableofcontents
\vfill
\eject
\setcounter{page}1
\pagestyle{plain}
\section{Description of the computation}
\subsection{Irreversible equation}
\indent Consider the incompressible Navier-Stokes equation in 2 dimensions
\begin{equation}
\partial_tu=\nu\Delta u+g-(u\cdot\nabla)u,\quad
\nabla\cdot u=0
\label{ins}
\end{equation}
in which $g$ is the forcing term and $w$ is the pressure.
We take periodic boundary conditions, so, at every given time, $u(t,\cdot)$ is a function on the torus $\mathbb T^2:=\mathbb R^2/(L\mathbb Z)^2$. We represent $u(t,\cdot)$ using its Fourier series
\begin{equation}
\hat u_k(t):=\frac1{L^2}\int_{\mathbb T^2}dx\ e^{i\frac{2\pi}L kx}u(t,x)
\end{equation}
for $k\in\mathbb Z^2$, and rewrite~\-(\ref{ins}) as
\begin{equation}
\partial_t\hat u_k=
-\frac{4\pi^2}{L^2}\nu k^2\hat u_k+\hat g_k
-i\frac{2\pi}L\sum_{\displaystyle\mathop{\scriptstyle p,q\in\mathbb Z^2}_{p+q=k}}
(q\cdot\hat u_p)\hat u_q
,\quad
k\cdot\hat u_k=0
\label{ins_k}
\end{equation}
We then reduce the equation to a scalar one, by writing
\begin{equation}
\hat u_k=\frac{i2\pi k^\perp}{L|k|}\hat\varphi_k\equiv\frac{i2\pi}{L|k|}(-k_y\hat\varphi_k,k_x\hat\varphi_k)
\end{equation}
in terms of which, multiplying both sides of the equation by $\frac L{i2\pi}\frac{k^\perp}{|k|}$,
\begin{equation}
\partial_t\hat \varphi_k=
-\frac{4\pi^2}{L^2}\nu k^2\hat \varphi_k+\frac{Lk^\perp}{2i\pi|k|}\cdot\hat g_k
+\frac{4\pi^2}{L^2|k|}\sum_{\displaystyle\mathop{\scriptstyle p,q\in\mathbb Z^2}_{p+q=k}}
\frac{(q\cdot p^\perp)(k^\perp\cdot q^\perp)}{|q||p|}\hat\varphi_p\hat\varphi_q
.
\label{ins_k}
\end{equation}
Furthermore
\begin{equation}
(q\cdot p^\perp)(k^\perp\cdot q^\perp)
=
(q\cdot p^\perp)(q^2+p\cdot q)
\end{equation}
and $q\cdot p^\perp$ is antisymmetric under exchange of $q$ and $p$. Therefore,
\begin{equation}
\partial_t\hat \varphi_k=
-\frac{4\pi^2}{L^2}\nu k^2\hat \varphi_k+\frac{Lk^\perp}{2i\pi|k|}\cdot\hat g_k
+\frac{4\pi^2}{L^2|k|}\sum_{\displaystyle\mathop{\scriptstyle p,q\in\mathbb Z^2}_{p+q=k}}
\frac{(q\cdot p^\perp)|q|}{|p|}\hat\varphi_p\hat\varphi_q
.
\label{ins_k}
\end{equation}
We truncate the Fourier modes and assume that $\hat\varphi_k=0$ if $|k_1|>K_1$ or $|k_2|>K_2$. Let
\begin{equation}
\mathcal K:=\{(k_1,k_2),\ |k_1|\leqslant K_1,\ |k_2|\leqslant K_2\}
.
\end{equation}
\bigskip
\point{\bf FFT}. We compute the last term in~\-(\ref{ins_k})
\begin{equation}
T(\hat\varphi,k):=
\sum_{\displaystyle\mathop{\scriptstyle p,q\in\mathbb Z^2}_{p+q=k}}
\frac{(q\cdot p^\perp)|q|}{|p|}\hat\varphi_q\hat\varphi_p
\end{equation}
using a fast Fourier transform, defined as
\begin{equation}
\mathcal F(f)(n):=\sum_{m\in\mathcal N}e^{-\frac{2i\pi}{N_1}m_1n_1-\frac{2i\pi}{N_2}m_2n_2}f(m_1,m_2)
\end{equation}
where
\begin{equation}
\mathcal N:=\{(n_1,n_2),\ 0\leqslant n_1< N_1,\ 0\leqslant n_2< N_2\}
\end{equation}
for some fixed $N_1,N_2$. The transform is inverted by
\begin{equation}
\frac1{N_1N_2}\mathcal F^*(\mathcal F(f))(n)=f(n)
\end{equation}
in which $\mathcal F^*$ is defined like $\mathcal F$ but with the opposite phase.
\bigskip
\indent The condition $p+q=k$ can be rewritten as
\begin{equation}
T(\hat\varphi,k)
=
\sum_{p,q\in\mathcal K}
\frac1{N_1N_2}
\sum_{n\in\mathcal N}e^{-\frac{2i\pi}{N_1}n_1(p_1+q_1-k_1)-\frac{2i\pi}{N_2}n_2(p_2+q_2-k_2)}
(q\cdot p^\perp)\frac{|q|}{|p|}\hat\varphi_q\hat\varphi_p
\end{equation}
provided
\begin{equation}
N_i>4K_i.
\end{equation}
Indeed, $\sum_{n_i=0}^{N_i}e^{-\frac{2i\pi}{N_i}n_im_i}$ vanishes unless $m_i=0\%N_i$ (in which $\%N_i$ means `modulo $N_i$'), and, if $p,q\in\mathcal K$, then $|p_i+q_i|\leqslant2K_i$.
Therefore,
\begin{equation}
T(\hat\varphi,k)
=
\textstyle
\frac1{N_1N_2}
\mathcal F^*\left(
\mathcal F\left(\frac{p_x\hat\varphi_p}{|p|}\right)(n)
\mathcal F\left(q_y|q|\hat\varphi_q\right)(n)
-
\mathcal F\left(\frac{p_y\hat\varphi_p}{|p|}\right)(n)
\mathcal F\left(q_x|q|\hat\varphi_q\right)(n)
\right)(k)
\end{equation}
\bigskip
\point{\bf Energy}.
We define the energy as
\begin{equation}
E(t)=\frac12\int\frac{dx}{L^2}\ u^2(t,x)=\frac12\sum_{k\in\mathbb Z^2}|\hat u_k|^2
.
\end{equation}
We have
\begin{equation}
\partial_t E=\int\frac{dx}{L^2}\ u\partial tu
=
\nu\int\frac{dx}{L^2}\ u\Delta u
+\int\frac{dx}{L^2}\ ug
-\int\frac{dx}{L^2}\ u(u\cdot\nabla)u
.
\end{equation}
Since we have periodic boundary conditions,
\begin{equation}
\int dx\ u\Delta u=-\int dx\ |\nabla u|^2
.
\end{equation}
Furthermore,
\begin{equation}
I:=\int dx\ u(u\cdot\nabla)u
=\sum_{i,j=1,2}\int dx\ u_iu_j\partial_ju_i
=
-\sum_{i,j=1,2}\int dx\ (\partial_ju_i)u_ju_i
-\sum_{i,j=1,2}\int dx\ u_i(\partial_ju_j)u_i
\end{equation}
and since $\nabla\cdot u=0$,
\begin{equation}
I
=
-I
\end{equation}
and so $I=0$.
Thus,
\begin{equation}
\partial_t E=
\int\frac{dx}{L^2}\ \left(-\nu|\nabla u|^2+ug\right)
=
\sum_{k\in\mathbb Z^2}\left(-\frac{4\pi^2}{L^2}\nu k^2|\hat u_k|^2+\hat u_{-k}\hat g_k\right)
.
\end{equation}
Furthermore,
\begin{equation}
\sum_{k\in\mathbb Z^2}k^2|\hat u_k|^2\geqslant
\sum_{k\in\mathbb Z^2}|\hat u_k|^2-|\hat u_0|^2
=2E-|\hat u_0|^2
\end{equation}
so
\begin{equation}
\partial_t E\leqslant -\frac{8\pi^2}{L^2}\nu E+\frac{4\pi^2}{L^2}\nu\hat u_0^2+\sum_{k\in\mathbb Z^2}\hat u_{-k}\hat g_k
\leqslant
-\frac{8\pi^2}{L^2}\nu E+\frac{4\pi^2}{L^2}\nu\hat u_0^2+
\|\hat g\|_2\sqrt{2E}
.
\end{equation}
In particular, if $\hat u_0=0$ (which corresponds to keeping the center of mass fixed),
\begin{equation}
\partial_t E\leqslant -\frac{8\pi^2}{L^2}\nu E+\|\hat g\|_2\sqrt{2E}
.
\end{equation}
Now, if $\frac{8\pi^2}{L^2}\nu\sqrt E<\sqrt2\|\hat g\|_2$, then
\begin{equation}
\frac{\partial_t E}{-\frac{8\pi^2}{L^2}\nu E+\|\hat g\|_2\sqrt{2E}}\leqslant1
\end{equation}
and so
\begin{equation}
\frac{\log(1-\frac{8\pi^2\nu}{L^2\sqrt2\|\hat g\|_2}\sqrt{E(t)})}{-\frac{4\pi^2}{L^2}\nu}\leqslant t+
\frac{\log(1-\frac{8\pi^2\nu}{L^2\sqrt2\|\hat g\|_2}\sqrt{E(0)})}{-\frac{4\pi^2}{L^2}\nu}
\end{equation}
and
\begin{equation}
E(t)
\leqslant
\left(
\frac{L^2\sqrt2\|\hat g\|_2}{8\pi^2\nu}(1-e^{-\frac{4\pi^2}{L^2}\nu t})
+e^{-\frac{4\pi^2}{L^2}\nu t}\sqrt{E(0)}
\right)^2
.
\end{equation}
If $\frac{8\pi^2}{L^2}\nu\sqrt E>\sqrt2\|\hat g\|_2$,
\begin{equation}
\frac{\partial_t E}{-\frac{8\pi^2}{L^2}\nu E+\|\hat g\|_2\sqrt{2E}}\geqslant1
\end{equation}
and so
\begin{equation}
\frac{\log(\frac{8\pi^2\nu}{L^2\sqrt2\|\hat g\|_2}\sqrt{E(t)}-1)}{-\frac{4\pi^2}{L^2}\nu}\geqslant t+
\frac{\log(\frac{8\pi^2\nu}{L^2\sqrt2\|\hat g\|_2}\sqrt{E(0)})-1}{-\frac{4\pi^2}{L^2}\nu}
\end{equation}
and
\begin{equation}
E(t)
\leqslant
\left(
\frac{L^2\sqrt2\|\hat g\|_2}{8\pi^2\nu}(1-e^{-\frac{4\pi^2}{L^2}\nu t})
+e^{-\frac{4\pi^2}{L^2}\nu t}\sqrt{E(0)}
\right)^2
.
\end{equation}
\bigskip
\point{\bf Enstrophy}.
The enstrophy is defined as
\begin{equation}
\mathcal En(t)=\int\frac{dx}{L^2}\ |\nabla u|^2
=\frac{4\pi^2}{L^2}\sum_{k\in\mathbb Z^2}k^2|\hat u_k|^2
.
\end{equation}
\bigskip
\point{\bf Numerical instability}.
In order to prevent the algorithm from blowing up, it is necessary to impose the reality of $u(x)$ by hand, otherwise, truncation errors build up, and lead to divergences.
It is sufficient to ensure that the convolution term $T(\hat\varphi,k)$ satifies $T(\hat\varphi,-k)=T(\hat\varphi,k)^*$.
After imposing this condition, the algorithm no longer blows up, but it is still unstable (for instance, increasing $K_1$ or $K_2$ leads to very different results).
\vfill
\eject
\begin{thebibliography}{WWW99}
\small
\IfFileExists{bibliography/bibliography.tex}{\input bibliography/bibliography.tex}{}
\end{thebibliography}
\end{document}