From afd43f49543f90c702d19aee635eb858eceb70b5 Mon Sep 17 00:00:00 2001 From: Simon Praetorius Date: Sun, 18 Jul 2021 12:06:27 +0200 Subject: [PATCH] Restrict the structured mesh creator to dim=dow grids --- amdis/MeshCreator.hpp | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/amdis/MeshCreator.hpp b/amdis/MeshCreator.hpp index c89fb352..9a6bad68 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 -- GitLab