diff --git a/src/cosserat-continuum.cc b/src/cosserat-continuum.cc index 8906f52794c4407784e626f6f220a299e0e1d8e8..9eae286948850e96d264f6a37882c7d9aeaaeb05 100644 --- a/src/cosserat-continuum.cc +++ b/src/cosserat-continuum.cc @@ -34,6 +34,7 @@ #include <dune/common/parametertree.hh> #include <dune/common/parametertreeparser.hh> #include <dune/common/tuplevector.hh> +#include <dune/common/version.hh> #include <dune/grid/uggrid.hh> #include <dune/grid/utility/structuredgridfactory.hh> @@ -307,7 +308,11 @@ int main (int argc, char *argv[]) try << " faces and " << neumannVertices.count() << " degrees of freedom.\n"; BitSetVector<1> neumannNodes(deformationFEBasis.size(), false); +#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10) + Fufem::markBoundaryPatchDofs(neumannBoundary,deformationFEBasis,neumannNodes); +#else constructBoundaryDofs(neumannBoundary,deformationFEBasis,neumannNodes); +#endif for (size_t i=0; i<deformationFEBasis.size(); i++) { FieldVector<bool,3> isDirichlet; diff --git a/src/film-on-substrate.cc b/src/film-on-substrate.cc index 33fb40eb7741f4765326e3687c739b38a9e08e8f..811b7a7170e3fb8edd7a3af63d6a808e72085dd8 100644 --- a/src/film-on-substrate.cc +++ b/src/film-on-substrate.cc @@ -306,10 +306,17 @@ int main (int argc, char *argv[]) try BitSetVector<1> dirichletNodesY(compositeBasis.size({0}),false); BitSetVector<1> dirichletNodesZ(compositeBasis.size({0}),false); BitSetVector<1> surfaceShellNodes(compositeBasis.size({1}),false); +#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10) + Fufem::markBoundaryPatchDofs(dirichletBoundaryX,deformationFEBasis,dirichletNodesX); + Fufem::markBoundaryPatchDofs(dirichletBoundaryY,deformationFEBasis,dirichletNodesY); + Fufem::markBoundaryPatchDofs(dirichletBoundaryZ,deformationFEBasis,dirichletNodesZ); + Fufem::markBoundaryPatchDofs(surfaceShellBoundary,orientationFEBasis,surfaceShellNodes); +#else constructBoundaryDofs(dirichletBoundaryX,deformationFEBasis,dirichletNodesX); constructBoundaryDofs(dirichletBoundaryY,deformationFEBasis,dirichletNodesY); constructBoundaryDofs(dirichletBoundaryZ,deformationFEBasis,dirichletNodesZ); constructBoundaryDofs(surfaceShellBoundary,orientationFEBasis,surfaceShellNodes); +#endif //Create BitVector matching the tangential space const int dimRotationTangent = Rotation<double,dim>::TangentVector::dimension; diff --git a/src/gradient-flow.cc b/src/gradient-flow.cc index 3979f517e78715e13c9f6f371953682ce8884e10..005bfed4a8a2246e8ac54f018a2d57a2df3d2828 100644 --- a/src/gradient-flow.cc +++ b/src/gradient-flow.cc @@ -166,7 +166,11 @@ int main (int argc, char *argv[]) try BoundaryPatch<GridType::LeafGridView> dirichletBoundary(grid->leafGridView(), dirichletVertices); BitSetVector<blocksize> dirichletNodes(feBasis.size(), false); +#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10) + Fufem::markBoundaryPatchDofs(dirichletBoundary,feBasis,dirichletNodes); +#else constructBoundaryDofs(dirichletBoundary,feBasis,dirichletNodes); +#endif //////////////////////////// // Initial iterate diff --git a/src/harmonicmaps.cc b/src/harmonicmaps.cc index 940e55dab9f448e16b486768e5314a55959f6960..f6e7fff752109ffcd57675da06fbe4770e5c6870 100644 --- a/src/harmonicmaps.cc +++ b/src/harmonicmaps.cc @@ -13,6 +13,7 @@ #include <dune/common/bitsetvector.hh> #include <dune/common/parametertree.hh> #include <dune/common/parametertreeparser.hh> +#include <dune/common/version.hh> #include <dune/grid/uggrid.hh> #include <dune/grid/utility/structuredgridfactory.hh> @@ -230,8 +231,11 @@ int main (int argc, char *argv[]) BoundaryPatch<GridView> dirichletBoundary(gridView, dirichletVertices); BitSetVector<blocksize> dirichletNodes(feBasis.size(), false); - +#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10) + Fufem::markBoundaryPatchDofs(dirichletBoundary,feBasis,dirichletNodes); +#else constructBoundaryDofs(dirichletBoundary,feBasis,dirichletNodes); +#endif // ////////////////////////// // Initial iterate diff --git a/src/rod3d.cc b/src/rod3d.cc index e0e25e63b2e31d82f37cf04a8dac7d2f346023af..c5a23311fb6a96658b3d48d8e9b648c8465d9cfe 100644 --- a/src/rod3d.cc +++ b/src/rod3d.cc @@ -10,6 +10,7 @@ #include <dune/common/bitsetvector.hh> #include <dune/common/parametertree.hh> #include <dune/common/parametertreeparser.hh> +#include <dune/common/version.hh> #include <dune/grid/onedgrid.hh> @@ -147,7 +148,11 @@ int main (int argc, char *argv[]) try BoundaryPatch<GridView> dirichletBoundary(gridView, true); // true: The entire boundary is Dirichlet boundary BitSetVector<TargetSpace::TangentVector::dimension> dirichletNodes(tangentBasis.size(), false); +#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10) + Fufem::markBoundaryPatchDofs(dirichletBoundary,tangentBasis,dirichletNodes); +#else constructBoundaryDofs(dirichletBoundary,tangentBasis,dirichletNodes); +#endif // Find the dof on the right boundary std::size_t rightBoundaryDof; diff --git a/src/simofoxshell.cc b/src/simofoxshell.cc index fcad1af33c558de0956302b9bfcbf62e0b18dd7d..29cab86f2fd22e1e706c53db7de1fd0764f2ffc5 100644 --- a/src/simofoxshell.cc +++ b/src/simofoxshell.cc @@ -9,6 +9,7 @@ #include <dune/common/parametertree.hh> #include <dune/common/parametertreeparser.hh> #include <dune/common/tuplevector.hh> +#include <dune/common/version.hh> #include <dune/grid/utility/structuredgridfactory.hh> #include <dune/grid/io/file/gmshreader.hh> @@ -198,10 +199,18 @@ int main(int argc, char *argv[]) try std::cout << "Neumann boundary has " << neumannBoundary.numFaces() << " faces\n"; BitSetVector<1> deformationDirichletNodes(midsurfaceFEBasis.size(), false); +#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10) + Fufem::markBoundaryPatchDofs(dirichletBoundary, midsurfaceFEBasis, deformationDirichletNodes); +#else constructBoundaryDofs(dirichletBoundary, midsurfaceFEBasis, deformationDirichletNodes); +#endif BitSetVector<1> neumannNodes(midsurfaceFEBasis.size(), false); +#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10) + Fufem::markBoundaryPatchDofs(neumannBoundary, directorFEBasis, neumannNodes); +#else constructBoundaryDofs(neumannBoundary, directorFEBasis, neumannNodes); +#endif BitSetVector<3> deformationDirichletDofs(midsurfaceFEBasis.size(), false); for (size_t i = 0; i < midsurfaceFEBasis.size(); i++) @@ -210,7 +219,11 @@ int main(int argc, char *argv[]) try deformationDirichletDofs[i][j] = true; BitSetVector<1> orientationDirichletNodes(directorFEBasis.size(), false); +#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10) + Fufem::markBoundaryPatchDofs(dirichletBoundary, directorFEBasis, orientationDirichletNodes); +#else constructBoundaryDofs(dirichletBoundary, directorFEBasis, orientationDirichletNodes); +#endif BitSetVector<2> orientationDirichletDofs(directorFEBasis.size(), false); for (size_t i = 0; i < directorFEBasis.size(); i++) diff --git a/test/cosseratrodtest.cc b/test/cosseratrodtest.cc index 2bb105815cef03448a18c9eb6ddf7c04d061d7f1..c853cd3817ca1fe1586f8c621cb639bb5571ee73 100644 --- a/test/cosseratrodtest.cc +++ b/test/cosseratrodtest.cc @@ -6,6 +6,7 @@ #include <dune/fufem/utilities/adolcnamespaceinjections.hh> #include <dune/common/bitsetvector.hh> +#include <dune/common/version.hh> #include <dune/grid/onedgrid.hh> @@ -103,7 +104,11 @@ int main (int argc, char *argv[]) try BoundaryPatch<GridView> dirichletBoundary(gridView, true); // true: The entire boundary is Dirichlet boundary BitSetVector<TargetSpace::TangentVector::dimension> dirichletNodes(tangentBasis.size(), false); +#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10) + Fufem::markBoundaryPatchDofs(dirichletBoundary,tangentBasis,dirichletNodes); +#else constructBoundaryDofs(dirichletBoundary,tangentBasis,dirichletNodes); +#endif // Find the dof on the right boundary std::size_t rightBoundaryDof; diff --git a/test/harmonicmaptest.cc b/test/harmonicmaptest.cc index 34049922362599e7d4db791ae5c248f64f0aeafb..6dd18b70ff65a383171eccc6688b25b73089a188 100644 --- a/test/harmonicmaptest.cc +++ b/test/harmonicmaptest.cc @@ -9,6 +9,7 @@ #include <dune/common/typetraits.hh> #include <dune/common/bitsetvector.hh> +#include <dune/common/version.hh> #include <dune/grid/uggrid.hh> #include <dune/grid/io/file/gmshreader.hh> @@ -119,7 +120,11 @@ int main (int argc, char *argv[]) BoundaryPatch<GridView> dirichletBoundary(gridView, dirichletVertices); BitSetVector<TargetSpace::TangentVector::dimension> dirichletNodes(powerBasis.size(), false); +#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10) + Fufem::markBoundaryPatchDofs(dirichletBoundary,tangentBasis,dirichletNodes); +#else constructBoundaryDofs(dirichletBoundary,tangentBasis,dirichletNodes); +#endif //////////////////////////// // Initial iterate