From 6445a56a5af18b45946fa70766024c01781e70c7 Mon Sep 17 00:00:00 2001 From: "Dennis.Glaeser" <dennis.glaeser@iws.uni-stuttgart.de> Date: Mon, 3 Jun 2019 20:22:08 +0200 Subject: [PATCH] [projector] allow for vector-valued block types --- dumux/discretization/projection/projector.hh | 40 +++- test/common/functions/test_function_l2norm.cc | 34 ++-- test/discretization/projection/CMakeLists.txt | 37 +--- .../projection/test_projection_2d1d.cc | 188 ++++++++---------- .../test_projection_2d1d_box_box_1d.csv | 14 -- .../test_projection_2d1d_box_box_2d.csv | 121 ----------- .../test_projection_2d1d_box_tpfa_1d.csv | 13 -- .../test_projection_2d1d_box_tpfa_2d.csv | 121 ----------- .../test_projection_2d1d_fem_box_1d.csv | 14 -- .../test_projection_2d1d_fem_box_2d.csv | 121 ----------- .../test_projection_2d1d_fem_fem_1d.csv | 14 -- .../test_projection_2d1d_fem_fem_2d.csv | 121 ----------- .../test_projection_2d1d_fem_tpfa_1d.csv | 13 -- .../test_projection_2d1d_fem_tpfa_2d.csv | 121 ----------- .../test_projection_2d1d_tpfa_box_1d.csv | 14 -- .../test_projection_2d1d_tpfa_box_2d.csv | 100 ---------- .../test_projection_2d1d_tpfa_fem_1d.csv | 14 -- .../test_projection_2d1d_tpfa_fem_2d.csv | 100 ---------- .../test_projection_2d1d_tpfa_tpfa_1d.csv | 13 -- .../test_projection_2d1d_tpfa_tpfa_2d.csv | 100 ---------- 20 files changed, 137 insertions(+), 1176 deletions(-) delete mode 100644 test/references/test_projection_2d1d_box_box_1d.csv delete mode 100644 test/references/test_projection_2d1d_box_box_2d.csv delete mode 100644 test/references/test_projection_2d1d_box_tpfa_1d.csv delete mode 100644 test/references/test_projection_2d1d_box_tpfa_2d.csv delete mode 100644 test/references/test_projection_2d1d_fem_box_1d.csv delete mode 100644 test/references/test_projection_2d1d_fem_box_2d.csv delete mode 100644 test/references/test_projection_2d1d_fem_fem_1d.csv delete mode 100644 test/references/test_projection_2d1d_fem_fem_2d.csv delete mode 100644 test/references/test_projection_2d1d_fem_tpfa_1d.csv delete mode 100644 test/references/test_projection_2d1d_fem_tpfa_2d.csv delete mode 100644 test/references/test_projection_2d1d_tpfa_box_1d.csv delete mode 100644 test/references/test_projection_2d1d_tpfa_box_2d.csv delete mode 100644 test/references/test_projection_2d1d_tpfa_fem_1d.csv delete mode 100644 test/references/test_projection_2d1d_tpfa_fem_2d.csv delete mode 100644 test/references/test_projection_2d1d_tpfa_tpfa_1d.csv delete mode 100644 test/references/test_projection_2d1d_tpfa_tpfa_2d.csv diff --git a/dumux/discretization/projection/projector.hh b/dumux/discretization/projection/projector.hh index e17283efa9..9b74c78099 100644 --- a/dumux/discretization/projection/projector.hh +++ b/dumux/discretization/projection/projector.hh @@ -30,6 +30,7 @@ #ifndef DUMUX_DISCRETIZATION_PROJECTOR_HH #define DUMUX_DISCRETIZATION_PROJECTOR_HH +#include <algorithm> #include <string> #include <utility> #include <type_traits> @@ -41,6 +42,8 @@ #include <dune/geometry/quadraturerules.hh> #include <dune/istl/matrixindexset.hh> +#include <dune/istl/bcrsmatrix.hh> +#include <dune/istl/bvector.hh> #include <dumux/common/parameters.hh> #include <dumux/linear/seqsolverbackend.hh> @@ -58,13 +61,13 @@ namespace Dumux { template<class ScalarType> class Projector { - using BlockType = Dune::FieldMatrix<ScalarType, 1, 1>; + using MatrixBlockType = Dune::FieldMatrix<ScalarType, 1, 1>; public: //! Export the scalar type using Scalar = ScalarType; //! Export the type of the projection matrices - using Matrix = Dune::BCRSMatrix< BlockType >; + using Matrix = Dune::BCRSMatrix< MatrixBlockType >; //! Parameters that can be passed to project() struct Params @@ -89,16 +92,16 @@ public: /*! * \brief Project a solution u into up * \param u The solution living on the domain space - * \param up The projection of u into the target space + * \return The projection of u into the target space */ - template< class DomainSolution, class TargetSolution> - void project(const DomainSolution& u, TargetSolution& up, const Params& params = Params{}) const + template< class BlockType, std::enable_if_t<std::is_convertible<BlockType, ScalarType>::value, int> = 0 > + Dune::BlockVector<BlockType> project(const Dune::BlockVector<BlockType>& u, const Params& params = Params{}) const { // be picky about size of u if ( u.size() != projMat_.M()) DUNE_THROW(Dune::InvalidStateException, "Vector size mismatch" ); - up.resize(massMat_.N()); + Dune::BlockVector<BlockType> up(massMat_.N()); auto rhs = up; projMat_.mv(u, rhs); @@ -107,6 +110,31 @@ public: solver.setResidualReduction(params.residualReduction); solver.setMaxIter(params.maxIterations); solver.solve(massMat_, up, rhs); + + return up; + } + + /*! + * \brief Project a solution u into up + * \param u The solution living on the domain space + * \return The projection of u into the target space + */ + template< class BlockType, std::enable_if_t<!std::is_convertible<BlockType, ScalarType>::value, int> = 0 > + Dune::BlockVector<BlockType> project(const Dune::BlockVector<BlockType>& u, const Params& params = Params{}) const + { + Dune::BlockVector<BlockType> result(massMat_.N()); + + for (int pvIdx = 0; pvIdx < BlockType::size(); ++pvIdx) + { + Dune::BlockVector<Dune::FieldVector<Scalar, 1>> tmp(u.size()); + std::transform(u.begin(), u.end(), tmp.begin(), [pvIdx] (const auto& v) { return v[pvIdx]; }); + + const auto p = project(tmp, params); + for (std::size_t i = 0; i < p.size(); ++i) + result[i][pvIdx] = p[i]; + } + + return result; } /*! diff --git a/test/common/functions/test_function_l2norm.cc b/test/common/functions/test_function_l2norm.cc index baaba12f26..25ce705c41 100644 --- a/test/common/functions/test_function_l2norm.cc +++ b/test/common/functions/test_function_l2norm.cc @@ -5,6 +5,7 @@ #include <dune/functions/functionspacebases/interpolate.hh> #include <dune/functions/functionspacebases/lagrangebasis.hh> +#include <dune/functions/functionspacebases/powerbasis.hh> #include <dune/functions/gridfunctions/analyticgridviewfunction.hh> #include <dune/functions/gridfunctions/discreteglobalbasisfunction.hh> @@ -37,10 +38,11 @@ int main (int argc, char *argv[]) try const auto gvCoarse = gridManagerCoarse.grid().leafGridView(); // get some types - using R = Dune::FieldVector<double, 1>; + using R = Dune::FieldVector<double, 2>; using SolutionVector = Dune::BlockVector<R>; using GridView = Grid::LeafGridView; using namespace Dune::Functions; + using namespace Dune::Functions::BasisFactory; using P2 = LagrangeBasis<GridView, 2>; // construct glue, any grid geometry should be fine here @@ -48,21 +50,24 @@ int main (int argc, char *argv[]) try auto glue = makeGlue(ggFine, ggCoarse); // a quadratic function on the grid - auto f = [](const auto& pos){ return pos.two_norm2(); }; + auto f = [&] (const auto& pos) -> R { return {pos.two_norm2(), pos[0]*pos[0]*pos[1]}; }; // make bases - P2 basisCoarse(gvCoarse), basisFine(gvFine); SolutionVector solCoarse, solFine; - interpolate(basisCoarse, solCoarse, f); - interpolate(basisFine, solFine, f); + interpolate(makeBasis(gvCoarse, power<2>(lagrange<2>())), solCoarse, f); + interpolate(makeBasis(gvFine, power<2>(lagrange<2>())), solFine, f); + + P2 basisCoarse(gvCoarse), basisFine(gvFine); auto gfCoarse = makeDiscreteGlobalBasisFunction<R>(basisCoarse, solCoarse); auto gfFine = makeDiscreteGlobalBasisFunction<R>(basisFine, solFine); // project fine discrete function onto coarse grid and convert back to grid function const auto projector = Dumux::makeProjector(basisFine, basisCoarse, glue); - SolutionVector solCoarse2; - projector.project(solFine, solCoarse2); - auto gfCoarse2 = makeDiscreteGlobalBasisFunction<R>(basisCoarse, solCoarse); + auto params = projector.defaultParams(); + params.residualReduction = 1e-16; + + auto solCoarse2 = projector.project(solFine, params); + auto gfCoarse2 = makeDiscreteGlobalBasisFunction<R>(basisCoarse, solCoarse2); // check that these functions are identical and that they exactly represent the analytical function auto l2norm = Dumux::integrateL2Error(gvCoarse, gfCoarse, gfCoarse2, 3); @@ -75,15 +80,16 @@ int main (int argc, char *argv[]) try // check the FV-style interface of integrateL2Error Dumux::BoxFVGridGeometry<double, GridView> ggBoxCoarse(gvCoarse), ggBoxFine(gvFine); - auto p1BasisCoarse = Dumux::getFunctionSpaceBasis(ggBoxCoarse); - auto p1BasisFine = Dumux::getFunctionSpaceBasis(ggBoxFine); - auto f2 = [](const auto& pos){ return pos[0]; }; - interpolate(p1BasisFine, solFine, f2); - interpolate(p1BasisCoarse, solCoarse, f2); + auto f2 = [&] (const auto& pos) -> R { return {pos[0] + pos[1], pos[0]*pos[1]}; }; + + interpolate(makeBasis(gvFine, power<2>(lagrange<1>())), solFine, f2); + interpolate(makeBasis(gvCoarse, power<2>(lagrange<1>())), solCoarse, f2); // project fine discrete function onto coarse grid + auto p1BasisCoarse = Dumux::getFunctionSpaceBasis(ggBoxCoarse); + auto p1BasisFine = Dumux::getFunctionSpaceBasis(ggBoxFine); const auto projector2 = Dumux::makeProjector(p1BasisFine, p1BasisCoarse, glue); - projector2.project(solFine, solCoarse2); + solCoarse2 = projector2.project(solFine, params); l2norm = Dumux::integrateL2Error(ggBoxCoarse, solCoarse, solCoarse2, 3); if (l2norm > 1e-14) diff --git a/test/discretization/projection/CMakeLists.txt b/test/discretization/projection/CMakeLists.txt index cec331a494..82408a450a 100644 --- a/test/discretization/projection/CMakeLists.txt +++ b/test/discretization/projection/CMakeLists.txt @@ -3,39 +3,4 @@ dune_symlink_to_source_files(FILES "params.input") dune_add_test(NAME test_projection_2d1d SOURCES test_projection_2d1d.cc CMAKE_GUARD "( dune-foamgrid_FOUND AND dune-functions_FOUND )" - LABELS unit discretization - COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py - CMD_ARGS --script fuzzyData - --files ${CMAKE_SOURCE_DIR}/test/references/test_projection_2d1d_tpfa_tpfa_1d.csv - ${CMAKE_CURRENT_BINARY_DIR}/1d_tpfa_tpfa.csv - ${CMAKE_SOURCE_DIR}/test/references/test_projection_2d1d_tpfa_tpfa_2d.csv - ${CMAKE_CURRENT_BINARY_DIR}/2d_tpfa_tpfa.csv - ${CMAKE_SOURCE_DIR}/test/references/test_projection_2d1d_box_box_1d.csv - ${CMAKE_CURRENT_BINARY_DIR}/1d_box_box.csv - ${CMAKE_SOURCE_DIR}/test/references/test_projection_2d1d_box_box_2d.csv - ${CMAKE_CURRENT_BINARY_DIR}/2d_box_box.csv - ${CMAKE_SOURCE_DIR}/test/references/test_projection_2d1d_fem_fem_1d.csv - ${CMAKE_CURRENT_BINARY_DIR}/1d_fem_fem.csv - ${CMAKE_SOURCE_DIR}/test/references/test_projection_2d1d_fem_fem_2d.csv - ${CMAKE_CURRENT_BINARY_DIR}/2d_fem_fem.csv - ${CMAKE_SOURCE_DIR}/test/references/test_projection_2d1d_tpfa_box_1d.csv - ${CMAKE_CURRENT_BINARY_DIR}/1d_tpfa_box.csv - ${CMAKE_SOURCE_DIR}/test/references/test_projection_2d1d_tpfa_box_2d.csv - ${CMAKE_CURRENT_BINARY_DIR}/2d_tpfa_box.csv - ${CMAKE_SOURCE_DIR}/test/references/test_projection_2d1d_box_tpfa_1d.csv - ${CMAKE_CURRENT_BINARY_DIR}/1d_box_tpfa.csv - ${CMAKE_SOURCE_DIR}/test/references/test_projection_2d1d_box_tpfa_2d.csv - ${CMAKE_CURRENT_BINARY_DIR}/2d_box_tpfa.csv - ${CMAKE_SOURCE_DIR}/test/references/test_projection_2d1d_fem_box_2d.csv - ${CMAKE_CURRENT_BINARY_DIR}/2d_fem_box.csv - ${CMAKE_SOURCE_DIR}/test/references/test_projection_2d1d_fem_box_1d.csv - ${CMAKE_CURRENT_BINARY_DIR}/1d_fem_box.csv - ${CMAKE_SOURCE_DIR}/test/references/test_projection_2d1d_fem_tpfa_2d.csv - ${CMAKE_CURRENT_BINARY_DIR}/2d_fem_tpfa.csv - ${CMAKE_SOURCE_DIR}/test/references/test_projection_2d1d_fem_tpfa_1d.csv - ${CMAKE_CURRENT_BINARY_DIR}/1d_fem_tpfa.csv - ${CMAKE_SOURCE_DIR}/test/references/test_projection_2d1d_tpfa_fem_2d.csv - ${CMAKE_CURRENT_BINARY_DIR}/2d_tpfa_fem.csv - ${CMAKE_SOURCE_DIR}/test/references/test_projection_2d1d_tpfa_fem_1d.csv - ${CMAKE_CURRENT_BINARY_DIR}/1d_tpfa_fem.csv - --command "${CMAKE_CURRENT_BINARY_DIR}/test_projection_2d1d params.input") + LABELS unit discretization) diff --git a/test/discretization/projection/test_projection_2d1d.cc b/test/discretization/projection/test_projection_2d1d.cc index 16dd7b0038..b7e9bb4c0e 100644 --- a/test/discretization/projection/test_projection_2d1d.cc +++ b/test/discretization/projection/test_projection_2d1d.cc @@ -41,6 +41,7 @@ #include <dumux/io/container.hh> #include <dumux/common/parameters.hh> +#include <dumux/common/integrate.hh> #include <dumux/discretization/box/fvgridgeometry.hh> #include <dumux/discretization/fem/fegridgeometry.hh> @@ -59,59 +60,8 @@ void writeProjection(const GridGeometry1& gg1, const GridGeometry2& gg2, const auto& forwardProjector = projectors.first; const auto& backwardProjector = projectors.second; - SolutionVector p2_1, p1_2; - forwardProjector.project(sol1, p2_1); - backwardProjector.project(sol2, p1_2); - - const std::string filename1 = "2d_" + acro1 + "_" + acro2; - const std::string filename2 = "1d_" + acro1 + "_" + acro2; - - Dumux::writeContainerToFile(p1_2, filename1 + ".csv"); - Dumux::writeContainerToFile(p2_1, filename2 + ".csv"); - - static const bool writeVtk = Dumux::getParam<bool>("Vtk.EnableOutput", false); - if (writeVtk) - { - using namespace Dune; - VTKWriter<typename GridGeometry1::GridView> writer1(gg1.gridView()); - VTKWriter<typename GridGeometry2::GridView> writer2(gg2.gridView()); - - const auto& basis1 = Dumux::getFunctionSpaceBasis(gg1); - const auto& basis2 = Dumux::getFunctionSpaceBasis(gg2); - - const auto uInfo = VTK::FieldInfo("u", VTK::FieldInfo::Type::scalar, 1); - const auto upInfo = VTK::FieldInfo("u_p", VTK::FieldInfo::Type::scalar, 1); - - const auto uFunction1 = Functions::makeDiscreteGlobalBasisFunction<Scalar>(basis1, sol1); - const auto uFunction2 = Functions::makeDiscreteGlobalBasisFunction<Scalar>(basis2, sol2); - const auto upFunction1 = Functions::makeDiscreteGlobalBasisFunction<Scalar>(basis1, p1_2); - const auto upFunction2 = Functions::makeDiscreteGlobalBasisFunction<Scalar>(basis2, p2_1); - - if (GridGeometry1::discMethod == Dumux::DiscretizationMethod::cctpfa) - { - writer1.addCellData(uFunction1, uInfo); - writer1.addCellData(upFunction1, upInfo); - } - else - { - writer1.addVertexData(uFunction1, uInfo); - writer1.addVertexData(upFunction1, upInfo); - } - - if (GridGeometry2::discMethod == Dumux::DiscretizationMethod::cctpfa) - { - writer2.addCellData(uFunction2, uInfo); - writer2.addCellData(upFunction2, upInfo); - } - else - { - writer2.addVertexData(uFunction2, uInfo); - writer2.addVertexData(upFunction2, upInfo); - } - - writer1.write(filename1); - writer2.write(filename2); - } + const auto p2_1 = forwardProjector.project(sol1, p2_1); + const auto p1_2 = backwardProjector.project(sol2, p1_2); } int main (int argc, char *argv[]) try @@ -127,16 +77,11 @@ int main (int argc, char *argv[]) try using GridView1 = typename Grid1::LeafGridView; using GridView2 = typename Grid2::LeafGridView; - using FEBasis1 = Dune::Functions::LagrangeBasis<GridView1, 1>; - using FEBasis2 = Dune::Functions::LagrangeBasis<GridView2, 1>; + using FEBasis1 = Dune::Functions::LagrangeBasis<GridView1, 2>; + using FEBasis2 = Dune::Functions::LagrangeBasis<GridView2, 2>; using Scalar = double; - using TpfaGridGeometry1 = Dumux::CCTpfaFVGridGeometry<GridView1>; - using BoxGridGeometry1 = Dumux::BoxFVGridGeometry<Scalar, GridView1>; using FEGridGeometry1 = Dumux::FEGridGeometry<FEBasis1>; - - using TpfaGridGeometry2 = Dumux::CCTpfaFVGridGeometry<GridView2>; - using BoxGridGeometry2 = Dumux::BoxFVGridGeometry<Scalar, GridView2>; using FEGridGeometry2 = Dumux::FEGridGeometry<FEBasis2>; // make the 2d grid @@ -148,60 +93,91 @@ int main (int argc, char *argv[]) try // make the 1d grid GlobalPosition lower2({0., 0.5}); - GlobalPosition upper2({1. ,0.5}); + GlobalPosition upper2({1., 0.5}); std::array<unsigned int, 1> els2{{13}}; std::shared_ptr<Grid2> grid2 = Dune::StructuredGridFactory<Grid2>::createSimplexGrid(lower2, upper2, els2); - Dune::Functions::LagrangeBasis<GridView1, 0> q0Basis1(grid1->leafGridView()); - Dune::Functions::LagrangeBasis<GridView2, 0> q0Basis2(grid2->leafGridView()); - Dune::Functions::LagrangeBasis<GridView1, 1> q1Basis1(grid1->leafGridView()); - Dune::Functions::LagrangeBasis<GridView2, 1> q1Basis2(grid2->leafGridView()); - - // create all grid geometries - TpfaGridGeometry1 tpfaGridGeometry1(grid1->leafGridView()); - BoxGridGeometry1 boxGridGeometry1(grid1->leafGridView()); + // create grid geometries FEGridGeometry1 feGridGeometry1(std::make_shared<FEBasis1>(grid1->leafGridView())); - - TpfaGridGeometry2 tpfaGridGeometry2(grid2->leafGridView()); - BoxGridGeometry2 boxGridGeometry2(grid2->leafGridView()); FEGridGeometry2 feGridGeometry2(std::make_shared<FEBasis2>(grid2->leafGridView())); + // create solution vectors + using BlockType = Dune::FieldVector<Scalar, 1>; + using SolutionVector = Dune::BlockVector< BlockType >; + SolutionVector sol1; + SolutionVector sol2; + // function to distribute on grids - auto evalFunction1 = [] (const auto& pos) - { return std::sin(2*M_PI*pos[0])*std::cos(4*M_PI*pos[1]); }; - auto evalFunction2 = [] (const auto& pos) - { return std::cos(4*M_PI*(pos[0] - M_PI))*std::sin(2*M_PI*(pos[1]-M_PI/2.0)); }; + auto f = [] (const auto& pos) -> BlockType { return {pos.two_norm2()}; }; - // create solution vectors - using SolutionVector = Dune::BlockVector< Dune::FieldVector<Scalar, 1> >; - SolutionVector sol2d_tpfa, sol2d_box, sol2d_fem; - SolutionVector sol1d_tpfa, sol1d_box, sol1d_fem; - - Dune::Functions::interpolate(q0Basis1, sol2d_tpfa, evalFunction1); - Dune::Functions::interpolate(q0Basis2, sol1d_tpfa, evalFunction2); - - Dune::Functions::interpolate(q1Basis1, sol2d_box, evalFunction1); - Dune::Functions::interpolate(q1Basis2, sol1d_box, evalFunction2); - - Dune::Functions::interpolate(feGridGeometry1.feBasis(), sol2d_fem, evalFunction1); - Dune::Functions::interpolate(feGridGeometry2.feBasis(), sol1d_fem, evalFunction2); - - // tpfa - tpfa - writeProjection<Scalar>(tpfaGridGeometry1, tpfaGridGeometry2, sol2d_tpfa, sol1d_tpfa, "tpfa", "tpfa"); - // box - box - writeProjection<Scalar>(boxGridGeometry1, boxGridGeometry2, sol2d_box, sol1d_box, "box", "box"); - // fem - fem - writeProjection<Scalar>(feGridGeometry1, feGridGeometry2, sol2d_fem, sol1d_fem, "fem", "fem"); - // box - tpfa - writeProjection<Scalar>(boxGridGeometry1, tpfaGridGeometry2, sol2d_box, sol1d_tpfa, "box", "tpfa"); - // tpfa - box - writeProjection<Scalar>(tpfaGridGeometry1, boxGridGeometry2, sol2d_tpfa, sol1d_box, "tpfa", "box"); - // fem - tpfa - writeProjection<Scalar>(feGridGeometry1, tpfaGridGeometry2, sol2d_fem, sol1d_tpfa, "fem", "tpfa"); - // fem - box - writeProjection<Scalar>(feGridGeometry1, boxGridGeometry2, sol2d_fem, sol1d_box, "fem", "box"); - // tpfa - fem - writeProjection<Scalar>(tpfaGridGeometry1, feGridGeometry2, sol2d_tpfa, sol1d_fem, "tpfa", "fem"); + Dune::Functions::interpolate(feGridGeometry1.feBasis(), sol1, f); + Dune::Functions::interpolate(feGridGeometry2.feBasis(), sol2, f); + + // make projections and check them + const auto projectors = Dumux::makeProjectorPair( feGridGeometry1.feBasis(), + feGridGeometry2.feBasis(), + makeGlue(feGridGeometry1, feGridGeometry2) ); + const auto& forwardProjector = projectors.first; + const auto& backwardProjector = projectors.second; + + auto params = forwardProjector.defaultParams(); + params.residualReduction = 1e-16; + + const auto p12 = forwardProjector.project(sol1, params); + const auto p21 = backwardProjector.project(sol2, params); + + using namespace Dune::Functions; + + auto af1 = makeAnalyticGridViewFunction(f, feGridGeometry1.gridView()); + auto af2 = makeAnalyticGridViewFunction(f, feGridGeometry2.gridView()); + + auto gf1 = makeDiscreteGlobalBasisFunction<BlockType>(feGridGeometry1.feBasis(), p21); + auto gf2 = makeDiscreteGlobalBasisFunction<BlockType>(feGridGeometry2.feBasis(), p12); + + if (Dumux::getParam<bool>("Vtk.EnableOutput", false)) + { + Dune::VTKWriter<typename FEGridGeometry1::GridView> writer1(feGridGeometry1.gridView()); + Dune::VTKWriter<typename FEGridGeometry2::GridView> writer2(feGridGeometry2.gridView()); + + const auto fieldInfoAnalytic = Dune::VTK::FieldInfo({"u", Dune::VTK::FieldInfo::Type::scalar, 1}); + const auto fieldInfoProjected = Dune::VTK::FieldInfo({"u_p", Dune::VTK::FieldInfo::Type::scalar, 1}); + + writer1.addVertexData(af1, fieldInfoAnalytic); + writer1.addVertexData(gf1, fieldInfoProjected); + + writer2.addVertexData(af2, fieldInfoAnalytic); + writer2.addVertexData(gf2, fieldInfoProjected); + + writer1.write("sol_2d"); + writer2.write("sol_1d"); + } + + // make sure that solution projected on 2d grid is "exact" on the intersecting edges + for (const auto& element : elements(feGridGeometry1.gridView())) + { + auto lf1 = localFunction(gf1); + lf1.bind(element); + + for (const auto& is : intersections(feGridGeometry1.gridView(), element)) + { + const auto isGeom = is.geometry(); + const auto p = isGeom.center(); + + if (p[1] > 0.5 - 1e-6 && p[1] < 0.5 + 1e-6) + { + const auto error = lf1(element.geometry().local(p)) - f(p); + + using std::sqrt; + if ( sqrt(error*error) > 1e-14 ) + DUNE_THROW(Dune::MathError, "Error norm on 2d grid too high (" << sqrt(error*error) << ")!"); + } + } + } + + // one-dimensional solution should still be "exact" + const auto l2Norm = Dumux::integrateL2Error( feGridGeometry2.gridView(), af2, gf2, 3); + if ( l2Norm > 1e-14 ) + DUNE_THROW(Dune::MathError, "Error norm on 1d grid too high!"); return 0; } diff --git a/test/references/test_projection_2d1d_box_box_1d.csv b/test/references/test_projection_2d1d_box_box_1d.csv deleted file mode 100644 index 6f79a83904..0000000000 --- a/test/references/test_projection_2d1d_box_box_1d.csv +++ /dev/null @@ -1,14 +0,0 @@ -1.507142e-01 -4.422696e-01 -7.796350e-01 -9.409501e-01 -8.891607e-01 -6.289358e-01 -2.258410e-01 --2.258410e-01 --6.289358e-01 --8.891607e-01 --9.409501e-01 --7.796350e-01 --4.422696e-01 --1.507142e-01 diff --git a/test/references/test_projection_2d1d_box_box_2d.csv b/test/references/test_projection_2d1d_box_box_2d.csv deleted file mode 100644 index 6197ca93b3..0000000000 --- a/test/references/test_projection_2d1d_box_box_2d.csv +++ /dev/null @@ -1,121 +0,0 @@ -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 --7.637070e-02 --3.016355e-01 --2.583696e-01 -1.419646e-01 -3.462732e-01 -7.198979e-02 --3.016499e-01 --2.587126e-01 -1.419077e-01 -3.460640e-01 -2.207074e-01 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 diff --git a/test/references/test_projection_2d1d_box_tpfa_1d.csv b/test/references/test_projection_2d1d_box_tpfa_1d.csv deleted file mode 100644 index 5035330ff9..0000000000 --- a/test/references/test_projection_2d1d_box_tpfa_1d.csv +++ /dev/null @@ -1,13 +0,0 @@ -2.260713e-01 -6.359015e-01 -9.007574e-01 -9.496593e-01 -7.833929e-01 -4.486884e-01 -1.608432e-16 --4.486884e-01 --7.833929e-01 --9.496593e-01 --9.007574e-01 --6.359015e-01 --2.260713e-01 diff --git a/test/references/test_projection_2d1d_box_tpfa_2d.csv b/test/references/test_projection_2d1d_box_tpfa_2d.csv deleted file mode 100644 index c68fe4ee3e..0000000000 --- a/test/references/test_projection_2d1d_box_tpfa_2d.csv +++ /dev/null @@ -1,121 +0,0 @@ -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 --1.322347e-01 --3.147229e-01 --2.684315e-01 -1.457959e-01 -3.607137e-01 -7.450318e-02 --3.129911e-01 --2.681667e-01 -1.480351e-01 -3.600225e-01 -2.827186e-01 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 diff --git a/test/references/test_projection_2d1d_fem_box_1d.csv b/test/references/test_projection_2d1d_fem_box_1d.csv deleted file mode 100644 index 6f79a83904..0000000000 --- a/test/references/test_projection_2d1d_fem_box_1d.csv +++ /dev/null @@ -1,14 +0,0 @@ -1.507142e-01 -4.422696e-01 -7.796350e-01 -9.409501e-01 -8.891607e-01 -6.289358e-01 -2.258410e-01 --2.258410e-01 --6.289358e-01 --8.891607e-01 --9.409501e-01 --7.796350e-01 --4.422696e-01 --1.507142e-01 diff --git a/test/references/test_projection_2d1d_fem_box_2d.csv b/test/references/test_projection_2d1d_fem_box_2d.csv deleted file mode 100644 index 6197ca93b3..0000000000 --- a/test/references/test_projection_2d1d_fem_box_2d.csv +++ /dev/null @@ -1,121 +0,0 @@ -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 --7.637070e-02 --3.016355e-01 --2.583696e-01 -1.419646e-01 -3.462732e-01 -7.198979e-02 --3.016499e-01 --2.587126e-01 -1.419077e-01 -3.460640e-01 -2.207074e-01 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 diff --git a/test/references/test_projection_2d1d_fem_fem_1d.csv b/test/references/test_projection_2d1d_fem_fem_1d.csv deleted file mode 100644 index 6f79a83904..0000000000 --- a/test/references/test_projection_2d1d_fem_fem_1d.csv +++ /dev/null @@ -1,14 +0,0 @@ -1.507142e-01 -4.422696e-01 -7.796350e-01 -9.409501e-01 -8.891607e-01 -6.289358e-01 -2.258410e-01 --2.258410e-01 --6.289358e-01 --8.891607e-01 --9.409501e-01 --7.796350e-01 --4.422696e-01 --1.507142e-01 diff --git a/test/references/test_projection_2d1d_fem_fem_2d.csv b/test/references/test_projection_2d1d_fem_fem_2d.csv deleted file mode 100644 index 6197ca93b3..0000000000 --- a/test/references/test_projection_2d1d_fem_fem_2d.csv +++ /dev/null @@ -1,121 +0,0 @@ -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 --7.637070e-02 --3.016355e-01 --2.583696e-01 -1.419646e-01 -3.462732e-01 -7.198979e-02 --3.016499e-01 --2.587126e-01 -1.419077e-01 -3.460640e-01 -2.207074e-01 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 diff --git a/test/references/test_projection_2d1d_fem_tpfa_1d.csv b/test/references/test_projection_2d1d_fem_tpfa_1d.csv deleted file mode 100644 index 5035330ff9..0000000000 --- a/test/references/test_projection_2d1d_fem_tpfa_1d.csv +++ /dev/null @@ -1,13 +0,0 @@ -2.260713e-01 -6.359015e-01 -9.007574e-01 -9.496593e-01 -7.833929e-01 -4.486884e-01 -1.608432e-16 --4.486884e-01 --7.833929e-01 --9.496593e-01 --9.007574e-01 --6.359015e-01 --2.260713e-01 diff --git a/test/references/test_projection_2d1d_fem_tpfa_2d.csv b/test/references/test_projection_2d1d_fem_tpfa_2d.csv deleted file mode 100644 index c68fe4ee3e..0000000000 --- a/test/references/test_projection_2d1d_fem_tpfa_2d.csv +++ /dev/null @@ -1,121 +0,0 @@ -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 --1.322347e-01 --3.147229e-01 --2.684315e-01 -1.457959e-01 -3.607137e-01 -7.450318e-02 --3.129911e-01 --2.681667e-01 -1.480351e-01 -3.600225e-01 -2.827186e-01 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 diff --git a/test/references/test_projection_2d1d_tpfa_box_1d.csv b/test/references/test_projection_2d1d_tpfa_box_1d.csv deleted file mode 100644 index d5785cd2cb..0000000000 --- a/test/references/test_projection_2d1d_tpfa_box_1d.csv +++ /dev/null @@ -1,14 +0,0 @@ -2.500000e-01 -3.491046e-01 -6.486663e-01 -7.804329e-01 -7.170844e-01 -5.250658e-01 -1.955902e-01 --1.955902e-01 --5.250658e-01 --7.170844e-01 --7.804329e-01 --6.486663e-01 --3.491046e-01 --2.500000e-01 diff --git a/test/references/test_projection_2d1d_tpfa_box_2d.csv b/test/references/test_projection_2d1d_tpfa_box_2d.csv deleted file mode 100644 index 8164eac7cd..0000000000 --- a/test/references/test_projection_2d1d_tpfa_box_2d.csv +++ /dev/null @@ -1,100 +0,0 @@ -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 --1.522871e-01 --3.678820e-01 --7.734819e-02 -3.249741e-01 -2.748287e-01 --1.506308e-01 --3.730112e-01 --7.651990e-02 -3.204851e-01 -2.773912e-01 --1.522871e-01 --3.678820e-01 --7.734819e-02 -3.249741e-01 -2.748287e-01 --1.506308e-01 --3.730112e-01 --7.651990e-02 -3.204851e-01 -2.773912e-01 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 diff --git a/test/references/test_projection_2d1d_tpfa_fem_1d.csv b/test/references/test_projection_2d1d_tpfa_fem_1d.csv deleted file mode 100644 index d5785cd2cb..0000000000 --- a/test/references/test_projection_2d1d_tpfa_fem_1d.csv +++ /dev/null @@ -1,14 +0,0 @@ -2.500000e-01 -3.491046e-01 -6.486663e-01 -7.804329e-01 -7.170844e-01 -5.250658e-01 -1.955902e-01 --1.955902e-01 --5.250658e-01 --7.170844e-01 --7.804329e-01 --6.486663e-01 --3.491046e-01 --2.500000e-01 diff --git a/test/references/test_projection_2d1d_tpfa_fem_2d.csv b/test/references/test_projection_2d1d_tpfa_fem_2d.csv deleted file mode 100644 index 8164eac7cd..0000000000 --- a/test/references/test_projection_2d1d_tpfa_fem_2d.csv +++ /dev/null @@ -1,100 +0,0 @@ -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 --1.522871e-01 --3.678820e-01 --7.734819e-02 -3.249741e-01 -2.748287e-01 --1.506308e-01 --3.730112e-01 --7.651990e-02 -3.204851e-01 -2.773912e-01 --1.522871e-01 --3.678820e-01 --7.734819e-02 -3.249741e-01 -2.748287e-01 --1.506308e-01 --3.730112e-01 --7.651990e-02 -3.204851e-01 -2.773912e-01 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 diff --git a/test/references/test_projection_2d1d_tpfa_tpfa_1d.csv b/test/references/test_projection_2d1d_tpfa_tpfa_1d.csv deleted file mode 100644 index f5b02f9059..0000000000 --- a/test/references/test_projection_2d1d_tpfa_tpfa_1d.csv +++ /dev/null @@ -1,13 +0,0 @@ -2.500000e-01 -5.331559e-01 -7.163119e-01 -7.935661e-01 -6.545085e-01 -3.309017e-01 --8.413409e-17 --3.309017e-01 --6.545085e-01 --7.935661e-01 --7.163119e-01 --5.331559e-01 --2.500000e-01 diff --git a/test/references/test_projection_2d1d_tpfa_tpfa_2d.csv b/test/references/test_projection_2d1d_tpfa_tpfa_2d.csv deleted file mode 100644 index dd3b221824..0000000000 --- a/test/references/test_projection_2d1d_tpfa_tpfa_2d.csv +++ /dev/null @@ -1,100 +0,0 @@ -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 --1.837861e-01 --3.788640e-01 --9.653650e-02 -3.406744e-01 -2.786035e-01 --1.478096e-01 --3.870042e-01 --6.424080e-02 -3.288829e-01 -3.100804e-01 --1.837861e-01 --3.788640e-01 --9.653650e-02 -3.406744e-01 -2.786035e-01 --1.478096e-01 --3.870042e-01 --6.424080e-02 -3.288829e-01 -3.100804e-01 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -0.000000e+00 -- GitLab