I am running a 2D fluids simulation with a stochastic forcing $f$ in a doubly-periodic box, i.e. solving
$$ \frac{\partial \nabla^2 \psi}{\partial t} = J(\psi,\nabla^2 \psi) +f,$$ where $J$ is a Poisson bracket.
The forcing I've chosen is of the form
$$f= \sum_{k,l} c \sin(k x + \alpha_k) \sin(l y + \beta_l),$$ where the wavenumbers $k$ and $l$ are selected from a thin annulus centered at $k_f$ (a common prescription), and $\alpha_k$ and $\beta_l$ are phases which are in some sense stochastic (more on this later). (When $k=0$ or $l=0$ one needs a slightly different treatment but this is a minor detail).
One can show that $\int d^2 x \, \psi \frac{\partial \nabla^2 \psi}{\partial t} = - \frac{\partial E}{\partial t}$ where $E$ is the total kinetic energy. We can use this to compute the energy injection rate from the forcing:
$$\varepsilon = -\langle f \xi \rangle = \frac{N c^2}{4 k_f^2},$$ where $\nabla^2 \xi = f$ and $N$ is the number of wavevectors in the annulus. This motivates the choice $c = 2 k_f\sqrt{\frac{\varepsilon}{N}}$.
Now, we need to prescribe a temporal correlation for the forcing. The standard choice is white noise, i.e. $f$ is delta-correlated in time. In (for example) Appendix A of Srinivasan and Young (2012), the authors select the phases i.i.d. from a uniform distribution and aver that the forcing must be normalized by $1/\sqrt{\delta t}$ ($\delta t$ being the time-step of the integration algorithm) in order to ensure that it is delta-correlated. This raises two questions with which I'm struggling:
- How, precisely, does this lead to delta-correlated forcing? I'm having some trouble showing it analytically.
- What now of the energy injection rate? Isn't it altered by a factor of 1/$\delta t$? And aren't the dimensions now compromised?
Furthermore, as is pointed out in the same appendix, in a Runge-Kutta algorithm, the forcing must be kept reasonably smooth during the course of a time-step, so in that paper, they select the phases within a time-step by linear interpolation. I'm finding this tricky to implement with the library I'm using, so I had the idea to instead update the phases by their own random walk: $$\alpha_k(t+\delta t) = \alpha_k(t) + \sqrt{\delta t} \eta$$ with $\eta\sim {\cal N}(0,\sigma^2),$ and the same for the $\beta_l$. Then one can show that this leads to the correlation function
$$ \langle f(\mathbf{x},0)f(\mathbf{x},t) \rangle = \frac{Nc^2}{4} \exp(-|t|/\tau)$$ where $\tau= 1/\sigma^2$. This forcing is nice in that it's nice and smooth and you can control the correlation time...unless you want white noise. Thus, a third question:
- Can this forcing prescription be adjusted simply so that, in the limit $\tau \to 0$, the forcing is temporally white? Does, say, normalizing $f$ by $1/\sqrt{\tau}$ work?
Thanks in advance to anyone who can help me with this.