Skip to content

13: Anderson Acceleration #23

@philipnickel

Description

@philipnickel

Description

Implement Anderson acceleration to speed up convergence of nonlinear iterations. Useful for implicit time-stepping or steady-state wave problems.

Background

Anderson acceleration improves fixed-point iterations x_{k+1} = G(x_k) by mixing previous iterates:

x_{k+1} = Σᵢ αᵢ · G(x_{k-m+i})

where coefficients α are found by least-squares to minimize residual.

Tasks

  • Implement Anderson mixing algorithm
    • Store m previous iterates and residuals
    • Solve least-squares for coefficients
    • Apply mixing
  • Integrate with time-stepping (for implicit schemes)
  • Test on model problem
  • Compare iteration counts: Picard vs Anderson

Acceptance Criteria

  • Converges to same solution as Picard iteration
  • Reduces iteration count by factor of 2-3x
  • Robust for depth m = 3-5
  • Works for various wave conditions

Parameters

Depth: m = 3-5 (number of previous iterates to use)
Regularization: small ε for least-squares stability

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions