WVAdaptiveDamping
Adaptive small-scale damping
Declaration
WVAdaptiveDamping < WVForcingOverview
This damping operator is a linear closure that dynamically changes its amplitude to keep the Reynolds number at the grid scale equal to one. This closure is ideal for a spin-up problem where the amplitude of the flow is changing.
This closure has a number of noteworthy features:
- It does not mix geostrophic and wave modes, which requires setting the diffusivity equal to the viscosity.
- The properties
k_no_dampandj_no_dampindicate the wavenumber and mode below which there is zero damping, due to the spectral vanishing viscosity filter. - The properties
k_dampandj_dampare estimates of the wavenumber and mode above which significant damping will occur.
The damping operator acts in the spectral domain, directly damping the wave-vortex coefficients.
\[\begin{align} \partial_t A_\pm^{k\ell j} =& - \nu (k^2 + \ell^2 ) A_\pm^{k\ell j} - \nu_z \lambda_j^{-2} A_\pm^{k\ell j} \\ \partial_t A_0^{k\ell j} =& - \nu (k^2 + \ell^2 ) A_0^{k\ell j} - \nu_z \lambda_j^{-2} A_0^{k\ell j} \end{align}\]where
\[\nu_z = \nu \lambda^2_\textrm{min} k^2_\textrm{max} = \nu \lambda^2_\textrm{min} \left( \frac{\pi}{\Delta} \right)^2\]is chosen to make the damping isotropic. The notation here is that \(\Delta\) is the horizontal grid resolution and \(\lambda^2_\textrm{min}\) is the smallest resolved radius of deformation. The value of \(\nu\) is set as
\[\nu = \frac{U \Delta}{\pi^2}\]where \(U\) is the maximum fluid velocity.
Usage
Assuming there is a WVTransform instance wvt, to add this forcing,
wvt.addForcing(WVAdaptiveDamping(wvt));
Notes
This currently damps the non-hydrostatic wavemodes the same as the hydrostatic geostrophic modes. The non-hydrostatic modes would have a smaller deformation radius, and thus would be damped more strongly. So arguably they’re under-damped in a non-hydrostatic simulation.
Topics
- Initialization
WVAdaptiveDampinginitialize the WVAdaptiveDamping
- Properties
assumedEffectiveHorizontalGridResolutioneffective resolution used in the damping calculationdampspectral matrix that multiplies Ap,Am,A0 to dampdampingTimeScaleComputes the minimum damping time scalej_dampwavenumber at which the significant scale damping starts.j_no_dampwavenumber below which there is zero dampingk_dampwavenumber at which the significant scale damping starts.k_no_dampwavenumber below which there is zero damping
- Internal
buildDampingOperatorBuilds the damping operatorspectralVanishingViscosityFilterBuilds the spectral vanishing viscosity operator
- CAAnnotatedClass requirement
classRequiredPropertyNamesReturns the required property names for the class