My patch #10320 also broke another test, particles/particle_handler_06:
9638: An error occurred in line <359> of file </raid/bangerth/p/deal.II/1/dealii/source/particles/particle_handler.cc> in function
9638: dealii::Particles::ParticleHandler<<anonymous>, <anonymous> >::particle_iterator_range dealii::Particles::ParticleHandler<<anonymous>, <anonymous> >::particles_in_cell(const typename dealii::Triangulation<dim, spacedim>::active_cell_iterator&) [with int dim = 2; int spacedim = 2; dealii::Particles::ParticleHandler<<anonymous>, <anonymous> >::particle_iterator_range = boost::iterator_range<dealii::Particles::ParticleIterator<2, 2> >; typename dealii::Triangulation<dim, spacedim>::active_cell_iterator = dealii::TriaActiveIterator<dealii::CellAccessor<2, 2> >]
9638: The violated condition was:
9638: false
9638: Additional information:
9638: You can't ask for the particles on an artificial cell since we don't know what exists on these kinds of cells.
That's because before, if ParticleHandler::particles_on_cell() was called on an artificial cell, it simply returned zero, whereas now it throws an error. That makes sense because we just don't know anything about artificial cells. We shouldn't be calling this function on these cells, but the testcase apparently does.
Awkwardly, this happens not from user code, but from exchange_ghost_particles(). That will require a bit more debugging than I can do on a Sunday afternoon.
My patch #10320 also broke another test,
particles/particle_handler_06
:That's because before, if
ParticleHandler::particles_on_cell()
was called on an artificial cell, it simply returned zero, whereas now it throws an error. That makes sense because we just don't know anything about artificial cells. We shouldn't be calling this function on these cells, but the testcase apparently does.@gassmoeller FYI