1
$\begingroup$

I need to compute the kinetic energy cascade using a finite volume solution in an equally spaced grid. I wonder if it is more correct to first compute the kinetic energy in the space (or time) domain, $E(x,t)=0.5(u(x,t)^2+v(x,t)^2)$, and then apply the FFT to obtain $E(k)$, or applying first the FFT to $u$ and $v$, obtaining $u(k)$ and $v(k)$, to finally compute $E(k)=(u(k)^2+v(k)^2)$. Is there a correct option?

$\endgroup$
5
$\begingroup$

Of course, the Fourier transform is a linear operator. So, you have the kinetic energy defined as: $E(\mathbf{r}) = \frac{1}{2} \mathbf{u}(\mathbf{r}) \cdot \mathbf{u}(\mathbf{r})$. The Fourier transform of $\mathbf{u}$ and $E$ are:

$$\tilde{E}(\mathbf{k}) = \int_{\Omega} E(\mathbf{r}) e^{-i \mathbf{k} \cdot \mathbf{r}} d^{3} \mathbf{r}$$

$$\tilde{\mathbf{u}}(\mathbf{k}) = \int_{\Omega} \mathbf{u}(\mathbf{r}) e^{-i \mathbf{k} \cdot \mathbf{r}} d^{3} \mathbf{r}$$

But you see obviously: $\tilde{E}(\mathbf{k}) \neq \frac{1}{2} \tilde{\mathbf{u}} (\mathbf{k}) \cdot \tilde{\mathbf{u}}(\mathbf{k})$ because:

$$\frac{1}{2} \tilde{\mathbf{u}} (\mathbf{k}) \cdot \tilde{\mathbf{u}}(\mathbf{k}) = \frac{1}{2} \int_{\Omega} \int_{\Omega} \mathbf{u}(\mathbf{r}) \cdot \mathbf{u}(\mathbf{r}^{'}) e^{-i\mathbf{k}\cdot (\mathbf{r}+\mathbf{r}^{'})} d^{3} \mathbf{r} d^{3} \mathbf{r}^{'} \neq \int_{\Omega} E(\mathbf{r}) e^{-i \mathbf{k} \cdot \mathbf{r}} d^{3} \mathbf{r} = \tilde{E}(\mathbf{k})$$

So, just calculate $E$ everywhere in your domain ($\Omega$) and then take the Fourier transform of it and not taking Fourier transform of velocity ($\mathbf{u}$) and then take its Euclidean norm.

Update:

If you insist to calculate Fourier transform ($\mathscr{F}$) of $E$ from $\mathbf{u}$, you have this relation based on convolution theorem:

$$\mathscr{F}\{\mathbf{u}(\mathbf{r})\cdot\mathbf{u}(\mathbf{r})\}=\mathscr{F}\{\mathbf{u}(\mathbf{r})\}*\mathscr{F}\{\mathbf{u}(\mathbf{r})\}$$

or

$$\tilde{E}(\mathbf{k}) = \mathscr{F} \{ E(\mathbf{r}) \} = \frac{1}{2} \mathscr{F} \{ \mathbf{u}(\mathbf{r}) \} * \mathscr{F} \{ \mathbf{u}(\mathbf{r}) \} = \frac{1}{2} \int_{\Omega_{\mathbf{k}}} \tilde{\mathbf{u}}(\mathbf{k}^{'}) \cdot \tilde{\mathbf{u}}(\mathbf{k}-\mathbf{k}^{'}) d^{3} \mathbf{k}^{'}$$

Where $\Omega_{\mathbf{k}}$ is the computational domain in reciprocal space (Fourier space).

$\endgroup$
  • $\begingroup$ Thank you very much for your answer! It has been very helpful. $\endgroup$ – Adr Sep 22 at 20:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.