pratikvn / schwarz-lib

Repository for testing asynchronous schwarz methods.
https://pratikvn.github.io/schwarz-lib/
BSD 3-Clause "New" or "Revised" License
5 stars 3 forks source link

Threshold selection for Event-Triggered Communication #41

Open soumyadipghosh opened 4 years ago

soumyadipghosh commented 4 years ago

Till now, I was using a threshold of the form alpha * beta^k where alpha is any constant, beta is a constant between 0 and 1 and k is the iteration number. This threshold decreases with iterations and goes to zero asymptotically. When an event for communication is not triggered at the sender, the receiver keeps using the last communicated values for its own local solve. I think there are two problems with this scheme (seen through experiments) :

Please comment what you think.

pratikvn commented 4 years ago

Feel free to correct this if anything is incorrect: If we take threshold, θ = α * (βk), the properties we need are:

  1. Asymptotic reduction to zero as iterations increase, θ->0 |k->∞
  2. threshold to be non-negative; (θ>0).
  3. threshold has some upper limit, T ; (θ≤T)

Some implications on α and β are:

Some thoughts:

  1. k does not have to be the iteration number. If we see that we need a faster rate of reduction, we can use k≡2*k, k≡k2.
  2. I think θ = α * (βk) is an acceptable generic modelling of the threshold. We need a better way to choose α and β.
    • I think as a start, α can be let a free parameter to tune the rate of reduction
    • β could be a parameter that depends on the solution values, either directly 'solution(k)/solution(k-1)' or a simple additive differential of the solution (f(x+h)-f(x)/(h)) or depending on the residual (residual(k)/residual(k-1)) or normalized on the initial residual (residual(k)/residual(0)).
  3. Extrapolation of the interface values sounds good. It could be a good idea to start with just linear extrapolation. The question is what values would you send to the neighbors, the previous solution values or the new solution values computed from the boundary extrapolated values ?