FESTUNG: A MATLAB / GNU Octave toolbox for the discontinuous Galerkin method. Part I: Diffusion operator (1408.3877v2)
Abstract: This is the first in a series of papers on implementing a discontinuous Galerkin method as a MATLAB / GNU Octave toolbox. The main goal is the development of techniques that deliver optimized computational performance combined with a compact, user-friendly interface. Our implementation relies on fully vectorized matrix / vector operations and is carefully documented; in addition, a direct mapping between discretization terms and code routines is maintained throughout. The present work focuses on a two-dimensional time-dependent diffusion equation with space / time-varying coefficients. The spatial discretization is based on the local discontinuous Galerkin formulation and is locally mass conservative. Approximations of orders zero through four based on orthogonal polynomials have been implemented; more spaces of arbitrary type and order can be easily accommodated by the code structure. Time discretization is performed using an implicit Euler method.