diff --git a/src/harmonicmaps.cc b/src/harmonicmaps.cc index 22341360bcbdede6c5065b9581ad945034209ddd..5f4a11bdccd76cd742d020f17b82bd1d5ac7882e 100644 --- a/src/harmonicmaps.cc +++ b/src/harmonicmaps.cc @@ -144,14 +144,17 @@ int main (int argc, char *argv[]) try ////////////////////////////////////////////////////////////////////////////////// // Construct the scalar function space basis corresponding to the GFE space ////////////////////////////////////////////////////////////////////////////////// + + using GridView = GridType::LeafGridView; + GridView gridView = grid->leafGridView(); #ifdef LAGRANGE - typedef Dune::Functions::PQkNodalBasis<typename GridType::LeafGridView, order> FEBasis; - FEBasis feBasis(grid->leafGridView()); + typedef Dune::Functions::PQkNodalBasis<GridView, order> FEBasis; + FEBasis feBasis(gridView); #else - typedef Dune::Functions::BSplineBasis<typename GridType::LeafGridView> FEBasis; + typedef Dune::Functions::BSplineBasis<GridView> FEBasis; for (auto& i : elements) i = i<<(numLevels-1); - FEBasis feBasis(grid->leafGridView(), lower, upper, elements, order); + FEBasis feBasis(gridView, lower, upper, elements, order); #endif typedef DuneFunctionsBasis<FEBasis> FufemFEBasis; FufemFEBasis fufemFeBasis(feBasis); @@ -164,7 +167,7 @@ int main (int argc, char *argv[]) try BitSetVector<1> allNodes(grid->size(dim)); allNodes.setAll(); - BoundaryPatch<typename GridType::LeafGridView> dirichletBoundary(grid->leafGridView(), allNodes); + BoundaryPatch<GridView> dirichletBoundary(gridView, allNodes); BitSetVector<blocksize> dirichletNodes; constructBoundaryDofs(dirichletBoundary,fufemFeBasis,dirichletNodes); @@ -265,7 +268,7 @@ int main (int argc, char *argv[]) try std::string baseName = "harmonicmaps-result-" + std::to_string(order) + "-" + std::to_string(numLevels); - SubsamplingVTKWriter<GridType::LeafGridView> vtkWriter(grid->leafGridView(),order-1); + SubsamplingVTKWriter<GridView> vtkWriter(gridView,order-1); vtkWriter.addVertexData(xFunction, VTK::FieldInfo("orientation", VTK::FieldInfo::Type::vector, xEmbedded[0].size())); vtkWriter.write(resultPath + baseName);