-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
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
- Depends on Add iterative solver methods to sparse solver module #48 (sparse iterative solvers) for the solver implementations
- Depends on Refactor ripple solver for testability and modularity #45 (ripple solver refactoring) for clean interfaces
- Depends on Add testing and code coverage infrastructure #50 (testing infrastructure)
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
- Build on Refactor ripple solver for testability and modularity #45 and Add iterative solver methods to sparse solver module #48
- Use the generic sparse iterative solvers within Arnoldi iteration
- Each Arnoldi step calls the selected iterative solver
- 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 solveisw_ripple_solver=3: Arnoldi with GMRES for inner solveisw_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
- Uses iterative solvers from Add iterative solver methods to sparse solver module #48
- Different approach than Replace nested sparse solver calls in ripple solver with direct iterative methods #49 (keeps Arnoldi structure)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels