Timesteppers
SawyerEliassenSolver.Timesteppers.AbstractPreconditioner — TypeAbstract supertype for conjugate gradient preconditioners.
SawyerEliassenSolver.Timesteppers.DiagonalQuadraticPreconditioner — Typestruct DiagonalQuadraticPreconditioner{T} <: AbstractPreconditioner{T}A preconditioner that approximates 𝓛ζ in spectral space by $𝓛ζ ≈ (ω₀² k_z² + ω₁² k_x^2) / (k_x² + k_z²) ζ$
Fields
domain::Domain{T} where Tω₀²::Anyω₁²::Any
SawyerEliassenSolver.Timesteppers.IdentityPreconditioner — Typestruct IdentityPreconditioner{T} <: AbstractPreconditioner{T}The default preconditioner for the conjugate gradient algorithm which does nothing.
SawyerEliassenSolver.Timesteppers.Timestepper — Typestruct Timestepper{T, F, G, H, P}Object that stores all the variables and operators required to advance a problem one timestep.
SawyerEliassenSolver.Timesteppers.Timestepper — MethodTimestepper(problem::Problem{T}, h::T, [𝓟::AbstractPreconditioner]; c=nothing, cg_max_iterations=nothing, cg_tol=nothing)Constructor for Timestepper. The timestep h is required and a preconditioner may optionally be passed.
Keyword arguments
c: use a non-default value for the free parameter in the timestepping stepping scheme. See Sharp et al. (1990) for valid ranges of values.cg_max_iterations: maximum number of iterations for the conjugate gradient solver.cg_tol: tolerance for the conjugate gradient solver.
SawyerEliassenSolver.Timesteppers.advance! — Methodadvance!(ts::Timestepper, n::Integer)
Advance the timestepper n timesteps.
SawyerEliassenSolver.Timesteppers.advance! — Methodadvance!(ts::Timestepper)
Advance the timestepper one timestep.