Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • dumux dumux
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 96
    • Issues 96
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 99
    • Merge requests 99
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & 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-repositories
  • dumuxdumux
  • Issues
  • #602
Closed
Open
Created Nov 20, 2018 by Timo Koch@timokOwner

Broken nonisothermal tests with gcc 5.5

!1231 (merged) causes the following compiler error for non-isothermal models with gcc 5.5

/data/src/dumux/dumux/porousmediumflow/nonisothermal/volumevariables.hh:450:10: note:   template argument deduction/substitution failed:
1109/data/src/dumux/dumux/porousmediumflow/nonisothermal/volumevariables.hh: In substitution of 'template<class ElemSol, class Problem, class Element, class Scv> std::enable_if_t<decltype (isValid(Dumux::Detail::hasSolidThermalConductivity<Element, Scv, ElemSol, typename IsothermalTraits::SolidState>())(problem.spatialParams()))::value, typename IsothermalTraits::PrimaryVariables::value_type> Dumux::EnergyVolumeVariablesImplementation<IsothermalTraits, Impl, true>::solidThermalConductivity_(const ElemSol&, const Problem&, const Element&, const Scv&, const SolidState&) [with ElemSol = Dumux::CCElementSolution<Dumux::CCTpfaFVElementGeometry<Dumux::CCTpfaFVGridGeometry<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, false, Dumux::CCTpfaDefaultGridGeometryTraits<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>, Dune::FieldVector<double, 2> >; Problem = Dumux::OnePNIConductionProblem<Dumux::Properties::TTag::OnePNIConductionCCTpfa>; Element = Dune::Entity<0, 2, const Dune::YaspGrid<2>, Dune::YaspEntity>; Scv = Dumux::CCSubControlVolume<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dumux::CCDefaultScvGeometryTraits<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > > > >]':
1110/data/src/dumux/dumux/porousmediumflow/nonisothermal/volumevariables.hh:217:51:   required from 'void Dumux::EnergyVolumeVariablesImplementation<IsothermalTraits, Impl, true>::updateSolidEnergyParams(const ElemSol&, const Problem&, const Element&, const Scv&, Dumux::EnergyVolumeVariablesImplementation<IsothermalTraits, Impl, true>::SolidState&) [with ElemSol = Dumux::CCElementSolution<Dumux::CCTpfaFVElementGeometry<Dumux::CCTpfaFVGridGeometry<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, false, Dumux::CCTpfaDefaultGridGeometryTraits<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>, Dune::FieldVector<double, 2> >; Problem = Dumux::OnePNIConductionProblem<Dumux::Properties::TTag::OnePNIConductionCCTpfa>; Element = Dune::Entity<0, 2, const Dune::YaspGrid<2>, Dune::YaspEntity>; Scv = Dumux::CCSubControlVolume<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dumux::CCDefaultScvGeometryTraits<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > > > >; IsothermalTraits = Dumux::OnePVolumeVariablesTraits<Dune::FieldVector<double, 2>, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::H2O<double> >, Dumux::ImmiscibleFluidState<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::H2O<double> > >, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> >, Dumux::InertSolidState<double, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> > >, double, Dumux::PorousMediumFlowNIModelTraits<Dumux::OnePModelTraits> >; Impl = Dumux::OnePVolumeVariables<Dumux::OnePVolumeVariablesTraits<Dune::FieldVector<double, 2>, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::H2O<double> >, Dumux::ImmiscibleFluidState<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::H2O<double> > >, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> >, Dumux::InertSolidState<double, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> > >, double, Dumux::PorousMediumFlowNIModelTraits<Dumux::OnePModelTraits> > >; Dumux::EnergyVolumeVariablesImplementation<IsothermalTraits, Impl, true>::SolidState = Dumux::InertSolidState<double, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> > >]'
1111/data/src/dumux/dumux/porousmediumflow/1p/volumevariables.hh:86:47:   required from 'void Dumux::OnePVolumeVariables<Traits>::update(const ElemSol&, const Problem&, const Element&, const Scv&) [with ElemSol = Dumux::CCElementSolution<Dumux::CCTpfaFVElementGeometry<Dumux::CCTpfaFVGridGeometry<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, false, Dumux::CCTpfaDefaultGridGeometryTraits<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>, Dune::FieldVector<double, 2> >; Problem = Dumux::OnePNIConductionProblem<Dumux::Properties::TTag::OnePNIConductionCCTpfa>; Element = Dune::Entity<0, 2, const Dune::YaspGrid<2>, Dune::YaspEntity>; Scv = Dumux::CCSubControlVolume<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dumux::CCDefaultScvGeometryTraits<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > > > >; Traits = Dumux::OnePVolumeVariablesTraits<Dune::FieldVector<double, 2>, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::H2O<double> >, Dumux::ImmiscibleFluidState<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::H2O<double> > >, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> >, Dumux::InertSolidState<double, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> > >, double, Dumux::PorousMediumFlowNIModelTraits<Dumux::OnePModelTraits> >]'
1112/data/src/dumux/test/porousmediumflow/1p/implicit/nonisothermal/problem_conduction.hh:167:9:   required from 'void Dumux::OnePNIConductionProblem<TypeTag>::updateExactTemperature(const SolutionVector&, Dumux::OnePNIConductionProblem<TypeTag>::Scalar) [with TypeTag = Dumux::Properties::TTag::OnePNIConductionCCTpfa; Dumux::OnePNIConductionProblem<TypeTag>::SolutionVector = Dune::BlockVector<Dune::FieldVector<double, 2>, std::allocator<Dune::FieldVector<double, 2> > >; Dumux::OnePNIConductionProblem<TypeTag>::Scalar = double]'
1113/data/src/dumux/test/porousmediumflow/1p/implicit/nonisothermal/main.cc:187:85:   required from here
1114/data/src/dumux/dumux/porousmediumflow/nonisothermal/volumevariables.hh:456:20: error: use of 'template<class Expression> constexpr auto Dumux::isValid(const Expression&)' before deduction of 'auto'
1115             isValid(Detail::hasSolidThermalConductivity<Element, Scv, ElemSol, SolidState>())(problem.spatialParams())
1116                    ^

This error doesn't occur with gcc 8, and also not with clang.

Edited Nov 20, 2018 by Timo Koch
Assignee
Assign to
Time tracking