diff --git a/src/compute-disc-error.cc b/src/compute-disc-error.cc index 27b6bd37a631fd2a06ed15f46bfdada127acf189..14b9551f3514ea19cff4a9ca4b97eb3c71b04dd4 100644 --- a/src/compute-disc-error.cc +++ b/src/compute-disc-error.cc @@ -355,14 +355,19 @@ int main (int argc, char *argv[]) try FieldVector<double,dimworld> lower(0), upper(1); - if (parameterSet.get<bool>("structuredGrid")) + std::string structuredGridType = parameterSet["structuredGrid"]; + if (structuredGridType != "false" ) { lower = parameterSet.get<FieldVector<double,dimworld> >("lower"); upper = parameterSet.get<FieldVector<double,dimworld> >("upper"); auto elements = parameterSet.get<std::array<unsigned int,dim> >("elements"); - grid = StructuredGridFactory<GridType>::createCubeGrid(lower, upper, elements); - referenceGrid = StructuredGridFactory<GridType>::createCubeGrid(lower, upper, elements); + if (structuredGridType == "simplex") + grid = StructuredGridFactory<GridType>::createSimplexGrid(lower, upper, elements); + else if (structuredGridType == "cube") + grid = StructuredGridFactory<GridType>::createCubeGrid(lower, upper, elements); + else + DUNE_THROW(Exception, "Unknown structured grid type '" << structuredGridType << "' found!"); } else { diff --git a/src/harmonicmaps.cc b/src/harmonicmaps.cc index 09b50c94cefeb2fdc7b1719c304db3fcc238a216..f7902d9b30c909816d2edc02fd79bf50ccdd4040 100644 --- a/src/harmonicmaps.cc +++ b/src/harmonicmaps.cc @@ -132,13 +132,19 @@ int main (int argc, char *argv[]) FieldVector<double,dim> lower(0), upper(1); std::array<unsigned int,dim> elements; - if (parameterSet.get<bool>("structuredGrid")) { + std::string structuredGridType = parameterSet["structuredGrid"]; + if (structuredGridType != "false" ) { lower = parameterSet.get<FieldVector<double,dim> >("lower"); upper = parameterSet.get<FieldVector<double,dim> >("upper"); elements = parameterSet.get<std::array<unsigned int,dim> >("elements"); - grid = StructuredGridFactory<GridType>::createCubeGrid(lower, upper, elements); + if (structuredGridType == "simplex") + grid = StructuredGridFactory<GridType>::createSimplexGrid(lower, upper, elements); + else if (structuredGridType == "cube") + grid = StructuredGridFactory<GridType>::createCubeGrid(lower, upper, elements); + else + DUNE_THROW(Exception, "Unknown structured grid type '" << structuredGridType << "' found!"); } else {