Skip to content

Add iterative solver options (BiCGSTAB, GMRES, IDR(s)) to ripple solver #47

@krystophny

Description

@krystophny

Summary

Add iterative solver options to the ripple solver by leveraging the generic sparse iterative solvers.

Background

Once we have generic sparse iterative solvers (#48), we can use them in the ripple solver as alternatives to the current Arnoldi-Richardson method.

Dependencies

Tasks

  • Add solver selection interface (isw_ripple_solver parameter)
  • Integrate BiCGSTAB from sparse solver module
  • Integrate GMRES from sparse solver module
  • Integrate IDR(s) from sparse solver module
  • Adapt preconditioning for ripple-specific matrices
  • Add convergence monitoring specific to ripple problem
  • Comprehensive testing and validation
  • Performance comparison with Arnoldi method

Implementation Strategy

  1. Build on Refactor ripple solver for testability and modularity #45 and Add iterative solver methods to sparse solver module #48
  2. Use the generic sparse iterative solvers within Arnoldi iteration
  3. Each Arnoldi step calls the selected iterative solver
  4. Maintain backward compatibility (Arnoldi remains default)

Solver Options

  • isw_ripple_solver=1: Original Arnoldi-Richardson (default)
  • isw_ripple_solver=2: Arnoldi with BiCGSTAB for inner solve
  • isw_ripple_solver=3: Arnoldi with GMRES for inner solve
  • isw_ripple_solver=4: Arnoldi with IDR(s) for inner solve

Testing Requirements

  • Unit tests for each solver option
  • Convergence tests with different problem types
  • Performance comparisons
  • Golden record validation with each solver
  • Physics results must be identical

Related Work

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions