Skip to content

Conversation

@tkiymaz
Copy link

@tkiymaz tkiymaz commented Jan 6, 2026

Proposed Changes

The original trapezoidal map implementation needs excessive memory for large lookup tables (LUT) (e.g., 300+ MB for tables with ~80k points). This PR introduces a new memory-efficient trapezoidal map implementation (LUT_FAST) for Flamelet-Generated Manifold (FGM) lookup tables, based on LUT algorithm of Pedro Gomes. The new implementation reduces memory usage while maintaining query performance. A new unit test is created and all tests are passed.

Related Work

This code is an implementation of https://github.com/pcarruscag/LUT to SU2.

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 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.

@bigfooted bigfooted changed the title [WIP] Improved Trapazoidal Mapping for FGM [WIP] Improved Trapezoidal Mapping for FGM Jan 6, 2026
auto& edge_id = map.edge_id;
auto& edge_y = map.edge_y;

const auto [n_bands, pt_to_band, bands] = DetectBands(x);

Check notice

Code scanning / CodeQL

Unused local variable Note

Variable pt_to_band is not used.
@bigfooted
Copy link
Contributor

Let's first change
LUT -> LUT_OLD
LUT_FAST -> LUT

and see how much the residuals deviate here on github. if it is not too much, then remove the old implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants