Acoustic2D solver
Description
In this case, the collisional terms simpilfies to
\[St_{k}=\frac{2 \pi}{\sqrt{6}a k}\int \left(\mathcal{N}^k_{12}-\mathcal{N}^1_{2k}-\mathcal{N}^2_{k1}\right)\mathrm{d}k_1\mathrm{d}k_2\]
With $\mathcal{N}^k_{12}=|V_{k12}|^2(n_1n_2-n_1n_k-n_kn_2)\delta(k-k_1-k_2)$ and $V_{k12}=V_0\sqrt{kk_1k_2}$.
This is WKE results from assuming a disperse regularisation in the dispersion relation $\omega_k=ck(1+a^2k^2)$, with $ak\ll1$. See Griffin et al., Phys. Rev. Lett. 128, 224501 (2022).
Solver
The computation of the collision integral is relatively simple. We use the resonance condition $k - k_1 - k_2 = 0$ and the symmetry $k_1 \leftrightarrow k_2$ to reduce the collision integral to
\[St_{k} = I_{k} - 2 J_{k}\]
where
\[I_{k} = \frac{2 \pi}{\sqrt{6}a k} \int\limits_{0}^{k} ~ |V_{k12}|^2(n_1n_2-n_1n_k-n_kn_2) ~ \mathrm{d}k_1\]
and
\[J_{k} = \frac{2 \pi}{\sqrt{6}a k} \int\limits_{k}^{k_{\rm max}} ~ |V_{k12}|^2(n_kn_2-n_kn_1-n_1n_2) ~ \mathrm{d}k_1\]
with the integrands being computed using $k_2 = |k - k_1|$ and $k_{\rm max}$ the maximal wave vector modulus.
The wave frequency is $\omega_{k} = ck$ and we use logarithmic grid wave_spectrum. The different options are described in the Acoustic2D documentation.
Diagnostics
The standard diagnostics should work for this system.
Theoretical predictions
The Kolmogorov-Zakharov energy spectrum is
\[e_k = 2\pi k \omega_k n_{\bf k} = \frac{4^{3/2} \sqrt{a c}}{3 \pi} ~ k^{-1}.\]
Acoustic3Dsolver
Description
In this case, the collisional terms simpilfies to
\[St_{k}=\frac{4 \pi^2}{c k^2}\int \left(\mathcal{N}^k_{12}-\mathcal{N}^1_{2k}-\mathcal{N}^2_{k1}\right)k_1 k_2 \mathrm{d}k_1\mathrm{d}k_2\]
With $\mathcal{N}^k_{12}=|V_{k12}|^2(n_1n_2-n_1n_k-n_kn_2)\delta(k-k_1-k_2)$ and $V_{k12}=V_0\sqrt{kk_1k_2}$.
This WKE describes 3D acoustic waves with frequency $\omega_k=ck$. See Zakharov and Sagdeev, Dokl. Akad. Nauk SSSR 192, 297–300 (1970) and Kochurin and Kuznetsov, arXiv, 2407.08352, (2024).
Solver
The computation of the collision integral is the same than for Acoustic2D solver, up to the prefactor. We use logarithmic grid wave_spectrum. The different options are described in the Acoustic3D documentation.
Diagnostics
The standard diagnostics should work for this system.
Theoretical predictions
The Kolmogorov-Zakharov energy spectrum is the Zakharov-Sagdeev (ZS) spectrum.
\[e_k = 4\pi k^2 \omega_k n_{\bf k} = \frac{\sqrt{c P} k^{-3/2}}{\sqrt{3\pi(\pi + 4 \ln 2 − 1)}}\]
with $P$ the energy injection rate.
List of structures and methods for Acoustic solvers
WavKinS.Acoustic2D — TypeAcoustic2DSimulation structure for Acoustic 2D wave turbulence. It contains
name::String #name of the simulation type
Nk_arguments::Int # Number of arguments of ``n_k``. 1: (fully symetric) , 2: (cylindrical average in 3D or mirror symmetric in 2D), 3: Only mirror symmetric in 3D
ω # Dispersion relation. This is a function of ``k``. It takes `Nk_argument` arguments
Nk::wave_spectrum #wave action
Sk::wave_spectrum #collisional integral
F1::wave_spectrum #working field
FSt::Vector{wave_spectrum} #Array of working fields for multithreading
partition::Vector{UnitRange{Int64}} #partition for multithreading
# Type of interpolation and time stepping scheemes
interp_scheeme::Interp_Scheeme
time_stepping::Time_Stepping
# Outputs and diagnostics
diags::diagnostic_container
t::Float64 #current time
a::Float64 # dispersive length
c::Float64 # speed of sound
dimension::Int # physical dimension of the system (or of the isotropic sector)
dΩ::Float64 # surface of the unit sphere (or of the isotropic sector)
FD::force_dissipation # Contains all the terms about force and dissipation.WavKinS.Acoustic2D — MethodAcoustic2D(Nk::wave_spectrum; a=0.5, c=1.0,interp_scheeme=lin_interp,time_stepping_scheeme=RK2_step)Constructor of a Acoustic2D structure. Optionally we set interpolation and time-stepping scheemes:
interp_scheeme:lin_interp(default),powexp_interp,powGauss_interp,BS_interptime_stepping_scheeme:Euler_step,RK2_step(default),RK4_step
The optional parameter a=0.5 and c=1.0 are the dispersive length and the speed of sound
WavKinS.Acoustic3D — TypeAcoustic3DSimulation structure for Acoustic 3D wave turbulence. It contains
name::string #name of the simulation type
Nk_arguments::Int # Number of arguments of ``n_k``. 1: (fully symetric) , 2: (cylindrical average in 3D or mirror symmetric in 2D), 3: Only mirror symmetric in 3D
ω # Dispersion relation. This is a function of ``k``. It takes `Nk_argument` arguments
Nk::wave_spectrum #wave action
Sk::wave_spectrum #collisional integral
F1::wave_spectrum #working field
FSt::Vector{wave_spectrum} #Array of working fields for multithreading
partition::Vector{UnitRange{Int64}} #partition for multithreading
# Type of interpolation and time stepping scheemes
interp_scheeme::Interp_Scheeme
time_stepping::Time_Stepping
# Outputs and diagnostics
diags::diagnostic_container
t::Float64 #current time
c::Float64 # speed of sound
dimension::Int # physical dimension of the system (or of the isotropic sector)
dΩ::Float64 # surface of the unit sphere (or of the isotropic sector)
FD::force_dissipation # Contains all the terms about force and dissipation.WavKinS.Acoustic3D — MethodAcoustic3D(Nk::wave_spectrum; a=0.5, c=1.0,interp_scheeme=lin_interp,time_stepping_scheeme=RK2_stepConstructor of a Acoustic3D structure. Optionally we set interpolation and time-stepping scheemes:
interp_scheeme:lin_interp(default),powexp_interp,powGauss_interp,BS_interptime_stepping_scheeme:Euler_step,RK2_step(default),RK4_step
The parameter c=1.0 is the speed of sound