Angular Spreading
WaveSpec.AngularSpreading.DiscreteAngularSpreading — Type
DiscreteAngularSpreading{D<:UnivariateDistribution, T<:Real}A structure to define angular spreading models for wave spectra.
distribution: A truncated univariate distribution defining the angular spreading.nθ: Number of discrete angles to sample from the distribution.
WaveSpec.AngularSpreading.DiscreteAngularSpreading — Method
DiscreteAngularSpreading(dist::UnivariateDistribution, a::Real, b::Real, nθ::Int)Creates a DiscreteAngularSpreading by truncating the given univariate distribution between [a, b].
WaveSpec.AngularSpreading.DiscreteAngularSpreading — Method
DiscreteAngularSpreading(θ)Default constructor for a long-crested sea (no angular spreading) in θ direction. Sets nθ = 2 (2 samples to define a single bin) and uses a narrow Uniform distribution centered at θ.
WaveSpec.AngularSpreading.DiscreteAngularSpreading — Method
DiscreteAngularSpreading(model_type::Symbol, μ, σ, a, b, nθ)Factory constructor.
- :uniform -> Uniform
- :normal -> Gaussian
- :cosinepow -> Cosine Power (2s).
- :vonmises -> Circular Normal.
- :donelan -> Donelan-Banner (sech²).
WaveSpec.AngularSpreading.get_angles — Method
get_angles(sm::DiscreteAngularSpreading, rng=AbstractRNG)Returns n_theta random angles sampled from the truncated distribution.
WaveSpec.AngularSpreading.get_bandwidths — Method
get_bandwidths(sm::DiscreteAngularSpreading)Returns the Δθ for the nθ - 1 bins.
WaveSpec.AngularSpreading.get_central_angles — Method
get_central_angles(sm::DiscreteAngularSpreading)Returns the nθ - 1 central angles between the sampled edges.
WaveSpec.AngularSpreading.get_weights — Method
get_weights(sm::DiscreteAngularSpreading)Returns the PDF values at central bins angles, corrected for discrete sampling.