Skip to content
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

Guarantee bit-wise zero residual when using initial guess from sequential time stepping #5

Open
jbschroder opened this issue Jul 11, 2018 · 0 comments

Comments

@jbschroder
Copy link
Member

jbschroder commented Jul 11, 2018

We would like an option to guarantee bit-wise exactly zero Braid residuals (over multiple Braid iterations), when Braid is initialized with the solution from sequential time stepping. This is a useful debugging test, in that if zero residuals in Braid are not maintained over multiple Braid iterations, then a bug is present. We don't think this is guaranteed right now, but if the following was added to the storage=-2 option, we believe it would be true.

The FAS coarse grid is

A_c(u_c) = R(f - A(u)) + A_c(R(u))

-> R() is restriction
-> f - A(u) should be, unless there's a bug
-> A_c(R(u)) = -step(u_{i-1}) + u_i

Now assume that we solve the coarse-grid equation exactly, as in a two-grid method. Then the solution at equation i is

-step( u_{c,i-1} ) + u_{c,i} = -step(u_{i-1}) + u_i

Right now, the right-hand-side is summed, and then step( u_{c,i-1} ) is added to the right-hand-side to yield

u_{c,i} = u_i.

If there are any precision errors during the above two summing steps, then you lose one or two bits of precision. However if extra storage where added so that -step(u_{i-1}) on the right-hand-side were kept in its only container, then it could be summed
against step( u_{c,i-1} ) so that they cancel out to exactly 0, leaving the only nonzero quantity on the right-hand-side being u_i.

This would be useful.

rfalgout pushed a commit that referenced this issue Aug 10, 2020
Fixed a problem with the '-tstop' command-line input
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant