From a09345475d2d0e3557ef8faf99f577ccd398634c Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Wed, 14 Jan 2015 19:42:23 +0000 Subject: [PATCH] Allow to set resolution/bbox of structured grids from the parameter file [[Imported from SVN: r10001]] --- src/harmonicmaps.cc | 24 ++++++++++++++---------- src/harmonicmaps.parset | 13 +++++++++---- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src/harmonicmaps.cc b/src/harmonicmaps.cc index decf7257..c53ef0be 100644 --- a/src/harmonicmaps.cc +++ b/src/harmonicmaps.cc @@ -106,23 +106,27 @@ int main (int argc, char *argv[]) try const bool instrumented = parameterSet.get<bool>("instrumented"); std::string resultPath = parameterSet.get("resultPath", ""); - // read problem settings - std::string path = parameterSet.get<std::string>("path"); - std::string gridFile = parameterSet.get<std::string>("gridFile"); - // /////////////////////////////////////// // Create the grid // /////////////////////////////////////// typedef std::conditional<dim==1,OneDGrid,UGGrid<dim> >::type GridType; shared_ptr<GridType> gridPtr; - if (parameterSet.get<std::string>("gridType")=="structured") { - array<unsigned int,dim> elements; - elements.fill(3); - gridPtr = StructuredGridFactory<GridType>::createSimplexGrid(FieldVector<double,dim>(0), - FieldVector<double,dim>(1), - elements); + FieldVector<double,dim> lower(0), upper(1); + + if (parameterSet.get<bool>("structuredGrid")) { + + lower = parameterSet.get<FieldVector<double,dim> >("lower"); + upper = parameterSet.get<FieldVector<double,dim> >("upper"); + + array<unsigned int,dim> elements = parameterSet.get<array<unsigned int,dim> >("elements"); + gridPtr = StructuredGridFactory<GridType>::createCubeGrid(lower, upper, elements); + } else { + + std::string path = parameterSet.get<std::string>("path"); + std::string gridFile = parameterSet.get<std::string>("gridFile"); + gridPtr = shared_ptr<GridType>(AmiraMeshReader<GridType>::read(path + gridFile)); } diff --git a/src/harmonicmaps.parset b/src/harmonicmaps.parset index 358c0ed0..52ffe12d 100644 --- a/src/harmonicmaps.parset +++ b/src/harmonicmaps.parset @@ -39,11 +39,16 @@ instrumented = 0 ############################ # 2d problem -#gridType = unstructured +#structuredGrid = false #path = /home/sander/data/richards/twosquares/ #gridFile = twosquares0.grid # 3d problem -gridType = unstructured -path = /home/sander/data/contact/tetracubes/ -gridFile = tetracube0.grid +#structuredGrid = false +#path = /home/sander/data/contact/tetracubes/ +#gridFile = tetracube0.grid + +structuredGrid = true +lower = -10 -10 +upper = 10 10 +elements = 100 100 -- GitLab