Clarify and extend AD tape choices by jblueh · Pull Request #2107 · su2code/SU2

Proposed Changes

JacobianIndex, one of the codi-tape build options, was prone to misunderstandings since it was not clear whether or not the underlying type supports copy optimizations. There are two options now, JacobianReuse, which does not support copy optimizations and is similar to the hybrid AD type in that regard, and JacobianMultiUse, which does support copy optimizations and is similar to the default type with linear management in that regard.

I took the opportunity to also add options for primal value tapes in a consistent manner, they were there previously but less detailed and commented out.

PR Checklist

  • I am submitting my contribution to the develop branch.
  • My contribution generates no new compiler warnings (try with --warnlevel=3 when using meson).
  • My contribution is commented and consistent with SU2 style (https://su2code.github.io/docs_v7/Style-Guide/).
  • I have added a test case that demonstrates my contribution, if necessary.
  • I have updated appropriate documentation (Tutorials, Docs Page, config_template.cpp), if necessary.