Popis: |
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. |