Dune is a modular toolbox for solving partial differential equations with grid-based methods such as finite elements, finite volumes, and finite differences. It uses a generic grid interface that connects different grid implementations and supports applications for high performance computing. Dune is based on separating data structures from algorithms through abstract interfaces to provide functionality with less code, and it leverages modern C++ techniques and existing finite element packages. The framework consists of core modules and various add-on modules that can be downloaded and used individually or together.