Rajeshwari,

The purpose of FEFieldFunction is that you don't have to loop through the 
cells yourself, but that you can just ask for the value at any given point 
(in global coordinates) as long as the cell
the point is contained in is not artifical. Internally, 
FEFieldFunction::gradient_list() calls 
FEFieldFunction::compute_point_locations() which also fails if there is a 
point contained in artifical cell.
Because of that and since the points you are trying to evaluate your 
solution at are the same for all processes, it is to be expected that your 
code throws an exception.

If I were you, I would call 
GridTools::distributed_compute_point_locations_try_all(https://www.dealii.org/current/doxygen/deal.II/namespaceGridTools.html#a5a845642f4d205352931267b58055d62)
first to get the set of points which are contained in locally owned or 
ghosted cells and then pass this subset to FEFieldFunction::gradient_list().
Of course, this means that some information 
GridTools::distributed_compute_point_locations_try_all() provides are not 
used and recomputed inside FEFieldFunction::gradient_list().

In case this turns to be too costly, you could replicate the implementation 
of the latter function to use 
GridTools::distributed_compute_point_locations_try_all() directly instead. 
Then, you could also make use of the fact that all the points you are 
interested in are located at the boundary.

I would definitely try if the first approach is sufficient first, though.

Best,
Daniel

-- 
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 dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/2a88bc91-c032-4276-b257-5902c0327c4a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to