Forcing
SawyerEliassenSolver.Forcing — ModuleModule for implementing different RHS forcings.
Exports
SawyerEliassenSolver.Forcing.PhysicalForcing — TypeUnion of types representing forcing in physical (XZ) space.
SawyerEliassenSolver.Forcing.SpectralForcing — TypeUnion of types representing forcing in spectral (FS) space.
SawyerEliassenSolver.Forcing.AbstractForcing — TypeAbstract super type for all forcings.
SawyerEliassenSolver.Forcing.GlobalPhysicalForcing — Typestruct GlobalPhysicalForcing{T, P} <: AbstractForcing{T}Apply global forcing to the Sawyer-Eliassen equation in physical space. func is a function that updates the entire forcing variable in-place at time t. func should have signature func(F::XZVariable{T},t::T,params::P)::Nothing where {T<:Union{Float32,Float64}}. unless params is nothing, in which case func should have signature func(F::XZVariable{T},t::T)::T where {T<:Union{Float32,Float64}}.
Fields
domain::Domain{T} where Tfunc::Functionparams::Any
SawyerEliassenSolver.Forcing.GlobalPhysicalForcing — Methodstruct GlobalPhysicalForcing{T, P} <: AbstractForcing{T}Global physical forcing with no parameters. func should have signature func(F::XZVariable{T},t::T)::T where {T<:Union{Float32,Float64}}.
SawyerEliassenSolver.Forcing.GlobalSpectralForcing — Typestruct GlobalSpectralForcing{T, P} <: AbstractForcing{T}Apply global forcing to the Sawyer-Eliassen equation in spectral space. func is a function that updates the entire forcing variable in-place at time t. func should have signature func(F::FSVariable{T},t::T,params::P)::Nothing where {T<:Union{Float32,Float64}} unless params is nothing, in which case func should have signature func(F::FSVariable{T},t::T)::T where {T<:Union{Float32,Float64}} Note that the FSVariable{T} has entries of type Complex{T}.
Fields
domain::Domain{T} where Tfunc::Functionparams::Any
SawyerEliassenSolver.Forcing.GlobalSpectralForcing — Methodstruct GlobalSpectralForcing{T, P} <: AbstractForcing{T}Global spectral forcing with no parameters. func should have signature func(F::FSVariable{T},t::T)::T where {T<:Union{Float32,Float64}}.
SawyerEliassenSolver.Forcing.NoForcing — TypeType representing no forcing.
SawyerEliassenSolver.Forcing.PointwisePhysicalForcing — Typestruct PointwisePhysicalForcing{T, P} <: AbstractForcing{T}Apply pointwise forcing to the Sawyer-Eliassen equation in physical space. func is a function that computes the forcing at a given position and time. func should have signature func(x::T,z::T,t::T,params::P)::T where {T<:Union{Float32,Float64}} unless params is nothing, in which case func should have signature func(x::T,z::T,t::T)::T where {T<:Union{Float32,Float64}}.
Fields
domain::Domain{T} where Tfunc::Functionparams::Any
SawyerEliassenSolver.Forcing.PointwisePhysicalForcing — Methodstruct PointwisePhysicalForcing{T, P} <: AbstractForcing{T}Pointwise physical forcing with no parameters. func should have signature func(x::T,z::T,t::T)::T where {T<:Union{Float32,Float64}}.
SawyerEliassenSolver.Forcing.PointwiseSpectralForcing — Typestruct PointwiseSpectralForcing{T, P} <: AbstractForcing{T}Apply pointwise forcing to the Sawyer-Eliassen equation in spectral space. func is a function that computes the forcing at given wavenumbers and time. func should have signature func(kx::T,kz::T,t::T,params::P)::complex{T} where {T<:Union{Float32,Float64}}. unless params is nothing, in which case func should have signature func(kx::T,kz::T,t::T)::T where {T<:Union{Float32,Float64}}
Fields
domain::Domain{T} where Tfunc::Functionparams::Any
SawyerEliassenSolver.Forcing.PointwiseSpectralForcing — Methodstruct PointwiseSpectralForcing{T, P} <: AbstractForcing{T}Pointwise spectral forcing with no parameters. func should have signature func(kx::T,kz::T,t::T)::T where {T<:Union{Float32,Float64}}.