Dear Praveen,

Called compress(VectorOperation::insert), but the element received from a remote processor, value 3.343515457745695e-15, does not match with the value -3.343515457745695e-15 on the owner processor 0


I dont understand why this error is triggered.
The error says that two processors have set the same vector entry to different values. On a VectorOperation::insert operation, the vector does not know which of the two conflicting values it should choose. This should not happen. Can you describe what kind of function you pass to the VectorTools::interpolate function? Given that the value is relatively small, I assume this happens because two processors decide to put the node location of a certain degree of freedom on a distance of machine epsilon apart. Given that they create different meshes, they will follow different paths down to a certain vertex along which they might refine differently.

The reason the check fails is that we measure a relative distance between the two entries 3.343515457745695e-15 and -3.343515457745695e-15, which is of course O(1) and fails. Since I'm hesitating to simply put an additional absolute check (what should happen if 1e-15 is a big number and small numbers are 1e-30?), I would try to get a global idea of the magnitude of expected entries in the vector by computing an infinity norm. This is a debug section only, so the cost is no problem. Any other idea?

Best,
Martin

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