Skip to content

Sparse Automatic Differentiation for Jacobians #57

@mjohnson541

Description

@mjohnson541

This is a continues some discussion from #28. Most reactors in RMS can be formulated in a sparse format, but have dense columns and rows for the thermodynamic variables (volume, temperature, etc.). By using dense Reverse Mode automatic differentiation with ReverseDiff, Tracker or Zygote we should be able evaluate the dense rows of the jacobian and then use SparseDiffTools and Sparse Forward Mode Auto Diff to evaluate the rest of the jacobian. This should be much faster than finite differences or typical automatic differentiation and the improvement should scale with mechanism size. There was some discussion of an automatic tool for this: JuliaDiff/SparseDiffTools.jl#112, but it should be relatively easy to implement ourselves without that. Need to resolve #54 mostly first.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions