Skip to content

Methods Overview

GUERNICA advances the neutral distribution function in time using an explicit third-order strong-stability-preserving Runge–Kutta method (RK3-SSP), selected in the input file with order = rk3 under [time]. The total simulated time is set by t_final, the time step by dt, and intermediate outputs are written every vis_steps steps. As with explicit DG schemes, stability is limited by a CFL-type constraint. In more than one spatial dimension there is no simple analytic CFL bound, but a useful rule of thumb is

\[ dt \lesssim \frac{\Delta x_{\min}}{(2l+1)\,v_{\max}}, \]

where \(\Delta x_{\min}\) is the smallest edge length in the mesh, \(v_{\max}\) is the largest velocity represented in the simulation, and \(l\) is the DG polynomial order.

In velocity space, GUERNICA uses the discrete velocity method (DVM). The velocity domain is discretized on a Cartesian grid, with the number of points and the minimum and maximum bounds in each direction specified in [vx], [vy], and [vz] of the input file. Velocity-space integrals are evaluated using Simpson’s method, so the number of velocity points in each direction must be odd.

In configuration space, GUERNICA uses the discontinuous Galerkin (DG) method, in which the distribution function is represented independently within each element as a combination of basis functions. More specifically, GUERNICA uses a nodal DG formulation. The polynomial order is set in the input file under [grid] with order; this corresponds to order + 1 degrees of freedom per element in each spatial direction. For additional background on nodal DG, see Hesthaven and Warburton, Nodal Discontinuous Galerkin Methods.