Contained in this release is updates to linear solver to enable running on GPUs, a new pressure-based incompressible solver, support for multi-zone adjoint for turbomachinery, detailed chemistry solver coupled with Cantera, improved multigrid and improvements to the scalar solver.
What's Changed
π Experimental Features
- Allow FSI+CHT (aerothermoelasticity) by @pcarruscag in #2807
- Efficiency improvements for optimization of linear elasticity problems by @pcarruscag in #2815
- Option to compile everything in single precision + explicit vectorization for ARM by @pcarruscag in #2819
- Discrete adjoint multi-zone for python wrapper by @EvertBunschoten in #2787
- Detect non-physical solutions in a statistic way instead of just P or T <= 0 by @pcarruscag in #2830
- Store matrices in LDU format to improve performance of LU-SGS and ILU preconditioners by @pcarruscag in #2838
- SU2 Binary grid format by @vdweide in #2535
- BOUNDED_SCALAR convective scheme compatible with compressible flow by @pcarruscag in #2844
- Add support for Riemann boundary condition to all scalar solvers by @aureliegrebe in #2846
- Quantization of the Jacobian matrix to speed up linear algebra operations by @pcarruscag in #2836
- Add initial end-to-end CUDA FGMRES solver path by @LwhJesse in #2825
- Port ILU to GPU by @pcarruscag in #2858
- [GSoC] Feature: MultiDot with cublasgemm (Originally: Jacobi preconditioner on GPU and CUDA Unified preconditiong matrix) by @ddg93 in #2843
- Quantized versions of Jacobi and Identity preconditioners by @pcarruscag in #2869
- Multizone adjoints for turbomachinery by @joshkellyjak in #2446
- Improved Trapezoidal Mapping for FGM - Update by @tkiymaz in #2845
- Full Multi-Grid improvements by @bigfooted in #2873
- [GSoC] Feature: LU-SGS preconditioner to GPU by @ddg93 in #2872
- Improvements for tape recording debug mode (e.g. zone-specific tags) by @oleburghardt in #2721
- Make CUDA acceleration compatible with discrete adjoint by @pcarruscag in #2888
- Improved combustion solver robustness for coarse grids by @EvertBunschoten in #2733
- Change for sliding plane when relative frame is used by @FabianYan2010 in #2311
- Pressure Based Solver by @thijsaalbers in #2812
- Add initialization option for incompressible solver by @Cristopher-Morales in #2709
- Fix integer overflows and parallelize the output writers for large meshes by @rois1995 in #2924
- Update CI docker images to 261011-1107 by @bigfooted in #2971
- Add aeroacoustic pressure spectrum analysis by @tokito-99 in #2851
- Adding Cantera fluid model for incompressible reacting flows by @Cristopher-Morales in #2713
π Bug Fixes
- Reduce redundant CUDA Jacobian uploads during a linear solve by @LwhJesse in #2806
- Replace custom CUDA CSysMatrix matvec with cuSPARSE BSR SpMV by @LwhJesse in #2816
- Fix multigrid early exit functionality by @bigfooted in #2831
- Enable viscous flux contribution at supersonic outlet boundary condition by @yiluntam in #2829
- Apply the QCR2000 correction to the turbulent stress only (fix #2738) by @bigboateng in #2855
- Fix MG species restart crash by @aureliegrebe in #2849
- Implementing variable density for unsteady incompressible flow by @tkiymaz in #2641
- Fix segfault parsing marker options whose names start with a digit by @bigfooted in #2868
- Fix parsing of Nastran small field reals in the modal structural solver by @binggao1230 in #2859
- Fix MUSCL_TURB with convective schemes that do not store density gradients by @pcarruscag in #2886
- Error on MPI+CUDA, compatibility with Newton-Krylov, fix OpenMP deadlock in Newton-Krylov by @pcarruscag in #2887
- Make single and double precision restarts compatible with either version of the code by @pcarruscag in #2889
- Fix ASCII compact restarts by @joshkellyjak in #2891
- Fix periodic comm counts by @pcarruscag in #2894
- Fix compact restarts for surface_csv by @bigfooted in #2892
- Fix broken append and var_names paths in SU2.io.data by @pragyaangaur in #2867
- Consistent NEMO viscous Jacobian: distinct left block and subtractive edge assembly by @bellonarts in #2885
- Pass the edge length, not its square, to the coarse NEMO viscous Jacobian by @bellonarts in #2883
- Make the NEMO total-energy under-relaxation check reachable by @bellonarts in #2884
- Multigrid with 3D implicit line agglomeration by @bigfooted in #2863
- Axisymmetric near-axis fixes using LβHΓ΄pital-consistent formulations by @raghava-davuluri in #2715
- Fix NEMO history MAX_/BGS_ residual groups: species-first indexing and finite maximum residuals by @bellonarts in #2882
- Fix the divergence of the SA wall functions by @rois1995 in #2957
- Quote the SU2 executable path in SU2_PY on Linux/macOS (SU2_RUN with spaces) by @nikita-ageev in #2935
- Fix the pressure-based solver with variable density, boundary conditions and SIMPLEC by @rois1995 in #2958
- Fix LINELET with mpi, add regression case for laminar NACA0012 by @Syphonicc in #2899
- Fixes for rotational periodic boundaries: implicit solver, multigrid and limiters by @rois1995 in #2961
- BCGSTAB: return the iterate with the smallest residual by @bigfooted in #2933
- Fix the internal energy used by the under-relaxation factor by @rois1995 in #2942
- Fix TSan CI build for develop, cantera by @bigfooted in #2991
- Fix overwritten axisymmetric Jacobian in the SST source by @Syphonicc in #2986
π§ Maintenance
- Flexible setup of flamelet boundary conditions by @bigfooted in #2814
- Do not compute vorticity when it's not necessary by @pcarruscag in #2835
- Add OpenMP for force calculation. by @pcarruscag in #2870
- Fix misleading "All convergence criteria satisfied." message on interrupted runs by @bellonarts in #2881
- Modernize scalar numerics by @pcarruscag in #2878
Other Changes
- Compare NEMO freestream mass fractions against a roundoff tolerance by @bellonarts in #2880
- Revert "Fix compact restarts for surface_csv " by @pcarruscag in #2895
- Fix MSVC build error from std::array::begin() passed as raw pointer by @ManasBagul23 in #2900
- Fix two output bugs in pysu2_nastran by @ManasBagul23 in #2901
- Add missing adjoint suffixes to get_adjointSuffix by @ManasBagul23 in #2909
- Changing version number to 8.6.0 by @joshkellyjak in #2994
New Contributors
- @LwhJesse made their first contribution in #2806
- @aureliegrebe made their first contribution in #2846
- @yiluntam made their first contribution in #2829
- @bigboateng made their first contribution in #2855
- @tkiymaz made their first contribution in #2641
- @ddg93 made their first contribution in #2843
- @binggao1230 made their first contribution in #2859
- @bellonarts made their first contribution in #2880
- @FabianYan2010 made their first contribution in #2311
- @pragyaangaur made their first contribution in #2867
- @thijsaalbers made their first contribution in #2812
- @ManasBagul23 made their first contribution in #2900
- @raghava-davuluri made their first contribution in #2715
- @nikita-ageev made their first contribution in #2935
- @tokito-99 made their first contribution in #2851
- @Syphonicc made their first contribution in #2899
Full Changelog: v8.5.0...v8.6.0