Skip to content

QN acceleration throws error for the tutorial partitioned-heat-conduction #1610

@IshaanDesai

Description

@IshaanDesai

Describe your setup

Operating system (e.g. Linux distribution and version): Ubuntu 22.04
preCICE Version: develop b745415

python-bindings develop precice/python-bindings@81c5f0c
FEniCS adapter with compatibility changes: precice/fenics-adapter@cfec85d
Tutorials repository with compatibility changes for all FEniCS participants: precice/tutorials@433635e

Describe the problem

After implementing changes to the adapter and the tutorial to make the FEniCS cases work with the latest precice:develop, running the partitioned-heat-conduction tutorial with FEniCS results in the error:

---[precice]  iteration: 3 of 100, time-window: 3, time: 0.2 of 1, time-window-size: 0.1, max-timestep-length: 0.1, ongoing: yes, time-window-complete: no, read-iteration-checkpoint 
Solving linear variational problem.
---[precice]  relative convergence measure: relative two-norm diff of data "Heat-Flux" = 2.05e-14, limit = 1.00e-05, normalization = 6.32e+00, conv = true
---[precice]  relative convergence measure: relative two-norm diff of data "Temperature" = 4.36e-16, limit = 1.00e-05, normalization = 1.13e+01, conv = true
---[precice]  All converged
---[precice] WARNING:  The coupling residual equals almost zero. There is maybe something wrong in your adapter. Maybe you always write the same data or you call advance without providing new data first or you do not use available read data. Or you just converge much further than actually necessary.
---[precice] WARNING:  The number of columns in the least squares system exceeded half the number of unknowns at the interface. The system will probably become bad or ill-conditioned and the quasi-Newton acceleration may not converge. Maybe the number of allowed columns ("max-used-iterations") should be limited.
---[precice] ERROR:  Attempting to add a zero vector to the quasi-Newton V matrix. This means that the residuals in two consecutive iterations are identical. If a relative convergence limit was selected, consider increasing the convergence threshold.
---[precice] ERROR:  Receiving data from another participant (using sockets) failed with a system error: read: End of file. This often means that the other participant exited with an error (look there).

It appears that the quasi-newton acceleration is somehow more strict than what it was before.

Step To Reproduce

Run the tutorial with the above mentioned adapter and tutorial branch.

Expected behavior

The tutorial worked without any issues before.

Additional context

In its original state, there are 9 vertices. Increasing to 11 vertices results in the tutorial running successfully with warnings. Increasing further to 30 vertices results in even the warnings disappearing.

If the same tutorial is run with preCICE v2.5.0, python bindings v2.5.0.2, fenics-adapter v1.4.0, and tutorials v202202.0, it runs fine with 9 vertices but fails in a similar fashion for 7 vertices.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugpreCICE does not behave the way we want and we should look into it (and fix it if possible)configurationRelated to the preCICE configuration

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions