\[ \frac{d f}{dt} + (y \frac{d f}{dx} - x \frac{d f}{dy}) = 0 \]
\[ x \in [-\pi, \pi],\qquad y \in [-\pi, \pi] \qquad \mbox{ and } \qquad t \in [0, 200\pi] \]
using FFTW, LinearAlgebra, Plots, ProgressMeter
using BenchmarkTools
"""
Mesh( xmin, xmax, nx, ymin, ymax, ny)
mesh information
"""
struct Mesh
:: Int64
nx :: Int64
ny :: Vector{Float64}
x :: Vector{Float64}
y :: Vector{Float64}
kx :: Vector{Float64}
ky
function Mesh( xmin, xmax, nx, ymin, ymax, ny)
= range(xmin, stop=xmax, length=nx+1)[1:end-1] ## we remove the end point
x = range(ymin, stop=ymax, length=ny+1)[1:end-1] ## periodic boundary condition
y = 2π/(xmax-xmin)*[0:nx÷2-1;nx÷2-nx:-1]
kx = 2π/(ymax-ymin)*[0:ny÷2-1;ny÷2-ny:-1]
ky
new( nx, ny, x, y, kx, ky)
end
end