Discontinuous Galerkin method