Add explicit template instantiation of class FoamGrid
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:
- Fix missing forward declaration of types used in friend declarations
foamgrid.impl.hhsince it was not a source file, but a header file of template implementations. Instead a new file
foamgrid.ccis added, containing just the template instantiations.
- Move the include of
foamgrid.impl.hhout of the
Dunenamespace and add include guards.