diff --git a/amdis/MeshCreator.hpp b/amdis/MeshCreator.hpp index c89fb352822b6ef00c3780a9f109e2cbcbe69362..9a6bad68ae0c38993794c6e2c113470700ed91f1 100644 --- a/amdis/MeshCreator.hpp +++ b/amdis/MeshCreator.hpp @@ -164,17 +164,22 @@ namespace AMDiS template std::unique_ptr create_structured_grid(Factory factory) const { - // Lower left corner of the domain - Dune::FieldVector lower(0); - // Upper right corner of the domain - Dune::FieldVector upper(1); - // number of blocks in each coordinate direction - auto numCells = Dune::filledArray(1); - - Parameters::get(name_ + "->min corner", lower); - Parameters::get(name_ + "->max corner", upper); - Parameters::get(name_ + "->num cells", numCells); - return factory(lower, upper, numCells); + if constexpr (int(Grid::dimension) == int(Grid::dimensionworld)) { + // Lower left corner of the domain + Dune::FieldVector lower(0); + // Upper right corner of the domain + Dune::FieldVector upper(1); + // number of blocks in each coordinate direction + auto numCells = Dune::filledArray(1); + + Parameters::get(name_ + "->min corner", lower); + Parameters::get(name_ + "->max corner", upper); + Parameters::get(name_ + "->num cells", numCells); + return factory(lower, upper, numCells); + } else { + error_exit("Structured grids can be created for dim == dow only."); + return nullptr; + } } // read a filename from `[meshName]->macro file name` and determine from the extension the fileformat