[WIP] Implementing variable density for unsteady incompressible flow#2641
[WIP] Implementing variable density for unsteady incompressible flow#2641
Conversation
|
@Cristopher-Morales can you review this pr please? |
Removed commented-out code for setting density at local point.
Updated the comment for density retrieval to reflect changes for transient density handling.
Removed unnecessary blank lines in CIncEulerVariable.hpp
Removed unnecessary blank lines in CVariable.hpp
Removed unnecessary blank lines to improve code readability.
Hi @pcarruscag ! Yes, I can help reviewing this PR. Please let me know if you need something else from my side |
Removed commented-out code and updated density calculation.
|
@Cristopher-Morales I guess the changes to the preconditioner can be removed from this PR since we now have your implementation |
Removed unnecessary blank lines in SetPrimVar function.
Removed unnecessary blank lines in CVariable.cpp.
Removed debug print statement from SetPrimVar function.
|
|
||
| inline void Set_Density_time_n(unsigned long iPoint, su2double val) { | ||
| Density_time_n[iPoint] = val; | ||
| } |
There was a problem hiding this comment.
Documentation must be added, similar to the function above SetDensity, Same for the two functions below Set_Density_unsteady and GetDensity_time_n
Co-authored-by: Cristopher Morales <98025159+Cristopher-Morales@users.noreply.github.com>
Co-authored-by: Cristopher Morales <98025159+Cristopher-Morales@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Cristopher Morales <98025159+Cristopher-Morales@users.noreply.github.com>
SU2_CFD/include/output/COutput.hpp
Outdated
|
|
||
| /*! \brief Minimum required volume fields for restart file. */ | ||
| const std::vector<string> restartVolumeFields = {"COORDINATES", "SOLUTION", "SENSITIVITY", "GRID_VELOCITY"}; | ||
| const std::vector<string> restartVolumeFields = {"COORDINATES", "SOLUTION", "SENSITIVITY", "GRID_VELOCITY", "DENSITY_TIME_N", "DENSITY_TIME_N1"}; |
There was a problem hiding this comment.
add density only with unsteady
| Density_time_n = nodes->GetDensity_time_n(iPoint); | ||
| V2U(Density_time_n, V_time_n, U_time_n); |
| V2U(Density_time_nM1, V_time_nM1, U_time_nM1); | ||
| V2U(Density_time_n, V_time_n, U_time_n); | ||
| V2U(Density, V_time_nP1, U_time_nP1); |
…/su2 into fix_inc_unsteady_density
|
@tkiymaz I updated the code with the changes that we discussed in the past weeks. There's also the bug fix for the combustion restart. Can you add the testcase with a restart file? The su2 mesh and restart file go in the testcases repository, the cfg file can go in this PR. |
Proposed Changes
Implements variable density treatment for unsteady incompressible flow simulations. Currently, SU2 uses constant density in transient simulations, which is inaccurate for combustion cases where density varies significantly due to heat release and species composition changes. This contribution enables proper density updates during time-stepping for flamelet-based combustion modeling. For now, only 1st order time marching is implemented
Related Work
Related to incompressible flow solver and flamelet combustion modeling. No specific issue linked yet.
PR Checklist
pre-commit run --allto format old commits.