diff --git a/dune/fufem/functionspacebases/p3nodalbasis.hh b/dune/fufem/functionspacebases/p3nodalbasis.hh index c8bd900519121ee7c9d0b1565b0912bb7d19af8f..dada8e31be317bb747bb451e45e7df855ecc6fe6 100644 --- a/dune/fufem/functionspacebases/p3nodalbasis.hh +++ b/dune/fufem/functionspacebases/p3nodalbasis.hh @@ -82,21 +82,19 @@ class P3NodalBasis : // One for each vertex, and two for each element return gridview_.size(1) + 2*gridview_.size(0); case 2: { - Dune::GeometryType triangle, quad; - triangle.makeTriangle(); - quad.makeQuadrilateral(); + Dune::GeometryType triangle = Dune::GeometryTypes::triangle; + Dune::GeometryType quad = Dune::GeometryTypes::quadrilateral; // One for each vertex, two for each edge, // one for each triangle element, four for each quad element return gridview_.size(dim) + 2*gridview_.size(1) + gridview_.size(triangle) + 4*gridview_.size(quad); } case 3: { - Dune::GeometryType triangle, quad, pyramid, prism, hexahedron; - triangle.makeTriangle(); - quad.makeQuadrilateral(); - pyramid.makePyramid(); - prism.makePrism(); - hexahedron.makeCube(3); + Dune::GeometryType triangle = Dune::GeometryTypes::triangle; + Dune::GeometryType quad = Dune::GeometryTypes::quadrilateral; + Dune::GeometryType pyramid = Dune::GeometryTypes::pyramid; + Dune::GeometryType prism = Dune::GeometryTypes::prism; + Dune::GeometryType hexahedron = Dune::GeometryTypes::cube(3); // One for each vertex, two for each edge, // one for each triangle element, four for each quad element return gridview_.size(dim) + 2*gridview_.size(2) @@ -185,26 +183,13 @@ class P3NodalBasis : edgeOffset_ = vertexOffset_ + gridview_.size(dim); triangleOffset_ = edgeOffset_ + 2*gridview_.size(dim-1); - Dune::GeometryType triangle; - triangle.makeTriangle(); - quadrilateralOffset_ = triangleOffset_ + 1*gridview_.size(triangle); + quadrilateralOffset_ = triangleOffset_ + 1*gridview_.size(Dune::GeometryTypes::triangle); - Dune::GeometryType quadrilateral; - quadrilateral.makeQuadrilateral(); if (dim==3) { - tetrahedronOffset_ = quadrilateralOffset_ + 4*gridview_.size(quadrilateral); - - Dune::GeometryType tetrahedron; - tetrahedron.makeSimplex(3); - pyramidOffset_ = tetrahedronOffset_ + 0*gridview_.size(tetrahedron); - - Dune::GeometryType pyramid; - pyramid.makePyramid(); - prismOffset_ = tetrahedronOffset_ + 1*gridview_.size(pyramid); - - Dune::GeometryType prism; - prism.makePrism(); - hexahedronOffset_ = tetrahedronOffset_ + 2*gridview_.size(prism); + tetrahedronOffset_ = quadrilateralOffset_ + 4*gridview_.size(Dune::GeometryTypes::quadrilateral); + pyramidOffset_ = tetrahedronOffset_ + 0*gridview_.size(Dune::GeometryTypes::tetrahedron); + prismOffset_ = tetrahedronOffset_ + 1*gridview_.size(Dune::GeometryTypes::pyramid); + hexahedronOffset_ = tetrahedronOffset_ + 2*gridview_.size(Dune::GeometryTypes::prism); } } diff --git a/dune/fufem/test/functionintegratortest.cc b/dune/fufem/test/functionintegratortest.cc index 49770b29fb23f24413ab9310692881bef16dbdbf..f1fa26296a518ad150eb8a639ae1efc94218bd23 100644 --- a/dune/fufem/test/functionintegratortest.cc +++ b/dune/fufem/test/functionintegratortest.cc @@ -168,7 +168,7 @@ GridType* constructCoarseUnitSquareGrid() } std::cout << std::endl; - gridFactory.insertElement( Dune::GeometryType(Dune::GeometryType::simplex,dim), element); + gridFactory.insertElement( Dune::GeometryTypes::simplex(dim), element); for (int i=dim; i>=0; i--) { @@ -176,7 +176,7 @@ GridType* constructCoarseUnitSquareGrid() } std::cout << std::endl; - gridFactory.insertElement( Dune::GeometryType(Dune::GeometryType::simplex,dim), element); + gridFactory.insertElement( Dune::GeometryTypes::simplex(dim), element); return gridFactory.createGrid(); } diff --git a/dune/fufem/utilities/gridconstruction.hh b/dune/fufem/utilities/gridconstruction.hh index 8051a9b7ecf4025c2bb26f91d2ae734b268f41ef..6585d2ac01bd1a8d0a5480e4d16975b3509d8c45 100644 --- a/dune/fufem/utilities/gridconstruction.hh +++ b/dune/fufem/utilities/gridconstruction.hh @@ -58,13 +58,10 @@ struct GridConstruction<GridType,1> { for(ctype x=lower[0]; x<=upper[0]; x+=size[0]) factory.insertVertex(FV({x})); - Dune::GeometryType gt; - gt.makeLine(); - using E = std::vector<unsigned>; for (unsigned i=0;i<nElements[0]; i++) { - factory.insertElement(gt, E({i, i+1})); + factory.insertElement(Dune::GeometryTypes::line, E({i, i+1})); } return std::unique_ptr<GridType>(factory.createGrid()); @@ -113,12 +110,10 @@ public: for(unsigned j=0; j<=nElements[1]; j++) factory.insertVertex(FV({lower[0]+i*size[0], lower[1]+j*size[1]})); - Dune::GeometryType gt; + Dune::GeometryType gt = Dune::GeometryTypes::cube(dim); bool tetra = config.get<bool>("tetrahedral"); if (tetra) - gt.makeSimplex(dim); - else - gt.makeCube(dim); + gt = Dune::GeometryTypes::simplex(dim); using E = std::vector<unsigned>;