WVNonlinearFlux
3D nonlinear flux for Boussinesq flow, appropriate for numerical modeling
Declaration
WVNonlinearFlux < WVNonlinearFluxOperationOverview
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
computethe promised variable
- Equality
isequalcheck for equality with another nonlinear flux operation
- Initialization
nonlinearFluxFromFileinitialize a nonlinear flux operation from NetCDF filenonlinearFluxWithResolutionOfTransformcreate a new nonlinear flux operation with double the resolution
- Write to file
writeToFilewrite information about the nonlinear flux operation to file
- Other
WVNonlinearFluxinitialize the WVNonlinearFlux nonlinear fluxbetabetaA0buildDampingOperatordLnN2dampdampingTimeScalek_dampwavenumber at which the significant scale damping starts.k_no_dampwavenumber below which there is zero dampingnu_xynu_zrspatialFluxa subclass can override this, and then modify the spatialuv_dampwvt