Hi,

I have encountered a problem when introducing a second loop over cells (in 
parallel distributed triangulation). The code looks something like this:

for (const auto &cell_outer : dof_handler_vel.active_cell_iterators())
{
if (cell_outer->is_locally_owned()) {*do something...}*
for (const auto &cell_inner : dof_handler_vel.active_cell_iterators())
{
if (cell_inner->is_locally_owned()) {*do something...}* } }

and the problem is that no process takes ownership over *cell_outer*, i.e. 
the body of the first *if *statement is never executed. The second loop 
works fine.

If anyone experienced this sort of problem, or understand what is happening 
here, I would appreciate any help.

For context: I have source strength (e.g. a charge) at each support point 
of the FE, and I want to calculate the field induced by these sources at 
each of the support points. My approach: first loop iterates over the cells 
to obtain the coordinates of the support points - the process that owns the 
cell broadcasts the coordinates to all the other processes, second loop 
calculates the field strength at these support points by integrating over 
the entire domain.

I am sure there is a better way of doing this. I searched the documentation 
but did not find anything. Has anyone done something similar and could help 
me?

Best,
Davit

-- 
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 visit 
https://groups.google.com/d/msgid/dealii/cc7c08f2-bdd3-424f-ae62-42f664b715abn%40googlegroups.com.

Reply via email to