# Presentation: 058247

## Comparison of (Some) Algorithms for Edge Gyrokinetics 

- Acknowledgments:  P. Colella, R. Samtaney

- Greg (G.W.) Hammett & Luc (J. L.) Peterson (PPPL)Gyrokinetic Turbulence Workshop,
- Wolfgang Pauli Institute, 15-19 Sep. 2008

- w3.pppl.gov/~hammett

## Desired Algorithm Properties for Edge Gyrokinetics

- Large variation in density, large amplitude fluctuations, large ***banana**/L*, wide range of collisionalities:  No clear separation of scales,  Not useful or necessary to separate *F=F**0**+****f*, stick with full *F* formulation
- Want to ensure particle conservation exactly (small charge imbalances lead to large fields) such as with finite volume, finite element, spectral methods.
- (some finite-difference, point-based semi-Lagrangian, and delta f weighted-particle algorithms (see Idomura, JCP 07) don’t conserve particles exactly).
- Want positivity preserved even with large density variations (e.g. blobs advecting through low density SOL):  many traditional algorithms have Gibb’s phenomena:  oscillations around steep gradients that lead to negative densities.
- Want robust algorithms:  in addition to converging to the right answer in the appropriate limit, it shouldn’t be too bad in other regime.
- Want to minimize numerical dissipation (though no need to eliminate it completely, dissipation at small scales actually models physical effects.)

## Desired Algorithm Properties for Edge Gyrokinetics (2)

- It is surprisingly hard to find good algorithms (accurate, efficient, robust, & not too hard to implement) that satisfy all of these properties
- There has been a lot of work over the past 30 years on improving algorithms to address these types of issues for various kinds of CFD applications, with continuing advances in the last decade:
- General category of “shock-capturing” or “high-resolution upwind” “finite-volume” algorithms, developed primarily for compressible shock problems in Euler/Navier-Stokes (aeronautics and astrophysics applications, etc.)  But applicable to a wide range of problems including weather simulations, and our problems
- FCT, MUSCL, TVD, PLM, PPM, ENO, WENO, CWENO, SSP, MP, DG, ...

## Simplest Fluid Advection Algorithms:2cd Order Centered & 1st order upwind

- Discrete grid, *f(z**j**,t) = f**j**(t)* Conservative differencing:

- Std 2cd order centered differencing (okay for smooth regions, phase errors too large for sharp-gradient regions, gives unphysical oscillations):

- 1st order upwind (eliminates unphysical oscillations, but too dissipative):

## Arakawa Finite Differencing

- Clever differencing formula for Poisson brackets (in JCP special issue on most famous algorithms):
- Arakawa finite differencing has discrete analogs of conservation of
- In 1-D, (df/dy=0, dPhi/dy=v), Arakawa reduces to 2cd order centered finite differencing.  Although it has these nice conservation properties for Hamiltonian systems, it does not insure f>0, and has significant phase errors at moderate k*dx that can cause spurious oscillations.

## Slide 6

## Slide 7

## Slide 8

## 3rd order SSP-RK used here.  Looks better at CFL=0.5 with 2cd order single-step time-space-coupled time advancement, (becomes exact at CFL=1), but for complex flows there will be regions at many different values of CFL=v*dt/dx, incl. CFL<<1.

- 3rd order SSP-RK used here.  Looks better at CFL=0.5 with 2cd order single-step time-space-coupled time advancement, (becomes exact at CFL=1), but for complex flows there will be regions at many different values of CFL=v*dt/dx, incl. CFL<<1.

## Slide 10

## Slide 11

## (My incomplete understanding of) Historical Development of Shock-Capturing Fluid Algorithms

- Initial ideas from physicists (Boris, van Leer) & (applied) mathematicians: Phil Collela, Ami Harten, Stan Osher, Chi-Wang Shu, Bjorn Enquist, Eitan Tadmor, ...
- earliest numerical viscosity, simple upwind: von Neumann & Richtmeyer (’50), Courant, Isaacson, & Rees (‘52), Rosenbluth.
**Godunov** (‘59): generalized upwind to multiple eqs. w/ shocks (Riemann solver), theorem: only 1st order near discontinuities; piecewise-constant reconstructions
- Two indep. breakthroughs (FCT, van Leer):  nonlinear switches enhance diffusion only near discontinuities or under-resolved features
**FCT** (Flux-Corrected Transport) (71-79), Boris, Book.  Zalesak version (79)
- van Leer (72-79), **MUSCL** (Monotone Upstream-Centered Schemes for Conservation laws)  piecewise linear interpolation with slope limiters to avoid overshoots (2cd order in smooth regions, but const. near extrema, “clipping”)
**TVD** (Total Variation Diminishing) (variations of 2cd order van Leer)
- Colella & Woodward 84 **PPM** (Piecewise Parabolic Method) (4th order for smooth solns, except const. near extrema)  Widely-used gold-standard.
**ENO/WENO** (Weighted Essentially Non-Oscillatory, ’87/’94-’96) Elegant solution to long-standing Gibbs osc. problem, arbitrary order (3rd, 5th typical) (related to fitting with a Sobolev norm?)  [Local operations, parallelizes easier than splines...]

## Main idea behind these algorithms:  detect discontinuities / under-resolved features, revert to lower-order polynomial in non-smooth regions, allow discontinuities (allowed for hyperbolic eqs.), introduce minimum necessary numerical diffusion in non-smooth regions to preserve (or encourage) monotonicity, positivity.

Suresh-Huynh (‘97):  relaxed previous limiters to allow higher order interpolations near smooth extrema, 5th order in smooth regions, essentially a more efficient way to implement WENO

Colella-Sekora (’08):  alternate way to relax piecewise-constant assumption at extrema, 4th order in smooth regions (even order = no numerical diffusion in smooth regions)

Discontinuous Galerkin looks like another potentially interesting approach...

- Main idea behind these algorithms:  detect discontinuities / under-resolved features, revert to lower-order polynomial in non-smooth regions, allow discontinuities (allowed for hyperbolic eqs.), introduce minimum necessary numerical diffusion in non-smooth regions to preserve (or encourage) monotonicity, positivity.
- Suresh-Huynh (‘97):  relaxed previous limiters to allow higher order interpolations near smooth extrema, 5th order in smooth regions, essentially a more efficient way to implement WENO
- Colella-Sekora (’08):  alternate way to relax piecewise-constant assumption at extrema, 4th order in smooth regions (even order = no numerical diffusion in smooth regions)
- Discontinuous Galerkin looks like another potentially interesting approach...

- Suresh, Huynh ‘97

## Just going to higher order doesn’t help near sharp gradient regions (Gibb’s phenomena)

- Central differencing to determine
- slopes can lead to overshoots in
- reconstruction

- Top Fig. From  R.J. Leveque, Finite Volume Methods for Hyperbolic Problems, Cambridge Univ. Press (2002).
- 2cd Fig. From C.B. Laney, Computational Gasdynamics, Cambridge Univ. Press (1998).

## Simplest Fluid Advection Algorithms:2cd Order Centered & 1st order upwind

- Discrete grid, *f(z**j**,t) = f**j**(t)* Conservative differencing:

- Std 2cd order centered differencing (okay for smooth regions, phase errors too large for sharp-gradient regions, gives unphysical oscillations):

- 1st order upwind (eliminates unphysical oscillations, but too dissipative):

## Higher-order upwind Methods withclever monotonicity-preserving slope limiters

- Reconstruct f(z) in each cell, extrapolate to bdys:

- Piecewise constant = 1st order upwind :

- Van Leer’s (MC) limiter:
- “Monotonized Central”
- in smooth regions,
- 	*s**j+1/2** **≈** s**j-1/2**,*
- and becomes 2cd order accurate (upwind biased)

## MC limiter gives much more robust result.

- Central differencing to determine
- slopes can lead to overshoots in
- reconstruction

- From R.J. Leveque, Finite Volume Methods for Hyperbolic Problems, Cambridge Univ. Press (2002).

## Arakawa in 1-D is simple centered 2cd order method and has large overshoots and poor performance on steep gradient regions, but it has no numerical dissipation from the spatial differencing (though there is some from the 3rd order Runge-Kutta time advance).

- Arakawa in 1-D is simple centered 2cd order method and has large overshoots and poor performance on steep gradient regions, but it has no numerical dissipation from the spatial differencing (though there is some from the 3rd order Runge-Kutta time advance).

## 2-D vortex merger test case

- Test case used by Naulin & Nielsen ’03.  We agree with them that WENO3 is fairly dissipative.
- Initialize 2 Gaussian vortices.

## Vortex Merger Test

## Slide 21

## Slide 22

## 1-D Slices of Vorticity Along x = 5

**1-D Slices of Vorticity Along x = 5**
**(for vortex merger test)**

- SuHu & extended PPM are essentially non-oscillatory, but rigorously non-oscillatory,
- but can be combined with FCT to enforce rigorous positivity if needed.

## Without enough viscosity, Arakawa has enstrophy pileup at high k.  (Though little effect on wavelengths at this time.)

## Even w/out explicit viscosity, high-order upwind methods provide dissipation near the grid scale, make spectra more realistic. (non-optimal subgrid model, misses shearing?)

## Summary

- Suresh-Huynh 97 (5th order) & Colella-Sekora 08 (4th order), or hybrid between the two, look like very good options:  preserve high-order accuracy in smooth regions (including extrema), while still being robust and preventing artificial overshoots, provides useful dissipation near the grid scale.
- (Discontinuous Galerkin also looks interesting...)

## References

- R.J. Leveque, Finite Volume Methods for Hyperbolic Problems, Cambridge Univ. Press (2002).
- D. R. Durran, Numerical Methods for Wave Equations in Geophysical Fluid Dynamics
- Arakawa. *J. Comput. Phys.* **1**, 119-+ (1966).
- Cockburn and Shu. *J. Sci. Comput.* **16**:3, 173-261 (2001).  Discontinuous Galerkin.
- Colella and Sekora. *J. Comput. Phys.* **227**:15, 7069-7076 (2008).
- Liu, Osher and Chan. *J. Comput. Phys.* **115**, 200-212 (1994).
- Martin and Colella. *Private Communication* (2008).
- Naulin and Nielsen. *SIAM J. Sci. Comput. ***25**:1, 104-126 (2003).
- C.-W. Shu. *ICASE Technical Report* **97-65** (1997).  Tutorial on ENO/WENO.
- Suresh and Huynh. *J. Comput. Phys. ***136**, 83-99 (1997).
- Zalesak. *J. Comput. Phys. ***31**, 335-362 (1979).  Improved form of FCT.
- Zhou, Li and Shu. *J. Sci. Comput.* **16**:2, 145-171 (2001).
- W. Rider, “A Very Brief History of Hydrodynamic Codes”, Sandia talk, 2007,_[https://cfwebprod.sandia.gov/cfdocs/CCIM/docs/Rider_CSRI_June27_2007.pdf](https://cfwebprod.sandia.gov/cfdocs/CCIM/docs/Rider_CSRI_June27_2007.pdf)_
- _["Introduction to "Flux-Corrected Transport: I. SHASTA, A Fluid Algorithm That Works"](http://dx.doi.org/10.1006/jcph.1997.5756)_, S. T. Zalesak 1997, JCP 135, 170. Nice 2-page review of historical place of FCT algorithm, and an introduction to the original FCT article, reprinted in this _[special issue of JCP](http://www.sciencedirect.com/science/journal/00219991)_ celebrating its 30th anniversary.
- _["Review Article: Upwind and High-Resolution Methods for Compressible Flow: From Donor Cell to Residual-Distribution Schemes"](http://www.global-sci.com/freedownload/v1_192.pdf)_, Bram van Leer, Commun. Comput. Phys. (2006).