Grid
GNLSE.Grid — Type
Grid{T<:Real}Time and frequency grid for GNLSE propagation.
Fields
N::Int: Number of grid points (resolution)t::Vector{T}: Time grid [s], centered at zeroV::Vector{T}: Relative angular frequency grid ω - ω₀ [rad/s], monotonicW::Vector{T}: Absolute optical angular frequency ω = ω₀ + V [rad/s], monotonicdt::T: Time step [s]omega0::T: Central angular frequency ω₀ [rad/s]lambda0::T: Center wavelength λ₀ [m]
Notes
- V = ω - ω₀ is the physical detuning; W = ω₀ + V is the absolute frequency
- ω₀ = 2πc/λ₀ (all frequencies in rad/s)
- V and W are stored in monotonic order, not FFT-natural order
GNLSE.create_grid — Function
create_grid(resolution::Int, time_window::Real, wavelength::Real)Create time-frequency grid for GNLSE simulations in natural SI units.
Arguments
resolution::Int: Number of grid points (power of 2 recommended)time_window::Real: Total time window [s]wavelength::Real: Center wavelength [m]
Returns
Grid: Grid structure with:- t: time grid [s] spanning [-timewindow/2, timewindow/2]
- V: relative angular frequency ω - ω₀ [rad/s], monotonic
- W: absolute angular frequency ω = ω₀ + V [rad/s], monotonic
- dt: time step [s]
- omega0: central angular frequency ω₀ [rad/s]
- lambda0: center wavelength [m]
Notes
- ω₀ = 2πc/λ₀ where c = 299792458 m/s, gives ω₀ in rad/s
- V = 2π · [-N/2, ..., N/2-1] / (N·dt) [rad/s] is the relative frequency (physical detuning ω - ω₀), monotonic ordering
- W = ω₀ + V [rad/s] is the absolute optical frequency
V and W are stored in monotonic (not FFT-natural) order; operators that act on FFT output apply ifftshift as needed.
GNLSE.wavelength_grid — Function
wavelength_grid(grid::Grid)
wavelength_grid(solution::Solution)Wavelength grid [m] for the absolute frequency axis, λ = 2πc/ω. The result is aligned element-for-element with grid.W (and with solution.W / the columns of solution.AW), so it is monotonically decreasing in array order.