From bca217e69837e2ecb788511b786f4adc9a74769e Mon Sep 17 00:00:00 2001 From: Ian Jauslin Date: Tue, 11 Apr 2023 17:08:06 -0400 Subject: Remove extraneous directory in doc --- docs/nstrophy_doc.tex | 336 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 336 insertions(+) create mode 100644 docs/nstrophy_doc.tex (limited to 'docs/nstrophy_doc.tex') diff --git a/docs/nstrophy_doc.tex b/docs/nstrophy_doc.tex new file mode 100644 index 0000000..54e802e --- /dev/null +++ b/docs/nstrophy_doc.tex @@ -0,0 +1,336 @@ +\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. +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 u_k\equiv\frac{i2\pi}{L|k|}(-k_y\hat u_k,k_x\hat u_k) + \label{udef} +\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 u_k= + -\frac{4\pi^2}{L^2}\nu k^2\hat u_k + +\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 u_p\hat u_q + \label{ins_k} +\end{equation} +with +\begin{equation} + \hat g_k:=\frac{Lk^\perp}{2i\pi|k|}\cdot\hat G_k + . + \label{gdef} +\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 u_k= + -\frac{4\pi^2}{L^2}\nu k^2\hat u_k+\hat g_k + +\frac{4\pi^2}{L^2|k|}T(\hat u,k) + \label{ins_k} +\end{equation} +with +\begin{equation} + T(\hat u,k):= + \sum_{\displaystyle\mathop{\scriptstyle p,q\in\mathbb Z^2}_{p+q=k}} + \frac{(q\cdot p^\perp)|q|}{|p|}\hat u_p\hat u_q + . + \label{T} +\end{equation} +We truncate the Fourier modes and assume that $\hat u_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 Reality}. +Since $U$ is real, $\hat U_{-k}=\hat U_k^*$, and so +\begin{equation} + \hat u_{-k}=\hat u_k^* + . + \label{realu} +\end{equation} +Similarly, +\begin{equation} + \hat g_{-k}=\hat g_k^* + . + \label{realg} +\end{equation} +Thus, +\begin{equation} + T(\hat u,-k) + = + T(\hat u,k)^* + . + \label{realT} +\end{equation} +\bigskip + +\point{\bf FFT}. We compute T 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 u,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 u_q\hat u_p +\end{equation} +provided +\begin{equation} + N_i>3K_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,k\in\mathcal K$, then $|p_i+q_i-k_i|\leqslant3K_i$, so, as long as $N_i>3K_i$, then $(p_i+q_i-k_i)=0\%N_i$ implies $p_i+q_i=k_i$. +Therefore, +\begin{equation} + T(\hat u,k) + = + \textstyle + \frac1{N_1N_2} + \mathcal F^*\left( + \mathcal F\left(\frac{p_x\hat u_p}{|p|}\right)(n) + \mathcal F\left(q_y|q|\hat u_q\right)(n) + - + \mathcal F\left(\frac{p_y\hat u_p}{|p|}\right)(n) + \mathcal F\left(q_x|q|\hat u_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 u,k)$ satisfies $T(\hat u,-k)=T(\hat u,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). + +\subsection{Reversible equation} +\indent The reversible equation is similar to\-~(\ref{ins}) but instead of fixing the viscosity, we fix the enstrophy\-~\cite{Ga22}. +It is defined directly in Fourier space: +\begin{equation} + \partial_t\hat U_k= + -\frac{4\pi^2}{L^2}\alpha(\hat U) 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 +\end{equation} +where $\alpha$ is chosen such that the enstrophy is constant. +In terms of $\hat u$\-~(\ref{udef}), (\ref{gdef}), (\ref{T}): +\begin{equation} + \partial_t\hat u_k= + -\frac{4\pi^2}{L^2}\alpha(\hat u) k^2\hat u_k + +\hat g_k + +\frac{4\pi^2}{L^2|k|}T(\hat u,k) + . + \label{rns_k} +\end{equation} +To compute $\alpha$, we use the constancy of the enstrophy: +\begin{equation} + \sum_{k\in\mathbb Z^2}k^2\hat U_k\cdot\partial_t\hat U_k + =0 +\end{equation} +which, in terms of $\hat u$ is +\begin{equation} + \sum_{k\in\mathbb Z^2}k^2\hat u_k^*\partial_t\hat u_k + =0 +\end{equation} +that is +\begin{equation} + \frac{4\pi^2}{L^2}\alpha(\hat u)\sum_{k\in\mathbb Z^2}k^4|\hat u_k|^2 + = + \sum_{k\in\mathbb Z^2}k^2\hat u_k^*\hat g_k + +\frac{4\pi^2}{L^2}\sum_{k\in\mathbb Z^2}|k|\hat u_k^*T(\hat u,k) +\end{equation} +and so +\begin{equation} + \alpha(\hat u) + =\frac{\frac{L^2}{4\pi^2}\sum_k k^2\hat u_k^*\hat g_k+\sum_k|k|\hat u_k^*T(\hat u,k)}{\sum_kk^4|\hat u_k|^2} + . +\end{equation} +Note that, by\-~(\ref{realu})-(\ref{realT}), +\begin{equation} + \alpha(\hat u)\in\mathbb R + . +\end{equation} + + + +\vfill +\eject + +\begin{thebibliography}{WWW99} +\small +\IfFileExists{bibliography/bibliography.tex}{\input bibliography/bibliography.tex}{} +\end{thebibliography} + +\end{document} -- cgit v1.2.3-54-g00ecf