Pasha,

First of all: The sum of values in the right-hand side vector only 
corresponds to a sum of values of the represented right-hand side function, 
if you use interpolating Finite Elements (such as FE_Q).
Furthermore, you have to be sure that you are really interested in the 
values and not in the integral over the boundary or something similar.

Apart from the last issue you mentioned, your approach seems to be correct 
but is not really efficient.
For summing up all the values in the right-hand side vector corresponding 
to degrees of freedom on the boundary, you would just want to use your 
inner part with small modifications:

        dealii::IndexSet::ElementIterator index = in_set.begin(),
        dealii::IndexSet::ElementIterator endind = in_set.end();

        dealii::IndexSet locally_owned_dofs = 
dof_handler.locally_owned_dofs();

    for (; index!=endind; ++index)
    {
    dealii::types::global_dof_index gdi = *index;
        // check if this DoF is locally owned
                if (locally_owned_dofs.is_element(gdi))
                  local_load -= saved_residual(gdi);
    }

Note that checking whether the DoF is locally owned, you circumvent the 
problem of taking the same DoF in to account multiple times on different 
MPI processes.

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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to