Conversation
bindings/sundials4py/sundials/sundials_domeigestimator_usersupplied.hpp
Outdated
Show resolved
Hide resolved
drreynolds
left a comment
There was a problem hiding this comment.
I finished a pass through the revisions. It looks like this is getting close, with a few more minor items to resolve. I added a number of "suggestions" to this review, particularly regarding wording in the documentation.
| used by this routine, to the dominant eigenvalue estimator. This function is | ||
| *required* when using the matrix-vector product function provided by a | ||
| SUNDIALS integrator, otherwise the function is *optional*. |
There was a problem hiding this comment.
Is this "required" statement still accurate, now that you added SUNDomEigEstimator_SetRhs? If not, this should be revised accordingly.
src/arkode/arkode_lsrkstep.c
Outdated
| /* Compute number of stages based on current step size and | ||
| dominant eigenvalue using Eq. (2.7) in Verwer et al. (2004) */ |
There was a problem hiding this comment.
I recommend that we defer this change until it can be investigated in more detail, since RKL and RKC are unlike ERK or DIRK methods that have a fixed number of stages. If we can find a use case where allowing the real part of h*lambda to be positive is beneficial, then I'd be more in favor. However for now I'd rather throw an error and potentially hear about it from users.
| /* Compute number of stages based on current step size and | ||
| dominant eigenvalue using Eq. 21 in Meyer et al. (2014) */ |
There was a problem hiding this comment.
As with RKC, I recommend that we defer this change until it can be investigated in more detail, since RKL and RKC are unlike ERK or DIRK methods that have a fixed number of stages. If we can find a use case where allowing the real part of h*lambda to be positive is beneficial, then I'd be more in favor. However for now I'd rather throw an error and potentially hear about it from users.
This PR updates the current SUNDomEigEstimator module to support robust estimation of complex-valued dominant eigenvalues. In addition, it updates the LSRKStep's STS methods to ensure compatibility with systems that have complex dominant eigenvalues. To this end, it enables stability region checks for linear stability analysis and allows adjustment of the number of stages or step sizes to ensure stability for the estimated dominant eigenvalue.