# Assertion failed on ResidualSumPreconditioner

**URL:** <https://precice.discourse.group/t/assertion-failed-on-residualsumpreconditioner/241>\
**Category:** Using preCICE\
**Tags:** acceleration\
**Created:** [May 14, 2020, 10:06am UTC](https://precice.discourse.group/t/assertion-failed-on-residualsumpreconditioner/241 "2020-05-14T10:06:46Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![uekerman](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/uekerman/32/2199_2.png) [@uekerman](https://precice.discourse.group/u/uekerman)\
**Post date:** [June 10, 2020, 10:48am UTC](https://precice.discourse.group/t/assertion-failed-on-residualsumpreconditioner/241/4 "2020-06-10T10:48:39Z")

</div>

I opened an issue and will “close” this post here. It is a bug. I am just not sure yet whether it is a wrong user input or a wrong assumption in our implementation.

> <https://github.com/precice/precice/issues/771>
>
> We often run into this assertion:
> 
> https://github.com/precice/precice/blob/ec7…36a5663757b97286d2d8553c808b64f2091ad/src/acceleration/impl/ResidualSumPreconditioner.cpp#L43
> 
> if all coupling variables are 0. I am not yet sure if this is a wrong usage of preCICE or just an edge case that needs a more robust treatment. So do we need an error message or do we need a workaround?
> 
> Let's collect more information here.

> [@Claudio](#):
>
> If I just remove the preconditioner everything works fine. Does this (removing the preconditioner) affect performance or not?

Yes, it does if your variables (forces and displacements) live on very different scales. For an example, see [my thesis](https://mediatum.ub.tum.de/doc/1320661/document.pdf), section 3.6.3 .

---

_[View the full topic](https://precice.discourse.group/t/assertion-failed-on-residualsumpreconditioner/241)._
