Add explicit template instantiation of class FoamGrid
Summary
This MR fixes some problems with explicit template instantiation of the class FoamGrid
. And a library including these explicit instantiations is added.
Details
The problems come from explicit specializations of methods for some entity dimensions. If these methods are instantiated for all grid dimensions it crashes. Instead of this explicit overloads, I have added templated member functions that are instantiated only for the correct dimensions.
Some additional commits in the MR:
- Fix missing forward declaration of types used in friend declarations
- Rename
foamgrid.cc
tofoamgrid.impl.hh
since it was not a source file, but a header file of template implementations. Instead a new filefoamgrid.cc
is added, containing just the template instantiations. - Move the include of
foamgrid.impl.hh
out of theDune
namespace and add include guards.
Edited by Timo Koch