Error in example 16

30 views
Skip to first unread message

Maxi Miller

unread,
Oct 11, 2018, 9:46:42 AM10/11/18
to deal.II User Group
When trying to run example 16 on a new installation of deal.II, I get the error
Cycle 0
   
Number of active cells:       80
   
Number of degrees of freedom: 89 (by level: 8, 25, 89)

--------------------------------------------------------
An error occurred in line <1191> of file </opt/dealii/include/deal.II/grid/tria_iterator.h> in function
    dealii
::TriaActiveIterator<Accessor>::TriaActiveIterator(const dealii::TriaRawIterator<OtherAccessor>&) [with OtherAccessor = dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true>; Accessor = dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, false>]
The violated condition was:
   
this->accessor.has_children() == false
Additional information:
   
(none)

Stacktrace:
-----------
#0  ./step-16: dealii::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, false> >::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> >(dealii::TriaRawIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&)
#1  ./step-16: std::_Function_handler<void (dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, Step16::ScratchData<2>&, Step16::CopyData&), Step16::LaplaceProblem<2>::assemble_multigrid()::{lambda(dealii::TriaActiveIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, false> > const&, Step16::ScratchData<2>&, Step16::CopyData&)#1}>::_M_invoke(std::_Any_data const&, dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, Step16::ScratchData<2>&, Step16::CopyData&)
#2  ./step-16: std::function<void (dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, Step16::ScratchData<2>&, Step16::CopyData&)>::operator()(dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, Step16::ScratchData<2>&, Step16::CopyData&) const
#3  ./step-16: dealii::MeshWorker::mesh_loop<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> >, Step16::ScratchData<2>, Step16::CopyData>(dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, dealii::identity<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > >::type const&, dealii::identity<std::function<void (dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, Step16::ScratchData<2>&, Step16::CopyData&)> >::type const&, dealii::identity<std::function<void (Step16::CopyData const&)> >::type const&, Step16::ScratchData<2> const&, Step16::CopyData const&, dealii::MeshWorker::AssembleFlags, dealii::identity<std::function<void (dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, unsigned int, Step16::ScratchData<2>&, Step16::CopyData&)> >::type const&, dealii::identity<std::function<void (dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, unsigned int, unsigned int, dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, unsigned int, unsigned int, Step16::ScratchData<2>&, Step16::CopyData&)> >::type const&, unsigned int, unsigned int)::{lambda(dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, Step16::ScratchData<2>&, Step16::CopyData&)#1}::operator()(dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, Step16::ScratchData<2>&, Step16::CopyData&) const
#4  ./step-16: void dealii::WorkStream::run<dealii::MeshWorker::mesh_loop<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> >, Step16::ScratchData<2>, Step16::CopyData>(dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, dealii::identity<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > >::type const&, dealii::identity<std::function<void (dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, Step16::ScratchData<2>&, Step16::CopyData&)> >::type const&, dealii::identity<std::function<void (Step16::CopyData const&)> >::type const&, Step16::ScratchData<2> const&, Step16::CopyData const&, dealii::MeshWorker::AssembleFlags, dealii::identity<std::function<void (dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, unsigned int, Step16::ScratchData<2>&, Step16::CopyData&)> >::type const&, dealii::identity<std::function<void (dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, unsigned int, unsigned int, dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, unsigned int, unsigned int, Step16::ScratchData<2>&, Step16::CopyData&)> >::type const&, unsigned int, unsigned int)::{lambda(dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, Step16::ScratchData<2>&, Step16::CopyData&)#1}, std::function<void (Step16::CopyData const&)>, dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> >, Step16::ScratchData<2>, Step16::CopyData>(dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, dealii::identity<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > >::type const&, dealii::MeshWorker::mesh_loop<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> >, Step16::ScratchData<2>, Step16::CopyData>(dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, dealii::identity<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > >::type const&, dealii::identity<std::function<void (dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, Step16::ScratchData<2>&, Step16::CopyData&)> >::type const&, dealii::identity<std::function<void (Step16::CopyData const&)> >::type const&, Step16::ScratchData<2> const&, Step16::CopyData const&, dealii::MeshWorker::AssembleFlags, dealii::identity<std::function<void (dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, unsigned int, Step16::ScratchData<2>&, Step16::CopyData&)> >::type const&, dealii::identity<std::function<void (dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, unsigned int, unsigned int, dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, unsigned int, unsigned int, Step16::ScratchData<2>&, Step16::CopyData&)> >::type const&, unsigned int, unsigned int)::{lambda(dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, Step16::ScratchData<2>&, Step16::CopyData&)#1}, std::function<void (Step16::CopyData const&)>, Step16::ScratchData<2> const&, Step16::CopyData const&, unsigned int, unsigned int)
#5  ./step-16: void dealii::MeshWorker::mesh_loop<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> >, Step16::ScratchData<2>, Step16::CopyData>(dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, dealii::identity<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > >::type const&, dealii::identity<std::function<void (dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, Step16::ScratchData<2>&, Step16::CopyData&)> >::type const&, dealii::identity<std::function<void (Step16::CopyData const&)> >::type const&, Step16::ScratchData<2> const&, Step16::CopyData const&, dealii::MeshWorker::AssembleFlags, dealii::identity<std::function<void (dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, unsigned int, Step16::ScratchData<2>&, Step16::CopyData&)> >::type const&, dealii::identity<std::function<void (dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, unsigned int, unsigned int, dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<2, 2>, true> > const&, unsigned int, unsigned int, Step16::ScratchData<2>&, Step16::CopyData&)> >::type const&, unsigned int, unsigned int)
#6  ./step-16: Step16::LaplaceProblem<2>::assemble_multigrid()
#7  ./step-16: Step16::LaplaceProblem<2>::run()
#8  ./step-16: main
--------------------------------------------------------


Is there something wrong with my installation, or is there a bug in deal.II? Step-16b works without problems

David Wells

unread,
Oct 11, 2018, 12:51:59 PM10/11/18
to deal.II User Group
Dear Maxi,

This is a bug with the current implementation: it looks like one of the recent commits broke something.

Thanks for reporting this!

Thanks,
David Wells
Reply all
Reply to author
Forward
0 new messages