-
Notifications
You must be signed in to change notification settings - Fork 22
Description
Two users have found that their input files (Zapdos-Crane) runs for hours when using a solve_type = newton, but for only ~30 minutes using solve_type = pjfnk (preconditioned jacobian-free Newton-Krylov). The only culprit for this behavior is an incorrect Jacobian calculation. Since Zapdos Jacobian calculations are fully automated, the error must be in Crane's reaction network.
Townsend-type electron impact reactions have already been converted to automatic differentiation, but the bug here is happening with rate-type electron impact reactions. This is a good opportunity to fully automate the rest of the jacobian calculations in Crane as well.
Task
Add automatic differentiation for the following reaction types:
- Rate-type reactions with tabulated rate coefficients
- Parsed function rate coefficients
- Constant rate coefficients
Impact
Improved convergence and reduced simulation time for users using Crane in 1D-3D. (This will have no effect on Crane in 0D since different variable and kernel types are utilized.)