Hi everyone!
  Sorry for coming up this late, but I just discovered  this behaviour is 
important also for some functions I am working on (and also to why 
distributed compute point locations did not work) and causes this:
https://github.com/dealii/dealii/issues/7532 .

What's happening is that in the past find active cell around point would 
would also return artificial cells. Now something changed: in the past the 
functions related to non_matching, and distributed point locations, relied 
on the fact that if the cell was anywhere on the mesh it would be returned. 
Then it could be checked by hand
if the returned cell was "of the coarse grid cell" or not.

I shall open an issue about this, as at least in some cases it would be 
desiderable for the "point not found" exception to be ignored.

Il giorno martedì 8 gennaio 2019 08:43:55 UTC+1, Maxi Miller ha scritto:
>
> I implemented the suggestion, but get an error at 
>         const unsigned int n_cells =
>                 compute_point_locations(points, cells, qpoints, maps);
>
> with the error
> An error occurred in line <1816> of file </home/roland/Downloads/git-files
> /dealii/source/grid/grid_tools.cc> in function
>     std::pair<typename MeshType<dim, spacedim>::active_cell_iterator, 
> dealii::Point<dim> > dealii::GridTools::find_active_cell_around_point(
> const dealii::Mapping<dim, spacedim>&, const MeshType<dim, spacedim>&, 
> const dealii::Point<spacedim>&, const std::vector<std::set<typename 
> MeshType<dim, spacedim>::active_cell_iterator> >&, const std::vector<std::
> vector<dealii::Tensor<1, spacedim> > >&, const typename MeshType<dim, 
> spacedim>::active_cell_iterator&, const std::vector<bool>&, dealii::RTree<
> std::pair<dealii::Point<spacedim>, unsigned int> >&) [with int dim = 2; 
> MeshType = dealii::Triangulation; int spacedim = 2; typename MeshType<dim, 
> spacedim>::active_cell_iterator = dealii::TriaActiveIterator<dealii::
> CellAccessor<2, 2> >; typename MeshType<dim, spacedim>::active_cell_iterator 
> = dealii::TriaActiveIterator<dealii::CellAccessor<2, 2> >; typename 
> MeshType<dim, spacedim>::active_cell_iterator = dealii::TriaActiveIterator
> <dealii::CellAccessor<2, 2> >; typename MeshType<dim, 
> spacedim>::active_cell_iterator 
> = dealii::TriaActiveIterator<dealii::CellAccessor<2, 2> >; dealii::RTree<
> std::pair<dealii::Point<spacedim>, unsigned int> > = boost::geometry::
> index::rtree<std::pair<dealii::Point<2, double>, unsigned int>, boost::
> geometry::index::linear<16>, boost::geometry::index::indexable<std::pair<
> dealii::Point<2, double>, unsigned int> >, boost::geometry::index::
> equal_to<std::pair<dealii::Point<2, double>, unsigned int> >, std::
> allocator<std::pair<dealii::Point<2, double>, unsigned int> > >]
> The violated condition was: 
>     current_cell.state() == IteratorState::valid
> Additional information: 
>     The point <0.5 0.8> could not be found inside any of the subcells of 
> a coarse grid cell.
>
> I assume it tries to find the point, which is not available due to being 
> within a cell located in another thread. I assume I have to modify the cell 
> iterator in that case. Is that correct?
>
>
> Am Samstag, 5. Januar 2019 16:41:36 UTC+1 schrieb Wolfgang Bangerth:
>>
>> On 1/5/19 4:52 AM, 'Maxi Miller' via deal.II User Group wrote: 
>> > I will take a look, but it could take a while (week, or so?), due to a 
>> lot of 
>> > other things I also have to do... 
>>
>> Take your time -- any contribution is welcome! 
>>
>> Best 
>>   Wolfgang 
>>
>> -- 
>> ------------------------------------------------------------------------ 
>> Wolfgang Bangerth          email:                 [email protected] 
>>                             www: http://www.math.colostate.edu/~bangerth/ 
>>
>>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to