Fix NASA Polynomial Tests and CConfig Integration by guptapratykshh · Pull Request #2705 · su2code/SU2

Proposed Changes

This PR implements the NASA 7-coefficient polynomial model for calculating specific heat capacity (Cp) and enthalpy in incompressible ideal gas flows. This is a standard format in thermochemistry that allows for temperature-dependent properties with high accuracy across two temperature ranges.

Added:

  • New Fluid Model: Added CIncIdealGasNASA class implementing the standard NASA polynomial equations for Cp, H, and S.
  • Robust Inversion: Implemented a Newton-Raphson solver to accurately recover Temperature from Enthalpy (T(h)) with machine precision.
  • Config Integration: Updated CConfig to parse NASA coefficients (NASA_POLYCOEFFS_LOW, NASA_POLYCOEFFS_HIGH) and temperature ranges (NASA_TEMP_LOW, etc.).
  • Comprehensive Testing: Added a dedicated unit test suite (UnitTests/.../CIncIdealGasNASA_tests.cpp) verifying mathematical accuracy, smooth range transitions, and thermodynamic consistency.

Related Work

Resolves #2634 ("Cp should use NASA polynomials").

PR Checklist

  • I am submitting my contribution to the develop branch.
  • My contribution generates no new compiler warnings.
  • My contribution is commented and consistent with SU2 style.
  • I used the pre-commit hook to prevent dirty commits (User to verify).
  • I have added a test case that demonstrates my contribution.
  • I have updated appropriate documentation (Pending docs update).