-
Notifications
You must be signed in to change notification settings - Fork 248
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CoSim] Incorrect residuals in ConvergenceCriteria
#12394
Comments
nice catch! No wonder it never really worked for us, we basically always used the other criteria |
Yes! This issue is causing slow convergence with the non-linear shell elements we are using in our coupled simulations. |
The question is how to fix the bug. As far as I can tell, calling the solver's A hackish solution I can think of is storing the initial residual in Any other ideas? |
After further analysis of the problem, I have concluded that this is not a CoSim issue. The bug is related to the strategy used. Let's consider the
@KratosMultiphysics/technical-committee Why the ConvergenceCriteria::InilitializeNonLinearIteration is called before the |
Hi, Has this been solved? I've been working on FSI simulations using shell elements and encountered problems with convergence. |
|
What I have seen is that at the end of the non-linear iterations in the FSI solver the residual norm is computed, so it is updated every coupling iteration. I'm no expert just started in Kratos recently for my Bachelor's 😃 |
As far as I understand, @yagofx is not using the |
…itial residual was not changing between coupling iterations (See Issue #12394)
Issue
During coupled simulations, the initial residual of subdomains is not updated between coupling iterations. The convergence criterion is using incorrect residuals.
Reproducer
To reproduce, run the FSI mok example setting the structural domain echo level to 4 and looking at how the initial residual norm changes between coupling iterations (Spoiler alert: it does not change).
Bug
The initial residual of
ConvergenceCriteria
is updated inConvergenceCriteria::InitializeSolutionStep
, which is in turn called when the structural solver'sInitializeSolutionStep
is called.In the
GaussSeidelStrongCoupledSolver
, theConvergenceCriteria
of the structural domain is initialized once per time step (and not once per coupling iteration).FYI @philbucher @KratosMultiphysics/technical-committee
The text was updated successfully, but these errors were encountered: