Official development repository for SUNDIALS - a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. Pull requests are welcome for bug fixes and minor changes.
jcur – a pointer to a flag which should be set to SUNTRUE if Jacobian data was recomputed, or set to SUNFALSE if Jacobian data was not recomputed, but saved data was still reused.
What exactly is the use case for this, and how does it effect the solver algorithm after the user triggers it? It cannot be for matrix-free Newton-Krylov because there's no Jacobian to recompute. But even if there is a Jacobian, where would that information even be used? Usually jcur is for knowing whether to perform a new factorization, but this is in preconditioners so there is no factorization. Is this data even used or is it simply for updating the counters for number of Jacobians calculated?
The
jcur
in the PrecSetupFn has always confused me https://sundials.readthedocs.io/en/latest/cvode/Usage/index.html#preconditioner-setup-iterative-linear-solversWhat exactly is the use case for this, and how does it effect the solver algorithm after the user triggers it? It cannot be for matrix-free Newton-Krylov because there's no Jacobian to recompute. But even if there is a Jacobian, where would that information even be used? Usually jcur is for knowing whether to perform a new factorization, but this is in preconditioners so there is no factorization. Is this data even used or is it simply for updating the counters for number of Jacobians calculated?