From cb02772e8b15b9ee579029a1c0c1733695a759db Mon Sep 17 00:00:00 2001 From: Oliver Sander <oliver.sander@tu-dresden.de> Date: Wed, 28 Feb 2018 12:26:20 +0100 Subject: [PATCH] A unit test for the BrezziDouglasMariniBasis class --- .../functionspacebases/test/CMakeLists.txt | 2 + .../test/brezzidouglasmarinibasistest.cc | 51 +++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 dune/functions/functionspacebases/test/brezzidouglasmarinibasistest.cc diff --git a/dune/functions/functionspacebases/test/CMakeLists.txt b/dune/functions/functionspacebases/test/CMakeLists.txt index e258b01..4f3490a 100644 --- a/dune/functions/functionspacebases/test/CMakeLists.txt +++ b/dune/functions/functionspacebases/test/CMakeLists.txt @@ -3,6 +3,8 @@ # Path to the example grid files in dune-grid add_definitions(-DDUNE_GRID_EXAMPLE_GRIDS_PATH=\"${DUNE_GRID_EXAMPLE_GRIDS_PATH}\") +dune_add_test(SOURCES brezzidouglasmarinibasistest.cc) + dune_add_test(SOURCES gridviewfunctionspacebasistest.cc) dune_add_test(SOURCES taylorhoodbasistest.cc) diff --git a/dune/functions/functionspacebases/test/brezzidouglasmarinibasistest.cc b/dune/functions/functionspacebases/test/brezzidouglasmarinibasistest.cc new file mode 100644 index 0000000..a61d8d7 --- /dev/null +++ b/dune/functions/functionspacebases/test/brezzidouglasmarinibasistest.cc @@ -0,0 +1,51 @@ +// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- +// vi: set et ts=4 sw=2 sts=2: +#include <config.h> + +#include <dune/common/exceptions.hh> +#include <dune/common/parallel/mpihelper.hh> + +#include <dune/grid/yaspgrid.hh> + +#include <dune/functions/functionspacebases/brezzidouglasmarinibasis.hh> + +#include <dune/functions/functionspacebases/test/basistest.hh> + +using namespace Dune; + +int main (int argc, char* argv[]) +{ + MPIHelper::instance(argc, argv); + + TestSuite test; + + + + // Generate grid for testing + const int dim = 2; + typedef YaspGrid<dim> GridType; + FieldVector<double,dim> l(1); + std::array<int,dim> elements = {{10, 10}}; + GridType grid(l,elements); + + + + // check RaviartThomasBasis created 'manually' + { + typedef GridType::LeafGridView GridView; + const GridView& gridView = grid.leafGridView(); + Functions::BrezziDouglasMariniBasis<GridView,1,GeometryType::BasicType::cube> basis(gridView); + test.subTest(checkBasis(basis)); + } + + + + // check RaviartThomasBasis created using basis builder mechanism + { + using namespace Functions::BasisBuilder; + auto basis = makeBasis(grid.leafGridView(), bdm<1, GeometryType::BasicType::cube>()); + test.subTest(checkBasis(basis)); + } + + return test.exit(); +} -- GitLab