This MR fixes some problems with explicit template instantiation of the class FoamGrid
. And a library including these explicit instantiations is added.
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:
foamgrid.cc
to foamgrid.impl.hh
since it was not a source file, but a header file of template implementations. Instead a new file foamgrid.cc
is added, containing just the template instantiations.foamgrid.impl.hh
out of the Dune
namespace and add include guards.