Hi,
I’m looking for some advice regarding performance optimization in solving a large system of coupled algebraic and time-dependent differential equations using
IDA.
The system involves two unknown functions, h(x,t) and f(x,t). The time-dependent PDE governs h(x,t), which is coupled to f(x,t); however, f(x,t) does not contain a time derivative. The equations are discretized with
fourth-order finite differences and periodic boundary conditions.
Currently, I’m using the dense linear solver within IDA for Newton’s method. This setup works well for moderate problem sizes—for example, around
1000 grid points (2000 unknowns)—and parallelization with OpenMP performs adequately. However, when I increase the grid size (e.g., to
2000 points or more), parallelization offers little benefit, and I’d like to scale up further (to about
10,000 unknowns) for better resolution.
Given that the Jacobian is sparse (but not banded), I’m wondering if there are more efficient options. I know that the
Sherman–Morrison formula can sometimes be used to convert a nearly banded matrix with periodic boundary conditions into a truly banded one.
Would using a sparse solver such as KLU or SuperLU improve performance in this case? Or are there other strategies or solvers better suited for this type of problem?
Any suggestions or insights would be greatly appreciated.
Best regards,
David Halpern
David Halpern, PhD
Professor
Department of Mathematics
University of Alabama
Tuscaloosa AL 35487