WVNonlinearFlux
3D nonlinear flux for Boussinesq flow, appropriate for numerical modeling
Declaration
WVNonlinearFlux < WVNonlinearFluxOperation
Overview
Computes the nonlinear flux for a Boussinesq model, and has options for anti-aliasing and damping appropriate for running a numerical model. This is not the simplest implementation, but instead adds some complexity in favor of speed. The BoussinesqSpatial class shows a simple implementation.
The damping is a simple Laplacian, but with a spectral vanishing viscosity (SVV) operator applied that prevents any damping below a cutoff wavenumber. The SVV operator adjusts the wavenumbers being damped depending on whether anti-aliasing is applied.
This is most often used when initializing a model, e.g.,
model = WVModel(wvt,nonlinearFlux=WVNonlinearFlux(wvt,uv_damp=wvt.uvMax));
Topics
- Computation
compute
the promised variable
- Equality
isequal
check for equality with another nonlinear flux operation
- Initialization
nonlinearFluxFromFile
initialize a nonlinear flux operation from NetCDF filenonlinearFluxWithResolutionOfTransform
create a new nonlinear flux operation with double the resolution
- Write to file
writeToFile
write information about the nonlinear flux operation to file
- Other
WVNonlinearFlux
initialize the WVNonlinearFlux nonlinear fluxbeta
betaA0
buildDampingOperator
dLnN2
damp
dampingTimeScale
k_damp
wavenumber at which the significant scale damping starts.k_no_damp
wavenumber below which there is zero dampingnu_xy
nu_z
r
spatialFlux
a subclass can override this, and then modify the spatialuv_damp
wvt