Skip to content
Snippets Groups Projects
Commit 7cd7fde6 authored by Sander, Oliver's avatar Sander, Oliver
Browse files

Allow switching between cube and simplex structured grids at runtime

parent de11259f
No related branches found
No related tags found
No related merge requests found
...@@ -355,14 +355,19 @@ int main (int argc, char *argv[]) try ...@@ -355,14 +355,19 @@ int main (int argc, char *argv[]) try
FieldVector<double,dimworld> lower(0), upper(1); 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"); lower = parameterSet.get<FieldVector<double,dimworld> >("lower");
upper = parameterSet.get<FieldVector<double,dimworld> >("upper"); upper = parameterSet.get<FieldVector<double,dimworld> >("upper");
auto elements = parameterSet.get<std::array<unsigned int,dim> >("elements"); auto elements = parameterSet.get<std::array<unsigned int,dim> >("elements");
grid = StructuredGridFactory<GridType>::createCubeGrid(lower, upper, elements); if (structuredGridType == "simplex")
referenceGrid = StructuredGridFactory<GridType>::createCubeGrid(lower, upper, elements); 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 else
{ {
......
...@@ -132,13 +132,19 @@ int main (int argc, char *argv[]) ...@@ -132,13 +132,19 @@ int main (int argc, char *argv[])
FieldVector<double,dim> lower(0), upper(1); FieldVector<double,dim> lower(0), upper(1);
std::array<unsigned int,dim> elements; 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"); lower = parameterSet.get<FieldVector<double,dim> >("lower");
upper = parameterSet.get<FieldVector<double,dim> >("upper"); upper = parameterSet.get<FieldVector<double,dim> >("upper");
elements = parameterSet.get<std::array<unsigned int,dim> >("elements"); 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 { } else {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment