  We introduce the dune-curvilineargrid module. The module provides the
self-contained, parallel grid manager, as well as the underlying elementary
curvilinear geometry module dune-curvilineargeometry. This work is motivated by
the need for reliable and scalable electromagnetic design of nanooptical
devices. Curvilinear geometries improve both the accuracy of modeling smooth
material boundaries, and the h/p-convergence rate of PDE solutions, reducing
the necessary computational effort. dune-curvilineargrid provides a large
spectrum of features for scalable parallel implementations of Finite Element
and Boundary Integral methods over curvilinear tetrahedral geometries,
including symbolic polynomial mappings and operations, recursive integration,
sparse and dense grid communication, parallel timing and memory footprint
diagnostics utilities. It is written in templated C++ using MPI for
parallelization and ParMETIS for grid partitioning, and is provided as a module
for the DUNE interface. The dune-curvilineargrid grid manager is continuously
developed and improved, and so is this documentation. For the most recent
version of the documentation, as well as the source code, please refer to the
provided repositories and our website.
