Skip to content

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 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.
  • Move the include of foamgrid.impl.hh out of the Dune namespace and add include guards.
Edited by Timo Koch

Merge request reports