Hi all,

I came across a very weird problem today. When using p::d::SolutionTransfer 
during refinement I get the following error during interpolate step at the 
second refinement cycle:

61: An error occurred in line <686> of file </Users/davydden/spack/var/spack
/stage/dealii-develop-7douosfpwd62254laf4et7n6x64b62fh/dealii/include/deal.
II/lac/la_parallel_vector.templates.h> in function
61:     void dealii::LinearAlgebra::distributed::Vector<double>::
compress_finish(::dealii::VectorOperation::values)
61: The violated condition was:
61:     *read_position == Number() || std::abs(local_element(j) - *
read_position) <= std::abs(local_element(j)) * 1000. * std::numeric_limits
<real_type>::epsilon()
61: Additional information:
61:     Called compress(VectorOperation::insert), but the element received 
from a remote processor, value 2.059635156599626e-06, does not match with 
the value 2.059635156600494e-06 on the owner processor 2

I am quite certain that SolutionTransfer gets parallel vectors with (i) 
constraints distributed (ii) ghosted, That is accomplished by

constraints.distribute (solution_vectors[i]);
solution_vectors[i].update_ghost_values();


and a minor trick (prior to those lines) to change ghost index set when 
combining matrix-free and Kelly, as discussed here 
https://groups.google.com/d/msg/dealii/-FMHGdn18fE/w6YotFXRAAAJ

Between this point and the usage of solution transfer, there is only Kelly 
estimator / DataOutput and cell marking involved.


The issue appears for a very specific problem and does not happen always. 
So far it looks like a hidden *Heisenbug*, which gets triggered in certain 
cases. 
Not knowing the details of p::d::SolutionTransfer class, I am not quite 
sure where to dig next.  
Given the fact that ghost values should be consistent among MPI processes, 
I don't see a way how the interpolation during solution transfer 
could lead to such discrepancies.

Regards,
Denis

-- 
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