Grid.jl
Luna.Grid.EnvGrid
— MethodEnvGrid(zmax, referenceλ, λ_lims, trange; δt=1, thg=false)
Time grid for simulations with envelope (a.k.a. analytic) fields
Arguments
zmax::Real
: Total distance to propagatereferenceλ::Real
: Reference wavelength (e.g. centre wavelength of input pulse)λ_lims::Tuple{Real, Real}
: Wavelength limits of the frequency windowtrange::Real
: Total extent of the time window requiredδt::Real
: Sample spacing in time. The value actually used is either δt or the value required to satisfytrange
andλ_lims
, whichever is smaller.thg::Bool
: Whether the grid should include space for the third hamonic (default: false)
Luna.Grid.FreeGrid
— MethodFreeGrid(Rx, Nx, Ry, Ny; window_factor=0.1)
Spatial grid for full 3D freespace propagation with x
/y
half-width Rx
/Ry
and Nx
/Ny
samples. window_factor
determines by how much the grid size is extended to fit a filtering window.
Luna.Grid.RealGrid
— TypeRealGrid(zmax, referenceλ, λ_lims, trange; δt=1)
Time grid for simulations with real-valued (field-resolved) fields
Arguments
zmax::Real
: Total distance to propagatereferenceλ::Real
: Reference wavelength (e.g. centre wavelength of input pulse)λ_lims::Tuple{Real, Real}
: Wavelength limits of the frequency windowtrange::Real
: Total extent of the time window requiredδt::Real
: Sample spacing in time. The value actually used is either δt or the value required to satisfytrange
andλ_lims
, whichever is smaller.