diff --git a/src/compute-disc-error.cc b/src/compute-disc-error.cc index 0bb96e61200dcab92117819ee09a5b41cf424df8..66f9b4960b1bdc6f48bf41fe10c9c0c86ffe3557 100644 --- a/src/compute-disc-error.cc +++ b/src/compute-disc-error.cc @@ -586,6 +586,8 @@ void measureEOC(const std::shared_ptr<GridType> grid, if (parameterSet.get<std::string>("discretizationErrorMode")=="discrete") { + referenceGrid->globalRefine(parameterSet.get<int>("numReferenceLevels")-1); + switch (order) { case 1: @@ -690,10 +692,14 @@ int main (int argc, char *argv[]) try auto elements = parameterSet.get<std::array<unsigned int,dim> >("elements"); if (structuredGridType == "simplex") - grid = StructuredGridFactory<GridType>::createSimplexGrid(lower, upper, elements); - else if (structuredGridType == "cube") - grid = StructuredGridFactory<GridType>::createCubeGrid(lower, upper, elements); - else + { + grid = StructuredGridFactory<GridType>::createSimplexGrid(lower, upper, elements); + referenceGrid = StructuredGridFactory<GridType>::createSimplexGrid(lower, upper, elements); + } else if (structuredGridType == "cube") + { + grid = StructuredGridFactory<GridType>::createCubeGrid(lower, upper, elements); + referenceGrid = StructuredGridFactory<GridType>::createCubeGrid(lower, upper, elements); + } else DUNE_THROW(Exception, "Unknown structured grid type '" << structuredGridType << "' found!"); } else @@ -705,7 +711,6 @@ int main (int argc, char *argv[]) try } grid->globalRefine(numLevels-1); - referenceGrid->globalRefine(parameterSet.get<int>("numReferenceLevels")-1); // Do the actual measurement const int targetDim = parameterSet.get<int>("targetDim");