From 72d8f3053dae5d0b2ae897d76811b4432456782d Mon Sep 17 00:00:00 2001 From: rois1995 Date: Mon, 13 Jan 2025 15:05:47 +0100 Subject: [PATCH 01/13] - fixed unsteady names --- SU2_CFD/src/output/COutput.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/SU2_CFD/src/output/COutput.cpp b/SU2_CFD/src/output/COutput.cpp index 016b5d35ec0..3733f40ed8e 100644 --- a/SU2_CFD/src/output/COutput.cpp +++ b/SU2_CFD/src/output/COutput.cpp @@ -389,6 +389,9 @@ void COutput::WriteToFile(CConfig *config, CGeometry *geometry, OUTPUT_TYPE form /*--- File writer that will later be used to write the file to disk. Created below in the "switch" ---*/ CFileWriter *fileWriter = nullptr; + /*--- Set current time iter even if history file is not written ---*/ + curTimeIter = config->GetTimeIter(); + /*--- If it is still present, strip the extension (suffix) from the filename ---*/ const auto lastindex = fileName.find_last_of('.'); fileName = fileName.substr(0, lastindex); @@ -476,7 +479,7 @@ void COutput::WriteToFile(CConfig *config, CGeometry *geometry, OUTPUT_TYPE form extension = CSU2MeshFileWriter::fileExt; if (fileName.empty()) - fileName = volumeFilename; + fileName = config->GetFilename(volumeFilename, "", curTimeIter); if (!config->GetWrt_Volume_Overwrite()) filename_iter = config->GetFilename_Iter(fileName, curInnerIter, curOuterIter); From e58cb56a8e826943ace8cd8bf31bf49799f1125b Mon Sep 17 00:00:00 2001 From: vikram Date: Thu, 16 Jan 2025 23:33:14 +0000 Subject: [PATCH 02/13] CTurbSASolver.cpp changed as mentioned --- SU2_CFD/src/solvers/CTurbSASolver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/src/solvers/CTurbSASolver.cpp b/SU2_CFD/src/solvers/CTurbSASolver.cpp index 6b465e802fd..08eb5ccc83d 100644 --- a/SU2_CFD/src/solvers/CTurbSASolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSASolver.cpp @@ -500,7 +500,7 @@ void CTurbSASolver::BC_HeatFlux_Wall(CGeometry *geometry, CSolver **solver_conta Res_Wall = coeff*RoughWallBC*Area; LinSysRes.SubtractBlock(iPoint, &Res_Wall); - su2double Jacobian_i = (laminar_viscosity*Area)/(0.03*Roughness_Height*sigma); + su2double Jacobian_i = Jacobian_i = (laminar_viscosity /density *Area)/(0.03*Roughness_Height*sigma); Jacobian_i += 2.0*RoughWallBC*Area/sigma; if (implicit) Jacobian.AddVal2Diag(iPoint, -Jacobian_i); } From c675d737a79f798f0f13f6167c4034393cdf3508 Mon Sep 17 00:00:00 2001 From: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> Date: Thu, 16 Jan 2025 17:30:07 -0800 Subject: [PATCH 03/13] Update SU2_CFD/src/solvers/CTurbSASolver.cpp --- SU2_CFD/src/solvers/CTurbSASolver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/src/solvers/CTurbSASolver.cpp b/SU2_CFD/src/solvers/CTurbSASolver.cpp index 08eb5ccc83d..7d9999d965f 100644 --- a/SU2_CFD/src/solvers/CTurbSASolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSASolver.cpp @@ -500,7 +500,7 @@ void CTurbSASolver::BC_HeatFlux_Wall(CGeometry *geometry, CSolver **solver_conta Res_Wall = coeff*RoughWallBC*Area; LinSysRes.SubtractBlock(iPoint, &Res_Wall); - su2double Jacobian_i = Jacobian_i = (laminar_viscosity /density *Area)/(0.03*Roughness_Height*sigma); + su2double Jacobian_i = (laminar_viscosity /density *Area)/(0.03*Roughness_Height*sigma); Jacobian_i += 2.0*RoughWallBC*Area/sigma; if (implicit) Jacobian.AddVal2Diag(iPoint, -Jacobian_i); } From b88ed078f337a31e769c82266701157547c9fb75 Mon Sep 17 00:00:00 2001 From: rois1995 Date: Fri, 17 Jan 2025 10:08:43 +0100 Subject: [PATCH 04/13] - Added output function to set curTimeIter --- SU2_CFD/include/output/COutput.hpp | 6 ++++++ SU2_CFD/src/iteration/CFluidIteration.cpp | 2 ++ SU2_CFD/src/output/COutput.cpp | 5 ----- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/SU2_CFD/include/output/COutput.hpp b/SU2_CFD/include/output/COutput.hpp index 14b0bbec9b6..8300f1a568d 100644 --- a/SU2_CFD/include/output/COutput.hpp +++ b/SU2_CFD/include/output/COutput.hpp @@ -418,6 +418,12 @@ class COutput { */ void SetMultizoneHistoryOutput(COutput** output, CConfig **config, CConfig *driver_config, unsigned long TimeIter, unsigned long OuterIter); + + /*! + * \brief Sets the current time iteration + * \param[in] timeIter - the current time iteration + */ + inline void SetCurTimeIter(unsigned long val_curTimeIter) {curTimeIter = val_curTimeIter;} /*! * \brief Sets the volume output filename diff --git a/SU2_CFD/src/iteration/CFluidIteration.cpp b/SU2_CFD/src/iteration/CFluidIteration.cpp index 4ca6c45a172..77a058c39df 100644 --- a/SU2_CFD/src/iteration/CFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CFluidIteration.cpp @@ -376,6 +376,8 @@ void CFluidIteration::Solve(COutput* output, CIntegration**** integration, CGeom /*--- Boolean to determine if we are running a static or dynamic case ---*/ bool steady = !config[val_iZone]->GetTime_Domain(); + if (!steady) output->SetCurTimeIter(config[val_iZone]->GetTimeIter()); + unsigned long Inner_Iter, nInner_Iter = config[val_iZone]->GetnInner_Iter(); bool StopCalc = false; diff --git a/SU2_CFD/src/output/COutput.cpp b/SU2_CFD/src/output/COutput.cpp index 3733f40ed8e..36c743cebe3 100644 --- a/SU2_CFD/src/output/COutput.cpp +++ b/SU2_CFD/src/output/COutput.cpp @@ -207,7 +207,6 @@ void COutput::SetHistoryOutput(CGeometry *geometry, unsigned long OuterIter, unsigned long InnerIter) { - curTimeIter = TimeIter; curAbsTimeIter = max(TimeIter, config->GetStartWindowIteration()) - config->GetStartWindowIteration(); curOuterIter = OuterIter; curInnerIter = InnerIter; @@ -273,7 +272,6 @@ void COutput::SetHistoryOutput(CGeometry ****geometry, CSolver *****solver, CCon void COutput::SetMultizoneHistoryOutput(COutput **output, CConfig **config, CConfig *driver_config, unsigned long TimeIter, unsigned long OuterIter){ - curTimeIter = TimeIter; curAbsTimeIter = max(TimeIter, driver_config->GetStartWindowIteration()) - driver_config->GetStartWindowIteration(); curOuterIter = OuterIter; @@ -389,9 +387,6 @@ void COutput::WriteToFile(CConfig *config, CGeometry *geometry, OUTPUT_TYPE form /*--- File writer that will later be used to write the file to disk. Created below in the "switch" ---*/ CFileWriter *fileWriter = nullptr; - /*--- Set current time iter even if history file is not written ---*/ - curTimeIter = config->GetTimeIter(); - /*--- If it is still present, strip the extension (suffix) from the filename ---*/ const auto lastindex = fileName.find_last_of('.'); fileName = fileName.substr(0, lastindex); From 6e0d7a1465e63f36ee9f1a139ede9abfe0feb543 Mon Sep 17 00:00:00 2001 From: rois1995 Date: Tue, 21 Jan 2025 18:00:02 +0100 Subject: [PATCH 05/13] - Fixed multizone history output --- SU2_CFD/src/drivers/CMultizoneDriver.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/SU2_CFD/src/drivers/CMultizoneDriver.cpp b/SU2_CFD/src/drivers/CMultizoneDriver.cpp index d5e2fbbafbb..4a726812e7b 100644 --- a/SU2_CFD/src/drivers/CMultizoneDriver.cpp +++ b/SU2_CFD/src/drivers/CMultizoneDriver.cpp @@ -397,6 +397,10 @@ void CMultizoneDriver::Corrector(unsigned short val_iZone) { bool CMultizoneDriver::OuterConvergence(unsigned long OuterIter) { + // Set the current time iter for the multizone problem + bool unsteady = config_container[ZONE_0]->GetTime_Domain(); + if (unsteady) driver_output->SetCurTimeIter(config_container[ZONE_0]->GetTimeIter()); + /*--- Update the residual for the all the zones. ---*/ for (iZone = 0; iZone < nZone; iZone++) { From f5d0c8258d7f7c4f45c690a505effb5640c0aa0c Mon Sep 17 00:00:00 2001 From: rois1995 Date: Thu, 23 Jan 2025 16:00:21 +0100 Subject: [PATCH 06/13] - Simplified implementation --- SU2_CFD/src/drivers/CMultizoneDriver.cpp | 4 ++-- SU2_CFD/src/iteration/CFluidIteration.cpp | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/SU2_CFD/src/drivers/CMultizoneDriver.cpp b/SU2_CFD/src/drivers/CMultizoneDriver.cpp index 4a726812e7b..91885f0c731 100644 --- a/SU2_CFD/src/drivers/CMultizoneDriver.cpp +++ b/SU2_CFD/src/drivers/CMultizoneDriver.cpp @@ -398,13 +398,13 @@ void CMultizoneDriver::Corrector(unsigned short val_iZone) { bool CMultizoneDriver::OuterConvergence(unsigned long OuterIter) { // Set the current time iter for the multizone problem - bool unsteady = config_container[ZONE_0]->GetTime_Domain(); - if (unsteady) driver_output->SetCurTimeIter(config_container[ZONE_0]->GetTimeIter()); /*--- Update the residual for the all the zones. ---*/ for (iZone = 0; iZone < nZone; iZone++) { + output_container[iZone]->SetCurTimeIter(config_container[iZone]->GetTimeIter()); + /*--- Account for all the solvers in this zone. ---*/ auto solvers = solver_container[iZone][INST_0][MESH_0]; diff --git a/SU2_CFD/src/iteration/CFluidIteration.cpp b/SU2_CFD/src/iteration/CFluidIteration.cpp index 77a058c39df..84c70c2b64e 100644 --- a/SU2_CFD/src/iteration/CFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CFluidIteration.cpp @@ -375,8 +375,7 @@ void CFluidIteration::Solve(COutput* output, CIntegration**** integration, CGeom unsigned short val_iInst) { /*--- Boolean to determine if we are running a static or dynamic case ---*/ bool steady = !config[val_iZone]->GetTime_Domain(); - - if (!steady) output->SetCurTimeIter(config[val_iZone]->GetTimeIter()); + output->SetCurTimeIter(config[val_iZone]->GetTimeIter()); unsigned long Inner_Iter, nInner_Iter = config[val_iZone]->GetnInner_Iter(); bool StopCalc = false; From 2c3e3c75bbc9fbe655bdb44c88cbcc2f656f0e94 Mon Sep 17 00:00:00 2001 From: rois1995 Date: Thu, 23 Jan 2025 17:42:38 +0100 Subject: [PATCH 07/13] - Revert to previous commit --- SU2_CFD/src/drivers/CMultizoneDriver.cpp | 2 -- SU2_CFD/src/iteration/CFluidIteration.cpp | 1 - SU2_CFD/src/output/COutput.cpp | 7 ++++++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/SU2_CFD/src/drivers/CMultizoneDriver.cpp b/SU2_CFD/src/drivers/CMultizoneDriver.cpp index 91885f0c731..8c6e3cd2194 100644 --- a/SU2_CFD/src/drivers/CMultizoneDriver.cpp +++ b/SU2_CFD/src/drivers/CMultizoneDriver.cpp @@ -403,8 +403,6 @@ bool CMultizoneDriver::OuterConvergence(unsigned long OuterIter) { for (iZone = 0; iZone < nZone; iZone++) { - output_container[iZone]->SetCurTimeIter(config_container[iZone]->GetTimeIter()); - /*--- Account for all the solvers in this zone. ---*/ auto solvers = solver_container[iZone][INST_0][MESH_0]; diff --git a/SU2_CFD/src/iteration/CFluidIteration.cpp b/SU2_CFD/src/iteration/CFluidIteration.cpp index 84c70c2b64e..4ca6c45a172 100644 --- a/SU2_CFD/src/iteration/CFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CFluidIteration.cpp @@ -375,7 +375,6 @@ void CFluidIteration::Solve(COutput* output, CIntegration**** integration, CGeom unsigned short val_iInst) { /*--- Boolean to determine if we are running a static or dynamic case ---*/ bool steady = !config[val_iZone]->GetTime_Domain(); - output->SetCurTimeIter(config[val_iZone]->GetTimeIter()); unsigned long Inner_Iter, nInner_Iter = config[val_iZone]->GetnInner_Iter(); bool StopCalc = false; diff --git a/SU2_CFD/src/output/COutput.cpp b/SU2_CFD/src/output/COutput.cpp index 36c743cebe3..58f01d7f742 100644 --- a/SU2_CFD/src/output/COutput.cpp +++ b/SU2_CFD/src/output/COutput.cpp @@ -206,7 +206,8 @@ void COutput::SetHistoryOutput(CGeometry *geometry, unsigned long TimeIter, unsigned long OuterIter, unsigned long InnerIter) { - + + curTimeIter = TimeIter; curAbsTimeIter = max(TimeIter, config->GetStartWindowIteration()) - config->GetStartWindowIteration(); curOuterIter = OuterIter; curInnerIter = InnerIter; @@ -272,6 +273,7 @@ void COutput::SetHistoryOutput(CGeometry ****geometry, CSolver *****solver, CCon void COutput::SetMultizoneHistoryOutput(COutput **output, CConfig **config, CConfig *driver_config, unsigned long TimeIter, unsigned long OuterIter){ + curTimeIter = TimeIter; curAbsTimeIter = max(TimeIter, driver_config->GetStartWindowIteration()) - driver_config->GetStartWindowIteration(); curOuterIter = OuterIter; @@ -387,6 +389,9 @@ void COutput::WriteToFile(CConfig *config, CGeometry *geometry, OUTPUT_TYPE form /*--- File writer that will later be used to write the file to disk. Created below in the "switch" ---*/ CFileWriter *fileWriter = nullptr; + /*--- Set current time iter even if history file is not written ---*/ + curTimeIter = config->GetTimeIter(); + /*--- If it is still present, strip the extension (suffix) from the filename ---*/ const auto lastindex = fileName.find_last_of('.'); fileName = fileName.substr(0, lastindex); From 8fc042cf82e74f2685e4b6e277d0c359646300fe Mon Sep 17 00:00:00 2001 From: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> Date: Thu, 23 Jan 2025 10:47:13 -0800 Subject: [PATCH 08/13] Apply suggestions from code review --- SU2_CFD/include/output/COutput.hpp | 6 ------ SU2_CFD/src/drivers/CMultizoneDriver.cpp | 2 -- SU2_CFD/src/output/COutput.cpp | 1 - 3 files changed, 9 deletions(-) diff --git a/SU2_CFD/include/output/COutput.hpp b/SU2_CFD/include/output/COutput.hpp index 8300f1a568d..14b0bbec9b6 100644 --- a/SU2_CFD/include/output/COutput.hpp +++ b/SU2_CFD/include/output/COutput.hpp @@ -418,12 +418,6 @@ class COutput { */ void SetMultizoneHistoryOutput(COutput** output, CConfig **config, CConfig *driver_config, unsigned long TimeIter, unsigned long OuterIter); - - /*! - * \brief Sets the current time iteration - * \param[in] timeIter - the current time iteration - */ - inline void SetCurTimeIter(unsigned long val_curTimeIter) {curTimeIter = val_curTimeIter;} /*! * \brief Sets the volume output filename diff --git a/SU2_CFD/src/drivers/CMultizoneDriver.cpp b/SU2_CFD/src/drivers/CMultizoneDriver.cpp index 8c6e3cd2194..d5e2fbbafbb 100644 --- a/SU2_CFD/src/drivers/CMultizoneDriver.cpp +++ b/SU2_CFD/src/drivers/CMultizoneDriver.cpp @@ -397,8 +397,6 @@ void CMultizoneDriver::Corrector(unsigned short val_iZone) { bool CMultizoneDriver::OuterConvergence(unsigned long OuterIter) { - // Set the current time iter for the multizone problem - /*--- Update the residual for the all the zones. ---*/ for (iZone = 0; iZone < nZone; iZone++) { diff --git a/SU2_CFD/src/output/COutput.cpp b/SU2_CFD/src/output/COutput.cpp index 58f01d7f742..631a4ba6bde 100644 --- a/SU2_CFD/src/output/COutput.cpp +++ b/SU2_CFD/src/output/COutput.cpp @@ -206,7 +206,6 @@ void COutput::SetHistoryOutput(CGeometry *geometry, unsigned long TimeIter, unsigned long OuterIter, unsigned long InnerIter) { - curTimeIter = TimeIter; curAbsTimeIter = max(TimeIter, config->GetStartWindowIteration()) - config->GetStartWindowIteration(); curOuterIter = OuterIter; From 1a30b5821b75e9d1cc6c81a7a0ba66c42327207b Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Fri, 24 Jan 2025 16:22:21 -0800 Subject: [PATCH 09/13] add submodule --- .gitmodules | 3 +++ externals/FADO | 1 + 2 files changed, 4 insertions(+) create mode 160000 externals/FADO diff --git a/.gitmodules b/.gitmodules index 2c655cb36da..4c6d8a819f8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -27,3 +27,6 @@ [submodule "subprojects/MLPCpp"] path = subprojects/MLPCpp url = https://github.com/EvertBunschoten/MLPCpp.git +[submodule "externals/FADO"] + path = externals/FADO + url = https://github.com/pcarruscag/FADO.git diff --git a/externals/FADO b/externals/FADO new file mode 160000 index 00000000000..ee0eb0ba08e --- /dev/null +++ b/externals/FADO @@ -0,0 +1 @@ +Subproject commit ee0eb0ba08e04c83051d805ee64de6d97d9fda38 From bd72165069e39834a2ee77abc34cb70831a2d4d9 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Fri, 24 Jan 2025 16:39:13 -0800 Subject: [PATCH 10/13] install --- SU2_PY/meson.build | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SU2_PY/meson.build b/SU2_PY/meson.build index 85ae325f3f0..5c00ac9b1ad 100644 --- a/SU2_PY/meson.build +++ b/SU2_PY/meson.build @@ -70,3 +70,5 @@ install_data(['FSI_tools/__init__.py', install_data(['SU2_Nastran/__init__.py', 'SU2_Nastran/pysu2_nastran.py'], install_dir: join_paths(get_option('bindir'), 'SU2_Nastran')) + +install_subdir(['../externals/FADO'], install_dir: join_paths(get_option('bindir'), 'FADO')) From 9697a85c98e67bd13a596ff3fa00489bcd48edbe Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Fri, 24 Jan 2025 17:37:08 -0800 Subject: [PATCH 11/13] fixes for importing easily --- SU2_PY/meson.build | 2 +- TestCases/serial_regression.py | 4 ++++ externals/FADO | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/SU2_PY/meson.build b/SU2_PY/meson.build index 5c00ac9b1ad..ced81290346 100644 --- a/SU2_PY/meson.build +++ b/SU2_PY/meson.build @@ -71,4 +71,4 @@ install_data(['SU2_Nastran/__init__.py', 'SU2_Nastran/pysu2_nastran.py'], install_dir: join_paths(get_option('bindir'), 'SU2_Nastran')) -install_subdir(['../externals/FADO'], install_dir: join_paths(get_option('bindir'), 'FADO')) +install_subdir(['../externals/FADO'], install_dir: get_option('bindir')) diff --git a/TestCases/serial_regression.py b/TestCases/serial_regression.py index b4b9cd473a9..7f8baec7e9a 100644 --- a/TestCases/serial_regression.py +++ b/TestCases/serial_regression.py @@ -30,6 +30,10 @@ from TestCase import TestCase from TestCase import parse_args +import FADO +FADO.printDocumentation() + + def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github diff --git a/externals/FADO b/externals/FADO index ee0eb0ba08e..de318644e81 160000 --- a/externals/FADO +++ b/externals/FADO @@ -1 +1 @@ -Subproject commit ee0eb0ba08e04c83051d805ee64de6d97d9fda38 +Subproject commit de318644e81037cfd20af3e12c51bf14dcdf77ba From 4d9a0d9aab2f4e86d1f651f30a4645d5a46f7fcb Mon Sep 17 00:00:00 2001 From: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> Date: Fri, 24 Jan 2025 19:40:31 -0800 Subject: [PATCH 12/13] Update TestCases/serial_regression.py --- TestCases/serial_regression.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/TestCases/serial_regression.py b/TestCases/serial_regression.py index 7f8baec7e9a..b4b9cd473a9 100644 --- a/TestCases/serial_regression.py +++ b/TestCases/serial_regression.py @@ -30,10 +30,6 @@ from TestCase import TestCase from TestCase import parse_args -import FADO -FADO.printDocumentation() - - def main(): '''This program runs SU2 and ensures that the output matches specified values. This will be used to do checks when code is pushed to github From b1c3a15e89a7ae6fb7ed39795576a6b0bd2dd93a Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Fri, 24 Jan 2025 19:45:26 -0800 Subject: [PATCH 13/13] update authors --- AUTHORS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.md b/AUTHORS.md index 511ebcf4b33..48b2140480a 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -136,6 +136,7 @@ Thomas D. Economon Tim Albring TobiKattmann Trent Lukaczyk +Vikram Bharadwaj Vinzenz Götz VivaanKhatri Wally Maier