Improved look-up table query scaling with variable count by EvertBunschoten · Pull Request #2214 · su2code/SU2

Proposed Changes

The CLookUpTable class allows for the fast interpolation of unstructured 2D data.

It was found that the query time of this class scaled significantly with the number of output variables, indicating inefficiencies in the query process.

These inefficiencies came from string comparison routines in the GetIndexOfVar function of the CLookUpTable class. By implementing overloaded instances of the look-up functions which retrieve data from data indices directly, the query time efficiency scaling was significantly improved.

Also reduced duplicate code within the CLookUpTable class.

PR Checklist

Put an X by all that apply. You can fill this out after submitting the PR. If you have any questions, don't hesitate to ask! We want to help. These are a guide for you to know what the reviewers will be looking for in your contribution.

  • 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 used the pre-commit hook to prevent dirty commits and used pre-commit run --all to format old commits.
  • 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.