Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • dumux dumux
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 100
    • Issues 100
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 87
    • Merge requests 87
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • dumux-repositoriesdumux-repositories
  • dumuxdumux
  • Issues
  • #616
Closed
Open
Issue created Nov 27, 2018 by Bernd Flemisch@berndOwner

Compile error introduced by !1319

Apparently, !1319 (merged) introduces something bad. Compiling the 2p incompressible test gives

In file included from /home/bernd/DUMUX/dumux/dumux/porousmediumflow/properties.hh:36,
                 from /home/bernd/DUMUX/dumux/dumux/porousmediumflow/2p/model.hh:67,
                 from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/problem.hh:38,
                 from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/main.cc:36:
/home/bernd/DUMUX/dumux/dumux/porousmediumflow/velocityoutput.hh: In instantiation of ‘void Dumux::PorousMediumFlowVelocityOutput<GridVariables, FluxVariables>::calculateVelocity(Dumux::PorousMediumFlowVelocityOutput<GridVariables, FluxVariables>::VelocityVector&, const ElementVolumeVariables&, const FVElementGeometry&, const Element&, int) const [with GridVariables = Dumux::FVGridVariables<Dumux::BoxFVGridGeometry<double, Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, false, Dumux::BoxDefaultGridGeometryTraits<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dumux::DefaultMapperTraits<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::MultipleCodimMultipleGeomTypeMapper<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::Impl::MCMGFailLayout>, Dune::MultipleCodimMultipleGeomTypeMapper<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::Impl::MCMGFailLayout> > > >, Dumux::BoxGridVolumeVariables<Dumux::TwoPTestProblem<Dumux::Properties::TTag::TwoPIncompressibleBox>, Dumux::TwoPVolumeVariables<Dumux::TwoPVolumeVariablesTraits<Dune::FieldVector<double, 2>, Dumux::FluidSystems::TwoPImmiscible<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::SimpleH2O<double> >, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::Trichloroethene<double> > >, Dumux::ImmiscibleFluidState<double, Dumux::FluidSystems::TwoPImmiscible<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::SimpleH2O<double> >, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::Trichloroethene<double> > > >, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> >, Dumux::InertSolidState<double, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> > >, double, Dumux::TwoPModelTraits<(Dumux::TwoPFormulation)0>, Dumux::TwoPScvSaturationReconstruction<(Dumux::DiscretizationMethod)1, false> > >, false, Dumux::BoxDefaultGridVolumeVariablesTraits<Dumux::TwoPTestProblem<Dumux::Properties::TTag::TwoPIncompressibleBox>, Dumux::TwoPVolumeVariables<Dumux::TwoPVolumeVariablesTraits<Dune::FieldVector<double, 2>, Dumux::FluidSystems::TwoPImmiscible<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::SimpleH2O<double> >, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::Trichloroethene<double> > >, Dumux::ImmiscibleFluidState<double, Dumux::FluidSystems::TwoPImmiscible<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::SimpleH2O<double> >, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::Trichloroethene<double> > > >, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> >, Dumux::InertSolidState<double, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> > >, double, Dumux::TwoPModelTraits<(Dumux::TwoPFormulation)0>, Dumux::TwoPScvSaturationReconstruction<(Dumux::DiscretizationMethod)1, false> > > > >, Dumux::BoxGridFluxVariablesCache<Dumux::TwoPTestProblem<Dumux::Properties::TTag::TwoPIncompressibleBox>, Dumux::PorousMediumFluxVariablesCacheImplementation<Dumux::Properties::TTag::TwoPIncompressibleBox, (Dumux::DiscretizationMethod)1>, false, Dumux::BoxDefaultGridFVCTraits<Dumux::TwoPTestProblem<Dumux::Properties::TTag::TwoPIncompressibleBox>, Dumux::PorousMediumFluxVariablesCacheImplementation<Dumux::Properties::TTag::TwoPIncompressibleBox, (Dumux::DiscretizationMethod)1> > > >; FluxVariables = Dumux::PorousMediumFluxVariables<Dumux::Properties::TTag::TwoPIncompressibleBox, Dumux::UpwindSchemeImpl<Dumux::BoxFVGridGeometry<double, Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, false, Dumux::BoxDefaultGridGeometryTraits<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dumux::DefaultMapperTraits<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::MultipleCodimMultipleGeomTypeMapper<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::Impl::MCMGFailLayout>, Dune::MultipleCodimMultipleGeomTypeMapper<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::Impl::MCMGFailLayout> > > >, (Dumux::DiscretizationMethod)1> >; Dumux::PorousMediumFlowVelocityOutput<GridVariables, FluxVariables>::VelocityVector = std::vector<Dune::FieldVector<double, 2>, std::allocator<Dune::FieldVector<double, 2> > >; Dumux::PorousMediumFlowVelocityOutput<GridVariables, FluxVariables>::ElementVolumeVariables = Dumux::BoxElementVolumeVariables<Dumux::BoxGridVolumeVariables<Dumux::TwoPTestProblem<Dumux::Properties::TTag::TwoPIncompressibleBox>, Dumux::TwoPVolumeVariables<Dumux::TwoPVolumeVariablesTraits<Dune::FieldVector<double, 2>, Dumux::FluidSystems::TwoPImmiscible<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::SimpleH2O<double> >, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::Trichloroethene<double> > >, Dumux::ImmiscibleFluidState<double, Dumux::FluidSystems::TwoPImmiscible<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::SimpleH2O<double> >, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::Trichloroethene<double> > > >, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> >, Dumux::InertSolidState<double, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> > >, double, Dumux::TwoPModelTraits<(Dumux::TwoPFormulation)0>, Dumux::TwoPScvSaturationReconstruction<(Dumux::DiscretizationMethod)1, false> > >, false, Dumux::BoxDefaultGridVolumeVariablesTraits<Dumux::TwoPTestProblem<Dumux::Properties::TTag::TwoPIncompressibleBox>, Dumux::TwoPVolumeVariables<Dumux::TwoPVolumeVariablesTraits<Dune::FieldVector<double, 2>, Dumux::FluidSystems::TwoPImmiscible<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::SimpleH2O<double> >, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::Trichloroethene<double> > >, Dumux::ImmiscibleFluidState<double, Dumux::FluidSystems::TwoPImmiscible<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::SimpleH2O<double> >, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::Trichloroethene<double> > > >, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> >, Dumux::InertSolidState<double, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> > >, double, Dumux::TwoPModelTraits<(Dumux::TwoPFormulation)0>, Dumux::TwoPScvSaturationReconstruction<(Dumux::DiscretizationMethod)1, false> > > > >, false>; Dumux::PorousMediumFlowVelocityOutput<GridVariables, FluxVariables>::FVElementGeometry = Dumux::BoxFVElementGeometry<Dumux::BoxFVGridGeometry<double, Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, false, Dumux::BoxDefaultGridGeometryTraits<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dumux::DefaultMapperTraits<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::MultipleCodimMultipleGeomTypeMapper<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::Impl::MCMGFailLayout>, Dune::MultipleCodimMultipleGeomTypeMapper<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::Impl::MCMGFailLayout> > > >, false>; Dumux::PorousMediumFlowVelocityOutput<GridVariables, FluxVariables>::Element = Dune::Entity<0, 2, const Dune::YaspGrid<2>, Dune::YaspEntity>]’:
/home/bernd/DUMUX/dumux/dumux/porousmediumflow/velocityoutput.hh:109:10:   required from here
/home/bernd/DUMUX/dumux/dumux/porousmediumflow/velocityoutput.hh:308:120: error: no matching function for call to ‘eq<std::decay_t<const Dune::FieldVector<double, 2> >, absolute>(const Dune::FieldVector<double, 2>&, double, double)’
                         if (Dune::FloatCmp::eq<std::decay_t<decltype(neumannFlux)>, Dune::FloatCmp::CmpStyle::absolute>(neumannFlux, 0.0, 1e-30))
                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/bernd/DUMUX/dune-common/dune/common/float_cmp.hh:383,
                 from /home/bernd/DUMUX/dumux/dumux/common/timeloop.hh:31,
                 from /home/bernd/DUMUX/dumux/dumux/assembly/fvlocalresidual.hh:32,
                 from /home/bernd/DUMUX/dumux/dumux/assembly/boxlocalresidual.hh:32,
                 from /home/bernd/DUMUX/dumux/dumux/discretization/box/properties.hh:35,
                 from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/problem.hh:28,
                 from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/main.cc:36:
/home/bernd/DUMUX/dune-common/dune/common/float_cmp.cc:133:10: note: candidate: ‘template<class T, Dune::FloatCmp::CmpStyle style> bool Dune::FloatCmp::eq(const T&, const T&, typename Dune::FloatCmp::EpsilonType<T>::Type)’
     bool eq(const T &first,
          ^~
/home/bernd/DUMUX/dune-common/dune/common/float_cmp.cc:133:10: note:   template argument deduction/substitution failed:
In file included from /home/bernd/DUMUX/dumux/dumux/porousmediumflow/properties.hh:36,
                 from /home/bernd/DUMUX/dumux/dumux/porousmediumflow/2p/model.hh:67,
                 from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/problem.hh:38,
                 from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/main.cc:36:
/home/bernd/DUMUX/dumux/dumux/porousmediumflow/velocityoutput.hh:308:134: note:   cannot convert ‘0.0’ (type ‘double’) to type ‘const Dune::FieldVector<double, 2>&’
                         if (Dune::FloatCmp::eq<std::decay_t<decltype(neumannFlux)>, Dune::FloatCmp::CmpStyle::absolute>(neumannFlux, 0.0, 1e-30))
                                                                                                                                      ^~~
In file included from /home/bernd/DUMUX/dune-common/dune/common/float_cmp.hh:383,
                 from /home/bernd/DUMUX/dumux/dumux/common/timeloop.hh:31,
                 from /home/bernd/DUMUX/dumux/dumux/assembly/fvlocalresidual.hh:32,
                 from /home/bernd/DUMUX/dumux/dumux/assembly/boxlocalresidual.hh:32,
                 from /home/bernd/DUMUX/dumux/dumux/discretization/box/properties.hh:35,
                 from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/problem.hh:28,
                 from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/main.cc:36:
/home/bernd/DUMUX/dune-common/dune/common/float_cmp.cc:177:10: note: candidate: ‘template<class T> bool Dune::FloatCmp::eq(const T&, const T&, typename Dune::FloatCmp::EpsilonType<T>::Type)’
     bool eq(const T &first,
          ^~
/home/bernd/DUMUX/dune-common/dune/common/float_cmp.cc:177:10: note:   template argument deduction/substitution failed:
In file included from /home/bernd/DUMUX/dumux/dumux/porousmediumflow/properties.hh:36,
                 from /home/bernd/DUMUX/dumux/dumux/porousmediumflow/2p/model.hh:67,
                 from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/problem.hh:38,
                 from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/main.cc:36:
/home/bernd/DUMUX/dumux/dumux/porousmediumflow/velocityoutput.hh:308:120: error: wrong number of template arguments (2, should be 1)
                         if (Dune::FloatCmp::eq<std::decay_t<decltype(neumannFlux)>, Dune::FloatCmp::CmpStyle::absolute>(neumannFlux, 0.0, 1e-30))
                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [test/porousmediumflow/2p/implicit/incompressible/CMakeFiles/test_2p_incompressible_box.dir/build.make:63: test/porousmediumflow/2p/implicit/incompressible/CMakeFiles/test_2p_incompressible_box.dir/main.cc.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:13278: test/porousmediumflow/2p/implicit/incompressible/CMakeFiles/test_2p_incompressible_box.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:13285: test/porousmediumflow/2p/implicit/incompressible/CMakeFiles/test_2p_incompressible_box.dir/rule] Error 2
make: *** [Makefile:194: test/porousmediumflow/2p/implicit/incompressible/CMakeFiles/test_2p_incompressible_box.dir/rule] Error 2

I use Dune 2.6 and gcc 8.

Assignee
Assign to
Time tracking