From ebbf37ad063a08144b13b65bbffb56eeada9e7e4 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Fri, 11 Mar 2022 10:56:51 -0800 Subject: [PATCH 001/110] initial commit of vorticity source turb models --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 9e778ea70b60..204b745c3946 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -560,6 +560,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { private: const FlowIndices idx; /*!< \brief Object to manage the access to the flow primitives. */ const bool sustaining_terms = false; + const bool vorticity_source = false; const bool axisymmetric = false; /*--- Closure constants ---*/ @@ -732,12 +733,16 @@ class CSourcePieceWise_TurbSST final : public CNumerics { StrainMag = PerturbedStrainMag(ScalarVar_i[0]); } - su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg, 0.0); + + if (vorticity_source) {su2double p_base = Eddy_Viscosity_i * pow(VorticityMag,2); } + else {su2double p_base = Eddy_Viscosity_i * pow(StrainMag,2); } + + su2double pk = p_base - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + + su2double pw = (alfa_blended * Density_i) * pk; /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is From e2887f97cc059a0a7e237b11389c7825cc641c25 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Mon, 14 Mar 2022 20:24:03 -0700 Subject: [PATCH 002/110] towards SST Options framework --- Common/include/option_structure.hpp | 18 ++++++++++--- Common/src/CConfig.cpp | 4 +++ .../numerics/turbulent/turb_sources.hpp | 25 ++++++++++++------- 3 files changed, 35 insertions(+), 12 deletions(-) diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 47d9b6f673ae..9d4a746be27f 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -912,12 +912,11 @@ static const MapType Limiter_Map = { enum class TURB_MODEL { NONE, /*!< \brief No turbulence model. */ SA, /*!< \brief Kind of Turbulent model (Spalart-Allmaras). */ - SA_NEG, /*!< \brief Kind of Turbulent model (Spalart-Allmaras). */ + SA_NEG, /*!< \brief Kind of Turbulent model (Negative Spalart-Allmaras). */ SA_E, /*!< \brief Kind of Turbulent model (Spalart-Allmaras Edwards). */ SA_COMP, /*!< \brief Kind of Turbulent model (Spalart-Allmaras Compressibility Correction). */ SA_E_COMP, /*!< \brief Kind of Turbulent model (Spalart-Allmaras Edwards with Compressibility Correction). */ SST, /*!< \brief Kind of Turbulence model (Menter SST). */ - SST_SUST /*!< \brief Kind of Turbulence model (Menter SST with sustaining terms for free-stream preservation). */ }; static const MapType Turb_Model_Map = { MakePair("NONE", TURB_MODEL::NONE) @@ -927,7 +926,6 @@ static const MapType Turb_Model_Map = { MakePair("SA_COMP", TURB_MODEL::SA_COMP) MakePair("SA_E_COMP", TURB_MODEL::SA_E_COMP) MakePair("SST", TURB_MODEL::SST) - MakePair("SST_SUST", TURB_MODEL::SST_SUST) }; /*! @@ -958,6 +956,20 @@ inline TURB_FAMILY TurbModelFamily(TURB_MODEL model) { return TURB_FAMILY::NONE; } +/*! + * \brief SST Base Model + */ +enum class SST_BASE { + NONE, /*!< \brief No SST Turb model. */ + V1994, /*!< \brief 1994 Menter k-w SST model. */ + V2003, /*!< \brief 2003 Menter k-w SST model. */ +}; +static const MapType SST_Base_Map = { + MakePair("NONE", SST_BASE::NONE) + MakePair("v1994", SST_BASE::V1994) + MakePair("v2003", SST_BASE::V2003) +}; + /*! * \brief Types of transition models */ diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 0f9b49199264..1489342409bf 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -1093,8 +1093,12 @@ void CConfig::SetConfig_Options() { #endif /*!\brief MATH_PROBLEM \n DESCRIPTION: Mathematical problem \n Options: DIRECT, ADJOINT \ingroup Config*/ addMathProblemOption("MATH_PROBLEM", ContinuousAdjoint, false, DiscreteAdjoint, discAdjDefault, Restart_Flow, discAdjDefault); + /*!\brief KIND_TURB_MODEL \n DESCRIPTION: Specify turbulence model \n Options: see \link Turb_Model_Map \endlink \n DEFAULT: NONE \ingroup Config*/ addEnumOption("KIND_TURB_MODEL", Kind_Turb_Model, Turb_Model_Map, TURB_MODEL::NONE); + /*!\brief SST_OPTIONS \n DESCRIPTION: Specify SST turbulence model options/corrections. \n Options: see \link SST_Options_Map \endlink \n DEFAULT: NONE \ingroup Config*/ + addEnumListOption("SST_OPTIONS", nSST_Options, SST_Options_Map, SST_BASE::V1994, SST_MODIFIED::YES, SST_PROUDCTIONS::NONE, SST_SUST::NONE, SST_CURVE::NONE ); + /*!\brief KIND_TRANS_MODEL \n DESCRIPTION: Specify transition model OPTIONS: see \link Trans_Model_Map \endlink \n DEFAULT: NONE \ingroup Config*/ addEnumOption("KIND_TRANS_MODEL", Kind_Trans_Model, Trans_Model_Map, TURB_TRANS_MODEL::NONE); diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 204b745c3946..f3732e58ef0a 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -560,7 +560,6 @@ class CSourcePieceWise_TurbSST final : public CNumerics { private: const FlowIndices idx; /*!< \brief Object to manage the access to the flow primitives. */ const bool sustaining_terms = false; - const bool vorticity_source = false; const bool axisymmetric = false; /*--- Closure constants ---*/ @@ -723,23 +722,25 @@ class CSourcePieceWise_TurbSST final : public CNumerics { for (unsigned short iDim = 0; iDim < nDim; iDim++) diverg += PrimVar_Grad_i[iDim + idx.Velocity()][iDim]; - /*--- If using UQ methodolgy, calculate production using perturbed Reynolds stress matrix ---*/ - su2double StrainMag = StrainMag_i; + const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); + const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); + /*--- Modifications of SST production terms (uq, V, KL) --*/ if (using_uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); - } - const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); - const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); + } (vorticity_source) { + StrainMag = VorticityMag; - if (vorticity_source) {su2double p_base = Eddy_Viscosity_i * pow(VorticityMag,2); } - else {su2double p_base = Eddy_Viscosity_i * pow(StrainMag,2); } + } (kato_launder) { + su2double source = StrainMag * VorticityMag; + StrainMag = sqrt(source); + } - su2double pk = p_base - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + su2double pk = Eddy_Viscosity_i * pow(StrainMag,2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); su2double pw = (alfa_blended * Density_i) * pk; @@ -758,6 +759,12 @@ class CSourcePieceWise_TurbSST final : public CNumerics { pw = max(pw, sust_w); } + /*--- Rotation/ Curvature Corrections ---*/ + if (rotate_curve_corrections){ + //TODO multiply the Ps by some fun stuff that I dont want to implement at the moment. + + } + /*--- Add the production terms to the residuals. ---*/ Residual[0] += pk * Volume; From 9bd7e91ab00303c648c207c13ff74142d509f081 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Wed, 16 Mar 2022 09:00:05 -0700 Subject: [PATCH 003/110] A more realistic implementation --- Common/include/CConfig.hpp | 2 ++ Common/include/option_structure.hpp | 32 ++++++++++++------- Common/src/CConfig.cpp | 16 +++++++++- .../numerics/turbulent/turb_sources.hpp | 12 +++---- 4 files changed, 43 insertions(+), 19 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 68bb1fe63672..948acd76d937 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -705,6 +705,8 @@ class CConfig { unsigned short nConfig_Files; /*!< \brief Number of config files for multiphysics problems. */ string *Config_Filenames; /*!< \brief List of names for configuration files. */ + string *SST_Options; /*!< \brief List of modifications/corrections/versions of SST turbulence model.*/ + string *SA_Options; /*!< \brief List of modifications/corrections/versions of SA turbulence model. */ WALL_FUNCTIONS *Kind_WallFunctions; /*!< \brief The kind of wall function to use for the corresponding markers. */ unsigned short **IntInfo_WallFunctions; /*!< \brief Additional integer information for the wall function markers. */ su2double **DoubleInfo_WallFunctions; /*!< \brief Additional double information for the wall function markers. */ diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 9d4a746be27f..6401b6032d01 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -950,24 +950,33 @@ inline TURB_FAMILY TurbModelFamily(TURB_MODEL model) { case TURB_MODEL::SA_E_COMP: return TURB_FAMILY::SA; case TURB_MODEL::SST: - case TURB_MODEL::SST_SUST: return TURB_FAMILY::KW; } return TURB_FAMILY::NONE; } /*! - * \brief SST Base Model + * \brief SST Options */ -enum class SST_BASE { - NONE, /*!< \brief No SST Turb model. */ - V1994, /*!< \brief 1994 Menter k-w SST model. */ - V2003, /*!< \brief 2003 Menter k-w SST model. */ +enum class SST_OPTION { + NONE, /*!< \brief No SST Turb model. */ + V1994, /*!< \brief 1994 Menter k-w SST model. */ + V2003, /*!< \brief 2003 Menter k-w SST model. */ + MODIFIED, /*!< \brief Modified k-w SST model. */ + SUST, /*!< \brief Menter k-w SST model with sustaining terms. */ + VORTICITY, /*!< \brief Menter k-w SST model with vorticity production terms. */ + KL, /*!< \brief Menter k-w SST model with Kato-Launder production terms. */ + RC, /*!< \brief Menter k-w SST model with rotation/curvature corrections. */ }; -static const MapType SST_Base_Map = { - MakePair("NONE", SST_BASE::NONE) - MakePair("v1994", SST_BASE::V1994) - MakePair("v2003", SST_BASE::V2003) +static const MapType SST_Option_Map = { + MakePair("NONE", SST_OPTION::NONE) + MakePair("v1994", SST_OPTION::V1994) + MakePair("v2003", SST_OPTION::V2003) + MakePair("modified", SST_OPTION::MODIFIED) + MakePair("sust", SST_OPTION::SUST) + MakePair("vorticity", SST_OPTION::VORTICITY) + MakePair("kato-launder", SST_OPTION::KL) + MakePair("curvature", SST_OPTION::RC) }; /*! @@ -976,7 +985,7 @@ static const MapType SST_Base_Map = { enum class TURB_TRANS_MODEL { NONE, /*!< \brief No transition model. */ LM, /*!< \brief Kind of transition model (Langtry-Menter (LM) for SST and Spalart-Allmaras). */ - BC /*!< \brief Kind of transition model (BAS-CAKMAKCIOGLU (BC) for Spalart-Allmaras). */ + BC /*!< \brief Kind of transition model (BAS-CAKMAKCIOGLU (BC) for Spalart-Allmaras). */ }; static const MapType Trans_Model_Map = { MakePair("NONE", TURB_TRANS_MODEL::NONE) @@ -1014,7 +1023,6 @@ static const MapType SGS_Model_Map = { MakePair("VREMAN", TURB_SGS_MODEL::VREMAN) }; - /*! * \brief Types of window (weight) functions for cost functional */ diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 1489342409bf..dbfb8910a793 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -828,6 +828,11 @@ void CConfig::SetPointersNull(void) { Config_Filenames = nullptr; + /*--- Turbulence option pointers ---*/ + + SST_Options = nullptr; + SA_Options = nullptr; + /*--- Marker Pointers ---*/ Marker_Euler = nullptr; Marker_FarField = nullptr; Marker_Custom = nullptr; @@ -1097,7 +1102,7 @@ void CConfig::SetConfig_Options() { /*!\brief KIND_TURB_MODEL \n DESCRIPTION: Specify turbulence model \n Options: see \link Turb_Model_Map \endlink \n DEFAULT: NONE \ingroup Config*/ addEnumOption("KIND_TURB_MODEL", Kind_Turb_Model, Turb_Model_Map, TURB_MODEL::NONE); /*!\brief SST_OPTIONS \n DESCRIPTION: Specify SST turbulence model options/corrections. \n Options: see \link SST_Options_Map \endlink \n DEFAULT: NONE \ingroup Config*/ - addEnumListOption("SST_OPTIONS", nSST_Options, SST_Options_Map, SST_BASE::V1994, SST_MODIFIED::YES, SST_PROUDCTIONS::NONE, SST_SUST::NONE, SST_CURVE::NONE ); + addEnumListOption("SST_OPTIONS", nSST_Options, SST_Options, SST_Options_Map); /*!\brief KIND_TRANS_MODEL \n DESCRIPTION: Specify transition model OPTIONS: see \link Trans_Model_Map \endlink \n DEFAULT: NONE \ingroup Config*/ addEnumOption("KIND_TRANS_MODEL", Kind_Trans_Model, Trans_Model_Map, TURB_TRANS_MODEL::NONE); @@ -5178,6 +5183,12 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i nTurbVar = 2; break; } + /*--- Postprocess SST_OPTIONS into structure. ---*/ + + for (unsigned short iSST = 0; iSST < nSST_Options; iSST++){ + //CHECK THE LIST HERE? + } + /*--- Checks for additional species transport. ---*/ if (Kind_Species_Model != SPECIES_MODEL::NONE) { if (Kind_Solver != MAIN_SOLVER::INC_NAVIER_STOKES && @@ -7827,6 +7838,9 @@ CConfig::~CConfig(void) { delete[] Config_Filenames; + delete[] SST_Options; + delete[] SA_Options; + if (IntInfo_WallFunctions != nullptr) { for (iMarker = 0; iMarker < nMarker_WallFunctions; ++iMarker) { if (IntInfo_WallFunctions[iMarker] != nullptr) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index f3732e58ef0a..b85e1f356275 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -722,7 +722,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { for (unsigned short iDim = 0; iDim < nDim; iDim++) diverg += PrimVar_Grad_i[iDim + idx.Velocity()][iDim]; - su2double StrainMag = StrainMag_i; + su2double P_Base = StrainMag_i; //Base production term + const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); @@ -730,17 +731,16 @@ class CSourcePieceWise_TurbSST final : public CNumerics { if (using_uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); - StrainMag = PerturbedStrainMag(ScalarVar_i[0]); + P_Base = PerturbedStrainMag(ScalarVar_i[0]); } (vorticity_source) { - StrainMag = VorticityMag; + P_Base = VorticityMag; } (kato_launder) { - su2double source = StrainMag * VorticityMag; - StrainMag = sqrt(source); + P_Base = sqrt(StrainMag*VorticityMag); } - su2double pk = Eddy_Viscosity_i * pow(StrainMag,2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + su2double pk = Eddy_Viscosity_i * pow(P_Base,2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); su2double pw = (alfa_blended * Density_i) * pk; From bcb6c4346b014347bb1274b08a1e6aa0c292cd1c Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Mon, 21 Mar 2022 19:53:38 -0700 Subject: [PATCH 004/110] update SST_OPTION, remove SST_SUST --- Common/include/CConfig.hpp | 6 ++- Common/include/option_structure.hpp | 2 +- Common/src/CConfig.cpp | 10 ++-- .../numerics/turbulent/turb_sources.hpp | 2 +- .../include/solvers/CFVMFlowSolverBase.inl | 7 ++- SU2_CFD/src/drivers/CDriver.cpp | 1 - SU2_CFD/src/output/CFlowOutput.cpp | 3 -- .../src/output/output_structure_legacy.cpp | 13 +++--- SU2_CFD/src/solvers/CAdjEulerSolver.cpp | 2 +- SU2_CFD/src/solvers/CAdjNSSolver.cpp | 2 +- SU2_CFD/src/solvers/CEulerSolver.cpp | 46 +++++++++---------- SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp | 2 +- SU2_CFD/src/solvers/CIncEulerSolver.cpp | 8 ++-- SU2_CFD/src/solvers/CIncNSSolver.cpp | 2 +- SU2_CFD/src/solvers/CNEMONSSolver.cpp | 2 +- SU2_CFD/src/solvers/CNSSolver.cpp | 2 +- SU2_CFD/src/solvers/CTurbSolver.cpp | 2 +- .../naca0012/naca0012_SST_SUST.cfg | 3 +- .../propeller_variable_load.cfg | 2 +- .../rans/naca0012/turb_NACA0012_sst_sust.cfg | 3 +- .../rans/rae2822/turb_SST_SUST_RAE2822.cfg | 5 +- config_template.cfg | 6 ++- 22 files changed, 67 insertions(+), 64 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 30ffb6d6c647..75af9225a769 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -705,8 +705,10 @@ class CConfig { unsigned short nConfig_Files; /*!< \brief Number of config files for multiphysics problems. */ string *Config_Filenames; /*!< \brief List of names for configuration files. */ - string *SST_Options; /*!< \brief List of modifications/corrections/versions of SST turbulence model.*/ - string *SA_Options; /*!< \brief List of modifications/corrections/versions of SA turbulence model. */ + SST_OPTION *SST_Options; /*!< \brief List of modifications/corrections/versions of SST turbulence model.*/ + SA_OPTION *SA_Options; /*!< \brief List of modifications/corrections/versions of SA turbulence model. */ + unsigned short nSST_Options; /*!< \brief number of SST options specified. */ + unsigned short nSA_Options; /*!< \brief number of SA options specified. */ WALL_FUNCTIONS *Kind_WallFunctions; /*!< \brief The kind of wall function to use for the corresponding markers. */ unsigned short **IntInfo_WallFunctions; /*!< \brief Additional integer information for the wall function markers. */ su2double **DoubleInfo_WallFunctions; /*!< \brief Additional double information for the wall function markers. */ diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 546c44f7907d..d6c13b0abb17 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -968,7 +968,7 @@ enum class SST_OPTION { KL, /*!< \brief Menter k-w SST model with Kato-Launder production terms. */ RC, /*!< \brief Menter k-w SST model with rotation/curvature corrections. */ }; -static const MapType SST_Option_Map = { +static const MapType SST_Options_Map = { MakePair("NONE", SST_OPTION::NONE) MakePair("v1994", SST_OPTION::V1994) MakePair("v2003", SST_OPTION::V2003) diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index d5035af23b91..37d4383adfcc 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -4650,10 +4650,10 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i Finite_Difference_Mode = false; /* --- Throw error if UQ used for any turbulence model other that SST --- */ - - if (Kind_Solver == MAIN_SOLVER::RANS && Kind_Turb_Model != TURB_MODEL::SST && Kind_Turb_Model != TURB_MODEL::SST_SUST && using_uq){ - SU2_MPI::Error("UQ capabilities only implemented for NAVIER_STOKES solver SST turbulence model", CURRENT_FUNCTION); - } + //TODO: Move this to the postprocessing of SST options + //if (Kind_Solver == MAIN_SOLVER::RANS && Kind_Turb_Model != TURB_MODEL::SST && using_uq){ + // SU2_MPI::Error("UQ capabilities only implemented for NAVIER_STOKES solver SST turbulence model", CURRENT_FUNCTION); + //} /* --- Throw error if invalid componentiality used --- */ @@ -5856,7 +5856,7 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { case TURB_MODEL::SA_COMP: cout << "Compressibility Correction Spalart Allmaras" << endl; break; case TURB_MODEL::SA_E_COMP: cout << "Compressibility Correction Edwards Spalart Allmaras" << endl; break; case TURB_MODEL::SST: cout << "Menter's SST" << endl; break; - case TURB_MODEL::SST_SUST: cout << "Menter's SST with sustaining terms" << endl; break; + //TODO: ADD IN PROPER SST OPTIONS HERE.... } if (QCR) cout << "Using Quadratic Constitutive Relation, 2000 version (QCR2000)" << endl; if (Kind_Trans_Model == TURB_TRANS_MODEL::BC) cout << "Using the revised BC transition model (2020)" << endl; diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index b85e1f356275..dd6ce5b1e80f 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -636,7 +636,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double val_omega_Inf, const CConfig* config) : CNumerics(val_nDim, 2, config), idx(val_nDim, config->GetnSpecies()), - sustaining_terms(config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST), + sustaining_terms(false), //TODO this is temporary axisymmetric(config->GetAxisymmetric()), sigma_k_1(constants[0]), sigma_k_2(constants[1]), diff --git a/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl b/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl index bbcc8a6f5d2c..bef0fe40af26 100644 --- a/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl +++ b/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl @@ -406,8 +406,7 @@ void CFVMFlowSolverBase::Viscous_Residual_impl(unsigned long iEdge, CGeome CNumerics *numerics, CConfig *config) { const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - const bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || - (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + const bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); CVariable* turbNodes = nullptr; if (tkeNeeded) turbNodes = solver_container[TURB_SOL]->GetNodes(); @@ -1341,7 +1340,7 @@ void CFVMFlowSolverBase::BC_Sym_Plane(CGeometry* geometry, CSolver** solve visc_numerics->SetPrimVarGradient(nodes->GetGradient_Primitive(iPoint), CMatrixView(Grad_Reflected)); /*--- Turbulent kinetic energy. ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint, 0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint, 0)); @@ -1507,7 +1506,7 @@ void CFVMFlowSolverBase::BC_Fluid_Interface(CGeometry* geometry, /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint, 0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint, 0)); diff --git a/SU2_CFD/src/drivers/CDriver.cpp b/SU2_CFD/src/drivers/CDriver.cpp index f6d336671efa..428dd69e02c2 100644 --- a/SU2_CFD/src/drivers/CDriver.cpp +++ b/SU2_CFD/src/drivers/CDriver.cpp @@ -1239,7 +1239,6 @@ void CDriver::InstantiateTurbulentNumerics(unsigned short nVar_Turb, int offset, case TURB_MODEL::SA_COMP: comp_spalart_allmaras = true; break; case TURB_MODEL::SA_E_COMP: e_comp_spalart_allmaras = true; break; case TURB_MODEL::SST: menter_sst = true; break; - case TURB_MODEL::SST_SUST: menter_sst = true; break; } /*--- If the Menter SST model is used, store the constants of the model and determine the diff --git a/SU2_CFD/src/output/CFlowOutput.cpp b/SU2_CFD/src/output/CFlowOutput.cpp index 72198f102815..53e20f98336a 100644 --- a/SU2_CFD/src/output/CFlowOutput.cpp +++ b/SU2_CFD/src/output/CFlowOutput.cpp @@ -2099,9 +2099,6 @@ void CFlowOutput::WriteForcesBreakdown(const CConfig* config, const CSolver* flo case TURB_MODEL::SST: file << "Menter's SST\n"; break; - case TURB_MODEL::SST_SUST: - file << "Menter's SST with sustaining terms\n"; - break; } break; default: diff --git a/SU2_CFD/src/output/output_structure_legacy.cpp b/SU2_CFD/src/output/output_structure_legacy.cpp index 5eb6073b8942..e649a4faf877 100644 --- a/SU2_CFD/src/output/output_structure_legacy.cpp +++ b/SU2_CFD/src/output/output_structure_legacy.cpp @@ -479,7 +479,7 @@ void COutputLegacy::SetConvHistory_Header(ofstream *ConvHist_file, CConfig *conf case TURB_MODEL::SA:case TURB_MODEL::SA_NEG:case TURB_MODEL::SA_E: case TURB_MODEL::SA_COMP: case TURB_MODEL::SA_E_COMP: SPRINTF (turb_resid, ",\"Res_Turb[0]\""); break; - case TURB_MODEL::SST:case TURB_MODEL::SST_SUST: + case TURB_MODEL::SST: SPRINTF (turb_resid, ",\"Res_Turb[0]\",\"Res_Turb[1]\""); break; default: break; @@ -488,7 +488,7 @@ void COutputLegacy::SetConvHistory_Header(ofstream *ConvHist_file, CConfig *conf case TURB_MODEL::SA:case TURB_MODEL::SA_NEG:case TURB_MODEL::SA_E: case TURB_MODEL::SA_COMP: case TURB_MODEL::SA_E_COMP: SPRINTF (adj_turb_resid, ",\"Res_AdjTurb[0]\""); break; - case TURB_MODEL::SST:case TURB_MODEL::SST_SUST: + case TURB_MODEL::SST: SPRINTF (adj_turb_resid, ",\"Res_AdjTurb[0]\",\"Res_AdjTurb[1]\""); break; default: break; @@ -863,7 +863,7 @@ void COutputLegacy::SetConvHistory_Body(ofstream *ConvHist_file, if (turbulent) { switch (config[val_iZone]->GetKind_Turb_Model()) { case TURB_MODEL::SA: case TURB_MODEL::SA_NEG: case TURB_MODEL::SA_E: case TURB_MODEL::SA_E_COMP: case TURB_MODEL::SA_COMP: nVar_Turb = 1; break; - case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: nVar_Turb = 2; break; + case TURB_MODEL::SST: nVar_Turb = 2; break; default: break; } } @@ -885,7 +885,7 @@ void COutputLegacy::SetConvHistory_Body(ofstream *ConvHist_file, if (turbulent) { switch (config[val_iZone]->GetKind_Turb_Model()) { case TURB_MODEL::SA: case TURB_MODEL::SA_NEG: case TURB_MODEL::SA_E: case TURB_MODEL::SA_E_COMP: case TURB_MODEL::SA_COMP: nVar_AdjTurb = 1; break; - case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: nVar_AdjTurb = 2; break; + case TURB_MODEL::SST: nVar_AdjTurb = 2; break; default: break; } } @@ -1783,7 +1783,7 @@ void COutputLegacy::SetConvHistory_Body(ofstream *ConvHist_file, switch (config[val_iZone]->GetKind_Turb_Model()) { case TURB_MODEL::SA: case TURB_MODEL::SA_NEG: case TURB_MODEL::SA_E: case TURB_MODEL::SA_E_COMP: case TURB_MODEL::SA_COMP: cout << " Res[nu]"; break; - case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: cout << " Res[kine]" << " Res[omega]"; break; + case TURB_MODEL::SST: cout << " Res[kine]" << " Res[omega]"; break; default: break; } @@ -2825,7 +2825,6 @@ void COutputLegacy::SpecialOutput_ForcesBreakdown(CSolver *****solver, CGeometry case TURB_MODEL::SA_COMP: Breakdown_file << "Compressibility Correction Spalart Allmaras" << "\n"; break; case TURB_MODEL::SA_E_COMP: Breakdown_file << "Compressibility Correction Edwards Spalart Allmaras" << "\n"; break; case TURB_MODEL::SST: Breakdown_file << "Menter's TURB_MODEL::SST" << "\n"; break; - case TURB_MODEL::SST_SUST: Breakdown_file << "Menter's TURB_MODEL::SST with sustaining terms" << "\n"; break; default: break; } break; @@ -6084,7 +6083,7 @@ void COutputLegacy::WriteTurboPerfConvHistory(CConfig *config){ string inMarker_Tag, outMarker_Tag, inMarkerTag_Mix; unsigned short nZone = config->GetnZone(); bool turbulent = ((config->GetKind_Solver() == MAIN_SOLVER::RANS) || (config->GetKind_Solver() == MAIN_SOLVER::DISC_ADJ_RANS)); - bool menter_sst = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool menter_sst = (config->GetKind_Turb_Model() == TURB_MODEL::SST); unsigned short nBladesRow, nStages; unsigned short iStage; diff --git a/SU2_CFD/src/solvers/CAdjEulerSolver.cpp b/SU2_CFD/src/solvers/CAdjEulerSolver.cpp index 4e8db291470f..b3a4d2bef4d7 100644 --- a/SU2_CFD/src/solvers/CAdjEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjEulerSolver.cpp @@ -3325,7 +3325,7 @@ void CAdjEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); /*--- Gradient and limiter of Adjoint Variables ---*/ diff --git a/SU2_CFD/src/solvers/CAdjNSSolver.cpp b/SU2_CFD/src/solvers/CAdjNSSolver.cpp index a83c386b3915..3ab192ab21bc 100644 --- a/SU2_CFD/src/solvers/CAdjNSSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjNSSolver.cpp @@ -774,7 +774,7 @@ void CAdjNSSolver::Viscous_Sensitivity(CGeometry *geometry, CSolver **solver_con /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) val_turb_ke = solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0); else val_turb_ke = 0.0; diff --git a/SU2_CFD/src/solvers/CEulerSolver.cpp b/SU2_CFD/src/solvers/CEulerSolver.cpp index 47f38e3d9616..81a4dd83227b 100644 --- a/SU2_CFD/src/solvers/CEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CEulerSolver.cpp @@ -788,7 +788,7 @@ void CEulerSolver::SetNondimensionalization(CConfig *config, unsigned short iMes bool viscous = config->GetViscous(); bool gravity = config->GetGravityForce(); bool turbulent = (config->GetKind_Turb_Model() != TURB_MODEL::NONE); - bool tkeNeeded = (turbulent && (config->GetKind_Turb_Model() == TURB_MODEL::SST || config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)); + bool tkeNeeded = (turbulent && config->GetKind_Turb_Model() == TURB_MODEL::SST); bool free_stream_temp = (config->GetKind_FreeStreamOption() == FREESTREAM_OPTION::TEMPERATURE_FS); bool reynolds_init = (config->GetKind_InitOption() == REYNOLDS); bool aeroelastic = config->GetAeroelastic_Simulation(); @@ -4289,7 +4289,7 @@ void CEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_container, bool implicit = config->GetKind_TimeIntScheme() == EULER_IMPLICIT; bool viscous = config->GetViscous(); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); su2double *Normal = new su2double[nDim]; @@ -4499,7 +4499,7 @@ void CEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_container, /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -4544,7 +4544,7 @@ void CEulerSolver::BC_Riemann(CGeometry *geometry, CSolver **solver_container, string Marker_Tag = config->GetMarker_All_TagBound(val_marker); bool viscous = config->GetViscous(); bool gravity = (config->GetGravityForce()); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); su2double *Normal, *FlowDirMix, TangVelocity, NormalVelocity; Normal = new su2double[nDim]; @@ -4987,7 +4987,7 @@ void CEulerSolver::BC_Riemann(CGeometry *geometry, CSolver **solver_container, /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -5058,7 +5058,7 @@ void CEulerSolver::BC_TurboRiemann(CGeometry *geometry, CSolver **solver_contain unsigned short nSpanWiseSections = geometry->GetnSpanWiseSections(config->GetMarker_All_TurbomachineryFlag(val_marker)); bool viscous = config->GetViscous(); bool gravity = (config->GetGravityForce()); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); su2double *Normal, *turboNormal, *UnitNormal, *FlowDirMix, FlowDirMixMag, *turboVelocity; Normal = new su2double[nDim]; @@ -5501,7 +5501,7 @@ void CEulerSolver::BC_TurboRiemann(CGeometry *geometry, CSolver **solver_contain /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -6398,7 +6398,7 @@ void CEulerSolver::BC_Giles(CGeometry *geometry, CSolver **solver_container, CNu /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -6465,7 +6465,7 @@ void CEulerSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, su2double Gas_Constant = config->GetGas_ConstantND(); INLET_TYPE Kind_Inlet= config->GetKind_Inlet(); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); su2double *Normal = new su2double[nDim]; /*--- Loop over all the vertices on this boundary marker ---*/ @@ -6723,7 +6723,7 @@ void CEulerSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, // // /*--- Turbulent kinetic energy ---*/ // -// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) +// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -6763,7 +6763,7 @@ void CEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, su2double Gas_Constant = config->GetGas_ConstantND(); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); bool gravity = (config->GetGravityForce()); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); su2double *Normal = new su2double[nDim]; /*--- Loop over all the vertices on this boundary marker ---*/ @@ -6897,7 +6897,7 @@ void CEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, // // /*--- Turbulent kinetic energy ---*/ // -// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) +// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -6934,7 +6934,7 @@ void CEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver_con bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); su2double *Normal = new su2double[nDim]; su2double *Velocity = new su2double[nDim]; @@ -7042,7 +7042,7 @@ void CEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver_con // // /*--- Turbulent kinetic energy ---*/ // -// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) +// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -7164,7 +7164,7 @@ void CEulerSolver::BC_Supersonic_Outlet(CGeometry *geometry, CSolver **solver_co // // /*--- Turbulent kinetic energy ---*/ // -// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) +// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -7202,7 +7202,7 @@ void CEulerSolver::BC_Engine_Inflow(CGeometry *geometry, CSolver **solver_contai unsigned short Kind_Engine_Inflow = config->GetKind_Engine_Inflow(); su2double Gas_Constant = config->GetGas_ConstantND(); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); su2double Baseline_Press = 0.75 * config->GetPressure_FreeStreamND(); bool Engine_HalfModel = config->GetEngine_HalfModel(); @@ -7384,7 +7384,7 @@ void CEulerSolver::BC_Engine_Inflow(CGeometry *geometry, CSolver **solver_contai // // /*--- Turbulent kinetic energy ---*/ // -// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) +// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -7418,7 +7418,7 @@ void CEulerSolver::BC_Engine_Exhaust(CGeometry *geometry, CSolver **solver_conta su2double Gas_Constant = config->GetGas_ConstantND(); bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); su2double DampingFactor = config->GetDamp_Engine_Exhaust(); su2double Baseline_Press = 0.75 * config->GetPressure_FreeStreamND(); @@ -7635,7 +7635,7 @@ void CEulerSolver::BC_Engine_Exhaust(CGeometry *geometry, CSolver **solver_conta // // /*--- Turbulent kinetic energy ---*/ // -// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) +// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -7708,7 +7708,7 @@ void CEulerSolver::BC_ActDisk(CGeometry *geometry, CSolver **solver_container, C bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); su2double Gas_Constant = config->GetGas_ConstantND(); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); bool ratio = (config->GetActDisk_Jump() == RATIO); su2double SecondaryFlow = config->GetSecondaryFlow_ActDisk(); @@ -8071,7 +8071,7 @@ void CEulerSolver::BC_ActDisk(CGeometry *geometry, CSolver **solver_container, C // // /*--- Turbulent kinetic energy ---*/ // -// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) +// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -8134,7 +8134,7 @@ void CEulerSolver::BC_ActDisk_VariableLoad(CGeometry *geometry, CSolver **solver const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); const auto Gas_Constant = config->GetGas_ConstantND(); - const bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + const bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); /*--- Get the actuator disk center and axis coordinates for the current marker. ---*/ for (iDim = 0; iDim < nDim; iDim++){ @@ -8615,7 +8615,7 @@ void CEulerSolver::TurboAverageProcess(CSolver **solver, CGeometry *geometry, CC su2double MachTest, soundSpeed; bool turbulent = (config->GetKind_Turb_Model() != TURB_MODEL::NONE); bool spalart_allmaras = (config->GetKind_Turb_Model() == TURB_MODEL::SA); - bool menter_sst = ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)); + bool menter_sst = (config->GetKind_Turb_Model() == TURB_MODEL::SST); /*-- Variables declaration and allocation ---*/ Velocity = new su2double[nDim]; diff --git a/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp b/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp index 8e799dcc5653..af713427a059 100644 --- a/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp +++ b/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp @@ -794,7 +794,7 @@ void CFEM_DG_EulerSolver::SetNondimensionalization(CConfig *config, bool viscous = config->GetViscous(); bool grid_movement = config->GetGrid_Movement(); bool turbulent = (config->GetKind_Solver() == MAIN_SOLVER::FEM_RANS) || (config->GetKind_Solver() == MAIN_SOLVER::FEM_LES); - bool tkeNeeded = ((turbulent) && ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST))); + bool tkeNeeded = ((turbulent) && (config->GetKind_Turb_Model() == TURB_MODEL::SST); bool free_stream_temp = (config->GetKind_FreeStreamOption() == FREESTREAM_OPTION::TEMPERATURE_FS); bool reynolds_init = (config->GetKind_InitOption() == REYNOLDS); diff --git a/SU2_CFD/src/solvers/CIncEulerSolver.cpp b/SU2_CFD/src/solvers/CIncEulerSolver.cpp index 243e5868e25f..19943060d0fa 100644 --- a/SU2_CFD/src/solvers/CIncEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CIncEulerSolver.cpp @@ -253,7 +253,7 @@ void CIncEulerSolver::SetNondimensionalization(CConfig *config, unsigned short i bool viscous = config->GetViscous(); bool turbulent = ((config->GetKind_Solver() == MAIN_SOLVER::INC_RANS) || (config->GetKind_Solver() == MAIN_SOLVER::DISC_ADJ_INC_RANS)); - bool tkeNeeded = ((turbulent) && ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST))); + bool tkeNeeded = ((turbulent) && (config->GetKind_Turb_Model() == TURB_MODEL::SST)); bool energy = config->GetEnergy_Equation(); bool boussinesq = (config->GetKind_DensityModel() == INC_DENSITYMODEL::BOUSSINESQ); @@ -2129,7 +2129,7 @@ void CIncEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_contain /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -2371,7 +2371,7 @@ void CIncEulerSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -2569,7 +2569,7 @@ void CIncEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); diff --git a/SU2_CFD/src/solvers/CIncNSSolver.cpp b/SU2_CFD/src/solvers/CIncNSSolver.cpp index ee474eb06514..e42eef973988 100644 --- a/SU2_CFD/src/solvers/CIncNSSolver.cpp +++ b/SU2_CFD/src/solvers/CIncNSSolver.cpp @@ -291,7 +291,7 @@ unsigned long CIncNSSolver::SetPrimitive_Variables(CSolver **solver_container, c su2double eddy_visc = 0.0, turb_ke = 0.0, DES_LengthScale = 0.0; const TURB_MODEL turb_model = config->GetKind_Turb_Model(); - bool tkeNeeded = ((turb_model == TURB_MODEL::SST) || (turb_model == TURB_MODEL::SST_SUST)); + bool tkeNeeded = (turb_model == TURB_MODEL::SST); AD::StartNoSharedReading(); diff --git a/SU2_CFD/src/solvers/CNEMONSSolver.cpp b/SU2_CFD/src/solvers/CNEMONSSolver.cpp index 4755c579eb13..30b40114b6af 100644 --- a/SU2_CFD/src/solvers/CNEMONSSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMONSSolver.cpp @@ -114,7 +114,7 @@ unsigned long CNEMONSSolver::SetPrimitive_Variables(CSolver **solver_container,C unsigned long nonPhysicalPoints = 0; const TURB_MODEL turb_model = config->GetKind_Turb_Model(); - //const bool tkeNeeded = (turb_model == TURB_MODEL::SST) || (turb_model == TURB_MODEL::SST_SUST); + //const bool tkeNeeded = (turb_model == TURB_MODEL::SST); SU2_OMP_FOR_STAT(omp_chunk_size) for (unsigned long iPoint = 0; iPoint < nPoint; iPoint ++) { diff --git a/SU2_CFD/src/solvers/CNSSolver.cpp b/SU2_CFD/src/solvers/CNSSolver.cpp index 23e08f7d9112..5a6fcfb013ba 100644 --- a/SU2_CFD/src/solvers/CNSSolver.cpp +++ b/SU2_CFD/src/solvers/CNSSolver.cpp @@ -133,7 +133,7 @@ unsigned long CNSSolver::SetPrimitive_Variables(CSolver **solver_container, cons unsigned long nonPhysicalPoints = 0; const TURB_MODEL turb_model = config->GetKind_Turb_Model(); - const bool tkeNeeded = (turb_model == TURB_MODEL::SST) || (turb_model == TURB_MODEL::SST_SUST); + const bool tkeNeeded = (turb_model == TURB_MODEL::SST); AD::StartNoSharedReading(); diff --git a/SU2_CFD/src/solvers/CTurbSolver.cpp b/SU2_CFD/src/solvers/CTurbSolver.cpp index 21e1f51298fa..eb82fd8ae272 100644 --- a/SU2_CFD/src/solvers/CTurbSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSolver.cpp @@ -103,7 +103,7 @@ void CTurbSolver::BC_Giles(CGeometry *geometry, CSolver **solver_container, CNum void CTurbSolver::BC_Fluid_Interface(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config) { - const bool sst = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + const bool sst = (config->GetKind_Turb_Model() == TURB_MODEL::SST); const auto nPrimVar = solver_container[FLOW_SOL]->GetnPrimVar(); su2double *PrimVar_j = new su2double[nPrimVar]; su2double solution_j[MAXNVAR] = {0.0}; diff --git a/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg b/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg index 12f8fbc6c62f..9cd8033fa8ec 100644 --- a/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg +++ b/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg @@ -18,7 +18,8 @@ SOLVER= INC_RANS % % Specify turbulent model (NONE, SA, SA_NEG, SST) -KIND_TURB_MODEL= SST_SUST +KIND_TURB_MODEL= SST +SST_OPTIONS=(SUST) % % Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT diff --git a/TestCases/rans/actuatordisk_variable_load/propeller_variable_load.cfg b/TestCases/rans/actuatordisk_variable_load/propeller_variable_load.cfg index d072191935bf..63924fbbbbfd 100644 --- a/TestCases/rans/actuatordisk_variable_load/propeller_variable_load.cfg +++ b/TestCases/rans/actuatordisk_variable_load/propeller_variable_load.cfg @@ -19,7 +19,7 @@ % HEAT_EQUATION_FVM, ELASTICITY) SOLVER= RANS % -% Specify turbulence model (NONE, SA, SA_NEG, SST, SA_E, SA_COMP, SA_E_COMP, SST_SUST) +% Specify turbulence model (NONE, SA, SA_NEG, SST, SA_E, SA_COMP, SA_E_COMP) KIND_TURB_MODEL= SA % % Turbulence intensity at freestream diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg index e849ca6b133d..07a3a287993e 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg @@ -18,7 +18,8 @@ SOLVER= RANS % % Specify turbulent model (NONE, SA, SA_NEG, SST) -KIND_TURB_MODEL= SST_SUST +KIND_TURB_MODEL= SST +SST_OPTIONS=(SUST) % % Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT diff --git a/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg b/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg index 0050ecc28e15..2aa101d2f0a2 100644 --- a/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg +++ b/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg @@ -16,8 +16,9 @@ % POISSON_EQUATION) SOLVER= RANS % -% Specify turbulent model (NONE, SA, SA_NEG, SST, SST_SUST) -KIND_TURB_MODEL= SST_SUST +% Specify turbulent model (NONE, SA, SA_NEG, SST) +KIND_TURB_MODEL= SST +SST_OPTIONS=(V1994, SUST) % % Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT diff --git a/config_template.cfg b/config_template.cfg index 8dfb6739aed5..05f112b6df85 100644 --- a/config_template.cfg +++ b/config_template.cfg @@ -18,9 +18,13 @@ % HEAT_EQUATION_FVM, ELASTICITY) SOLVER= EULER % -% Specify turbulence model (NONE, SA, SA_NEG, SST, SA_E, SA_COMP, SA_E_COMP, SST_SUST) +% Specify turbulence model (NONE, SA, SA_NEG, SST, SA_E, SA_COMP, SA_E_COMP) KIND_TURB_MODEL= NONE % +% Specify verisons/corrections to SST model (NONE, V2003, VORTICITY, MODIFIED, KATO_LAUNDER, +% SUSTAINING, ROTATION_CURVATURE, UQ) +SST_OPTIONS= NONE +% % Transition model (NONE, BC) KIND_TRANS_MODEL= NONE % From c57f6f50b7bad97bb8af24f09d5e9e476c374215 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Mon, 21 Mar 2022 21:33:57 -0700 Subject: [PATCH 005/110] Some convergence fixes + beginning to add structure --- Common/include/CConfig.hpp | 2 -- Common/include/option_structure.hpp | 14 ++++----- Common/src/CConfig.cpp | 31 ++++++++++++++++--- .../numerics/turbulent/turb_sources.hpp | 11 ++++--- SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp | 2 +- 5 files changed, 41 insertions(+), 19 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 75af9225a769..13d88130d77c 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -706,9 +706,7 @@ class CConfig { unsigned short nConfig_Files; /*!< \brief Number of config files for multiphysics problems. */ string *Config_Filenames; /*!< \brief List of names for configuration files. */ SST_OPTION *SST_Options; /*!< \brief List of modifications/corrections/versions of SST turbulence model.*/ - SA_OPTION *SA_Options; /*!< \brief List of modifications/corrections/versions of SA turbulence model. */ unsigned short nSST_Options; /*!< \brief number of SST options specified. */ - unsigned short nSA_Options; /*!< \brief number of SA options specified. */ WALL_FUNCTIONS *Kind_WallFunctions; /*!< \brief The kind of wall function to use for the corresponding markers. */ unsigned short **IntInfo_WallFunctions; /*!< \brief Additional integer information for the wall function markers. */ su2double **DoubleInfo_WallFunctions; /*!< \brief Additional double information for the wall function markers. */ diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index d6c13b0abb17..ba598601c05e 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -970,13 +970,13 @@ enum class SST_OPTION { }; static const MapType SST_Options_Map = { MakePair("NONE", SST_OPTION::NONE) - MakePair("v1994", SST_OPTION::V1994) - MakePair("v2003", SST_OPTION::V2003) - MakePair("modified", SST_OPTION::MODIFIED) - MakePair("sust", SST_OPTION::SUST) - MakePair("vorticity", SST_OPTION::VORTICITY) - MakePair("kato-launder", SST_OPTION::KL) - MakePair("curvature", SST_OPTION::RC) + MakePair("V1994", SST_OPTION::V1994) + MakePair("V2003", SST_OPTION::V2003) + MakePair("MODIFIED", SST_OPTION::MODIFIED) + MakePair("SUSTAINED", SST_OPTION::SUST) + MakePair("VORTICITY", SST_OPTION::VORTICITY) + MakePair("KATO-LAUNDER", SST_OPTION::KL) + MakePair("CURVATURE", SST_OPTION::RC) }; /*! diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 37d4383adfcc..2e8f7c669126 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -831,7 +831,6 @@ void CConfig::SetPointersNull(void) { /*--- Turbulence option pointers ---*/ SST_Options = nullptr; - SA_Options = nullptr; /*--- Marker Pointers ---*/ @@ -5185,10 +5184,33 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i } /*--- Postprocess SST_OPTIONS into structure. ---*/ + //TODO this wont work. + string sst_string = "SST"; + struct SST_Struct { + + const Version; + const Modified; + const Production; + const Sustaining; + const Curvature; + //SAMPLE FAILURE LOGIC + + //VERSION INCOMPATIBILITY + if (SST_Options_Map.find("V1994")) sst_string += "1994"; + //TODO.... + + if (SST_Options_Map.find("V1994") && SST_Option_Map.find("V2003")) + SU2_MPI::Error(string("Two versions (1994 and 2003) selected for SST Options. Please choose only one."), CURRENT_FUNCTION); + + //PRODUCTION INCOMPABILITY + unsigned short counter = 0; + if (SST_Options.Map_find("VORTICITY")) counter += 1; + if (SST_Options.Map_find("KATO-LAUNDER")) counter += 1; + if (SST_Options.Map_find("UQ")) counter += 1; + if (counter > 1) SU2_MPI::Error(string("Please select only one SST production term modifier (V, KL, UQ)."), CURRENT_FUNCTION); - for (unsigned short iSST = 0; iSST < nSST_Options; iSST++){ - //CHECK THE LIST HERE? - } + }; + //if (SST_Options_Map.find("VORTICITY")) cout <<"IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII"< class CSourcePieceWise_TurbSST final : public CNumerics { private: const FlowIndices idx; /*!< \brief Object to manage the access to the flow primitives. */ - const bool sustaining_terms = false; + const bool sustaining_terms = false; //TODO const bool axisymmetric = false; + bool vorticity_source = false; //TODO + bool kato_launder = false; //TODO + bool rotate_curve_corrections = false; //TODO /*--- Closure constants ---*/ const su2double sigma_k_1, sigma_k_2, sigma_w_1, sigma_w_2, beta_1, beta_2, beta_star, a1, alfa_1, alfa_2; @@ -733,11 +736,11 @@ class CSourcePieceWise_TurbSST final : public CNumerics { Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); P_Base = PerturbedStrainMag(ScalarVar_i[0]); - } (vorticity_source) { + } else if (vorticity_source) { P_Base = VorticityMag; - } (kato_launder) { - P_Base = sqrt(StrainMag*VorticityMag); + } else if (kato_launder) { + P_Base = sqrt(StrainMag_i*VorticityMag); } su2double pk = Eddy_Viscosity_i * pow(P_Base,2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; diff --git a/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp b/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp index af713427a059..16005d1bf505 100644 --- a/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp +++ b/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp @@ -794,7 +794,7 @@ void CFEM_DG_EulerSolver::SetNondimensionalization(CConfig *config, bool viscous = config->GetViscous(); bool grid_movement = config->GetGrid_Movement(); bool turbulent = (config->GetKind_Solver() == MAIN_SOLVER::FEM_RANS) || (config->GetKind_Solver() == MAIN_SOLVER::FEM_LES); - bool tkeNeeded = ((turbulent) && (config->GetKind_Turb_Model() == TURB_MODEL::SST); + bool tkeNeeded = ((turbulent) && (config->GetKind_Turb_Model() == TURB_MODEL::SST)); bool free_stream_temp = (config->GetKind_FreeStreamOption() == FREESTREAM_OPTION::TEMPERATURE_FS); bool reynolds_init = (config->GetKind_InitOption() == REYNOLDS); From 8d67a08f1db196489bf155dc4b11054d2f374a04 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Thu, 24 Mar 2022 09:56:55 -0700 Subject: [PATCH 006/110] creat parsing function, tried to be consistent, updated some print statements. --- Common/include/CConfig.hpp | 2 +- Common/include/option_structure.hpp | 106 +++++++++++++++++++++++----- Common/src/CConfig.cpp | 33 +-------- 3 files changed, 93 insertions(+), 48 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 13d88130d77c..abdb5609588d 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -705,7 +705,7 @@ class CConfig { unsigned short nConfig_Files; /*!< \brief Number of config files for multiphysics problems. */ string *Config_Filenames; /*!< \brief List of names for configuration files. */ - SST_OPTION *SST_Options; /*!< \brief List of modifications/corrections/versions of SST turbulence model.*/ + SST_OPTIONS *SST_Options; /*!< \brief List of modifications/corrections/versions of SST turbulence model.*/ unsigned short nSST_Options; /*!< \brief number of SST options specified. */ WALL_FUNCTIONS *Kind_WallFunctions; /*!< \brief The kind of wall function to use for the corresponding markers. */ unsigned short **IntInfo_WallFunctions; /*!< \brief Additional integer information for the wall function markers. */ diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index ba598601c05e..d52f6ae19ae7 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -958,27 +958,99 @@ inline TURB_FAMILY TurbModelFamily(TURB_MODEL model) { /*! * \brief SST Options */ -enum class SST_OPTION { - NONE, /*!< \brief No SST Turb model. */ - V1994, /*!< \brief 1994 Menter k-w SST model. */ - V2003, /*!< \brief 2003 Menter k-w SST model. */ - MODIFIED, /*!< \brief Modified k-w SST model. */ - SUST, /*!< \brief Menter k-w SST model with sustaining terms. */ - VORTICITY, /*!< \brief Menter k-w SST model with vorticity production terms. */ - KL, /*!< \brief Menter k-w SST model with Kato-Launder production terms. */ - RC, /*!< \brief Menter k-w SST model with rotation/curvature corrections. */ +enum class SST_OPTIONS { + NONE, /*!< \brief No SST Turb model. */ + V1994, /*!< \brief 1994 Menter k-w SST model. */ + V2003, /*!< \brief 2003 Menter k-w SST model. */ + MODIFIED, /*!< \brief Modified k-w SST model. */ + SUST, /*!< \brief Menter k-w SST model with sustaining terms. */ + VORTICITY, /*!< \brief Menter k-w SST model with vorticity production terms. */ + KL, /*!< \brief Menter k-w SST model with Kato-Launder production terms. */ + UNCERTAINTY, /*!< \brief Menter k-w SST model with uncertainty quantification modifications. */ + RC, /*!< \brief Menter k-w SST model with rotation/curvature corrections. */ }; static const MapType SST_Options_Map = { - MakePair("NONE", SST_OPTION::NONE) - MakePair("V1994", SST_OPTION::V1994) - MakePair("V2003", SST_OPTION::V2003) - MakePair("MODIFIED", SST_OPTION::MODIFIED) - MakePair("SUSTAINED", SST_OPTION::SUST) - MakePair("VORTICITY", SST_OPTION::VORTICITY) - MakePair("KATO-LAUNDER", SST_OPTION::KL) - MakePair("CURVATURE", SST_OPTION::RC) + MakePair("NONE", SST_OPTIONS::NONE) + MakePair("V1994", SST_OPTIONS::V1994) + MakePair("V2003", SST_OPTIONS::V2003) + MakePair("MODIFIED", SST_OPTIONS::MODIFIED) + MakePair("SUSTAINED", SST_OPTIONS::SUST) + MakePair("VORTICITY", SST_OPTIONS::VORTICITY) + MakePair("KATO-LAUNDER", SST_OPTIONS::KL) + MakePair("UNCERTAINTY", SST_OPTIONS::UNCERTAINTY) + MakePair("CURVATURE", SST_OPTIONS::RC) }; +/*! + * \brief Structure containing parsed SST options. + */ +struct SST_ParsedOptions { + string sst_string = "Menter's k-w SST"; /*!< \brief Initial string for SST problems. */ + + SST_OPTIONS version; /*!< \brief Enum SST base model. */ + SST_OPTIONS production; /*!< \brief Enum for production corrections/modifiers for SST model. */ + bool sust; /*!< \brief Bool for SST model with sustaining terms. */ + bool rc; /*!< \brief Bool for SST model with rotational corrections. */ + bool m; /*!< \brief Bool for modified (m) SST model. */ + +} + +/*! + * \brief function to parse SST options. + * \param[in] SST_Options - Selected SST option from config. + * \param[in] nSST_Options - Number of options selected. + */ +SST_ParsedOptions ParseSSTOptions(const SST_OPTIONS* SST_Options, unsigned short nSST_Options){ + + const auto sst_options_end = SST_Options + nSST_Options; + + const bool sst_1994 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994) != sst_options_end; + const bool sst_2003 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003) != sst_options_end; + const bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::MODIFIED) != sst_options_end; + const bool sst_sust = std::find(SST_Options, sst_options_end, SST_OPTIONS::SUST) != sst_options_end; + const bool sst_v = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; + const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; + const bool sst_uq = std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end; + const bool sst_rc = std::find(SST_Options, sst_options_end, SST_OPTIONS::CURVATURE) != sst_options_end; + + // Parse base version + if (sst_1994 && sst_2003) { + SU2_MPI::Error(string("Two versions (1994 and 2003) selected for SST Options. Please choose only one."), CURRENT_FUNCTION); + } else if (sst_2003) { + SST_ParsedOptions.version = SST_OPTIONS::V2003; + SST_ParsedOptions.sst_string += "-2003"; + } else if (sst_1994){ + SST_ParsedOptions.version = SST_OPTIONS::V1994; + SST_ParsedOptions.sst_string += "-1994"; + } else { + //What should the default option be here? + } + + // Parse production modifications + if ((sst_v + sst_kl + sst_uq) > 1) { + SU2_MPI::Error(string("Please select only one SST production term modifier (V, KL, UQ)."), CURRENT_FUNCTION); + } else if (sst_v) { + SST_ParsedOptions.production = SST_OPTIONS::VORTICITY; + SST_ParsedOptions.sst_string += "-V"; + } else if (sst_kl) { + SST_ParsedOptions.production = SST_OPTIONS::KL; + SST_ParsedOptions.sst_string += "-KL"; + } esle if (sst_uq) { + SST_ParsedOptions.production = SST_OPTIONS::UNCERTAINTY; + SST_ParsedOptions.sst_string += "-UQ"; + } + + // Parse boolean options + SST_ParsedOptions.sust = sst_sust; + SST_ParsedOptions.rc = sst_rc; + SST_ParsedOptions.m = sst_m; + + if (sst_sust) SST_ParsedOptions.sst_string += "-sust" + if (sst_rc) SST_ParsedOptions.sst_string += "-RC" + if (sst_m) SST_ParsedOptions.sst_string += "-m" + +} + /*! * \brief Types of transition models */ diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 2e8f7c669126..2df8e105877f 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -5184,33 +5184,7 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i } /*--- Postprocess SST_OPTIONS into structure. ---*/ - //TODO this wont work. - string sst_string = "SST"; - struct SST_Struct { - - const Version; - const Modified; - const Production; - const Sustaining; - const Curvature; - //SAMPLE FAILURE LOGIC - - //VERSION INCOMPATIBILITY - if (SST_Options_Map.find("V1994")) sst_string += "1994"; - //TODO.... - - if (SST_Options_Map.find("V1994") && SST_Option_Map.find("V2003")) - SU2_MPI::Error(string("Two versions (1994 and 2003) selected for SST Options. Please choose only one."), CURRENT_FUNCTION); - - //PRODUCTION INCOMPABILITY - unsigned short counter = 0; - if (SST_Options.Map_find("VORTICITY")) counter += 1; - if (SST_Options.Map_find("KATO-LAUNDER")) counter += 1; - if (SST_Options.Map_find("UQ")) counter += 1; - if (counter > 1) SU2_MPI::Error(string("Please select only one SST production term modifier (V, KL, UQ)."), CURRENT_FUNCTION); - - }; - //if (SST_Options_Map.find("VORTICITY")) cout <<"IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII"< Date: Thu, 24 Mar 2022 10:21:02 -0700 Subject: [PATCH 007/110] small fixes --- Common/include/option_structure.hpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index d52f6ae19ae7..4f99ec2e93df 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -969,7 +969,7 @@ enum class SST_OPTIONS { UNCERTAINTY, /*!< \brief Menter k-w SST model with uncertainty quantification modifications. */ RC, /*!< \brief Menter k-w SST model with rotation/curvature corrections. */ }; -static const MapType SST_Options_Map = { +static const MapType SST_Options_Map = { MakePair("NONE", SST_OPTIONS::NONE) MakePair("V1994", SST_OPTIONS::V1994) MakePair("V2003", SST_OPTIONS::V2003) @@ -985,14 +985,13 @@ static const MapType SST_Options_Map = { * \brief Structure containing parsed SST options. */ struct SST_ParsedOptions { - string sst_string = "Menter's k-w SST"; /*!< \brief Initial string for SST problems. */ + std::string sst_string = "Menter's k-w SST"; /*!< \brief Initial string for SST problems. */ SST_OPTIONS version; /*!< \brief Enum SST base model. */ SST_OPTIONS production; /*!< \brief Enum for production corrections/modifiers for SST model. */ bool sust; /*!< \brief Bool for SST model with sustaining terms. */ bool rc; /*!< \brief Bool for SST model with rotational corrections. */ bool m; /*!< \brief Bool for modified (m) SST model. */ - } /*! From b5275a1be53a9f999b4a191b192aac31e94890a1 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Wed, 30 Mar 2022 00:02:24 +0200 Subject: [PATCH 008/110] added sst1994,sst1994m,sst2003,sst2003m --- Common/include/CConfig.hpp | 65 +++++++++++++++++++ Common/include/option_structure.hpp | 56 +--------------- Common/src/CConfig.cpp | 6 +- .../numerics/turbulent/turb_sources.hpp | 58 +++++++++++++++-- .../include/variables/CTurbSSTVariable.hpp | 2 +- SU2_CFD/include/variables/CVariable.hpp | 2 +- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 30 +++++++-- SU2_CFD/src/variables/CTurbSSTVariable.cpp | 13 +++- 8 files changed, 158 insertions(+), 74 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index abdb5609588d..5180b779166c 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -581,6 +581,7 @@ class CConfig { SPECIES_MODEL Kind_Species_Model; /*!< \brief Species model definition. */ TURB_SGS_MODEL Kind_SGS_Model; /*!< \brief LES SGS model definition. */ TURB_TRANS_MODEL Kind_Trans_Model; /*!< \brief Transition model definition. */ + SST_ParsedOptions sstParsedOptions; /*!< \brief boolean options struct for the turbulence model definition */ unsigned short Kind_ActDisk, Kind_Engine_Inflow, *Kind_Data_Riemann, *Kind_Data_Giles; /*!< \brief Kind of inlet boundary treatment. */ @@ -9637,4 +9638,68 @@ class CConfig { */ unsigned long GetGrad_Linear_Solver_Iter(void) const { return Grad_Linear_Solver_Iter; } + SST_ParsedOptions GetSSTParsedOptions(void) const {return sstParsedOptions; } +/*! + * \brief function to parse SST options. + * \param[in] SST_Options - Selected SST option from config. + * \param[in] nSST_Options - Number of options selected. + */ +SST_ParsedOptions ParseSSTOptions(const SST_OPTIONS* SST_Options, unsigned short nSST_Options){ + SST_ParsedOptions SSTParsedOptions; + const auto sst_options_end = SST_Options + nSST_Options; + + const bool sst_1994 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994) != sst_options_end; + const bool sst_2003 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003) != sst_options_end; + const bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::MODIFIED) != sst_options_end; + const bool sst_sust = std::find(SST_Options, sst_options_end, SST_OPTIONS::SUST) != sst_options_end; + const bool sst_v = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; + const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; + const bool sst_uq = std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end; + const bool sst_rc = std::find(SST_Options, sst_options_end, SST_OPTIONS::RC) != sst_options_end; + + // Parse base version + if (sst_1994 && sst_2003) { + SU2_MPI::Error("Two versions (1994 and 2003) selected for SST Options. Please choose only one.", CURRENT_FUNCTION); + } else if (sst_2003) { + SSTParsedOptions.version = SST_OPTIONS::V2003; + SSTParsedOptions.sst_string += "-2003"; + } else if (sst_1994){ + SSTParsedOptions.version = SST_OPTIONS::V1994; + SSTParsedOptions.sst_string += "-1994"; + } else { + + /* use the most recent model as the default*/ + cout << "SST_OPTIONS not found! using default SST-V2003" << endl; + SSTParsedOptions.version = SST_OPTIONS::V2003; + SSTParsedOptions.sst_string += "-2003"; + } + + // Parse production modifications + if ((sst_v + sst_kl + sst_uq) > 1) { + SU2_MPI::Error("Please select only one SST production term modifier (V, KL, UQ).", CURRENT_FUNCTION); + } else if (sst_v) { + SSTParsedOptions.production = SST_OPTIONS::VORTICITY; + SSTParsedOptions.sst_string += "-V"; + } else if (sst_kl) { + SSTParsedOptions.production = SST_OPTIONS::KL; + SSTParsedOptions.sst_string += "-KL"; + } else if (sst_uq) { + SSTParsedOptions.production = SST_OPTIONS::UNCERTAINTY; + SSTParsedOptions.sst_string += "-UQ"; + } + + // Parse boolean options + SSTParsedOptions.sust = sst_sust; + SSTParsedOptions.rc = sst_rc; + SSTParsedOptions.m = sst_m; + + if (sst_sust) SSTParsedOptions.sst_string += "-sust"; + if (sst_rc) SSTParsedOptions.sst_string += "-RC"; + if (sst_m) SSTParsedOptions.sst_string += "-m"; + + + cout << "SST model: " << SSTParsedOptions.sst_string << endl; + return SSTParsedOptions; +} + }; diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 4f99ec2e93df..7842c73daab1 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -992,63 +992,9 @@ struct SST_ParsedOptions { bool sust; /*!< \brief Bool for SST model with sustaining terms. */ bool rc; /*!< \brief Bool for SST model with rotational corrections. */ bool m; /*!< \brief Bool for modified (m) SST model. */ -} - -/*! - * \brief function to parse SST options. - * \param[in] SST_Options - Selected SST option from config. - * \param[in] nSST_Options - Number of options selected. - */ -SST_ParsedOptions ParseSSTOptions(const SST_OPTIONS* SST_Options, unsigned short nSST_Options){ - - const auto sst_options_end = SST_Options + nSST_Options; - - const bool sst_1994 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994) != sst_options_end; - const bool sst_2003 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003) != sst_options_end; - const bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::MODIFIED) != sst_options_end; - const bool sst_sust = std::find(SST_Options, sst_options_end, SST_OPTIONS::SUST) != sst_options_end; - const bool sst_v = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; - const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; - const bool sst_uq = std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end; - const bool sst_rc = std::find(SST_Options, sst_options_end, SST_OPTIONS::CURVATURE) != sst_options_end; - - // Parse base version - if (sst_1994 && sst_2003) { - SU2_MPI::Error(string("Two versions (1994 and 2003) selected for SST Options. Please choose only one."), CURRENT_FUNCTION); - } else if (sst_2003) { - SST_ParsedOptions.version = SST_OPTIONS::V2003; - SST_ParsedOptions.sst_string += "-2003"; - } else if (sst_1994){ - SST_ParsedOptions.version = SST_OPTIONS::V1994; - SST_ParsedOptions.sst_string += "-1994"; - } else { - //What should the default option be here? - } - - // Parse production modifications - if ((sst_v + sst_kl + sst_uq) > 1) { - SU2_MPI::Error(string("Please select only one SST production term modifier (V, KL, UQ)."), CURRENT_FUNCTION); - } else if (sst_v) { - SST_ParsedOptions.production = SST_OPTIONS::VORTICITY; - SST_ParsedOptions.sst_string += "-V"; - } else if (sst_kl) { - SST_ParsedOptions.production = SST_OPTIONS::KL; - SST_ParsedOptions.sst_string += "-KL"; - } esle if (sst_uq) { - SST_ParsedOptions.production = SST_OPTIONS::UNCERTAINTY; - SST_ParsedOptions.sst_string += "-UQ"; - } - - // Parse boolean options - SST_ParsedOptions.sust = sst_sust; - SST_ParsedOptions.rc = sst_rc; - SST_ParsedOptions.m = sst_m; +}; - if (sst_sust) SST_ParsedOptions.sst_string += "-sust" - if (sst_rc) SST_ParsedOptions.sst_string += "-RC" - if (sst_m) SST_ParsedOptions.sst_string += "-m" -} /*! * \brief Types of transition models diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 2df8e105877f..22380e667baf 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -5184,7 +5184,7 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i } /*--- Postprocess SST_OPTIONS into structure. ---*/ - SST_ParsedOptions = ParseSSTOptions(SST_Options, nSST_Options); + sstParsedOptions = ParseSSTOptions(SST_Options, nSST_Options); /*--- Checks for additional species transport. ---*/ if (Kind_Species_Model != SPECIES_MODEL::NONE) { @@ -5851,7 +5851,7 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { case TURB_MODEL::SA_E: cout << "Edwards Spalart Allmaras" << endl; break; case TURB_MODEL::SA_COMP: cout << "Compressibility Correction Spalart Allmaras" << endl; break; case TURB_MODEL::SA_E_COMP: cout << "Compressibility Correction Edwards Spalart Allmaras" << endl; break; - case TURB_MODEL::SST: cout << SST_ParsedOptions.sst_string << endl; break; + case TURB_MODEL::SST: cout << sstParsedOptions.sst_string << endl; break; } if (QCR) cout << "Using Quadratic Constitutive Relation, 2000 version (QCR2000)" << endl; if (Kind_Trans_Model == TURB_TRANS_MODEL::BC) cout << "Using the revised BC transition model (2020)" << endl; @@ -5863,7 +5863,7 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { case SA_ZDES: cout << "Delayed Detached Eddy Simulation (DDES) with Vorticity-based SGS" << endl; break; case SA_EDDES: cout << "Delayed Detached Eddy Simulation (DDES) with Shear-layer Adapted SGS" << endl; break; } - if (SST_ParsedOptions.production= SST_OPTIONS::UNCERTAINTY){ + if (sstParsedOptions.production == SST_OPTIONS::UNCERTAINTY){ cout << "Perturbing Reynold's Stress Matrix towards "<< eig_val_comp << " component turbulence"<< endl; if (uq_permute) cout << "Permuting eigenvectors" << endl; } diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index c8e64b00ef69..1f133fe4c972 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -713,12 +713,20 @@ class CSourcePieceWise_TurbSST final : public CNumerics { Jacobian_i[1][0] = 0.0; Jacobian_i[1][1] = 0.0; + su2double ProdLimConstant; + su2double zeta; + /*--- Computation of blended constants for the source terms ---*/ const su2double alfa_blended = F1_i * alfa_1 + (1.0 - F1_i) * alfa_2; const su2double beta_blended = F1_i * beta_1 + (1.0 - F1_i) * beta_2; + SST_ParsedOptions sstParsedOptions = config->GetSSTParsedOptions(); + if (dist_i > 1e-10) { + + const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); + /*--- Production ---*/ su2double diverg = 0.0; @@ -727,10 +735,9 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double P_Base = StrainMag_i; //Base production term - const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); - const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - /*--- Modifications of SST production terms (uq, V, KL) --*/ + + /* --------------------------- */ if (using_uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); @@ -742,11 +749,48 @@ class CSourcePieceWise_TurbSST final : public CNumerics { } else if (kato_launder) { P_Base = sqrt(StrainMag_i*VorticityMag); } + /* ------------------------------ */ + + + /* SST-1994 */ + if (sstParsedOptions.version == SST_OPTIONS::V1994){ + cout << "standard SST-1994 version" << endl; + ProdLimConstant = 20.0; + P_Base = VorticityMag; + /* mut = rho*k/max(w,Omega*F_2/a1) = rho*k/zeta */ + } + else { + /* SST-2003 */ + cout << "standard SST-2003 version" << endl; + ProdLimConstant = 10.0; + P_Base = StrainMag_i; + /* mut = rho*k/max(w,S*F_2/a1) = rho*k/zeta */ + } + + zeta = max(ScalarVar_i[1], P_Base * F2_i / a1); + + su2double pk; + + if (sstParsedOptions.version == SST_OPTIONS::MODIFIED) { + /* SST1994m or SST2003m */ + pk = Eddy_Viscosity_i * pow(P_Base,2); + } else { + /* SST1994 or SST2003 */ + /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ + pk = Eddy_Viscosity_i * (pow(P_Base,2) - 2.0 / 3.0 * diverg * diverg) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + } - su2double pk = Eddy_Viscosity_i * pow(P_Base,2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + su2double pw = pk; + + /* we also give a lower limit to production of 0, which makes sense numerically but is not in the original papers */ + pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + + if (sstParsedOptions.version == SST_OPTIONS::V1994){ + pw = (alfa_blended * Density_i) * max(0.0, min(pw, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + } else { + pw = (alfa_blended * Density_i) * pw; + } - su2double pw = (alfa_blended * Density_i) * pk; /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is @@ -789,6 +833,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Implicit part ---*/ Jacobian_i[0][0] = -beta_star * ScalarVar_i[1] * Volume; + // I think should be this, + //Jacobian_i[0][0] = (1.0/zeta) -beta_star * ScalarVar_i[1] * Volume; Jacobian_i[0][1] = -beta_star * ScalarVar_i[0] * Volume; Jacobian_i[1][0] = 0.0; Jacobian_i[1][1] = -2.0 * beta_blended * ScalarVar_i[1] * Volume; diff --git a/SU2_CFD/include/variables/CTurbSSTVariable.hpp b/SU2_CFD/include/variables/CTurbSSTVariable.hpp index 53131ab55d5e..a7eed85701b3 100644 --- a/SU2_CFD/include/variables/CTurbSSTVariable.hpp +++ b/SU2_CFD/include/variables/CTurbSSTVariable.hpp @@ -70,7 +70,7 @@ class CTurbSSTVariable final : public CTurbVariable { * \param[in] val_dist - Value of the distance to the wall. * \param[in] val_density - Value of the density. */ - void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density) override; + void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density, CConfig *config) override; /*! * \brief Get the first blending function. diff --git a/SU2_CFD/include/variables/CVariable.hpp b/SU2_CFD/include/variables/CVariable.hpp index 682b5a55a74c..a8c36b30b4a0 100644 --- a/SU2_CFD/include/variables/CVariable.hpp +++ b/SU2_CFD/include/variables/CVariable.hpp @@ -1678,7 +1678,7 @@ class CVariable { * \param[in] val_density - Value of the density. * \param[in] val_dist - Value of the distance to the wall. */ - inline virtual void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density) {} + inline virtual void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density, CConfig *config) {} /*! * \brief Get the first blending function of the SST model. diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index ff15779b18ab..63b076788e0d 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -40,6 +40,7 @@ CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned sh string text_line; bool multizone = config->GetMultizone_Problem(); + SST_ParsedOptions sstParsedOptions = config->GetSSTParsedOptions(); /*--- Dimension of the problem --> dependent on the turbulence model. ---*/ @@ -103,9 +104,15 @@ CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned sh constants[5] = 0.0828; //beta_2 constants[6] = 0.09; //betaStar constants[7] = 0.31; //a1 - constants[8] = constants[4]/constants[6] - constants[2]*0.41*0.41/sqrt(constants[6]); //alfa_1 - constants[9] = constants[5]/constants[6] - constants[3]*0.41*0.41/sqrt(constants[6]); //alfa_2 + if (sstParsedOptions.version == SST_OPTIONS::V1994){ + constants[8] = constants[4]/constants[6] - constants[2]*0.41*0.41/sqrt(constants[6]); //alfa_1 + constants[9] = constants[5]/constants[6] - constants[3]*0.41*0.41/sqrt(constants[6]); //alfa_2 + } else { + /* SST-V2003 */ + constants[8] = 5.0 / 9.0; + constants[9] = 0.44; + } /*--- Initialize lower and upper limits---*/ lowerlimit[0] = 1.0e-10; upperlimit[0] = 1.0e10; @@ -193,6 +200,8 @@ void CTurbSSTSolver::Preprocessing(CGeometry *geometry, CSolver **solver_contain void CTurbSSTSolver::Postprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh) { + SST_ParsedOptions sstParsedOptions = config->GetSSTParsedOptions(); + const su2double a1 = constants[7]; /*--- Compute turbulence gradients. ---*/ @@ -220,8 +229,8 @@ void CTurbSSTSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai su2double VorticityMag = GeometryToolbox::Norm(3, flowNodes->GetVorticity(iPoint)); VorticityMag = max(VorticityMag, 1e-12); // safety against division by zero - - nodes->SetBlendingFunc(iPoint, mu, dist, rho); + su2double StrainMag = max(nodes->GetStrainMag(iPoint), 1e-12); + nodes->SetBlendingFunc(iPoint, mu, dist, rho, config); su2double F2 = nodes->GetF2blending(iPoint); @@ -229,8 +238,17 @@ void CTurbSSTSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai su2double kine = nodes->GetSolution(iPoint,0); su2double omega = nodes->GetSolution(iPoint,1); - su2double zeta = min(1.0/omega, a1/(VorticityMag*F2)); - su2double muT = max(rho*kine*zeta,0.0); + + su2double P_Base; + + if (sstParsedOptions.version == SST_OPTIONS::V1994){ + P_Base = VorticityMag; + } else { + P_Base = StrainMag; + } + + su2double zeta = max(omega, (P_Base*F2)/a1); + su2double muT = max(rho*kine/zeta,0.0); nodes->SetmuT(iPoint,muT); diff --git a/SU2_CFD/src/variables/CTurbSSTVariable.cpp b/SU2_CFD/src/variables/CTurbSSTVariable.cpp index 40b2a078dcd3..124006b2afeb 100644 --- a/SU2_CFD/src/variables/CTurbSSTVariable.cpp +++ b/SU2_CFD/src/variables/CTurbSSTVariable.cpp @@ -51,8 +51,9 @@ CTurbSSTVariable::CTurbSSTVariable(su2double kine, su2double omega, su2double mu } void CTurbSSTVariable::SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, - su2double val_dist, su2double val_density) { + su2double val_dist, su2double val_density, CConfig *config) { su2double arg2, arg2A, arg2B, arg1; + SST_ParsedOptions sstParsedOptions = config->GetSSTParsedOptions(); AD::StartPreacc(); AD::SetPreaccIn(val_viscosity); AD::SetPreaccIn(val_dist); @@ -66,7 +67,15 @@ void CTurbSSTVariable::SetBlendingFunc(unsigned long iPoint, su2double val_visco for (unsigned long iDim = 0; iDim < nDim; iDim++) CDkw(iPoint) += Gradient(iPoint,0,iDim)*Gradient(iPoint,1,iDim); CDkw(iPoint) *= 2.0*val_density*sigma_om2/Solution(iPoint,1); - CDkw(iPoint) = max(CDkw(iPoint), pow(10.0, -20.0)); + if (sstParsedOptions.version == SST_OPTIONS::V1994){ + cout << "parsed option in cturbsstvariable: sst-v1994" << endl; + CDkw(iPoint) = max(CDkw(iPoint), pow(10.0, -20.0)); + } else { + /* SST-2003 */ + cout << "parsed option in cturbsstvariable: sst-v2003" << endl; + + CDkw(iPoint) = max(CDkw(iPoint), pow(10.0, -10.0)); + } /*--- F1 ---*/ From 5300b3cad075d7fa074a92b8f22b3996f27922d6 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Wed, 30 Mar 2022 13:51:33 -0700 Subject: [PATCH 009/110] some cleanup and parsed option corrections --- Common/include/CConfig.hpp | 128 +++++++++--------- Common/src/CConfig.cpp | 22 +-- .../include/numerics/flow/flow_diffusion.hpp | 3 + .../numerics/turbulent/turb_sources.hpp | 15 +- SU2_CFD/src/numerics/CNumerics.cpp | 3 - SU2_CFD/src/numerics/flow/flow_diffusion.cpp | 8 +- 6 files changed, 80 insertions(+), 99 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index f7afc9cc5b46..dbf526d605d3 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -1139,7 +1139,6 @@ class CConfig { nHistoryOutput, nVolumeOutput; /*!< \brief Number of variables printed to the history file. */ bool Multizone_Residual; /*!< \brief Determines if memory should be allocated for the multizone residual. */ - bool using_uq; /*!< \brief Using uncertainty quantification with SST model */ su2double uq_delta_b; /*!< \brief Parameter used to perturb eigenvalues of Reynolds Stress Matrix */ unsigned short eig_val_comp; /*!< \brief Parameter used to determine type of eigenvalue perturbation */ su2double uq_urlx; /*!< \brief Under-relaxation factor */ @@ -8978,12 +8977,6 @@ class CConfig { */ bool GetPrintInlet_InterpolatedData(void) const { return PrintInlet_InterpolatedData; } - /*! - * \brief Get information about using UQ methodology - * \return TRUE means that UQ methodology of eigenspace perturbation will be used - */ - bool GetUsing_UQ(void) const { return using_uq; } - /*! * \brief Get the amount of eigenvalue perturbation to be done * \return Value of the uq_delta_b parameter @@ -9620,74 +9613,77 @@ class CConfig { */ unsigned short GetKind_Grad_Linear_Solver_Prec(void) const { return Kind_Grad_Linear_Solver_Prec; } - /*! + /*! * \brief Get max number of iterations of the for the gradient smoothing. * \return Max number of iterations of the linear solver for the gradient smoothing. */ unsigned long GetGrad_Linear_Solver_Iter(void) const { return Grad_Linear_Solver_Iter; } + /*! + * \brief Get parsed SST option data structure. + * \return SST option data structure. + */ SST_ParsedOptions GetSSTParsedOptions(void) const {return sstParsedOptions; } -/*! - * \brief function to parse SST options. - * \param[in] SST_Options - Selected SST option from config. - * \param[in] nSST_Options - Number of options selected. - */ -SST_ParsedOptions ParseSSTOptions(const SST_OPTIONS* SST_Options, unsigned short nSST_Options){ - SST_ParsedOptions SSTParsedOptions; - const auto sst_options_end = SST_Options + nSST_Options; - - const bool sst_1994 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994) != sst_options_end; - const bool sst_2003 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003) != sst_options_end; - const bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::MODIFIED) != sst_options_end; - const bool sst_sust = std::find(SST_Options, sst_options_end, SST_OPTIONS::SUST) != sst_options_end; - const bool sst_v = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; - const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; - const bool sst_uq = std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end; - const bool sst_rc = std::find(SST_Options, sst_options_end, SST_OPTIONS::RC) != sst_options_end; - - // Parse base version - if (sst_1994 && sst_2003) { - SU2_MPI::Error("Two versions (1994 and 2003) selected for SST Options. Please choose only one.", CURRENT_FUNCTION); - } else if (sst_2003) { - SSTParsedOptions.version = SST_OPTIONS::V2003; - SSTParsedOptions.sst_string += "-2003"; - } else if (sst_1994){ - SSTParsedOptions.version = SST_OPTIONS::V1994; - SSTParsedOptions.sst_string += "-1994"; - } else { - - /* use the most recent model as the default*/ - cout << "SST_OPTIONS not found! using default SST-V2003" << endl; - SSTParsedOptions.version = SST_OPTIONS::V2003; - SSTParsedOptions.sst_string += "-2003"; - } - - // Parse production modifications - if ((sst_v + sst_kl + sst_uq) > 1) { - SU2_MPI::Error("Please select only one SST production term modifier (V, KL, UQ).", CURRENT_FUNCTION); - } else if (sst_v) { - SSTParsedOptions.production = SST_OPTIONS::VORTICITY; - SSTParsedOptions.sst_string += "-V"; - } else if (sst_kl) { - SSTParsedOptions.production = SST_OPTIONS::KL; - SSTParsedOptions.sst_string += "-KL"; - } else if (sst_uq) { - SSTParsedOptions.production = SST_OPTIONS::UNCERTAINTY; - SSTParsedOptions.sst_string += "-UQ"; - } - // Parse boolean options - SSTParsedOptions.sust = sst_sust; - SSTParsedOptions.rc = sst_rc; - SSTParsedOptions.m = sst_m; + /*! + * \brief function to parse SST options. + * \param[in] SST_Options - Selected SST option from config. + * \param[in] nSST_Options - Number of options selected. + */ + SST_ParsedOptions ParseSSTOptions(const SST_OPTIONS* SST_Options, unsigned short nSST_Options){ + SST_ParsedOptions SSTParsedOptions; + const auto sst_options_end = SST_Options + nSST_Options; + + const bool sst_1994 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994) != sst_options_end; + const bool sst_2003 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003) != sst_options_end; + const bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::MODIFIED) != sst_options_end; + const bool sst_sust = std::find(SST_Options, sst_options_end, SST_OPTIONS::SUST) != sst_options_end; + const bool sst_v = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; + const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; + const bool sst_uq = std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end; + const bool sst_rc = std::find(SST_Options, sst_options_end, SST_OPTIONS::RC) != sst_options_end; + + // Parse base version + if (sst_1994 && sst_2003) { + SU2_MPI::Error("Two versions (1994 and 2003) selected for SST Options. Please choose only one.", CURRENT_FUNCTION); + } else if (sst_2003) { + SSTParsedOptions.version = SST_OPTIONS::V2003; + SSTParsedOptions.sst_string += "-2003"; + } else if (sst_1994){ + SSTParsedOptions.version = SST_OPTIONS::V1994; + SSTParsedOptions.sst_string += "-1994"; + } else { + + /* use the most recent model as the default*/ + cout << "SST_OPTIONS not found! using default SST-V2003" << endl; + SSTParsedOptions.version = SST_OPTIONS::V2003; + SSTParsedOptions.sst_string += "-2003"; + } - if (sst_sust) SSTParsedOptions.sst_string += "-sust"; - if (sst_rc) SSTParsedOptions.sst_string += "-RC"; - if (sst_m) SSTParsedOptions.sst_string += "-m"; + // Parse production modifications + if ((sst_v + sst_kl + sst_uq) > 1) { + SU2_MPI::Error("Please select only one SST production term modifier (V, KL, UQ).", CURRENT_FUNCTION); + } else if (sst_v) { + SSTParsedOptions.production = SST_OPTIONS::VORTICITY; + SSTParsedOptions.sst_string += "-V"; + } else if (sst_kl) { + SSTParsedOptions.production = SST_OPTIONS::KL; + SSTParsedOptions.sst_string += "-KL"; + } else if (sst_uq) { + SSTParsedOptions.production = SST_OPTIONS::UNCERTAINTY; + SSTParsedOptions.sst_string += "-UQ"; + } + // Parse boolean options + SSTParsedOptions.sust = sst_sust; + SSTParsedOptions.rc = sst_rc; + SSTParsedOptions.m = sst_m; - cout << "SST model: " << SSTParsedOptions.sst_string << endl; - return SSTParsedOptions; -} + if (sst_sust) SSTParsedOptions.sst_string += "-sust"; + if (sst_rc) SSTParsedOptions.sst_string += "-RC"; + if (sst_m) SSTParsedOptions.sst_string += "-m"; + cout << "SST model: " << SSTParsedOptions.sst_string << endl; + return SSTParsedOptions; + } }; diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index f62bc8c88f04..303c8bda86bf 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -2837,9 +2837,6 @@ void CConfig::SetConfig_Options() { /* DESCRIPTION: Volume solution files */ addEnumListOption("OUTPUT_FILES", nVolumeOutputFiles, VolumeOutputFiles, Output_Map); - /* DESCRIPTION: Using Uncertainty Quantification with SST Turbulence Model */ - addBoolOption("USING_UQ", using_uq, false); - /* DESCRIPTION: Parameter to perturb eigenvalues */ addDoubleOption("UQ_DELTA_B", uq_delta_b, 1.0); @@ -4658,7 +4655,6 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i CFL[iCFL] = Unst_CFL; } - /*--- If it is a fixed mode problem, then we will add Iter_dCL_dAlpha iterations to evaluate the derivatives with respect to a change in the AoA and CL ---*/ @@ -4670,18 +4666,6 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i Finite_Difference_Mode = false; - /* --- Throw error if UQ used for any turbulence model other that SST --- */ - //TODO: Move this to the postprocessing of SST options - //if (Kind_Solver == MAIN_SOLVER::RANS && Kind_Turb_Model != TURB_MODEL::SST && using_uq){ - // SU2_MPI::Error("UQ capabilities only implemented for NAVIER_STOKES solver SST turbulence model", CURRENT_FUNCTION); - //} - - /* --- Throw error if invalid componentiality used --- */ - - if (using_uq && (eig_val_comp > 3 || eig_val_comp < 1)){ - SU2_MPI::Error("Componentality should be either 1, 2, or 3!", CURRENT_FUNCTION); - } - /*--- If there are not design variables defined in the file ---*/ if (nDV == 0) { @@ -5208,6 +5192,12 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i /*--- Postprocess SST_OPTIONS into structure. ---*/ sstParsedOptions = ParseSSTOptions(SST_Options, nSST_Options); + /* --- Throw error if invalid componentiality used --- */ + + if (sstParsedOptions.production == SST_OPTIONS::UNCERTAINTY && (eig_val_comp > 3 || eig_val_comp < 1)){ + SU2_MPI::Error("Componentality should be either 1, 2, or 3!", CURRENT_FUNCTION); + } + /*--- Checks for additional species transport. ---*/ if (Kind_Species_Model != SPECIES_MODEL::NONE) { if (Kind_Solver != MAIN_SOLVER::INC_NAVIER_STOKES && diff --git a/SU2_CFD/include/numerics/flow/flow_diffusion.hpp b/SU2_CFD/include/numerics/flow/flow_diffusion.hpp index c3769f86c8d2..150b01e5e720 100644 --- a/SU2_CFD/include/numerics/flow/flow_diffusion.hpp +++ b/SU2_CFD/include/numerics/flow/flow_diffusion.hpp @@ -67,6 +67,9 @@ class CAvgGrad_Base : public CNumerics { su2double** Jacobian_i = nullptr; /*!< \brief The Jacobian w.r.t. point i after computation. */ su2double** Jacobian_j = nullptr; /*!< \brief The Jacobian w.r.t. point j after computation. */ + /*--- If uq is necessary ---*/ + SST_ParsedOptions sstParsedOptions = config->GetSSTParsedOptions(); + /*! * \brief Scale the stress tensor using a predefined wall stress. * diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 6fefba95278c..6697db002be1 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -559,11 +559,7 @@ template class CSourcePieceWise_TurbSST final : public CNumerics { private: const FlowIndices idx; /*!< \brief Object to manage the access to the flow primitives. */ - const bool sustaining_terms = false; //TODO const bool axisymmetric = false; - bool vorticity_source = false; //TODO - bool kato_launder = false; //TODO - bool rotate_curve_corrections = false; //TODO /*--- Closure constants ---*/ const su2double sigma_k_1, sigma_k_2, sigma_w_1, sigma_w_2, beta_1, beta_2, beta_star, a1, alfa_1, alfa_2; @@ -640,7 +636,6 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double val_omega_Inf, const CConfig* config) : CNumerics(val_nDim, 2, config), idx(val_nDim, config->GetnSpecies()), - sustaining_terms(false), //TODO this is temporary axisymmetric(config->GetAxisymmetric()), sigma_k_1(constants[0]), sigma_k_2(constants[1]), @@ -739,15 +734,15 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Modifications of SST production terms (uq, V, KL) --*/ /* --------------------------- */ - if (using_uq) { + if (sstParsedOptions.production == SST_OPTIONS::UNCERTAINTY) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); P_Base = PerturbedStrainMag(ScalarVar_i[0]); - } else if (vorticity_source) { + } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { P_Base = VorticityMag; - } else if (kato_launder) { + } else if (sstParsedOptions.production == SST_OPTIONS::KL) { P_Base = sqrt(StrainMag_i*VorticityMag); } /* ------------------------------ */ @@ -798,7 +793,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { lead to problems for very big values of the free-stream turbulence intensity. ---*/ - if (sustaining_terms) { + if (sstParsedOptions.sust) { const su2double sust_k = beta_star * Density_i * kAmb * omegaAmb; const su2double sust_w = beta_blended * Density_i * omegaAmb * omegaAmb; pk = max(pk, sust_k); @@ -806,7 +801,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { } /*--- Rotation/ Curvature Corrections ---*/ - if (rotate_curve_corrections){ + if (sstParsedOptions.rc){ //TODO multiply the Ps by some fun stuff that I dont want to implement at the moment. } diff --git a/SU2_CFD/src/numerics/CNumerics.cpp b/SU2_CFD/src/numerics/CNumerics.cpp index 589fc411dc25..023bdc31fadf 100644 --- a/SU2_CFD/src/numerics/CNumerics.cpp +++ b/SU2_CFD/src/numerics/CNumerics.cpp @@ -37,8 +37,6 @@ CNumerics::CNumerics(void) { tau = nullptr; - using_uq = false; - nemo = false; } @@ -69,7 +67,6 @@ CNumerics::CNumerics(unsigned short val_nDim, unsigned short val_nVar, Dissipation_ij = 1.0; /* --- Initializing variables for the UQ methodology --- */ - using_uq = config->GetUsing_UQ(); Eig_Val_Comp = config->GetEig_Val_Comp(); uq_delta_b = config->GetUQ_Delta_B(); uq_urlx = config->GetUQ_URLX(); diff --git a/SU2_CFD/src/numerics/flow/flow_diffusion.cpp b/SU2_CFD/src/numerics/flow/flow_diffusion.cpp index dc9a68d9082e..7b148a5ca2e4 100644 --- a/SU2_CFD/src/numerics/flow/flow_diffusion.cpp +++ b/SU2_CFD/src/numerics/flow/flow_diffusion.cpp @@ -130,7 +130,7 @@ void CAvgGrad_Base::SetStressTensor(const su2double *val_primvar, * for the turbulent part of tau. Otherwise both the laminar and turbulent * parts of tau can be computed with the total viscosity. --- */ - if (using_uq){ + if (sstParsedOptions.production==SST_OPTIONS::UNCERTAINTY){ // laminar part ComputeStressTensor(nDim, tau, val_gradprimvar+1, val_laminar_viscosity); // add turbulent part which was perturbed @@ -426,7 +426,7 @@ CNumerics::ResidualType<> CAvgGrad_Flow::ComputeResidual(const CConfig* config) /*--- If using UQ methodology, set Reynolds Stress tensor and perform perturbation ---*/ - if (using_uq){ + if (sstParsedOptions.production==SST_OPTIONS::UNCERTAINTY){ ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, Mean_GradPrimVar+1, Mean_PrimVar[nDim+2], Mean_Eddy_Viscosity, Mean_turb_ke, MeanPerturbedRSM); @@ -611,7 +611,7 @@ CNumerics::ResidualType<> CAvgGradInc_Flow::ComputeResidual(const CConfig* confi /*--- If using UQ methodology, set Reynolds Stress tensor and perform perturbation ---*/ - if (using_uq){ + if (sstParsedOptions.production==SST_OPTIONS::UNCERTAINTY){ ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, Mean_GradPrimVar+1, Mean_PrimVar[nDim+2], Mean_Eddy_Viscosity, Mean_turb_ke, MeanPerturbedRSM); @@ -941,7 +941,7 @@ CNumerics::ResidualType<> CGeneralAvgGrad_Flow::ComputeResidual(const CConfig* c /*--- If using UQ methodology, set Reynolds Stress tensor and perform perturbation ---*/ - if (using_uq){ + if (sstParsedOptions.production==SST_OPTIONS::UNCERTAINTY){ ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, Mean_GradPrimVar+1, Mean_PrimVar[nDim+2], Mean_Eddy_Viscosity, Mean_turb_ke, MeanPerturbedRSM); From f55c8f4036d52abc5b6ef911120c542c475a55ed Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Wed, 30 Mar 2022 15:38:00 -0700 Subject: [PATCH 010/110] should compile now --- Common/include/CConfig.hpp | 7 +++++++ Common/src/CConfig.cpp | 5 ++++- SU2_CFD/include/numerics/flow/flow_diffusion.hpp | 3 --- SU2_CFD/src/numerics/CNumerics.cpp | 3 +++ SU2_CFD/src/numerics/flow/flow_diffusion.cpp | 8 ++++---- 5 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index dbf526d605d3..ef8ef805ced1 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -1139,6 +1139,7 @@ class CConfig { nHistoryOutput, nVolumeOutput; /*!< \brief Number of variables printed to the history file. */ bool Multizone_Residual; /*!< \brief Determines if memory should be allocated for the multizone residual. */ + bool using_uq; /*!< \brief Using uncertainty quantification with SST model */ su2double uq_delta_b; /*!< \brief Parameter used to perturb eigenvalues of Reynolds Stress Matrix */ unsigned short eig_val_comp; /*!< \brief Parameter used to determine type of eigenvalue perturbation */ su2double uq_urlx; /*!< \brief Under-relaxation factor */ @@ -8977,6 +8978,12 @@ class CConfig { */ bool GetPrintInlet_InterpolatedData(void) const { return PrintInlet_InterpolatedData; } + /*! + * \brief Get information about using UQ methodology + * \return TRUE means that UQ methodology of eigenspace perturbation will be used + */ + bool GetUsing_UQ(void) const { return using_uq; } + /*! * \brief Get the amount of eigenvalue perturbation to be done * \return Value of the uq_delta_b parameter diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 303c8bda86bf..b4452efb3d92 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -5192,9 +5192,12 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i /*--- Postprocess SST_OPTIONS into structure. ---*/ sstParsedOptions = ParseSSTOptions(SST_Options, nSST_Options); + /*--- Set sst uq boolean. ---*/ + using_uq = sstParsedOptions.production == SST_OPTIONS::UNCERTAINTY; + /* --- Throw error if invalid componentiality used --- */ - if (sstParsedOptions.production == SST_OPTIONS::UNCERTAINTY && (eig_val_comp > 3 || eig_val_comp < 1)){ + if (using_uq && (eig_val_comp > 3 || eig_val_comp < 1)){ SU2_MPI::Error("Componentality should be either 1, 2, or 3!", CURRENT_FUNCTION); } diff --git a/SU2_CFD/include/numerics/flow/flow_diffusion.hpp b/SU2_CFD/include/numerics/flow/flow_diffusion.hpp index 150b01e5e720..c3769f86c8d2 100644 --- a/SU2_CFD/include/numerics/flow/flow_diffusion.hpp +++ b/SU2_CFD/include/numerics/flow/flow_diffusion.hpp @@ -67,9 +67,6 @@ class CAvgGrad_Base : public CNumerics { su2double** Jacobian_i = nullptr; /*!< \brief The Jacobian w.r.t. point i after computation. */ su2double** Jacobian_j = nullptr; /*!< \brief The Jacobian w.r.t. point j after computation. */ - /*--- If uq is necessary ---*/ - SST_ParsedOptions sstParsedOptions = config->GetSSTParsedOptions(); - /*! * \brief Scale the stress tensor using a predefined wall stress. * diff --git a/SU2_CFD/src/numerics/CNumerics.cpp b/SU2_CFD/src/numerics/CNumerics.cpp index 023bdc31fadf..589fc411dc25 100644 --- a/SU2_CFD/src/numerics/CNumerics.cpp +++ b/SU2_CFD/src/numerics/CNumerics.cpp @@ -37,6 +37,8 @@ CNumerics::CNumerics(void) { tau = nullptr; + using_uq = false; + nemo = false; } @@ -67,6 +69,7 @@ CNumerics::CNumerics(unsigned short val_nDim, unsigned short val_nVar, Dissipation_ij = 1.0; /* --- Initializing variables for the UQ methodology --- */ + using_uq = config->GetUsing_UQ(); Eig_Val_Comp = config->GetEig_Val_Comp(); uq_delta_b = config->GetUQ_Delta_B(); uq_urlx = config->GetUQ_URLX(); diff --git a/SU2_CFD/src/numerics/flow/flow_diffusion.cpp b/SU2_CFD/src/numerics/flow/flow_diffusion.cpp index 7b148a5ca2e4..dc9a68d9082e 100644 --- a/SU2_CFD/src/numerics/flow/flow_diffusion.cpp +++ b/SU2_CFD/src/numerics/flow/flow_diffusion.cpp @@ -130,7 +130,7 @@ void CAvgGrad_Base::SetStressTensor(const su2double *val_primvar, * for the turbulent part of tau. Otherwise both the laminar and turbulent * parts of tau can be computed with the total viscosity. --- */ - if (sstParsedOptions.production==SST_OPTIONS::UNCERTAINTY){ + if (using_uq){ // laminar part ComputeStressTensor(nDim, tau, val_gradprimvar+1, val_laminar_viscosity); // add turbulent part which was perturbed @@ -426,7 +426,7 @@ CNumerics::ResidualType<> CAvgGrad_Flow::ComputeResidual(const CConfig* config) /*--- If using UQ methodology, set Reynolds Stress tensor and perform perturbation ---*/ - if (sstParsedOptions.production==SST_OPTIONS::UNCERTAINTY){ + if (using_uq){ ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, Mean_GradPrimVar+1, Mean_PrimVar[nDim+2], Mean_Eddy_Viscosity, Mean_turb_ke, MeanPerturbedRSM); @@ -611,7 +611,7 @@ CNumerics::ResidualType<> CAvgGradInc_Flow::ComputeResidual(const CConfig* confi /*--- If using UQ methodology, set Reynolds Stress tensor and perform perturbation ---*/ - if (sstParsedOptions.production==SST_OPTIONS::UNCERTAINTY){ + if (using_uq){ ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, Mean_GradPrimVar+1, Mean_PrimVar[nDim+2], Mean_Eddy_Viscosity, Mean_turb_ke, MeanPerturbedRSM); @@ -941,7 +941,7 @@ CNumerics::ResidualType<> CGeneralAvgGrad_Flow::ComputeResidual(const CConfig* c /*--- If using UQ methodology, set Reynolds Stress tensor and perform perturbation ---*/ - if (sstParsedOptions.production==SST_OPTIONS::UNCERTAINTY){ + if (using_uq){ ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, Mean_GradPrimVar+1, Mean_PrimVar[nDim+2], Mean_Eddy_Viscosity, Mean_turb_ke, MeanPerturbedRSM); From 9118ec07d421cf73924ffd616d5ca680199e5da1 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Wed, 30 Mar 2022 20:44:13 -0700 Subject: [PATCH 011/110] Small fixes, seems to be working --- Common/include/CConfig.hpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index ef8ef805ced1..cc59144bcc7e 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -9646,7 +9646,7 @@ class CConfig { const bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::MODIFIED) != sst_options_end; const bool sst_sust = std::find(SST_Options, sst_options_end, SST_OPTIONS::SUST) != sst_options_end; const bool sst_v = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; - const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; + const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::KL) != sst_options_end; const bool sst_uq = std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end; const bool sst_rc = std::find(SST_Options, sst_options_end, SST_OPTIONS::RC) != sst_options_end; @@ -9690,7 +9690,6 @@ class CConfig { if (sst_rc) SSTParsedOptions.sst_string += "-RC"; if (sst_m) SSTParsedOptions.sst_string += "-m"; - cout << "SST model: " << SSTParsedOptions.sst_string << endl; return SSTParsedOptions; } }; From 76538874b5b8d1af35a4da3c821412c41fd5f949 Mon Sep 17 00:00:00 2001 From: Nijso Date: Thu, 31 Mar 2022 18:27:00 +0200 Subject: [PATCH 012/110] Update Common/src/CConfig.cpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- Common/src/CConfig.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 43cebfb24097..c96888546782 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -835,10 +835,6 @@ void CConfig::SetPointersNull(void) { Config_Filenames = nullptr; - /*--- Turbulence option pointers ---*/ - - SST_Options = nullptr; - /*--- Marker Pointers ---*/ Marker_Euler = nullptr; Marker_FarField = nullptr; Marker_Custom = nullptr; From 9178a35cca0782484be08feb948b2a94dba6269e Mon Sep 17 00:00:00 2001 From: Nijso Date: Thu, 31 Mar 2022 18:27:46 +0200 Subject: [PATCH 013/110] Update Common/src/CConfig.cpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- Common/src/CConfig.cpp | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index c96888546782..555b768accc6 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -7733,25 +7733,7 @@ CConfig::~CConfig() { delete[] Marker_CfgFile_SobolevBC; delete[] Marker_All_SobolevBC; - delete[] Config_Filenames; - - delete[] SST_Options; - - if (IntInfo_WallFunctions != nullptr) { - for (iMarker = 0; iMarker < nMarker_WallFunctions; ++iMarker) { - if (IntInfo_WallFunctions[iMarker] != nullptr) - delete[] IntInfo_WallFunctions[iMarker]; - } - delete[] IntInfo_WallFunctions; - } - - if (DoubleInfo_WallFunctions != nullptr) { - for (iMarker = 0; iMarker < nMarker_WallFunctions; ++iMarker) { - if (DoubleInfo_WallFunctions[iMarker] != nullptr) - delete[] DoubleInfo_WallFunctions[iMarker]; - } - delete[] DoubleInfo_WallFunctions; - } + delete[] Marker_All_SendRecv; delete[] Kind_Wall; From aad365e1d413fca4682c3f894c5dce25dabfcc64 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sun, 3 Apr 2022 16:14:36 +0200 Subject: [PATCH 014/110] add productionlimiter to constants --- Common/include/CConfig.hpp | 41 +++++++++++-------- Common/include/option_structure.hpp | 6 +-- Common/src/CConfig.cpp | 2 +- .../numerics/turbulent/turb_sources.hpp | 5 +-- SU2_CFD/include/solvers/CTurbSSTSolver.hpp | 4 +- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 3 ++ config_template.cfg | 2 +- 7 files changed, 36 insertions(+), 27 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 7e27b890651b..63cb2145f864 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -9641,30 +9641,37 @@ class CConfig { SST_ParsedOptions SSTParsedOptions; const auto sst_options_end = SST_Options + nSST_Options; - const bool sst_1994 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994) != sst_options_end; + const bool sst_1994 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994) != sst_options_end; const bool sst_2003 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003) != sst_options_end; - const bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::MODIFIED) != sst_options_end; - const bool sst_sust = std::find(SST_Options, sst_options_end, SST_OPTIONS::SUST) != sst_options_end; - const bool sst_v = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; - const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::KL) != sst_options_end; - const bool sst_uq = std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end; - const bool sst_rc = std::find(SST_Options, sst_options_end, SST_OPTIONS::RC) != sst_options_end; + /* when V2003 is selected, we automatically select sst_m as well */ + const bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::MODIFIED) != sst_options_end || sst_2003; + const bool sst_sust = std::find(SST_Options, sst_options_end, SST_OPTIONS::SUST) != sst_options_end; + const bool sst_v = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; + const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::KL) != sst_options_end; + const bool sst_uq = std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end; + const bool sst_rc = std::find(SST_Options, sst_options_end, SST_OPTIONS::RC) != sst_options_end; // Parse base version if (sst_1994 && sst_2003) { - SU2_MPI::Error("Two versions (1994 and 2003) selected for SST Options. Please choose only one.", CURRENT_FUNCTION); + SU2_MPI::Error("Two versions (1994 and 2003m) selected for SST Options. Please choose only one.", CURRENT_FUNCTION); } else if (sst_2003) { + /*--- sst-2003m model is sst2003 + sstm ---*/ + SSTParsedOptions.version = SST_OPTIONS::V2003; - SSTParsedOptions.sst_string += "-2003"; + //SSTParsedOptions.sst_string += "-2003"; } else if (sst_1994){ + /* --- Add warning to switch to SST-2003m --- */ + cout << "warning: the current SST-1994 model is inconsistent with literature. We recommend to use the SST-2003m model." << endl; + cout << "In the future, the 2003m model will become the default SST model. " << endl; + SSTParsedOptions.version = SST_OPTIONS::V1994; - SSTParsedOptions.sst_string += "-1994"; + //SSTParsedOptions.sst_string += "-1994"; } else { /* use the most recent model as the default*/ cout << "SST_OPTIONS not found! using default SST-V2003" << endl; SSTParsedOptions.version = SST_OPTIONS::V2003; - SSTParsedOptions.sst_string += "-2003"; + //SSTParsedOptions.sst_string += "-2003"; } // Parse production modifications @@ -9672,13 +9679,13 @@ class CConfig { SU2_MPI::Error("Please select only one SST production term modifier (V, KL, UQ).", CURRENT_FUNCTION); } else if (sst_v) { SSTParsedOptions.production = SST_OPTIONS::VORTICITY; - SSTParsedOptions.sst_string += "-V"; + //SSTParsedOptions.sst_string += "-V"; } else if (sst_kl) { SSTParsedOptions.production = SST_OPTIONS::KL; - SSTParsedOptions.sst_string += "-KL"; + //SSTParsedOptions.sst_string += "-KL"; } else if (sst_uq) { SSTParsedOptions.production = SST_OPTIONS::UNCERTAINTY; - SSTParsedOptions.sst_string += "-UQ"; + //SSTParsedOptions.sst_string += "-UQ"; } // Parse boolean options @@ -9686,9 +9693,9 @@ class CConfig { SSTParsedOptions.rc = sst_rc; SSTParsedOptions.m = sst_m; - if (sst_sust) SSTParsedOptions.sst_string += "-sust"; - if (sst_rc) SSTParsedOptions.sst_string += "-RC"; - if (sst_m) SSTParsedOptions.sst_string += "-m"; + //if (sst_sust) SSTParsedOptions.sst_string += "-sust"; + //if (sst_rc) SSTParsedOptions.sst_string += "-RC"; + //if (sst_m) SSTParsedOptions.sst_string += "-m"; return SSTParsedOptions; } diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 7842c73daab1..6f0519b025fa 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -972,8 +972,8 @@ enum class SST_OPTIONS { static const MapType SST_Options_Map = { MakePair("NONE", SST_OPTIONS::NONE) MakePair("V1994", SST_OPTIONS::V1994) - MakePair("V2003", SST_OPTIONS::V2003) - MakePair("MODIFIED", SST_OPTIONS::MODIFIED) + MakePair("V2003m", SST_OPTIONS::V2003) + //MakePair("MODIFIED", SST_OPTIONS::MODIFIED) MakePair("SUSTAINED", SST_OPTIONS::SUST) MakePair("VORTICITY", SST_OPTIONS::VORTICITY) MakePair("KATO-LAUNDER", SST_OPTIONS::KL) @@ -985,7 +985,7 @@ static const MapType SST_Options_Map = { * \brief Structure containing parsed SST options. */ struct SST_ParsedOptions { - std::string sst_string = "Menter's k-w SST"; /*!< \brief Initial string for SST problems. */ + //std::string sst_string = "Menter's k-w SST"; /*!< \brief Initial string for SST problems. */ SST_OPTIONS version; /*!< \brief Enum SST base model. */ SST_OPTIONS production; /*!< \brief Enum for production corrections/modifiers for SST model. */ diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 555b768accc6..e81c75962470 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -5862,7 +5862,7 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { case TURB_MODEL::SA_E: cout << "Edwards Spalart Allmaras" << endl; break; case TURB_MODEL::SA_COMP: cout << "Compressibility Correction Spalart Allmaras" << endl; break; case TURB_MODEL::SA_E_COMP: cout << "Compressibility Correction Edwards Spalart Allmaras" << endl; break; - case TURB_MODEL::SST: cout << sstParsedOptions.sst_string << endl; break; + //case TURB_MODEL::SST: cout << sstParsedOptions.sst_string << endl; break; } if (QCR) cout << "Using Quadratic Constitutive Relation, 2000 version (QCR2000)" << endl; if (Kind_Trans_Model == TURB_TRANS_MODEL::BC) cout << "Using the revised BC transition model (2020)" << endl; diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 6697db002be1..d919a7e454ef 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -562,7 +562,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { const bool axisymmetric = false; /*--- Closure constants ---*/ - const su2double sigma_k_1, sigma_k_2, sigma_w_1, sigma_w_2, beta_1, beta_2, beta_star, a1, alfa_1, alfa_2; + const su2double sigma_k_1, sigma_k_2, sigma_w_1, sigma_w_2, beta_1, beta_2, beta_star, a1, alfa_1, alfa_2, ProdLimConstant; /*--- Ambient values for SST-SUST. ---*/ const su2double kAmb, omegaAmb; @@ -647,6 +647,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { a1(constants[7]), alfa_1(constants[8]), alfa_2(constants[9]), + ProdLimConstant(constants[10]) kAmb(val_kine_Inf), omegaAmb(val_omega_Inf) { /*--- "Allocate" the Jacobian using the static buffer. ---*/ @@ -750,13 +751,11 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /* SST-1994 */ if (sstParsedOptions.version == SST_OPTIONS::V1994){ - ProdLimConstant = 20.0; P_Base = VorticityMag; /* mut = rho*k/max(w,Omega*F_2/a1) = rho*k/zeta */ } else { /* SST-2003 */ - ProdLimConstant = 10.0; P_Base = StrainMag_i; /* mut = rho*k/max(w,S*F_2/a1) = rho*k/zeta */ } diff --git a/SU2_CFD/include/solvers/CTurbSSTSolver.hpp b/SU2_CFD/include/solvers/CTurbSSTSolver.hpp index c5e65cb532e7..5cffd2c6a686 100644 --- a/SU2_CFD/include/solvers/CTurbSSTSolver.hpp +++ b/SU2_CFD/include/solvers/CTurbSSTSolver.hpp @@ -37,8 +37,8 @@ */ class CTurbSSTSolver final : public CTurbSolver { private: - su2double constants[10] = {0.0}; /*!< \brief Constants for the model. */ - + su2double constants[11] = {0.0}; /*!< \brief Constants for the model. */ + /*! * \brief Compute nu tilde from the wall functions. * \param[in] geometry - Geometrical definition of the problem. diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index 904cd429323d..fc33458701a3 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -108,10 +108,12 @@ CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned sh if (sstParsedOptions.version == SST_OPTIONS::V1994){ constants[8] = constants[4]/constants[6] - constants[2]*0.41*0.41/sqrt(constants[6]); //alfa_1 constants[9] = constants[5]/constants[6] - constants[3]*0.41*0.41/sqrt(constants[6]); //alfa_2 + constants[10] =20.0; // production limiter constant } else { /* SST-V2003 */ constants[8] = 5.0 / 9.0; constants[9] = 0.44; + constants[10] =10.0; // production limiter constant } /*--- Initialize lower and upper limits---*/ lowerlimit[0] = 1.0e-10; @@ -120,6 +122,7 @@ CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned sh lowerlimit[1] = 1.0e-4; upperlimit[1] = 1.0e15; + /*--- Far-field flow state quantities and initialization. ---*/ su2double rhoInf, *VelInf, muLamInf, Intensity, viscRatio, muT_Inf; diff --git a/config_template.cfg b/config_template.cfg index 0a982604beb0..0af603f9765c 100644 --- a/config_template.cfg +++ b/config_template.cfg @@ -21,7 +21,7 @@ SOLVER= EULER % Specify turbulence model (NONE, SA, SA_NEG, SST, SA_E, SA_COMP, SA_E_COMP) KIND_TURB_MODEL= NONE % -% Specify verisons/corrections to SST model (NONE, V2003, VORTICITY, MODIFIED, KATO_LAUNDER, +% Specify versions/corrections to SST model (NONE, V2003, VORTICITY, MODIFIED, KATO_LAUNDER, % SUSTAINING, ROTATION_CURVATURE, UQ) SST_OPTIONS= NONE % From dac78c8ae838a0e2f1ea182480da17590e9983fc Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 4 Apr 2022 14:31:44 +0200 Subject: [PATCH 015/110] fix sst production, implement review suggestions --- Common/include/CConfig.hpp | 20 ++------ Common/include/option_structure.hpp | 2 +- Common/src/CConfig.cpp | 4 +- .../numerics/turbulent/turb_sources.hpp | 51 +++++++++---------- SU2_CFD/include/solvers/CTurbSSTSolver.hpp | 3 +- .../include/variables/CTurbSSTVariable.hpp | 2 +- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 4 +- SU2_CFD/src/variables/CTurbSSTVariable.cpp | 3 +- config_template.cfg | 3 +- 9 files changed, 39 insertions(+), 53 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 4e12f9791445..8d37f983e76e 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -9643,8 +9643,10 @@ class CConfig { const bool sst_1994 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994) != sst_options_end; const bool sst_2003 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003) != sst_options_end; + /* when V2003 is selected, we automatically select sst_m as well */ const bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::MODIFIED) != sst_options_end || sst_2003; + const bool sst_sust = std::find(SST_Options, sst_options_end, SST_OPTIONS::SUST) != sst_options_end; const bool sst_v = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::KL) != sst_options_end; @@ -9656,22 +9658,17 @@ class CConfig { SU2_MPI::Error("Two versions (1994 and 2003m) selected for SST Options. Please choose only one.", CURRENT_FUNCTION); } else if (sst_2003) { /*--- sst-2003m model is sst2003 + sstm ---*/ - + cout << "Currently only the SST-2003m (modified) has been implemented. " << endl; SSTParsedOptions.version = SST_OPTIONS::V2003; - //SSTParsedOptions.sst_string += "-2003"; } else if (sst_1994){ /* --- Add warning to switch to SST-2003m --- */ cout << "warning: the current SST-1994 model is inconsistent with literature. We recommend to use the SST-2003m model." << endl; cout << "In the future, the 2003m model will become the default SST model. " << endl; - SSTParsedOptions.version = SST_OPTIONS::V1994; - //SSTParsedOptions.sst_string += "-1994"; } else { - /* use the most recent model as the default*/ - cout << "SST_OPTIONS not found! using default SST-V2003" << endl; - SSTParsedOptions.version = SST_OPTIONS::V2003; - //SSTParsedOptions.sst_string += "-2003"; + cout << "SST_OPTIONS not found! using default SST-V1994. " << endl; + SSTParsedOptions.version = SST_OPTIONS::V1994; } // Parse production modifications @@ -9679,13 +9676,10 @@ class CConfig { SU2_MPI::Error("Please select only one SST production term modifier (V, KL, UQ).", CURRENT_FUNCTION); } else if (sst_v) { SSTParsedOptions.production = SST_OPTIONS::VORTICITY; - //SSTParsedOptions.sst_string += "-V"; } else if (sst_kl) { SSTParsedOptions.production = SST_OPTIONS::KL; - //SSTParsedOptions.sst_string += "-KL"; } else if (sst_uq) { SSTParsedOptions.production = SST_OPTIONS::UNCERTAINTY; - //SSTParsedOptions.sst_string += "-UQ"; } // Parse boolean options @@ -9693,10 +9687,6 @@ class CConfig { SSTParsedOptions.rc = sst_rc; SSTParsedOptions.m = sst_m; - //if (sst_sust) SSTParsedOptions.sst_string += "-sust"; - //if (sst_rc) SSTParsedOptions.sst_string += "-RC"; - //if (sst_m) SSTParsedOptions.sst_string += "-m"; - return SSTParsedOptions; } }; diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 7be8552f7318..d37b64363052 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -971,7 +971,7 @@ enum class SST_OPTIONS { }; static const MapType SST_Options_Map = { MakePair("NONE", SST_OPTIONS::NONE) - MakePair("V1994", SST_OPTIONS::V1994) + MakePair("V1994m", SST_OPTIONS::V1994) MakePair("V2003m", SST_OPTIONS::V2003) //MakePair("MODIFIED", SST_OPTIONS::MODIFIED) MakePair("SUSTAINED", SST_OPTIONS::SUST) diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index b02bd7a333ec..3f41501b1629 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -5862,7 +5862,9 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { case TURB_MODEL::SA_E: cout << "Edwards Spalart Allmaras" << endl; break; case TURB_MODEL::SA_COMP: cout << "Compressibility Correction Spalart Allmaras" << endl; break; case TURB_MODEL::SA_E_COMP: cout << "Compressibility Correction Edwards Spalart Allmaras" << endl; break; - //case TURB_MODEL::SST: cout << sstParsedOptions.sst_string << endl; break; + case TURB_MODEL::SST: + cout << "k-omega SST model " << endl; + break; } if (QCR) cout << "Using Quadratic Constitutive Relation, 2000 version (QCR2000)" << endl; if (Kind_Trans_Model == TURB_TRANS_MODEL::BC) cout << "Using the revised BC transition model (2020)" << endl; diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index ea0cd4f1e434..275c42707427 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -572,6 +572,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double* Jacobian_i[2]; su2double Jacobian_Buffer[4]; /// Static storage for the Jacobian (which needs to be pointer for return type). + SST_ParsedOptions sstParsedOptions; + /*! * \brief Get strain magnitude based on perturbed reynolds stress matrix. * \param[in] turb_ke: turbulent kinetic energy of the node. @@ -647,12 +649,15 @@ class CSourcePieceWise_TurbSST final : public CNumerics { a1(constants[7]), alfa_1(constants[8]), alfa_2(constants[9]), - ProdLimConstant(constants[10]) + ProdLimConstant(constants[10]), kAmb(val_kine_Inf), omegaAmb(val_omega_Inf) { /*--- "Allocate" the Jacobian using the static buffer. ---*/ Jacobian_i[0] = Jacobian_Buffer; Jacobian_i[1] = Jacobian_Buffer + 2; + + sstParsedOptions = config->GetSSTParsedOptions(); + } /*! @@ -718,8 +723,6 @@ class CSourcePieceWise_TurbSST final : public CNumerics { const su2double alfa_blended = F1_i * alfa_1 + (1.0 - F1_i) * alfa_2; const su2double beta_blended = F1_i * beta_1 + (1.0 - F1_i) * beta_2; - SST_ParsedOptions sstParsedOptions = config->GetSSTParsedOptions(); - if (dist_i > 1e-10) { const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); @@ -730,11 +733,10 @@ class CSourcePieceWise_TurbSST final : public CNumerics { for (unsigned short iDim = 0; iDim < nDim; iDim++) diverg += PrimVar_Grad_i[iDim + idx.Velocity()][iDim]; - su2double P_Base = StrainMag_i; //Base production term + su2double P_Base = StrainMag_i; //Base production term for SST1994 and SST2003 /*--- Modifications of SST production terms (uq, V, KL) --*/ - /* --------------------------- */ if (sstParsedOptions.production == SST_OPTIONS::UNCERTAINTY) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); @@ -746,42 +748,35 @@ class CSourcePieceWise_TurbSST final : public CNumerics { } else if (sstParsedOptions.production == SST_OPTIONS::KL) { P_Base = sqrt(StrainMag_i*VorticityMag); } - /* ------------------------------ */ - - - /* SST-1994 */ - if (sstParsedOptions.version == SST_OPTIONS::V1994){ - P_Base = VorticityMag; - /* mut = rho*k/max(w,Omega*F_2/a1) = rho*k/zeta */ - } - else { - /* SST-2003 */ - P_Base = StrainMag_i; - /* mut = rho*k/max(w,S*F_2/a1) = rho*k/zeta */ - } zeta = max(ScalarVar_i[1], P_Base * F2_i / a1); - su2double pk; + /*--- first part of the production term ---*/ + su2double pk = Eddy_Viscosity_i * pow(P_Base,2); - if (sstParsedOptions.version == SST_OPTIONS::MODIFIED) { - /* SST1994m or SST2003m */ - pk = Eddy_Viscosity_i * pow(P_Base,2); - } else { - /* SST1994 or SST2003 */ - /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ - pk = Eddy_Viscosity_i * (pow(P_Base,2) - 2.0 / 3.0 * diverg * diverg) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { + /* in case of unmodified, we add the divergence terms */ + if (sstParsedOptions.version != SST_OPTIONS::V1994) { + /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ + pk -= 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + } else { + /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ + pk -= (Eddy_Viscosity_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); + } } su2double pw = pk; /* we also give a lower limit to production of 0, which makes sense numerically but is not in the original papers */ + /*--- Production limiter on k-equation ---*/ pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); if (sstParsedOptions.version == SST_OPTIONS::V1994){ - pw = (alfa_blended * Density_i) * max(0.0, min(pw, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - } else { + /*--- no production limiter on w-equation for SST1994 ---*/ pw = (alfa_blended * Density_i) * pw; + } else { + /*--- production limiter on w-equation for SST2003 ---*/ + pw = (alfa_blended * Density_i) * max(0.0, min(pw, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); } diff --git a/SU2_CFD/include/solvers/CTurbSSTSolver.hpp b/SU2_CFD/include/solvers/CTurbSSTSolver.hpp index a96f836fe8be..9859be36c21c 100644 --- a/SU2_CFD/include/solvers/CTurbSSTSolver.hpp +++ b/SU2_CFD/include/solvers/CTurbSSTSolver.hpp @@ -38,7 +38,8 @@ class CTurbSSTSolver final : public CTurbSolver { private: su2double constants[11] = {0.0}; /*!< \brief Constants for the model. */ - + SST_ParsedOptions sstParsedOptions; + /*! * \brief Compute nu tilde from the wall functions. * \param[in] geometry - Geometrical definition of the problem. diff --git a/SU2_CFD/include/variables/CTurbSSTVariable.hpp b/SU2_CFD/include/variables/CTurbSSTVariable.hpp index 706c36bfdf0f..40e45636b7b8 100644 --- a/SU2_CFD/include/variables/CTurbSSTVariable.hpp +++ b/SU2_CFD/include/variables/CTurbSSTVariable.hpp @@ -43,7 +43,7 @@ class CTurbSSTVariable final : public CTurbVariable { VectorType F1; VectorType F2; /*!< \brief Menter blending function for blending of k-w and k-eps. */ VectorType CDkw; /*!< \brief Cross-diffusion. */ - + SST_ParsedOptions sstParsedOptions; public: /*! * \brief Constructor of the class. diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index 42847a08f563..f38edc736641 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -40,7 +40,7 @@ CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned sh string text_line; bool multizone = config->GetMultizone_Problem(); - SST_ParsedOptions sstParsedOptions = config->GetSSTParsedOptions(); + sstParsedOptions = config->GetSSTParsedOptions(); /*--- Dimension of the problem --> dependent on the turbulence model. ---*/ @@ -203,8 +203,6 @@ void CTurbSSTSolver::Preprocessing(CGeometry *geometry, CSolver **solver_contain void CTurbSSTSolver::Postprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh) { - SST_ParsedOptions sstParsedOptions = config->GetSSTParsedOptions(); - const su2double a1 = constants[7]; /*--- Compute turbulence gradients. ---*/ diff --git a/SU2_CFD/src/variables/CTurbSSTVariable.cpp b/SU2_CFD/src/variables/CTurbSSTVariable.cpp index a4e6260d21af..9f4c4e674ce7 100644 --- a/SU2_CFD/src/variables/CTurbSSTVariable.cpp +++ b/SU2_CFD/src/variables/CTurbSSTVariable.cpp @@ -32,6 +32,8 @@ CTurbSSTVariable::CTurbSSTVariable(su2double kine, su2double omega, su2double mut, unsigned long npoint, unsigned long ndim, unsigned long nvar, const su2double* constants, CConfig *config) : CTurbVariable(npoint, ndim, nvar, config) { + sstParsedOptions = config->GetSSTParsedOptions(); + for(unsigned long iPoint=0; iPointGetSSTParsedOptions(); AD::StartPreacc(); AD::SetPreaccIn(val_viscosity); AD::SetPreaccIn(val_dist); diff --git a/config_template.cfg b/config_template.cfg index 759379d87d73..41068dd90fcd 100644 --- a/config_template.cfg +++ b/config_template.cfg @@ -21,8 +21,7 @@ SOLVER= EULER % Specify turbulence model (NONE, SA, SA_NEG, SST, SA_E, SA_COMP, SA_E_COMP) KIND_TURB_MODEL= NONE % -% Specify versions/corrections to SST model (NONE, V2003, VORTICITY, MODIFIED, KATO_LAUNDER, -% SUSTAINING, ROTATION_CURVATURE, UQ) +% Specify versions/corrections to SST model (NONE, V2003m, V1994m, VORTICITY, SUSTAINING, UQ) SST_OPTIONS= NONE % % Transition model (NONE, BC) From dcbfb9e5397c7073491165b53ca51f17f6ed727d Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 4 Apr 2022 21:47:40 +0200 Subject: [PATCH 016/110] remove deprecated local variable Prodlimconstant --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 1 - 1 file changed, 1 deletion(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 275c42707427..826fe5334e5c 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -715,7 +715,6 @@ class CSourcePieceWise_TurbSST final : public CNumerics { Jacobian_i[1][0] = 0.0; Jacobian_i[1][1] = 0.0; - su2double ProdLimConstant; su2double zeta; /*--- Computation of blended constants for the source terms ---*/ From a9c06ea9f73c18680e17ee213482644007408b01 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Tue, 5 Apr 2022 22:47:45 +0200 Subject: [PATCH 017/110] some rewrites to the sst1994 model to accomodate the original model --- .../numerics/turbulent/turb_sources.hpp | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 826fe5334e5c..9bd5ab5ad6ed 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -748,15 +748,14 @@ class CSourcePieceWise_TurbSST final : public CNumerics { P_Base = sqrt(StrainMag_i*VorticityMag); } - zeta = max(ScalarVar_i[1], P_Base * F2_i / a1); - /*--- first part of the production term ---*/ su2double pk = Eddy_Viscosity_i * pow(P_Base,2); if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { /* in case of unmodified, we add the divergence terms */ - if (sstParsedOptions.version != SST_OPTIONS::V1994) { + if (sstParsedOptions.version == SST_OPTIONS::V1994) { /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ + //pk -= (Eddy_Viscosity*2.0/3.0*diverg*diverg + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); pk -= 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; } else { /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ @@ -764,20 +763,40 @@ class CSourcePieceWise_TurbSST final : public CNumerics { } } - su2double pw = pk; /* we also give a lower limit to production of 0, which makes sense numerically but is not in the original papers */ /*--- Production limiter on k-equation ---*/ pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + /*--- For the production of the omega-equation we use alfa*P/nu_t = alfa*rho*P/mu_t = ---*/ + + su2double pw = pow(P_Base,2); + if (sstParsedOptions.version == SST_OPTIONS::V1994){ /*--- no production limiter on w-equation for SST1994 ---*/ + zeta = max(a1 * ScalarVar_i[1], VorticityMag * F2_i); pw = (alfa_blended * Density_i) * pw; } else { /*--- production limiter on w-equation for SST2003 ---*/ + zeta = max(a1 * ScalarVar_i[1], StrainMag_i * F2_i); pw = (alfa_blended * Density_i) * max(0.0, min(pw, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); } + if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { + /* in case of unmodified, we add the divergence terms */ + if (sstParsedOptions.version == SST_OPTIONS::V1994) { + /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ + /* --- note that mu_t = rho*a1*k/zeta and we can make this term independent of k ---*/ + // the correct production with the additional divergence term + // pw -= (alfa_blended*Density_i * (2.0 / 3.0 * diverg*diverg) + 2.0 / 3.0 * zeta * diverg); + /*--- the tke term only ---*/ + pw -= 2.0 / 3.0 * zeta * diverg; + } else { + /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ + pw -= (alfa_blended*Density_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * zeta * diverg); + } + } + /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is From 29909baba0396de8997e2c1bf683c9f5471e703b Mon Sep 17 00:00:00 2001 From: bigfooted Date: Wed, 6 Apr 2022 08:27:47 +0200 Subject: [PATCH 018/110] temporary save --- Common/include/option_structure.hpp | 2 +- Common/src/CConfig.cpp | 10 ++++++++-- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 13 ++++++++++++- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 11 +++++------ 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index d37b64363052..12f3c45364b1 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -926,7 +926,7 @@ static const MapType Turb_Model_Map = { MakePair("SA_COMP", TURB_MODEL::SA_COMP) MakePair("SA_E_COMP", TURB_MODEL::SA_E_COMP) MakePair("SST", TURB_MODEL::SST) -}; + }; /*! * \brief Families of turbulence models diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 3f41501b1629..112a1b78b725 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -2833,6 +2833,9 @@ void CConfig::SetConfig_Options() { /* DESCRIPTION: Volume solution files */ addEnumListOption("OUTPUT_FILES", nVolumeOutputFiles, VolumeOutputFiles, Output_Map); + /* DESCRIPTION: Using Uncertainty Quantification with SST Turbulence Model */ + addBoolOption("USING_UQ", using_uq, false); + /* DESCRIPTION: Parameter to perturb eigenvalues */ addDoubleOption("UQ_DELTA_B", uq_delta_b, 1.0); @@ -4662,6 +4665,7 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i Finite_Difference_Mode = false; + /*--- If there are not design variables defined in the file ---*/ if (nDV == 0) { @@ -5186,10 +5190,12 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i } /*--- Postprocess SST_OPTIONS into structure. ---*/ - sstParsedOptions = ParseSSTOptions(SST_Options, nSST_Options); + if (Kind_Turb_Model==TURB_MODEL::SST) + sstParsedOptions = ParseSSTOptions(SST_Options, nSST_Options); /*--- Set sst uq boolean. ---*/ - using_uq = sstParsedOptions.production == SST_OPTIONS::UNCERTAINTY; + // uncertainty quantification is still using the config option + //using_uq = sstParsedOptions.production == SST_OPTIONS::UNCERTAINTY; /* --- Throw error if invalid componentiality used --- */ diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 9bd5ab5ad6ed..2458000177d9 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -732,7 +732,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { for (unsigned short iDim = 0; iDim < nDim; iDim++) diverg += PrimVar_Grad_i[iDim + idx.Velocity()][iDim]; - su2double P_Base = StrainMag_i; //Base production term for SST1994 and SST2003 + su2double StrainMag = StrainMag_i; + su2double P_Base = StrainMag; //Base production term for SST1994 and SST2003 /*--- Modifications of SST production terms (uq, V, KL) --*/ @@ -766,6 +767,10 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /* we also give a lower limit to production of 0, which makes sense numerically but is not in the original papers */ /*--- Production limiter on k-equation ---*/ + + // this is the original line for reference + //pk = Eddy_Viscosity_i * pow(StrainMag,2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + // pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); /*--- For the production of the omega-equation we use alfa*P/nu_t = alfa*rho*P/mu_t = ---*/ @@ -775,6 +780,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { if (sstParsedOptions.version == SST_OPTIONS::V1994){ /*--- no production limiter on w-equation for SST1994 ---*/ zeta = max(a1 * ScalarVar_i[1], VorticityMag * F2_i); + /*--- ---*/ pw = (alfa_blended * Density_i) * pw; } else { /*--- production limiter on w-equation for SST2003 ---*/ @@ -798,6 +804,11 @@ class CSourcePieceWise_TurbSST final : public CNumerics { } + // original lines for reference: + //zeta = max(ScalarVar_i[1], StrainMag * F2_i/a1); + //pw = alfa_blended * Density_i * max(pow(StrainMag,2) - 2.0/3.0 * zeta * diverg,0.0); + + /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is obtained again. This is in contrast to the version in literature diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index f38edc736641..3f81c1216197 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -108,12 +108,12 @@ CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned sh if (sstParsedOptions.version == SST_OPTIONS::V1994){ constants[8] = constants[4]/constants[6] - constants[2]*0.41*0.41/sqrt(constants[6]); //alfa_1 constants[9] = constants[5]/constants[6] - constants[3]*0.41*0.41/sqrt(constants[6]); //alfa_2 - constants[10] =20.0; // production limiter constant + constants[10] = 20.0; // production limiter constant } else { /* SST-V2003 */ constants[8] = 5.0 / 9.0; constants[9] = 0.44; - constants[10] =10.0; // production limiter constant + constants[10] = 10.0; // production limiter constant } /*--- Initialize lower and upper limits---*/ lowerlimit[0] = 1.0e-10; @@ -122,7 +122,6 @@ CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned sh lowerlimit[1] = 1.0e-4; upperlimit[1] = 1.0e15; - /*--- Far-field flow state quantities and initialization. ---*/ su2double rhoInf, *VelInf, muLamInf, Intensity, viscRatio, muT_Inf; @@ -248,9 +247,9 @@ void CTurbSSTSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai P_Base = StrainMag; } - su2double zeta = max(omega, (P_Base*F2)/a1); - su2double muT = max(rho*kine/zeta,0.0); - + su2double zeta = min(1.0/omega, a1/(P_Base*F2)); + su2double muT = max(rho*kine*zeta,0.0); + nodes->SetmuT(iPoint,muT); } From 30f59a61fffda7fbc0a69fb228e3f9396d270356 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Wed, 6 Apr 2022 23:09:39 +0200 Subject: [PATCH 019/110] implement SUST and UQ again for backward compatibility --- Common/include/CConfig.hpp | 7 +-- Common/include/option_structure.hpp | 6 ++- Common/src/CConfig.cpp | 22 +++++---- .../numerics/turbulent/turb_sources.hpp | 17 ++++--- .../include/solvers/CFVMFlowSolverBase.inl | 7 +-- SU2_CFD/src/drivers/CDriver.cpp | 1 + SU2_CFD/src/output/CFlowOutput.cpp | 3 ++ .../src/output/output_structure_legacy.cpp | 13 +++--- SU2_CFD/src/solvers/CAdjEulerSolver.cpp | 2 +- SU2_CFD/src/solvers/CAdjNSSolver.cpp | 2 +- SU2_CFD/src/solvers/CEulerSolver.cpp | 46 +++++++++---------- SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp | 2 +- SU2_CFD/src/solvers/CIncEulerSolver.cpp | 8 ++-- SU2_CFD/src/solvers/CIncNSSolver.cpp | 2 +- SU2_CFD/src/solvers/CNEMONSSolver.cpp | 2 +- SU2_CFD/src/solvers/CNSSolver.cpp | 2 +- SU2_CFD/src/solvers/CTurbSolver.cpp | 2 +- 17 files changed, 78 insertions(+), 66 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 8d37f983e76e..ac4e49036528 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -1139,7 +1139,7 @@ class CConfig { nHistoryOutput, nVolumeOutput; /*!< \brief Number of variables printed to the history file. */ bool Multizone_Residual; /*!< \brief Determines if memory should be allocated for the multizone residual. */ - bool using_uq; /*!< \brief Using uncertainty quantification with SST model */ + bool using_uq = false; /*!< \brief Using uncertainty quantification with SST model */ su2double uq_delta_b; /*!< \brief Parameter used to perturb eigenvalues of Reynolds Stress Matrix */ unsigned short eig_val_comp; /*!< \brief Parameter used to determine type of eigenvalue perturbation */ su2double uq_urlx; /*!< \brief Under-relaxation factor */ @@ -9647,10 +9647,10 @@ class CConfig { /* when V2003 is selected, we automatically select sst_m as well */ const bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::MODIFIED) != sst_options_end || sst_2003; - const bool sst_sust = std::find(SST_Options, sst_options_end, SST_OPTIONS::SUST) != sst_options_end; + const bool sst_sust = std::find(SST_Options, sst_options_end, SST_OPTIONS::SUST) != sst_options_end || Kind_Turb_Model==TURB_MODEL::SST_SUST; const bool sst_v = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::KL) != sst_options_end; - const bool sst_uq = std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end; + const bool sst_uq = (std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end || using_uq); const bool sst_rc = std::find(SST_Options, sst_options_end, SST_OPTIONS::RC) != sst_options_end; // Parse base version @@ -9686,6 +9686,7 @@ class CConfig { SSTParsedOptions.sust = sst_sust; SSTParsedOptions.rc = sst_rc; SSTParsedOptions.m = sst_m; + SSTParsedOptions.uq = sst_uq; return SSTParsedOptions; } diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 12f3c45364b1..3703dbf98cd1 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -917,6 +917,7 @@ enum class TURB_MODEL { SA_COMP, /*!< \brief Kind of Turbulent model (Spalart-Allmaras Compressibility Correction). */ SA_E_COMP, /*!< \brief Kind of Turbulent model (Spalart-Allmaras Edwards with Compressibility Correction). */ SST, /*!< \brief Kind of Turbulence model (Menter SST). */ + SST_SUST /*!< \brief Kind of Turbulence model (Menter SST with sustaining terms for free-stream preservation). */ }; static const MapType Turb_Model_Map = { MakePair("NONE", TURB_MODEL::NONE) @@ -926,7 +927,8 @@ static const MapType Turb_Model_Map = { MakePair("SA_COMP", TURB_MODEL::SA_COMP) MakePair("SA_E_COMP", TURB_MODEL::SA_E_COMP) MakePair("SST", TURB_MODEL::SST) - }; + MakePair("SST_SUST", TURB_MODEL::SST_SUST) +}; /*! * \brief Families of turbulence models @@ -950,6 +952,7 @@ inline TURB_FAMILY TurbModelFamily(TURB_MODEL model) { case TURB_MODEL::SA_E_COMP: return TURB_FAMILY::SA; case TURB_MODEL::SST: + case TURB_MODEL::SST_SUST: return TURB_FAMILY::KW; } return TURB_FAMILY::NONE; @@ -990,6 +993,7 @@ struct SST_ParsedOptions { SST_OPTIONS version; /*!< \brief Enum SST base model. */ SST_OPTIONS production; /*!< \brief Enum for production corrections/modifiers for SST model. */ bool sust; /*!< \brief Bool for SST model with sustaining terms. */ + bool uq; /*!< \brief Bool for using uncertainty quantification */ bool rc; /*!< \brief Bool for SST model with rotational corrections. */ bool m; /*!< \brief Bool for modified (m) SST model. */ }; diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 112a1b78b725..f98566fb2200 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -1087,7 +1087,6 @@ void CConfig::SetConfig_Options() { #endif /*!\brief MATH_PROBLEM \n DESCRIPTION: Mathematical problem \n Options: DIRECT, ADJOINT \ingroup Config*/ addMathProblemOption("MATH_PROBLEM", ContinuousAdjoint, false, DiscreteAdjoint, discAdjDefault, Restart_Flow, discAdjDefault); - /*!\brief KIND_TURB_MODEL \n DESCRIPTION: Specify turbulence model \n Options: see \link Turb_Model_Map \endlink \n DEFAULT: NONE \ingroup Config*/ addEnumOption("KIND_TURB_MODEL", Kind_Turb_Model, Turb_Model_Map, TURB_MODEL::NONE); /*!\brief SST_OPTIONS \n DESCRIPTION: Specify SST turbulence model options/corrections. \n Options: see \link SST_Options_Map \endlink \n DEFAULT: NONE \ingroup Config*/ @@ -3400,8 +3399,8 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i } /*--- Check if turbulence model can be used for AXISYMMETRIC case---*/ - if (Axisymmetric && Kind_Turb_Model != TURB_MODEL::NONE && Kind_Turb_Model != TURB_MODEL::SST){ - SU2_MPI::Error("Axisymmetry is currently only supported for KIND_TURB_MODEL chosen as SST", CURRENT_FUNCTION); + if (Axisymmetric && Kind_Turb_Model != TURB_MODEL::NONE && Kind_Turb_Model != TURB_MODEL::SST && Kind_Turb_Model != TURB_MODEL::SST_SUST){ + SU2_MPI::Error("Axisymmetry is currently only supported for KIND_TURB_MODEL chosen as SST or SST_SUST", CURRENT_FUNCTION); } /*--- Set the boolean Wall_Functions equal to true if there is a @@ -4654,6 +4653,7 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i CFL[iCFL] = Unst_CFL; } + /*--- If it is a fixed mode problem, then we will add Iter_dCL_dAlpha iterations to evaluate the derivatives with respect to a change in the AoA and CL ---*/ @@ -5190,16 +5190,17 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i } /*--- Postprocess SST_OPTIONS into structure. ---*/ - if (Kind_Turb_Model==TURB_MODEL::SST) + if (Kind_Turb_Model==TURB_MODEL::SST || Kind_Turb_Model==TURB_MODEL::SST_SUST) sstParsedOptions = ParseSSTOptions(SST_Options, nSST_Options); - /*--- Set sst uq boolean. ---*/ - // uncertainty quantification is still using the config option - //using_uq = sstParsedOptions.production == SST_OPTIONS::UNCERTAINTY; - + // if uq was set through the sst options, then we set the variable using_uq here + if (sstParsedOptions.uq) + using_uq = true; + /* --- Throw error if invalid componentiality used --- */ + - if (using_uq && (eig_val_comp > 3 || eig_val_comp < 1)){ + if (sstParsedOptions.production == SST_OPTIONS::UNCERTAINTY && (eig_val_comp > 3 || eig_val_comp < 1)){ SU2_MPI::Error("Componentality should be either 1, 2, or 3!", CURRENT_FUNCTION); } @@ -5869,8 +5870,9 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { case TURB_MODEL::SA_COMP: cout << "Compressibility Correction Spalart Allmaras" << endl; break; case TURB_MODEL::SA_E_COMP: cout << "Compressibility Correction Edwards Spalart Allmaras" << endl; break; case TURB_MODEL::SST: - cout << "k-omega SST model " << endl; + cout << "k-omega SST model " << endl; break; + case TURB_MODEL::SST_SUST: cout << "Menter's SST with sustaining terms" << endl; break; } if (QCR) cout << "Using Quadratic Constitutive Relation, 2000 version (QCR2000)" << endl; if (Kind_Trans_Model == TURB_TRANS_MODEL::BC) cout << "Using the revised BC transition model (2020)" << endl; diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 2458000177d9..e7ae093b194b 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -562,8 +562,9 @@ class CSourcePieceWise_TurbSST final : public CNumerics { const bool axisymmetric = false; /*--- Closure constants ---*/ - const su2double sigma_k_1, sigma_k_2, sigma_w_1, sigma_w_2, beta_1, beta_2, beta_star, a1, alfa_1, alfa_2, ProdLimConstant; - + const su2double sigma_k_1, sigma_k_2, sigma_w_1, sigma_w_2, beta_1, beta_2, beta_star, a1, alfa_1, alfa_2; + const su2double ProdLimConstant; + SST_ParsedOptions sstParsedOptions; /*--- Ambient values for SST-SUST. ---*/ const su2double kAmb, omegaAmb; @@ -572,8 +573,6 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double* Jacobian_i[2]; su2double Jacobian_Buffer[4]; /// Static storage for the Jacobian (which needs to be pointer for return type). - SST_ParsedOptions sstParsedOptions; - /*! * \brief Get strain magnitude based on perturbed reynolds stress matrix. * \param[in] turb_ke: turbulent kinetic energy of the node. @@ -769,9 +768,9 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Production limiter on k-equation ---*/ // this is the original line for reference - //pk = Eddy_Viscosity_i * pow(StrainMag,2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - // pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + //pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); /*--- For the production of the omega-equation we use alfa*P/nu_t = alfa*rho*P/mu_t = ---*/ @@ -805,8 +804,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { // original lines for reference: - //zeta = max(ScalarVar_i[1], StrainMag * F2_i/a1); - //pw = alfa_blended * Density_i * max(pow(StrainMag,2) - 2.0/3.0 * zeta * diverg,0.0); + zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); + pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg,0.0); /*--- Sustaining terms, if desired. Note that if the production terms are diff --git a/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl b/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl index 2a7c4e7782cc..7dc8c512f44d 100644 --- a/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl +++ b/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl @@ -406,7 +406,8 @@ void CFVMFlowSolverBase::Viscous_Residual_impl(unsigned long iEdge, CGeome CNumerics *numerics, CConfig *config) { const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - const bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); + const bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || + (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); CVariable* turbNodes = nullptr; if (tkeNeeded) turbNodes = solver_container[TURB_SOL]->GetNodes(); @@ -1316,7 +1317,7 @@ void CFVMFlowSolverBase::BC_Sym_Plane(CGeometry* geometry, CSolver** solve visc_numerics->SetPrimVarGradient(nodes->GetGradient_Primitive(iPoint), CMatrixView(Grad_Reflected)); /*--- Turbulent kinetic energy. ---*/ - if (config->GetKind_Turb_Model() == TURB_MODEL::SST) + if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint, 0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint, 0)); @@ -1482,7 +1483,7 @@ void CFVMFlowSolverBase::BC_Fluid_Interface(CGeometry* geometry, /*--- Turbulent kinetic energy ---*/ - if (config->GetKind_Turb_Model() == TURB_MODEL::SST) + if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint, 0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint, 0)); diff --git a/SU2_CFD/src/drivers/CDriver.cpp b/SU2_CFD/src/drivers/CDriver.cpp index f945e9df1830..2a24ced729db 100644 --- a/SU2_CFD/src/drivers/CDriver.cpp +++ b/SU2_CFD/src/drivers/CDriver.cpp @@ -1240,6 +1240,7 @@ void CDriver::InstantiateTurbulentNumerics(unsigned short nVar_Turb, int offset, case TURB_MODEL::SA_COMP: comp_spalart_allmaras = true; break; case TURB_MODEL::SA_E_COMP: e_comp_spalart_allmaras = true; break; case TURB_MODEL::SST: menter_sst = true; break; + case TURB_MODEL::SST_SUST: menter_sst = true; break; } /*--- If the Menter SST model is used, store the constants of the model and determine the diff --git a/SU2_CFD/src/output/CFlowOutput.cpp b/SU2_CFD/src/output/CFlowOutput.cpp index d340b81f438f..8675f7567729 100644 --- a/SU2_CFD/src/output/CFlowOutput.cpp +++ b/SU2_CFD/src/output/CFlowOutput.cpp @@ -2099,6 +2099,9 @@ void CFlowOutput::WriteForcesBreakdown(const CConfig* config, const CSolver* flo case TURB_MODEL::SST: file << "Menter's SST\n"; break; + case TURB_MODEL::SST_SUST: + file << "Menter's SST with sustaining terms\n"; + break; } break; default: diff --git a/SU2_CFD/src/output/output_structure_legacy.cpp b/SU2_CFD/src/output/output_structure_legacy.cpp index e11a09a861af..cad2a47064cc 100644 --- a/SU2_CFD/src/output/output_structure_legacy.cpp +++ b/SU2_CFD/src/output/output_structure_legacy.cpp @@ -479,7 +479,7 @@ void COutputLegacy::SetConvHistory_Header(ofstream *ConvHist_file, CConfig *conf case TURB_MODEL::SA:case TURB_MODEL::SA_NEG:case TURB_MODEL::SA_E: case TURB_MODEL::SA_COMP: case TURB_MODEL::SA_E_COMP: SPRINTF (turb_resid, ",\"Res_Turb[0]\""); break; - case TURB_MODEL::SST: + case TURB_MODEL::SST:case TURB_MODEL::SST_SUST: SPRINTF (turb_resid, ",\"Res_Turb[0]\",\"Res_Turb[1]\""); break; default: break; @@ -488,7 +488,7 @@ void COutputLegacy::SetConvHistory_Header(ofstream *ConvHist_file, CConfig *conf case TURB_MODEL::SA:case TURB_MODEL::SA_NEG:case TURB_MODEL::SA_E: case TURB_MODEL::SA_COMP: case TURB_MODEL::SA_E_COMP: SPRINTF (adj_turb_resid, ",\"Res_AdjTurb[0]\""); break; - case TURB_MODEL::SST: + case TURB_MODEL::SST:case TURB_MODEL::SST_SUST: SPRINTF (adj_turb_resid, ",\"Res_AdjTurb[0]\",\"Res_AdjTurb[1]\""); break; default: break; @@ -863,7 +863,7 @@ void COutputLegacy::SetConvHistory_Body(ofstream *ConvHist_file, if (turbulent) { switch (config[val_iZone]->GetKind_Turb_Model()) { case TURB_MODEL::SA: case TURB_MODEL::SA_NEG: case TURB_MODEL::SA_E: case TURB_MODEL::SA_E_COMP: case TURB_MODEL::SA_COMP: nVar_Turb = 1; break; - case TURB_MODEL::SST: nVar_Turb = 2; break; + case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: nVar_Turb = 2; break; default: break; } } @@ -885,7 +885,7 @@ void COutputLegacy::SetConvHistory_Body(ofstream *ConvHist_file, if (turbulent) { switch (config[val_iZone]->GetKind_Turb_Model()) { case TURB_MODEL::SA: case TURB_MODEL::SA_NEG: case TURB_MODEL::SA_E: case TURB_MODEL::SA_E_COMP: case TURB_MODEL::SA_COMP: nVar_AdjTurb = 1; break; - case TURB_MODEL::SST: nVar_AdjTurb = 2; break; + case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: nVar_AdjTurb = 2; break; default: break; } } @@ -1783,7 +1783,7 @@ void COutputLegacy::SetConvHistory_Body(ofstream *ConvHist_file, switch (config[val_iZone]->GetKind_Turb_Model()) { case TURB_MODEL::SA: case TURB_MODEL::SA_NEG: case TURB_MODEL::SA_E: case TURB_MODEL::SA_E_COMP: case TURB_MODEL::SA_COMP: cout << " Res[nu]"; break; - case TURB_MODEL::SST: cout << " Res[kine]" << " Res[omega]"; break; + case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: cout << " Res[kine]" << " Res[omega]"; break; default: break; } @@ -2825,6 +2825,7 @@ void COutputLegacy::SpecialOutput_ForcesBreakdown(CSolver *****solver, CGeometry case TURB_MODEL::SA_COMP: Breakdown_file << "Compressibility Correction Spalart Allmaras" << "\n"; break; case TURB_MODEL::SA_E_COMP: Breakdown_file << "Compressibility Correction Edwards Spalart Allmaras" << "\n"; break; case TURB_MODEL::SST: Breakdown_file << "Menter's TURB_MODEL::SST" << "\n"; break; + case TURB_MODEL::SST_SUST: Breakdown_file << "Menter's TURB_MODEL::SST with sustaining terms" << "\n"; break; default: break; } break; @@ -6083,7 +6084,7 @@ void COutputLegacy::WriteTurboPerfConvHistory(CConfig *config){ string inMarker_Tag, outMarker_Tag, inMarkerTag_Mix; unsigned short nZone = config->GetnZone(); bool turbulent = ((config->GetKind_Solver() == MAIN_SOLVER::RANS) || (config->GetKind_Solver() == MAIN_SOLVER::DISC_ADJ_RANS)); - bool menter_sst = (config->GetKind_Turb_Model() == TURB_MODEL::SST); + bool menter_sst = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); unsigned short nBladesRow, nStages; unsigned short iStage; diff --git a/SU2_CFD/src/solvers/CAdjEulerSolver.cpp b/SU2_CFD/src/solvers/CAdjEulerSolver.cpp index 74a6a8a0fdb1..b3af8510c6ce 100644 --- a/SU2_CFD/src/solvers/CAdjEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjEulerSolver.cpp @@ -3325,7 +3325,7 @@ void CAdjEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, /*--- Turbulent kinetic energy ---*/ - if (config->GetKind_Turb_Model() == TURB_MODEL::SST) + if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); /*--- Gradient and limiter of Adjoint Variables ---*/ diff --git a/SU2_CFD/src/solvers/CAdjNSSolver.cpp b/SU2_CFD/src/solvers/CAdjNSSolver.cpp index 1846cd324a1e..773fc9a30225 100644 --- a/SU2_CFD/src/solvers/CAdjNSSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjNSSolver.cpp @@ -774,7 +774,7 @@ void CAdjNSSolver::Viscous_Sensitivity(CGeometry *geometry, CSolver **solver_con /*--- Turbulent kinetic energy ---*/ - if (config->GetKind_Turb_Model() == TURB_MODEL::SST) + if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) val_turb_ke = solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0); else val_turb_ke = 0.0; diff --git a/SU2_CFD/src/solvers/CEulerSolver.cpp b/SU2_CFD/src/solvers/CEulerSolver.cpp index 3c2237b368c1..4029ad0a96db 100644 --- a/SU2_CFD/src/solvers/CEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CEulerSolver.cpp @@ -788,7 +788,7 @@ void CEulerSolver::SetNondimensionalization(CConfig *config, unsigned short iMes bool viscous = config->GetViscous(); bool gravity = config->GetGravityForce(); bool turbulent = (config->GetKind_Turb_Model() != TURB_MODEL::NONE); - bool tkeNeeded = (turbulent && config->GetKind_Turb_Model() == TURB_MODEL::SST); + bool tkeNeeded = (turbulent && (config->GetKind_Turb_Model() == TURB_MODEL::SST || config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)); bool free_stream_temp = (config->GetKind_FreeStreamOption() == FREESTREAM_OPTION::TEMPERATURE_FS); bool reynolds_init = (config->GetKind_InitOption() == REYNOLDS); bool aeroelastic = config->GetAeroelastic_Simulation(); @@ -4289,7 +4289,7 @@ void CEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_container, bool implicit = config->GetKind_TimeIntScheme() == EULER_IMPLICIT; bool viscous = config->GetViscous(); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); su2double *Normal = new su2double[nDim]; @@ -4499,7 +4499,7 @@ void CEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_container, /*--- Turbulent kinetic energy ---*/ - if (config->GetKind_Turb_Model() == TURB_MODEL::SST) + if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -4544,7 +4544,7 @@ void CEulerSolver::BC_Riemann(CGeometry *geometry, CSolver **solver_container, string Marker_Tag = config->GetMarker_All_TagBound(val_marker); bool viscous = config->GetViscous(); bool gravity = (config->GetGravityForce()); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); su2double *Normal, *FlowDirMix, TangVelocity, NormalVelocity; Normal = new su2double[nDim]; @@ -4987,7 +4987,7 @@ void CEulerSolver::BC_Riemann(CGeometry *geometry, CSolver **solver_container, /*--- Turbulent kinetic energy ---*/ - if (config->GetKind_Turb_Model() == TURB_MODEL::SST) + if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -5058,7 +5058,7 @@ void CEulerSolver::BC_TurboRiemann(CGeometry *geometry, CSolver **solver_contain unsigned short nSpanWiseSections = geometry->GetnSpanWiseSections(config->GetMarker_All_TurbomachineryFlag(val_marker)); bool viscous = config->GetViscous(); bool gravity = (config->GetGravityForce()); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); su2double *Normal, *turboNormal, *UnitNormal, *FlowDirMix, FlowDirMixMag, *turboVelocity; Normal = new su2double[nDim]; @@ -5501,7 +5501,7 @@ void CEulerSolver::BC_TurboRiemann(CGeometry *geometry, CSolver **solver_contain /*--- Turbulent kinetic energy ---*/ - if (config->GetKind_Turb_Model() == TURB_MODEL::SST) + if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -6398,7 +6398,7 @@ void CEulerSolver::BC_Giles(CGeometry *geometry, CSolver **solver_container, CNu /*--- Turbulent kinetic energy ---*/ - if (config->GetKind_Turb_Model() == TURB_MODEL::SST) + if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -6465,7 +6465,7 @@ void CEulerSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, su2double Gas_Constant = config->GetGas_ConstantND(); INLET_TYPE Kind_Inlet= config->GetKind_Inlet(); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); su2double *Normal = new su2double[nDim]; /*--- Loop over all the vertices on this boundary marker ---*/ @@ -6723,7 +6723,7 @@ void CEulerSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, // // /*--- Turbulent kinetic energy ---*/ // -// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) +// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -6763,7 +6763,7 @@ void CEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, su2double Gas_Constant = config->GetGas_ConstantND(); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); bool gravity = (config->GetGravityForce()); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); su2double *Normal = new su2double[nDim]; /*--- Loop over all the vertices on this boundary marker ---*/ @@ -6897,7 +6897,7 @@ void CEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, // // /*--- Turbulent kinetic energy ---*/ // -// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) +// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -6934,7 +6934,7 @@ void CEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver_con bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); su2double *Normal = new su2double[nDim]; su2double *Velocity = new su2double[nDim]; @@ -7042,7 +7042,7 @@ void CEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver_con // // /*--- Turbulent kinetic energy ---*/ // -// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) +// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -7164,7 +7164,7 @@ void CEulerSolver::BC_Supersonic_Outlet(CGeometry *geometry, CSolver **solver_co // // /*--- Turbulent kinetic energy ---*/ // -// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) +// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -7202,7 +7202,7 @@ void CEulerSolver::BC_Engine_Inflow(CGeometry *geometry, CSolver **solver_contai unsigned short Kind_Engine_Inflow = config->GetKind_Engine_Inflow(); su2double Gas_Constant = config->GetGas_ConstantND(); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); su2double Baseline_Press = 0.75 * config->GetPressure_FreeStreamND(); bool Engine_HalfModel = config->GetEngine_HalfModel(); @@ -7384,7 +7384,7 @@ void CEulerSolver::BC_Engine_Inflow(CGeometry *geometry, CSolver **solver_contai // // /*--- Turbulent kinetic energy ---*/ // -// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) +// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -7418,7 +7418,7 @@ void CEulerSolver::BC_Engine_Exhaust(CGeometry *geometry, CSolver **solver_conta su2double Gas_Constant = config->GetGas_ConstantND(); bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); su2double DampingFactor = config->GetDamp_Engine_Exhaust(); su2double Baseline_Press = 0.75 * config->GetPressure_FreeStreamND(); @@ -7635,7 +7635,7 @@ void CEulerSolver::BC_Engine_Exhaust(CGeometry *geometry, CSolver **solver_conta // // /*--- Turbulent kinetic energy ---*/ // -// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) +// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -7708,7 +7708,7 @@ void CEulerSolver::BC_ActDisk(CGeometry *geometry, CSolver **solver_container, C bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); su2double Gas_Constant = config->GetGas_ConstantND(); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); bool ratio = (config->GetActDisk_Jump() == RATIO); su2double SecondaryFlow = config->GetSecondaryFlow_ActDisk(); @@ -8071,7 +8071,7 @@ void CEulerSolver::BC_ActDisk(CGeometry *geometry, CSolver **solver_container, C // // /*--- Turbulent kinetic energy ---*/ // -// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) +// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -8134,7 +8134,7 @@ void CEulerSolver::BC_ActDisk_VariableLoad(CGeometry *geometry, CSolver **solver const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); const auto Gas_Constant = config->GetGas_ConstantND(); - const bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); + const bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); /*--- Get the actuator disk center and axis coordinates for the current marker. ---*/ for (iDim = 0; iDim < nDim; iDim++){ @@ -8615,7 +8615,7 @@ void CEulerSolver::TurboAverageProcess(CSolver **solver, CGeometry *geometry, CC su2double MachTest, soundSpeed; bool turbulent = (config->GetKind_Turb_Model() != TURB_MODEL::NONE); bool spalart_allmaras = (config->GetKind_Turb_Model() == TURB_MODEL::SA); - bool menter_sst = (config->GetKind_Turb_Model() == TURB_MODEL::SST); + bool menter_sst = ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)); /*-- Variables declaration and allocation ---*/ Velocity = new su2double[nDim]; diff --git a/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp b/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp index c3e7a05f9dd9..3c5570f2f7dd 100644 --- a/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp +++ b/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp @@ -794,7 +794,7 @@ void CFEM_DG_EulerSolver::SetNondimensionalization(CConfig *config, bool viscous = config->GetViscous(); bool grid_movement = config->GetGrid_Movement(); bool turbulent = (config->GetKind_Solver() == MAIN_SOLVER::FEM_RANS) || (config->GetKind_Solver() == MAIN_SOLVER::FEM_LES); - bool tkeNeeded = ((turbulent) && (config->GetKind_Turb_Model() == TURB_MODEL::SST)); + bool tkeNeeded = ((turbulent) && ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST))); bool free_stream_temp = (config->GetKind_FreeStreamOption() == FREESTREAM_OPTION::TEMPERATURE_FS); bool reynolds_init = (config->GetKind_InitOption() == REYNOLDS); diff --git a/SU2_CFD/src/solvers/CIncEulerSolver.cpp b/SU2_CFD/src/solvers/CIncEulerSolver.cpp index 167e94c212cf..b288df95ef84 100644 --- a/SU2_CFD/src/solvers/CIncEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CIncEulerSolver.cpp @@ -253,7 +253,7 @@ void CIncEulerSolver::SetNondimensionalization(CConfig *config, unsigned short i bool viscous = config->GetViscous(); bool turbulent = ((config->GetKind_Solver() == MAIN_SOLVER::INC_RANS) || (config->GetKind_Solver() == MAIN_SOLVER::DISC_ADJ_INC_RANS)); - bool tkeNeeded = ((turbulent) && (config->GetKind_Turb_Model() == TURB_MODEL::SST)); + bool tkeNeeded = ((turbulent) && ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST))); bool energy = config->GetEnergy_Equation(); bool boussinesq = (config->GetKind_DensityModel() == INC_DENSITYMODEL::BOUSSINESQ); @@ -2129,7 +2129,7 @@ void CIncEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_contain /*--- Turbulent kinetic energy ---*/ - if (config->GetKind_Turb_Model() == TURB_MODEL::SST) + if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -2371,7 +2371,7 @@ void CIncEulerSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, /*--- Turbulent kinetic energy ---*/ - if (config->GetKind_Turb_Model() == TURB_MODEL::SST) + if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -2569,7 +2569,7 @@ void CIncEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, /*--- Turbulent kinetic energy ---*/ - if (config->GetKind_Turb_Model() == TURB_MODEL::SST) + if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); diff --git a/SU2_CFD/src/solvers/CIncNSSolver.cpp b/SU2_CFD/src/solvers/CIncNSSolver.cpp index 57f5e93f8d1e..7f444e462760 100644 --- a/SU2_CFD/src/solvers/CIncNSSolver.cpp +++ b/SU2_CFD/src/solvers/CIncNSSolver.cpp @@ -291,7 +291,7 @@ unsigned long CIncNSSolver::SetPrimitive_Variables(CSolver **solver_container, c su2double eddy_visc = 0.0, turb_ke = 0.0, DES_LengthScale = 0.0; const TURB_MODEL turb_model = config->GetKind_Turb_Model(); - bool tkeNeeded = (turb_model == TURB_MODEL::SST); + bool tkeNeeded = ((turb_model == TURB_MODEL::SST) || (turb_model == TURB_MODEL::SST_SUST)); AD::StartNoSharedReading(); diff --git a/SU2_CFD/src/solvers/CNEMONSSolver.cpp b/SU2_CFD/src/solvers/CNEMONSSolver.cpp index 97656b7e92b5..9f49ec622296 100644 --- a/SU2_CFD/src/solvers/CNEMONSSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMONSSolver.cpp @@ -114,7 +114,7 @@ unsigned long CNEMONSSolver::SetPrimitive_Variables(CSolver **solver_container,C unsigned long nonPhysicalPoints = 0; const TURB_MODEL turb_model = config->GetKind_Turb_Model(); - //const bool tkeNeeded = (turb_model == TURB_MODEL::SST); + //const bool tkeNeeded = (turb_model == TURB_MODEL::SST) || (turb_model == TURB_MODEL::SST_SUST); SU2_OMP_FOR_STAT(omp_chunk_size) for (unsigned long iPoint = 0; iPoint < nPoint; iPoint ++) { diff --git a/SU2_CFD/src/solvers/CNSSolver.cpp b/SU2_CFD/src/solvers/CNSSolver.cpp index 2b4ceba51623..8d6e8b47ab5e 100644 --- a/SU2_CFD/src/solvers/CNSSolver.cpp +++ b/SU2_CFD/src/solvers/CNSSolver.cpp @@ -133,7 +133,7 @@ unsigned long CNSSolver::SetPrimitive_Variables(CSolver **solver_container, cons unsigned long nonPhysicalPoints = 0; const TURB_MODEL turb_model = config->GetKind_Turb_Model(); - const bool tkeNeeded = (turb_model == TURB_MODEL::SST); + const bool tkeNeeded = (turb_model == TURB_MODEL::SST) || (turb_model == TURB_MODEL::SST_SUST); AD::StartNoSharedReading(); diff --git a/SU2_CFD/src/solvers/CTurbSolver.cpp b/SU2_CFD/src/solvers/CTurbSolver.cpp index 839f7c5db2ba..984dcf6a9500 100644 --- a/SU2_CFD/src/solvers/CTurbSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSolver.cpp @@ -103,7 +103,7 @@ void CTurbSolver::BC_Giles(CGeometry *geometry, CSolver **solver_container, CNum void CTurbSolver::BC_Fluid_Interface(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config) { - const bool sst = (config->GetKind_Turb_Model() == TURB_MODEL::SST); + const bool sst = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); const auto nPrimVar = solver_container[FLOW_SOL]->GetnPrimVar(); su2double *PrimVar_j = new su2double[nPrimVar]; su2double solution_j[MAXNVAR] = {0.0}; From f2cd8c04df11075b7afc9aa327145c3fc73a1fcf Mon Sep 17 00:00:00 2001 From: bigfooted Date: Thu, 7 Apr 2022 00:31:45 +0200 Subject: [PATCH 020/110] fix uq problem with sst options --- Common/include/CConfig.hpp | 1 - Common/src/CConfig.cpp | 17 ++++++++--------- SU2_CFD/include/numerics/CNumerics.hpp | 2 +- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index ac4e49036528..debdb1b14fa2 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -9687,7 +9687,6 @@ class CConfig { SSTParsedOptions.rc = sst_rc; SSTParsedOptions.m = sst_m; SSTParsedOptions.uq = sst_uq; - return SSTParsedOptions; } }; diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index f98566fb2200..9d3afaa7161a 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -5190,20 +5190,19 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i } /*--- Postprocess SST_OPTIONS into structure. ---*/ - if (Kind_Turb_Model==TURB_MODEL::SST || Kind_Turb_Model==TURB_MODEL::SST_SUST) + if (Kind_Turb_Model==TURB_MODEL::SST || Kind_Turb_Model==TURB_MODEL::SST_SUST){ sstParsedOptions = ParseSSTOptions(SST_Options, nSST_Options); - // if uq was set through the sst options, then we set the variable using_uq here - if (sstParsedOptions.uq) - using_uq = true; + // if uq was set through the sst options, then we set the variable using_uq here + if (sstParsedOptions.uq) + using_uq = true; - /* --- Throw error if invalid componentiality used --- */ - + /* --- Throw error if invalid componentiality used --- */ - if (sstParsedOptions.production == SST_OPTIONS::UNCERTAINTY && (eig_val_comp > 3 || eig_val_comp < 1)){ - SU2_MPI::Error("Componentality should be either 1, 2, or 3!", CURRENT_FUNCTION); + if (sstParsedOptions.production == SST_OPTIONS::UNCERTAINTY && (eig_val_comp > 3 || eig_val_comp < 1)){ + SU2_MPI::Error("Componentality should be either 1, 2, or 3!", CURRENT_FUNCTION); + } } - /*--- Checks for additional species transport. ---*/ if (Kind_Species_Model != SPECIES_MODEL::NONE) { if (Kind_Solver != MAIN_SOLVER::INC_NAVIER_STOKES && diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index 16adc07a6ec4..55894388aa68 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -181,7 +181,7 @@ class CNumerics { roughness_j = 0.0; /*!< \brief Roughness of the wall nearest to point j. */ su2double MeanPerturbedRSM[3][3];/*!< \brief Perturbed Reynolds stress tensor */ - bool using_uq; /*!< \brief Flag for UQ methodology */ + bool using_uq=false; /*!< \brief Flag for UQ methodology */ unsigned short Eig_Val_Comp; /*!< \brief Component towards which perturbation is perfromed */ su2double uq_delta_b; /*!< \brief Magnitude of perturbation */ su2double uq_urlx; /*!< \brief Under-relaxation factor for numerical stability */ From 34babb76f78659a233fa0796303d50fbbd250ecf Mon Sep 17 00:00:00 2001 From: bigfooted Date: Thu, 7 Apr 2022 12:53:08 +0200 Subject: [PATCH 021/110] fix sust problem with sst options --- Common/src/CConfig.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 9d3afaa7161a..04f852a27078 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -4665,7 +4665,12 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i Finite_Difference_Mode = false; - + /* --- Throw error if UQ used for any turbulence model other that SST --- */ + + if (Kind_Solver == MAIN_SOLVER::RANS && Kind_Turb_Model != TURB_MODEL::SST && Kind_Turb_Model != TURB_MODEL::SST_SUST && using_uq){ + SU2_MPI::Error("UQ capabilities only implemented for NAVIER_STOKES solver SST turbulence model", CURRENT_FUNCTION); + } + /*--- If there are not design variables defined in the file ---*/ if (nDV == 0) { @@ -5870,6 +5875,7 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { case TURB_MODEL::SA_E_COMP: cout << "Compressibility Correction Edwards Spalart Allmaras" << endl; break; case TURB_MODEL::SST: cout << "k-omega SST model " << endl; + // turbulence options output goes here... break; case TURB_MODEL::SST_SUST: cout << "Menter's SST with sustaining terms" << endl; break; } From cd2001c6a56a715d94712e06816b83d11ec6ce1e Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sat, 9 Apr 2022 23:04:01 +0200 Subject: [PATCH 022/110] fix more SUST options --- Common/include/CConfig.hpp | 4 +- Common/include/option_structure.hpp | 3 +- Common/src/CConfig.cpp | 53 +++++++++++-------- SU2_CFD/include/numerics/CNumerics.hpp | 2 +- .../numerics/turbulent/turb_sources.hpp | 40 ++++++-------- .../include/solvers/CFVMFlowSolverBase.inl | 7 ++- SU2_CFD/src/output/CFlowOutput.cpp | 7 ++- .../src/output/output_structure_legacy.cpp | 7 +-- SU2_CFD/src/solvers/CAdjEulerSolver.cpp | 2 +- SU2_CFD/src/solvers/CAdjNSSolver.cpp | 2 +- SU2_CFD/src/solvers/CEulerSolver.cpp | 50 ++++++++--------- SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp | 2 +- SU2_CFD/src/solvers/CIncEulerSolver.cpp | 8 +-- SU2_CFD/src/solvers/CIncNSSolver.cpp | 2 +- SU2_CFD/src/solvers/CNEMONSSolver.cpp | 2 +- SU2_CFD/src/solvers/CNSSolver.cpp | 2 +- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 1 - SU2_CFD/src/solvers/CTurbSolver.cpp | 2 +- .../naca0012/naca0012_SST_SUST.cfg | 2 +- .../rans/naca0012/turb_NACA0012_sst_sust.cfg | 2 +- .../rans/rae2822/turb_SST_SUST_RAE2822.cfg | 2 +- 21 files changed, 101 insertions(+), 101 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index debdb1b14fa2..f6bb33890083 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -1139,7 +1139,7 @@ class CConfig { nHistoryOutput, nVolumeOutput; /*!< \brief Number of variables printed to the history file. */ bool Multizone_Residual; /*!< \brief Determines if memory should be allocated for the multizone residual. */ - bool using_uq = false; /*!< \brief Using uncertainty quantification with SST model */ + bool using_uq; /*!< \brief Using uncertainty quantification with SST model */ su2double uq_delta_b; /*!< \brief Parameter used to perturb eigenvalues of Reynolds Stress Matrix */ unsigned short eig_val_comp; /*!< \brief Parameter used to determine type of eigenvalue perturbation */ su2double uq_urlx; /*!< \brief Under-relaxation factor */ @@ -9641,7 +9641,7 @@ class CConfig { SST_ParsedOptions SSTParsedOptions; const auto sst_options_end = SST_Options + nSST_Options; - const bool sst_1994 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994) != sst_options_end; + const bool sst_1994 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994) != sst_options_end; const bool sst_2003 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003) != sst_options_end; /* when V2003 is selected, we automatically select sst_m as well */ diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 3703dbf98cd1..63ed819d99fb 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -951,8 +951,7 @@ inline TURB_FAMILY TurbModelFamily(TURB_MODEL model) { case TURB_MODEL::SA_COMP: case TURB_MODEL::SA_E_COMP: return TURB_FAMILY::SA; - case TURB_MODEL::SST: - case TURB_MODEL::SST_SUST: + case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: return TURB_FAMILY::KW; } return TURB_FAMILY::NONE; diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 9d3afaa7161a..cb909d1206b1 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -3398,9 +3398,21 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i SU2_MPI::Error("A turbulence model must be specified with KIND_TURB_MODEL if SOLVER= INC_RANS", CURRENT_FUNCTION); } + + /*--- -We still support the old SST_SUST keyword, but internally we convert everything --*/ + if (Kind_Turb_Model == TURB_MODEL::SST_SUST){ + cout << "Warning! the SST_SUST keyword will become obsolete. Use the SST model with SST_OPTIONS= (SST_SUST)" << endl; + Kind_Turb_Model = TURB_MODEL::SST; + } + + /*--- Postprocess SST_OPTIONS into structure. ---*/ + if (Kind_Turb_Model==TURB_MODEL::SST){ + sstParsedOptions = ParseSSTOptions(SST_Options, nSST_Options); + } + /*--- Check if turbulence model can be used for AXISYMMETRIC case---*/ - if (Axisymmetric && Kind_Turb_Model != TURB_MODEL::NONE && Kind_Turb_Model != TURB_MODEL::SST && Kind_Turb_Model != TURB_MODEL::SST_SUST){ - SU2_MPI::Error("Axisymmetry is currently only supported for KIND_TURB_MODEL chosen as SST or SST_SUST", CURRENT_FUNCTION); + if (Axisymmetric && Kind_Turb_Model != TURB_MODEL::NONE && Kind_Turb_Model != TURB_MODEL::SST){ + SU2_MPI::Error("Axisymmetry is currently only supported for KIND_TURB_MODEL chosen as SST", CURRENT_FUNCTION); } /*--- Set the boolean Wall_Functions equal to true if there is a @@ -4665,7 +4677,18 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i Finite_Difference_Mode = false; - + /* --- Throw error if UQ used for any turbulence model other that SST --- */ + + if (Kind_Solver == MAIN_SOLVER::RANS && Kind_Turb_Model != TURB_MODEL::SST && using_uq){ + SU2_MPI::Error("UQ capabilities only implemented for NAVIER_STOKES solver SST turbulence model", CURRENT_FUNCTION); + } + + /* --- Throw error if invalid componentiality used --- */ + + if (using_uq && (eig_val_comp > 3 || eig_val_comp < 1)){ + SU2_MPI::Error("Componentality should be either 1, 2, or 3!", CURRENT_FUNCTION); + } + /*--- If there are not design variables defined in the file ---*/ if (nDV == 0) { @@ -5189,20 +5212,6 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i nTurbVar = 2; break; } - /*--- Postprocess SST_OPTIONS into structure. ---*/ - if (Kind_Turb_Model==TURB_MODEL::SST || Kind_Turb_Model==TURB_MODEL::SST_SUST){ - sstParsedOptions = ParseSSTOptions(SST_Options, nSST_Options); - - // if uq was set through the sst options, then we set the variable using_uq here - if (sstParsedOptions.uq) - using_uq = true; - - /* --- Throw error if invalid componentiality used --- */ - - if (sstParsedOptions.production == SST_OPTIONS::UNCERTAINTY && (eig_val_comp > 3 || eig_val_comp < 1)){ - SU2_MPI::Error("Componentality should be either 1, 2, or 3!", CURRENT_FUNCTION); - } - } /*--- Checks for additional species transport. ---*/ if (Kind_Species_Model != SPECIES_MODEL::NONE) { if (Kind_Solver != MAIN_SOLVER::INC_NAVIER_STOKES && @@ -5868,10 +5877,10 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { case TURB_MODEL::SA_E: cout << "Edwards Spalart Allmaras" << endl; break; case TURB_MODEL::SA_COMP: cout << "Compressibility Correction Spalart Allmaras" << endl; break; case TURB_MODEL::SA_E_COMP: cout << "Compressibility Correction Edwards Spalart Allmaras" << endl; break; - case TURB_MODEL::SST: - cout << "k-omega SST model " << endl; - break; - case TURB_MODEL::SST_SUST: cout << "Menter's SST with sustaining terms" << endl; break; + case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: + cout << "Menter's SST" << endl; + if (sstParsedOptions.sust) cout << "Menter's SST with sustaining terms" << endl; + break; } if (QCR) cout << "Using Quadratic Constitutive Relation, 2000 version (QCR2000)" << endl; if (Kind_Trans_Model == TURB_TRANS_MODEL::BC) cout << "Using the revised BC transition model (2020)" << endl; @@ -5883,7 +5892,7 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { case SA_ZDES: cout << "Delayed Detached Eddy Simulation (DDES) with Vorticity-based SGS" << endl; break; case SA_EDDES: cout << "Delayed Detached Eddy Simulation (DDES) with Shear-layer Adapted SGS" << endl; break; } - if (sstParsedOptions.production == SST_OPTIONS::UNCERTAINTY){ + if (using_uq){ cout << "Perturbing Reynold's Stress Matrix towards "<< eig_val_comp << " component turbulence"<< endl; if (uq_permute) cout << "Permuting eigenvectors" << endl; } diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index 55894388aa68..16adc07a6ec4 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -181,7 +181,7 @@ class CNumerics { roughness_j = 0.0; /*!< \brief Roughness of the wall nearest to point j. */ su2double MeanPerturbedRSM[3][3];/*!< \brief Perturbed Reynolds stress tensor */ - bool using_uq=false; /*!< \brief Flag for UQ methodology */ + bool using_uq; /*!< \brief Flag for UQ methodology */ unsigned short Eig_Val_Comp; /*!< \brief Component towards which perturbation is perfromed */ su2double uq_delta_b; /*!< \brief Magnitude of perturbation */ su2double uq_urlx; /*!< \brief Under-relaxation factor for numerical stability */ diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index e7ae093b194b..4130cfd7aa02 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -559,6 +559,7 @@ template class CSourcePieceWise_TurbSST final : public CNumerics { private: const FlowIndices idx; /*!< \brief Object to manage the access to the flow primitives. */ + const bool sustaining_terms = false; const bool axisymmetric = false; /*--- Closure constants ---*/ @@ -714,31 +715,28 @@ class CSourcePieceWise_TurbSST final : public CNumerics { Jacobian_i[1][0] = 0.0; Jacobian_i[1][1] = 0.0; - su2double zeta; - /*--- Computation of blended constants for the source terms ---*/ const su2double alfa_blended = F1_i * alfa_1 + (1.0 - F1_i) * alfa_2; const su2double beta_blended = F1_i * beta_1 + (1.0 - F1_i) * beta_2; if (dist_i > 1e-10) { - - const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); - /*--- Production ---*/ su2double diverg = 0.0; for (unsigned short iDim = 0; iDim < nDim; iDim++) diverg += PrimVar_Grad_i[iDim + idx.Velocity()][iDim]; + /*--- If using UQ methodolgy, calculate production using perturbed Reynolds stress matrix ---*/ + + const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); su2double StrainMag = StrainMag_i; su2double P_Base = StrainMag; //Base production term for SST1994 and SST2003 - /*--- Modifications of SST production terms (uq, V, KL) --*/ - - if (sstParsedOptions.production == SST_OPTIONS::UNCERTAINTY) { + if (using_uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); + StrainMag = PerturbedStrainMag(ScalarVar_i[0]); P_Base = PerturbedStrainMag(ScalarVar_i[0]); } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { @@ -763,27 +761,24 @@ class CSourcePieceWise_TurbSST final : public CNumerics { } } + //su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + //pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - /* we also give a lower limit to production of 0, which makes sense numerically but is not in the original papers */ - /*--- Production limiter on k-equation ---*/ - - // this is the original line for reference - pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - //pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - /*--- For the production of the omega-equation we use alfa*P/nu_t = alfa*rho*P/mu_t = ---*/ + //const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); + su2double zeta; su2double pw = pow(P_Base,2); if (sstParsedOptions.version == SST_OPTIONS::V1994){ /*--- no production limiter on w-equation for SST1994 ---*/ - zeta = max(a1 * ScalarVar_i[1], VorticityMag * F2_i); + zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); /*--- ---*/ pw = (alfa_blended * Density_i) * pw; } else { /*--- production limiter on w-equation for SST2003 ---*/ - zeta = max(a1 * ScalarVar_i[1], StrainMag_i * F2_i); + zeta = max(ScalarVar_i[1], StrainMag_i * F2_i / a1); pw = (alfa_blended * Density_i) * max(0.0, min(pw, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); } @@ -795,18 +790,15 @@ class CSourcePieceWise_TurbSST final : public CNumerics { // the correct production with the additional divergence term // pw -= (alfa_blended*Density_i * (2.0 / 3.0 * diverg*diverg) + 2.0 / 3.0 * zeta * diverg); /*--- the tke term only ---*/ - pw -= 2.0 / 3.0 * zeta * diverg; + pw -= (alfa_blended * Density_i)* 2.0 / 3.0 * zeta * diverg; } else { /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ pw -= (alfa_blended*Density_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * zeta * diverg); } } - - // original lines for reference: - zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg,0.0); - + //su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg, 0.0); + //su2double pw = alfa_blended * Density_i * (pw - 2.0 / 3.0 * zeta * diverg); /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is diff --git a/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl b/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl index 7dc8c512f44d..9f3adffacabb 100644 --- a/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl +++ b/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl @@ -406,8 +406,7 @@ void CFVMFlowSolverBase::Viscous_Residual_impl(unsigned long iEdge, CGeome CNumerics *numerics, CConfig *config) { const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - const bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || - (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + const bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); CVariable* turbNodes = nullptr; if (tkeNeeded) turbNodes = solver_container[TURB_SOL]->GetNodes(); @@ -1317,7 +1316,7 @@ void CFVMFlowSolverBase::BC_Sym_Plane(CGeometry* geometry, CSolver** solve visc_numerics->SetPrimVarGradient(nodes->GetGradient_Primitive(iPoint), CMatrixView(Grad_Reflected)); /*--- Turbulent kinetic energy. ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint, 0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint, 0)); @@ -1483,7 +1482,7 @@ void CFVMFlowSolverBase::BC_Fluid_Interface(CGeometry* geometry, /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint, 0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint, 0)); diff --git a/SU2_CFD/src/output/CFlowOutput.cpp b/SU2_CFD/src/output/CFlowOutput.cpp index 8675f7567729..b093289cbc6b 100644 --- a/SU2_CFD/src/output/CFlowOutput.cpp +++ b/SU2_CFD/src/output/CFlowOutput.cpp @@ -2096,11 +2096,10 @@ void CFlowOutput::WriteForcesBreakdown(const CConfig* config, const CSolver* flo case TURB_MODEL::SA_E_COMP: file << "Compressibility Correction Edwards Spalart Allmaras\n"; break; - case TURB_MODEL::SST: + case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: file << "Menter's SST\n"; - break; - case TURB_MODEL::SST_SUST: - file << "Menter's SST with sustaining terms\n"; + // add the submodels here + //file << "Menter's SST with sustaining terms\n"; break; } break; diff --git a/SU2_CFD/src/output/output_structure_legacy.cpp b/SU2_CFD/src/output/output_structure_legacy.cpp index cad2a47064cc..cec12dc8fdec 100644 --- a/SU2_CFD/src/output/output_structure_legacy.cpp +++ b/SU2_CFD/src/output/output_structure_legacy.cpp @@ -479,7 +479,7 @@ void COutputLegacy::SetConvHistory_Header(ofstream *ConvHist_file, CConfig *conf case TURB_MODEL::SA:case TURB_MODEL::SA_NEG:case TURB_MODEL::SA_E: case TURB_MODEL::SA_COMP: case TURB_MODEL::SA_E_COMP: SPRINTF (turb_resid, ",\"Res_Turb[0]\""); break; - case TURB_MODEL::SST:case TURB_MODEL::SST_SUST: + case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: SPRINTF (turb_resid, ",\"Res_Turb[0]\",\"Res_Turb[1]\""); break; default: break; @@ -488,7 +488,7 @@ void COutputLegacy::SetConvHistory_Header(ofstream *ConvHist_file, CConfig *conf case TURB_MODEL::SA:case TURB_MODEL::SA_NEG:case TURB_MODEL::SA_E: case TURB_MODEL::SA_COMP: case TURB_MODEL::SA_E_COMP: SPRINTF (adj_turb_resid, ",\"Res_AdjTurb[0]\""); break; - case TURB_MODEL::SST:case TURB_MODEL::SST_SUST: + case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: SPRINTF (adj_turb_resid, ",\"Res_AdjTurb[0]\",\"Res_AdjTurb[1]\""); break; default: break; @@ -2825,6 +2825,7 @@ void COutputLegacy::SpecialOutput_ForcesBreakdown(CSolver *****solver, CGeometry case TURB_MODEL::SA_COMP: Breakdown_file << "Compressibility Correction Spalart Allmaras" << "\n"; break; case TURB_MODEL::SA_E_COMP: Breakdown_file << "Compressibility Correction Edwards Spalart Allmaras" << "\n"; break; case TURB_MODEL::SST: Breakdown_file << "Menter's TURB_MODEL::SST" << "\n"; break; + // nijso: add the SST submodels here case TURB_MODEL::SST_SUST: Breakdown_file << "Menter's TURB_MODEL::SST with sustaining terms" << "\n"; break; default: break; } @@ -6084,7 +6085,7 @@ void COutputLegacy::WriteTurboPerfConvHistory(CConfig *config){ string inMarker_Tag, outMarker_Tag, inMarkerTag_Mix; unsigned short nZone = config->GetnZone(); bool turbulent = ((config->GetKind_Solver() == MAIN_SOLVER::RANS) || (config->GetKind_Solver() == MAIN_SOLVER::DISC_ADJ_RANS)); - bool menter_sst = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool menter_sst = (config->GetKind_Turb_Model() == TURB_MODEL::SST); unsigned short nBladesRow, nStages; unsigned short iStage; diff --git a/SU2_CFD/src/solvers/CAdjEulerSolver.cpp b/SU2_CFD/src/solvers/CAdjEulerSolver.cpp index b3af8510c6ce..74a6a8a0fdb1 100644 --- a/SU2_CFD/src/solvers/CAdjEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjEulerSolver.cpp @@ -3325,7 +3325,7 @@ void CAdjEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); /*--- Gradient and limiter of Adjoint Variables ---*/ diff --git a/SU2_CFD/src/solvers/CAdjNSSolver.cpp b/SU2_CFD/src/solvers/CAdjNSSolver.cpp index 773fc9a30225..6fa2164d9a20 100644 --- a/SU2_CFD/src/solvers/CAdjNSSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjNSSolver.cpp @@ -774,7 +774,7 @@ void CAdjNSSolver::Viscous_Sensitivity(CGeometry *geometry, CSolver **solver_con /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) val_turb_ke = solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0); else val_turb_ke = 0.0; diff --git a/SU2_CFD/src/solvers/CEulerSolver.cpp b/SU2_CFD/src/solvers/CEulerSolver.cpp index 4029ad0a96db..05ec686661e7 100644 --- a/SU2_CFD/src/solvers/CEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CEulerSolver.cpp @@ -788,7 +788,7 @@ void CEulerSolver::SetNondimensionalization(CConfig *config, unsigned short iMes bool viscous = config->GetViscous(); bool gravity = config->GetGravityForce(); bool turbulent = (config->GetKind_Turb_Model() != TURB_MODEL::NONE); - bool tkeNeeded = (turbulent && (config->GetKind_Turb_Model() == TURB_MODEL::SST || config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)); + bool tkeNeeded = (turbulent && config->GetKind_Turb_Model() == TURB_MODEL::SST); bool free_stream_temp = (config->GetKind_FreeStreamOption() == FREESTREAM_OPTION::TEMPERATURE_FS); bool reynolds_init = (config->GetKind_InitOption() == REYNOLDS); bool aeroelastic = config->GetAeroelastic_Simulation(); @@ -4289,7 +4289,7 @@ void CEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_container, bool implicit = config->GetKind_TimeIntScheme() == EULER_IMPLICIT; bool viscous = config->GetViscous(); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool tkeNeeded = config->GetKind_Turb_Model() == TURB_MODEL::SST; su2double *Normal = new su2double[nDim]; @@ -4499,7 +4499,7 @@ void CEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_container, /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -4543,8 +4543,8 @@ void CEulerSolver::BC_Riemann(CGeometry *geometry, CSolver **solver_container, bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); bool viscous = config->GetViscous(); - bool gravity = (config->GetGravityForce()); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool gravity = config->GetGravityForce(); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); su2double *Normal, *FlowDirMix, TangVelocity, NormalVelocity; Normal = new su2double[nDim]; @@ -4987,7 +4987,7 @@ void CEulerSolver::BC_Riemann(CGeometry *geometry, CSolver **solver_container, /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -5058,7 +5058,7 @@ void CEulerSolver::BC_TurboRiemann(CGeometry *geometry, CSolver **solver_contain unsigned short nSpanWiseSections = geometry->GetnSpanWiseSections(config->GetMarker_All_TurbomachineryFlag(val_marker)); bool viscous = config->GetViscous(); bool gravity = (config->GetGravityForce()); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); su2double *Normal, *turboNormal, *UnitNormal, *FlowDirMix, FlowDirMixMag, *turboVelocity; Normal = new su2double[nDim]; @@ -5501,7 +5501,7 @@ void CEulerSolver::BC_TurboRiemann(CGeometry *geometry, CSolver **solver_contain /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -6398,7 +6398,7 @@ void CEulerSolver::BC_Giles(CGeometry *geometry, CSolver **solver_container, CNu /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -6465,7 +6465,8 @@ void CEulerSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, su2double Gas_Constant = config->GetGas_ConstantND(); INLET_TYPE Kind_Inlet= config->GetKind_Inlet(); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); + su2double *Normal = new su2double[nDim]; /*--- Loop over all the vertices on this boundary marker ---*/ @@ -6723,7 +6724,7 @@ void CEulerSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, // // /*--- Turbulent kinetic energy ---*/ // -// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) +// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -6763,7 +6764,8 @@ void CEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, su2double Gas_Constant = config->GetGas_ConstantND(); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); bool gravity = (config->GetGravityForce()); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); + su2double *Normal = new su2double[nDim]; /*--- Loop over all the vertices on this boundary marker ---*/ @@ -6897,7 +6899,7 @@ void CEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, // // /*--- Turbulent kinetic energy ---*/ // -// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) +// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -6934,7 +6936,7 @@ void CEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver_con bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); su2double *Normal = new su2double[nDim]; su2double *Velocity = new su2double[nDim]; @@ -7042,7 +7044,7 @@ void CEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver_con // // /*--- Turbulent kinetic energy ---*/ // -// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) +// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -7164,7 +7166,7 @@ void CEulerSolver::BC_Supersonic_Outlet(CGeometry *geometry, CSolver **solver_co // // /*--- Turbulent kinetic energy ---*/ // -// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) +// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -7202,7 +7204,7 @@ void CEulerSolver::BC_Engine_Inflow(CGeometry *geometry, CSolver **solver_contai unsigned short Kind_Engine_Inflow = config->GetKind_Engine_Inflow(); su2double Gas_Constant = config->GetGas_ConstantND(); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); su2double Baseline_Press = 0.75 * config->GetPressure_FreeStreamND(); bool Engine_HalfModel = config->GetEngine_HalfModel(); @@ -7384,7 +7386,7 @@ void CEulerSolver::BC_Engine_Inflow(CGeometry *geometry, CSolver **solver_contai // // /*--- Turbulent kinetic energy ---*/ // -// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) +// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -7418,7 +7420,7 @@ void CEulerSolver::BC_Engine_Exhaust(CGeometry *geometry, CSolver **solver_conta su2double Gas_Constant = config->GetGas_ConstantND(); bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); su2double DampingFactor = config->GetDamp_Engine_Exhaust(); su2double Baseline_Press = 0.75 * config->GetPressure_FreeStreamND(); @@ -7635,7 +7637,7 @@ void CEulerSolver::BC_Engine_Exhaust(CGeometry *geometry, CSolver **solver_conta // // /*--- Turbulent kinetic energy ---*/ // -// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) +// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -7708,7 +7710,7 @@ void CEulerSolver::BC_ActDisk(CGeometry *geometry, CSolver **solver_container, C bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); su2double Gas_Constant = config->GetGas_ConstantND(); - bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); bool ratio = (config->GetActDisk_Jump() == RATIO); su2double SecondaryFlow = config->GetSecondaryFlow_ActDisk(); @@ -8071,7 +8073,7 @@ void CEulerSolver::BC_ActDisk(CGeometry *geometry, CSolver **solver_container, C // // /*--- Turbulent kinetic energy ---*/ // -// if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) +// if (config->GetKind_Turb_Model() == TURB_MODEL::SST) // visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), // solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); // @@ -8134,7 +8136,7 @@ void CEulerSolver::BC_ActDisk_VariableLoad(CGeometry *geometry, CSolver **solver const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); const auto Gas_Constant = config->GetGas_ConstantND(); - const bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + const bool tkeNeeded = (config->GetKind_Turb_Model() == TURB_MODEL::SST); /*--- Get the actuator disk center and axis coordinates for the current marker. ---*/ for (iDim = 0; iDim < nDim; iDim++){ @@ -8615,7 +8617,7 @@ void CEulerSolver::TurboAverageProcess(CSolver **solver, CGeometry *geometry, CC su2double MachTest, soundSpeed; bool turbulent = (config->GetKind_Turb_Model() != TURB_MODEL::NONE); bool spalart_allmaras = (config->GetKind_Turb_Model() == TURB_MODEL::SA); - bool menter_sst = ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)); + bool menter_sst = (config->GetKind_Turb_Model() == TURB_MODEL::SST); /*-- Variables declaration and allocation ---*/ Velocity = new su2double[nDim]; diff --git a/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp b/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp index 3c5570f2f7dd..aad046e1e23c 100644 --- a/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp +++ b/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp @@ -794,7 +794,7 @@ void CFEM_DG_EulerSolver::SetNondimensionalization(CConfig *config, bool viscous = config->GetViscous(); bool grid_movement = config->GetGrid_Movement(); bool turbulent = (config->GetKind_Solver() == MAIN_SOLVER::FEM_RANS) || (config->GetKind_Solver() == MAIN_SOLVER::FEM_LES); - bool tkeNeeded = ((turbulent) && ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST))); + bool tkeNeeded = ((turbulent) && ((config->GetKind_Turb_Model() == TURB_MODEL::SST) )); bool free_stream_temp = (config->GetKind_FreeStreamOption() == FREESTREAM_OPTION::TEMPERATURE_FS); bool reynolds_init = (config->GetKind_InitOption() == REYNOLDS); diff --git a/SU2_CFD/src/solvers/CIncEulerSolver.cpp b/SU2_CFD/src/solvers/CIncEulerSolver.cpp index b288df95ef84..0ecf201b9f93 100644 --- a/SU2_CFD/src/solvers/CIncEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CIncEulerSolver.cpp @@ -253,7 +253,7 @@ void CIncEulerSolver::SetNondimensionalization(CConfig *config, unsigned short i bool viscous = config->GetViscous(); bool turbulent = ((config->GetKind_Solver() == MAIN_SOLVER::INC_RANS) || (config->GetKind_Solver() == MAIN_SOLVER::DISC_ADJ_INC_RANS)); - bool tkeNeeded = ((turbulent) && ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST))); + bool tkeNeeded = ((turbulent) && ((config->GetKind_Turb_Model() == TURB_MODEL::SST))); bool energy = config->GetEnergy_Equation(); bool boussinesq = (config->GetKind_DensityModel() == INC_DENSITYMODEL::BOUSSINESQ); @@ -2129,7 +2129,7 @@ void CIncEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_contain /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -2371,7 +2371,7 @@ void CIncEulerSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); @@ -2569,7 +2569,7 @@ void CIncEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, /*--- Turbulent kinetic energy ---*/ - if ((config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST)) + if (config->GetKind_Turb_Model() == TURB_MODEL::SST) visc_numerics->SetTurbKineticEnergy(solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0), solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0)); diff --git a/SU2_CFD/src/solvers/CIncNSSolver.cpp b/SU2_CFD/src/solvers/CIncNSSolver.cpp index 7f444e462760..57f5e93f8d1e 100644 --- a/SU2_CFD/src/solvers/CIncNSSolver.cpp +++ b/SU2_CFD/src/solvers/CIncNSSolver.cpp @@ -291,7 +291,7 @@ unsigned long CIncNSSolver::SetPrimitive_Variables(CSolver **solver_container, c su2double eddy_visc = 0.0, turb_ke = 0.0, DES_LengthScale = 0.0; const TURB_MODEL turb_model = config->GetKind_Turb_Model(); - bool tkeNeeded = ((turb_model == TURB_MODEL::SST) || (turb_model == TURB_MODEL::SST_SUST)); + bool tkeNeeded = (turb_model == TURB_MODEL::SST); AD::StartNoSharedReading(); diff --git a/SU2_CFD/src/solvers/CNEMONSSolver.cpp b/SU2_CFD/src/solvers/CNEMONSSolver.cpp index 9f49ec622296..f7aa7d141712 100644 --- a/SU2_CFD/src/solvers/CNEMONSSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMONSSolver.cpp @@ -114,7 +114,7 @@ unsigned long CNEMONSSolver::SetPrimitive_Variables(CSolver **solver_container,C unsigned long nonPhysicalPoints = 0; const TURB_MODEL turb_model = config->GetKind_Turb_Model(); - //const bool tkeNeeded = (turb_model == TURB_MODEL::SST) || (turb_model == TURB_MODEL::SST_SUST); + //const bool tkeNeeded = (turb_model == TURB_MODEL::SST); SU2_OMP_FOR_STAT(omp_chunk_size) for (unsigned long iPoint = 0; iPoint < nPoint; iPoint ++) { diff --git a/SU2_CFD/src/solvers/CNSSolver.cpp b/SU2_CFD/src/solvers/CNSSolver.cpp index 8d6e8b47ab5e..2b4ceba51623 100644 --- a/SU2_CFD/src/solvers/CNSSolver.cpp +++ b/SU2_CFD/src/solvers/CNSSolver.cpp @@ -133,7 +133,7 @@ unsigned long CNSSolver::SetPrimitive_Variables(CSolver **solver_container, cons unsigned long nonPhysicalPoints = 0; const TURB_MODEL turb_model = config->GetKind_Turb_Model(); - const bool tkeNeeded = (turb_model == TURB_MODEL::SST) || (turb_model == TURB_MODEL::SST_SUST); + const bool tkeNeeded = (turb_model == TURB_MODEL::SST); AD::StartNoSharedReading(); diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index 3f81c1216197..7e3b7cde6331 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -246,7 +246,6 @@ void CTurbSSTSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai } else { P_Base = StrainMag; } - su2double zeta = min(1.0/omega, a1/(P_Base*F2)); su2double muT = max(rho*kine*zeta,0.0); diff --git a/SU2_CFD/src/solvers/CTurbSolver.cpp b/SU2_CFD/src/solvers/CTurbSolver.cpp index 984dcf6a9500..839f7c5db2ba 100644 --- a/SU2_CFD/src/solvers/CTurbSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSolver.cpp @@ -103,7 +103,7 @@ void CTurbSolver::BC_Giles(CGeometry *geometry, CSolver **solver_container, CNum void CTurbSolver::BC_Fluid_Interface(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config) { - const bool sst = (config->GetKind_Turb_Model() == TURB_MODEL::SST) || (config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST); + const bool sst = (config->GetKind_Turb_Model() == TURB_MODEL::SST); const auto nPrimVar = solver_container[FLOW_SOL]->GetnPrimVar(); su2double *PrimVar_j = new su2double[nPrimVar]; su2double solution_j[MAXNVAR] = {0.0}; diff --git a/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg b/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg index e83d2bcaf14f..594d08727948 100644 --- a/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg +++ b/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg @@ -19,7 +19,7 @@ SOLVER= INC_RANS % % Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -SST_OPTIONS=(SUST) +SST_OPTIONS=(SUSTAINED) % % Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg index 26ca289c5c8d..2fabdd29637a 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg @@ -19,7 +19,7 @@ SOLVER= RANS % % Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -SST_OPTIONS=(SUST) +SST_OPTIONS=(SUSTAINED) % % Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT diff --git a/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg b/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg index 895a0183dacc..faf101b420bb 100644 --- a/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg +++ b/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg @@ -18,7 +18,7 @@ SOLVER= RANS % % Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -SST_OPTIONS=(V1994, SUST) +SST_OPTIONS=(V1994, SUSTAINED) % % Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT From 214b2b13ec055f29d8159e49ed7d0f747cb08ea2 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sun, 10 Apr 2022 10:40:38 +0200 Subject: [PATCH 023/110] cleanup commented lines --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 4130cfd7aa02..e86eb2c10604 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -761,14 +761,9 @@ class CSourcePieceWise_TurbSST final : public CNumerics { } } - //su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - //pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - - //const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); su2double zeta; - su2double pw = pow(P_Base,2); if (sstParsedOptions.version == SST_OPTIONS::V1994){ @@ -797,8 +792,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { } } - //su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg, 0.0); - //su2double pw = alfa_blended * Density_i * (pw - 2.0 / 3.0 * zeta * diverg); + pw = max(pw, 0.0); /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is From 1df520e25bc5875129467d6d3a845ae030827ad9 Mon Sep 17 00:00:00 2001 From: Nijso Date: Sun, 10 Apr 2022 16:24:38 +0200 Subject: [PATCH 024/110] Update Common/include/option_structure.hpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- Common/include/option_structure.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 63ed819d99fb..a1bdaa0f5dc7 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -973,8 +973,8 @@ enum class SST_OPTIONS { }; static const MapType SST_Options_Map = { MakePair("NONE", SST_OPTIONS::NONE) - MakePair("V1994m", SST_OPTIONS::V1994) - MakePair("V2003m", SST_OPTIONS::V2003) + MakePair("V1994m", SST_OPTIONS::V1994m) + MakePair("V2003m", SST_OPTIONS::V2003m) //MakePair("MODIFIED", SST_OPTIONS::MODIFIED) MakePair("SUSTAINED", SST_OPTIONS::SUST) MakePair("VORTICITY", SST_OPTIONS::VORTICITY) From 300230fa130306cd8e0c04a625e4ce5aa1d1294f Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sun, 10 Apr 2022 16:26:49 +0200 Subject: [PATCH 025/110] change to sustaining --- Common/include/option_structure.hpp | 2 +- TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg | 2 +- TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 63ed819d99fb..31d2f5f71c52 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -976,7 +976,7 @@ static const MapType SST_Options_Map = { MakePair("V1994m", SST_OPTIONS::V1994) MakePair("V2003m", SST_OPTIONS::V2003) //MakePair("MODIFIED", SST_OPTIONS::MODIFIED) - MakePair("SUSTAINED", SST_OPTIONS::SUST) + MakePair("SUSTAINING", SST_OPTIONS::SUST) MakePair("VORTICITY", SST_OPTIONS::VORTICITY) MakePair("KATO-LAUNDER", SST_OPTIONS::KL) MakePair("UNCERTAINTY", SST_OPTIONS::UNCERTAINTY) diff --git a/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg b/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg index 594d08727948..22fa3f975491 100644 --- a/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg +++ b/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg @@ -19,7 +19,7 @@ SOLVER= INC_RANS % % Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -SST_OPTIONS=(SUSTAINED) +SST_OPTIONS=(SUSTAINING) % % Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT diff --git a/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg b/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg index faf101b420bb..0cb34894e8d2 100644 --- a/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg +++ b/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg @@ -18,7 +18,7 @@ SOLVER= RANS % % Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -SST_OPTIONS=(V1994, SUSTAINED) +SST_OPTIONS=(V1994m, SUSTAINING) % % Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT From 4718be27678e28a4579e3710ad26c964868085d6 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sun, 10 Apr 2022 18:13:05 +0200 Subject: [PATCH 026/110] sst1994m reversed - first get regression tests working again --- Common/include/CConfig.hpp | 4 ++-- Common/include/option_structure.hpp | 4 ++++ TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg | 2 +- config_template.cfg | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index f6bb33890083..fa278988770c 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -9643,7 +9643,7 @@ class CConfig { const bool sst_1994 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994) != sst_options_end; const bool sst_2003 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003) != sst_options_end; - + /* when V2003 is selected, we automatically select sst_m as well */ const bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::MODIFIED) != sst_options_end || sst_2003; @@ -9659,7 +9659,7 @@ class CConfig { } else if (sst_2003) { /*--- sst-2003m model is sst2003 + sstm ---*/ cout << "Currently only the SST-2003m (modified) has been implemented. " << endl; - SSTParsedOptions.version = SST_OPTIONS::V2003; + SSTParsedOptions.version = SST_OPTIONS::V2003m; } else if (sst_1994){ /* --- Add warning to switch to SST-2003m --- */ cout << "warning: the current SST-1994 model is inconsistent with literature. We recommend to use the SST-2003m model." << endl; diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 76245fdfe883..f0d465b17d9c 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -964,6 +964,8 @@ enum class SST_OPTIONS { NONE, /*!< \brief No SST Turb model. */ V1994, /*!< \brief 1994 Menter k-w SST model. */ V2003, /*!< \brief 2003 Menter k-w SST model. */ + V1994m, /*!< \brief 1994m Menter k-w SST model. */ + V2003m, /*!< \brief 2003m Menter k-w SST model. */ MODIFIED, /*!< \brief Modified k-w SST model. */ SUST, /*!< \brief Menter k-w SST model with sustaining terms. */ VORTICITY, /*!< \brief Menter k-w SST model with vorticity production terms. */ @@ -975,6 +977,8 @@ static const MapType SST_Options_Map = { MakePair("NONE", SST_OPTIONS::NONE) MakePair("V1994m", SST_OPTIONS::V1994m) MakePair("V2003m", SST_OPTIONS::V2003m) + MakePair("V1994", SST_OPTIONS::V1994) + MakePair("V2003", SST_OPTIONS::V2003) //MakePair("MODIFIED", SST_OPTIONS::MODIFIED) MakePair("SUSTAINING", SST_OPTIONS::SUST) MakePair("VORTICITY", SST_OPTIONS::VORTICITY) diff --git a/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg b/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg index 0cb34894e8d2..8e1005e01bf3 100644 --- a/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg +++ b/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg @@ -18,7 +18,7 @@ SOLVER= RANS % % Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -SST_OPTIONS=(V1994m, SUSTAINING) +SST_OPTIONS=(V1994, SUSTAINING) % % Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT diff --git a/config_template.cfg b/config_template.cfg index 41068dd90fcd..0eb9e72fd8e4 100644 --- a/config_template.cfg +++ b/config_template.cfg @@ -21,7 +21,7 @@ SOLVER= EULER % Specify turbulence model (NONE, SA, SA_NEG, SST, SA_E, SA_COMP, SA_E_COMP) KIND_TURB_MODEL= NONE % -% Specify versions/corrections to SST model (NONE, V2003m, V1994m, VORTICITY, SUSTAINING, UQ) +% Specify versions/corrections to SST model (NONE, V2003m, V1994, VORTICITY, SUSTAINING, UQ) SST_OPTIONS= NONE % % Transition model (NONE, BC) From c74f0820e59e0e6e67db421e65db25062c6ce4e6 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sun, 10 Apr 2022 19:30:57 +0200 Subject: [PATCH 027/110] copy turb_sources from develop --- .../numerics/turbulent/turb_sources.hpp | 80 +++---------------- 1 file changed, 9 insertions(+), 71 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index e86eb2c10604..fe581827e121 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -564,8 +564,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Closure constants ---*/ const su2double sigma_k_1, sigma_k_2, sigma_w_1, sigma_w_2, beta_1, beta_2, beta_star, a1, alfa_1, alfa_2; - const su2double ProdLimConstant; - SST_ParsedOptions sstParsedOptions; + /*--- Ambient values for SST-SUST. ---*/ const su2double kAmb, omegaAmb; @@ -638,6 +637,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double val_omega_Inf, const CConfig* config) : CNumerics(val_nDim, 2, config), idx(val_nDim, config->GetnSpecies()), + sustaining_terms(config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST), axisymmetric(config->GetAxisymmetric()), sigma_k_1(constants[0]), sigma_k_2(constants[1]), @@ -649,15 +649,11 @@ class CSourcePieceWise_TurbSST final : public CNumerics { a1(constants[7]), alfa_1(constants[8]), alfa_2(constants[9]), - ProdLimConstant(constants[10]), kAmb(val_kine_Inf), omegaAmb(val_omega_Inf) { /*--- "Allocate" the Jacobian using the static buffer. ---*/ Jacobian_i[0] = Jacobian_Buffer; Jacobian_i[1] = Jacobian_Buffer + 2; - - sstParsedOptions = config->GetSSTParsedOptions(); - } /*! @@ -729,70 +725,20 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- If using UQ methodolgy, calculate production using perturbed Reynolds stress matrix ---*/ - const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); su2double StrainMag = StrainMag_i; - su2double P_Base = StrainMag; //Base production term for SST1994 and SST2003 if (using_uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); - P_Base = PerturbedStrainMag(ScalarVar_i[0]); - - } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { - P_Base = VorticityMag; - - } else if (sstParsedOptions.production == SST_OPTIONS::KL) { - P_Base = sqrt(StrainMag_i*VorticityMag); - } - - /*--- first part of the production term ---*/ - su2double pk = Eddy_Viscosity_i * pow(P_Base,2); - - if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { - /* in case of unmodified, we add the divergence terms */ - if (sstParsedOptions.version == SST_OPTIONS::V1994) { - /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ - //pk -= (Eddy_Viscosity*2.0/3.0*diverg*diverg + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); - pk -= 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - } else { - /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ - pk -= (Eddy_Viscosity_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); - } - } - - pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - - su2double zeta; - su2double pw = pow(P_Base,2); - - if (sstParsedOptions.version == SST_OPTIONS::V1994){ - /*--- no production limiter on w-equation for SST1994 ---*/ - zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - /*--- ---*/ - pw = (alfa_blended * Density_i) * pw; - } else { - /*--- production limiter on w-equation for SST2003 ---*/ - zeta = max(ScalarVar_i[1], StrainMag_i * F2_i / a1); - pw = (alfa_blended * Density_i) * max(0.0, min(pw, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); } - if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { - /* in case of unmodified, we add the divergence terms */ - if (sstParsedOptions.version == SST_OPTIONS::V1994) { - /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ - /* --- note that mu_t = rho*a1*k/zeta and we can make this term independent of k ---*/ - // the correct production with the additional divergence term - // pw -= (alfa_blended*Density_i * (2.0 / 3.0 * diverg*diverg) + 2.0 / 3.0 * zeta * diverg); - /*--- the tke term only ---*/ - pw -= (alfa_blended * Density_i)* 2.0 / 3.0 * zeta * diverg; - } else { - /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ - pw -= (alfa_blended*Density_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * zeta * diverg); - } - } - - pw = max(pw, 0.0); + su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + + const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); + const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); + su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg, 0.0); /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is @@ -801,19 +747,13 @@ class CSourcePieceWise_TurbSST final : public CNumerics { lead to problems for very big values of the free-stream turbulence intensity. ---*/ - if (sstParsedOptions.sust) { + if (sustaining_terms) { const su2double sust_k = beta_star * Density_i * kAmb * omegaAmb; const su2double sust_w = beta_blended * Density_i * omegaAmb * omegaAmb; pk = max(pk, sust_k); pw = max(pw, sust_w); } - /*--- Rotation/ Curvature Corrections ---*/ - if (sstParsedOptions.rc){ - //TODO multiply the Ps by some fun stuff that I dont want to implement at the moment. - - } - /*--- Add the production terms to the residuals. ---*/ Residual[0] += pk * Volume; @@ -835,8 +775,6 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Implicit part ---*/ Jacobian_i[0][0] = -beta_star * ScalarVar_i[1] * Volume; - // I think should be this, - //Jacobian_i[0][0] = (1.0/zeta) -beta_star * ScalarVar_i[1] * Volume; Jacobian_i[0][1] = -beta_star * ScalarVar_i[0] * Volume; Jacobian_i[1][0] = 0.0; Jacobian_i[1][1] = -2.0 * beta_blended * ScalarVar_i[1] * Volume; From a9271be136e5bdd123d34e343d4ab8f49bdc8d5b Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sun, 10 Apr 2022 21:02:17 +0200 Subject: [PATCH 028/110] change turb_sources back --- .../numerics/turbulent/turb_sources.hpp | 80 ++++++++++++++++--- 1 file changed, 71 insertions(+), 9 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index fe581827e121..e86eb2c10604 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -564,7 +564,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Closure constants ---*/ const su2double sigma_k_1, sigma_k_2, sigma_w_1, sigma_w_2, beta_1, beta_2, beta_star, a1, alfa_1, alfa_2; - + const su2double ProdLimConstant; + SST_ParsedOptions sstParsedOptions; /*--- Ambient values for SST-SUST. ---*/ const su2double kAmb, omegaAmb; @@ -637,7 +638,6 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double val_omega_Inf, const CConfig* config) : CNumerics(val_nDim, 2, config), idx(val_nDim, config->GetnSpecies()), - sustaining_terms(config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST), axisymmetric(config->GetAxisymmetric()), sigma_k_1(constants[0]), sigma_k_2(constants[1]), @@ -649,11 +649,15 @@ class CSourcePieceWise_TurbSST final : public CNumerics { a1(constants[7]), alfa_1(constants[8]), alfa_2(constants[9]), + ProdLimConstant(constants[10]), kAmb(val_kine_Inf), omegaAmb(val_omega_Inf) { /*--- "Allocate" the Jacobian using the static buffer. ---*/ Jacobian_i[0] = Jacobian_Buffer; Jacobian_i[1] = Jacobian_Buffer + 2; + + sstParsedOptions = config->GetSSTParsedOptions(); + } /*! @@ -725,20 +729,70 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- If using UQ methodolgy, calculate production using perturbed Reynolds stress matrix ---*/ + const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); su2double StrainMag = StrainMag_i; + su2double P_Base = StrainMag; //Base production term for SST1994 and SST2003 if (using_uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); + P_Base = PerturbedStrainMag(ScalarVar_i[0]); + + } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { + P_Base = VorticityMag; + + } else if (sstParsedOptions.production == SST_OPTIONS::KL) { + P_Base = sqrt(StrainMag_i*VorticityMag); + } + + /*--- first part of the production term ---*/ + su2double pk = Eddy_Viscosity_i * pow(P_Base,2); + + if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { + /* in case of unmodified, we add the divergence terms */ + if (sstParsedOptions.version == SST_OPTIONS::V1994) { + /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ + //pk -= (Eddy_Viscosity*2.0/3.0*diverg*diverg + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); + pk -= 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + } else { + /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ + pk -= (Eddy_Viscosity_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); + } + } + + pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + + su2double zeta; + su2double pw = pow(P_Base,2); + + if (sstParsedOptions.version == SST_OPTIONS::V1994){ + /*--- no production limiter on w-equation for SST1994 ---*/ + zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); + /*--- ---*/ + pw = (alfa_blended * Density_i) * pw; + } else { + /*--- production limiter on w-equation for SST2003 ---*/ + zeta = max(ScalarVar_i[1], StrainMag_i * F2_i / a1); + pw = (alfa_blended * Density_i) * max(0.0, min(pw, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); } - su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - - const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); - const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg, 0.0); + if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { + /* in case of unmodified, we add the divergence terms */ + if (sstParsedOptions.version == SST_OPTIONS::V1994) { + /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ + /* --- note that mu_t = rho*a1*k/zeta and we can make this term independent of k ---*/ + // the correct production with the additional divergence term + // pw -= (alfa_blended*Density_i * (2.0 / 3.0 * diverg*diverg) + 2.0 / 3.0 * zeta * diverg); + /*--- the tke term only ---*/ + pw -= (alfa_blended * Density_i)* 2.0 / 3.0 * zeta * diverg; + } else { + /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ + pw -= (alfa_blended*Density_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * zeta * diverg); + } + } + + pw = max(pw, 0.0); /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is @@ -747,13 +801,19 @@ class CSourcePieceWise_TurbSST final : public CNumerics { lead to problems for very big values of the free-stream turbulence intensity. ---*/ - if (sustaining_terms) { + if (sstParsedOptions.sust) { const su2double sust_k = beta_star * Density_i * kAmb * omegaAmb; const su2double sust_w = beta_blended * Density_i * omegaAmb * omegaAmb; pk = max(pk, sust_k); pw = max(pw, sust_w); } + /*--- Rotation/ Curvature Corrections ---*/ + if (sstParsedOptions.rc){ + //TODO multiply the Ps by some fun stuff that I dont want to implement at the moment. + + } + /*--- Add the production terms to the residuals. ---*/ Residual[0] += pk * Volume; @@ -775,6 +835,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Implicit part ---*/ Jacobian_i[0][0] = -beta_star * ScalarVar_i[1] * Volume; + // I think should be this, + //Jacobian_i[0][0] = (1.0/zeta) -beta_star * ScalarVar_i[1] * Volume; Jacobian_i[0][1] = -beta_star * ScalarVar_i[0] * Volume; Jacobian_i[1][0] = 0.0; Jacobian_i[1][1] = -2.0 * beta_blended * ScalarVar_i[1] * Volume; From 469b8ce87bb9403313514239d00641c44f1a5b70 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sun, 10 Apr 2022 21:29:31 +0200 Subject: [PATCH 029/110] change entire sst model back --- .../numerics/turbulent/turb_sources.hpp | 80 +++---------------- .../include/variables/CTurbSSTVariable.hpp | 3 +- SU2_CFD/include/variables/CVariable.hpp | 3 +- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 29 ++----- SU2_CFD/src/variables/CTurbSSTVariable.cpp | 11 +-- 5 files changed, 21 insertions(+), 105 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index e86eb2c10604..fe581827e121 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -564,8 +564,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Closure constants ---*/ const su2double sigma_k_1, sigma_k_2, sigma_w_1, sigma_w_2, beta_1, beta_2, beta_star, a1, alfa_1, alfa_2; - const su2double ProdLimConstant; - SST_ParsedOptions sstParsedOptions; + /*--- Ambient values for SST-SUST. ---*/ const su2double kAmb, omegaAmb; @@ -638,6 +637,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double val_omega_Inf, const CConfig* config) : CNumerics(val_nDim, 2, config), idx(val_nDim, config->GetnSpecies()), + sustaining_terms(config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST), axisymmetric(config->GetAxisymmetric()), sigma_k_1(constants[0]), sigma_k_2(constants[1]), @@ -649,15 +649,11 @@ class CSourcePieceWise_TurbSST final : public CNumerics { a1(constants[7]), alfa_1(constants[8]), alfa_2(constants[9]), - ProdLimConstant(constants[10]), kAmb(val_kine_Inf), omegaAmb(val_omega_Inf) { /*--- "Allocate" the Jacobian using the static buffer. ---*/ Jacobian_i[0] = Jacobian_Buffer; Jacobian_i[1] = Jacobian_Buffer + 2; - - sstParsedOptions = config->GetSSTParsedOptions(); - } /*! @@ -729,70 +725,20 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- If using UQ methodolgy, calculate production using perturbed Reynolds stress matrix ---*/ - const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); su2double StrainMag = StrainMag_i; - su2double P_Base = StrainMag; //Base production term for SST1994 and SST2003 if (using_uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); - P_Base = PerturbedStrainMag(ScalarVar_i[0]); - - } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { - P_Base = VorticityMag; - - } else if (sstParsedOptions.production == SST_OPTIONS::KL) { - P_Base = sqrt(StrainMag_i*VorticityMag); - } - - /*--- first part of the production term ---*/ - su2double pk = Eddy_Viscosity_i * pow(P_Base,2); - - if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { - /* in case of unmodified, we add the divergence terms */ - if (sstParsedOptions.version == SST_OPTIONS::V1994) { - /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ - //pk -= (Eddy_Viscosity*2.0/3.0*diverg*diverg + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); - pk -= 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - } else { - /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ - pk -= (Eddy_Viscosity_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); - } - } - - pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - - su2double zeta; - su2double pw = pow(P_Base,2); - - if (sstParsedOptions.version == SST_OPTIONS::V1994){ - /*--- no production limiter on w-equation for SST1994 ---*/ - zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - /*--- ---*/ - pw = (alfa_blended * Density_i) * pw; - } else { - /*--- production limiter on w-equation for SST2003 ---*/ - zeta = max(ScalarVar_i[1], StrainMag_i * F2_i / a1); - pw = (alfa_blended * Density_i) * max(0.0, min(pw, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); } - if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { - /* in case of unmodified, we add the divergence terms */ - if (sstParsedOptions.version == SST_OPTIONS::V1994) { - /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ - /* --- note that mu_t = rho*a1*k/zeta and we can make this term independent of k ---*/ - // the correct production with the additional divergence term - // pw -= (alfa_blended*Density_i * (2.0 / 3.0 * diverg*diverg) + 2.0 / 3.0 * zeta * diverg); - /*--- the tke term only ---*/ - pw -= (alfa_blended * Density_i)* 2.0 / 3.0 * zeta * diverg; - } else { - /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ - pw -= (alfa_blended*Density_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * zeta * diverg); - } - } - - pw = max(pw, 0.0); + su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + + const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); + const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); + su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg, 0.0); /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is @@ -801,19 +747,13 @@ class CSourcePieceWise_TurbSST final : public CNumerics { lead to problems for very big values of the free-stream turbulence intensity. ---*/ - if (sstParsedOptions.sust) { + if (sustaining_terms) { const su2double sust_k = beta_star * Density_i * kAmb * omegaAmb; const su2double sust_w = beta_blended * Density_i * omegaAmb * omegaAmb; pk = max(pk, sust_k); pw = max(pw, sust_w); } - /*--- Rotation/ Curvature Corrections ---*/ - if (sstParsedOptions.rc){ - //TODO multiply the Ps by some fun stuff that I dont want to implement at the moment. - - } - /*--- Add the production terms to the residuals. ---*/ Residual[0] += pk * Volume; @@ -835,8 +775,6 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Implicit part ---*/ Jacobian_i[0][0] = -beta_star * ScalarVar_i[1] * Volume; - // I think should be this, - //Jacobian_i[0][0] = (1.0/zeta) -beta_star * ScalarVar_i[1] * Volume; Jacobian_i[0][1] = -beta_star * ScalarVar_i[0] * Volume; Jacobian_i[1][0] = 0.0; Jacobian_i[1][1] = -2.0 * beta_blended * ScalarVar_i[1] * Volume; diff --git a/SU2_CFD/include/variables/CTurbSSTVariable.hpp b/SU2_CFD/include/variables/CTurbSSTVariable.hpp index 40e45636b7b8..ffb449fe669a 100644 --- a/SU2_CFD/include/variables/CTurbSSTVariable.hpp +++ b/SU2_CFD/include/variables/CTurbSSTVariable.hpp @@ -70,7 +70,8 @@ class CTurbSSTVariable final : public CTurbVariable { * \param[in] val_dist - Value of the distance to the wall. * \param[in] val_density - Value of the density. */ - void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density, CConfig *config) override; + //void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density, CConfig *config) override; + void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density) override; /*! * \brief Get the first blending function. diff --git a/SU2_CFD/include/variables/CVariable.hpp b/SU2_CFD/include/variables/CVariable.hpp index be314ff6a23f..cfaf3b685aa1 100644 --- a/SU2_CFD/include/variables/CVariable.hpp +++ b/SU2_CFD/include/variables/CVariable.hpp @@ -1678,7 +1678,8 @@ class CVariable { * \param[in] val_density - Value of the density. * \param[in] val_dist - Value of the distance to the wall. */ - inline virtual void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density, CConfig *config) {} + //inline virtual void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density, CConfig *config) {} + inline virtual void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density) {} /*! * \brief Get the first blending function of the SST model. diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index 7e3b7cde6331..e7b84ad7eada 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -40,7 +40,6 @@ CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned sh string text_line; bool multizone = config->GetMultizone_Problem(); - sstParsedOptions = config->GetSSTParsedOptions(); /*--- Dimension of the problem --> dependent on the turbulence model. ---*/ @@ -104,17 +103,9 @@ CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned sh constants[5] = 0.0828; //beta_2 constants[6] = 0.09; //betaStar constants[7] = 0.31; //a1 + constants[8] = constants[4]/constants[6] - constants[2]*0.41*0.41/sqrt(constants[6]); //alfa_1 + constants[9] = constants[5]/constants[6] - constants[3]*0.41*0.41/sqrt(constants[6]); //alfa_2 - if (sstParsedOptions.version == SST_OPTIONS::V1994){ - constants[8] = constants[4]/constants[6] - constants[2]*0.41*0.41/sqrt(constants[6]); //alfa_1 - constants[9] = constants[5]/constants[6] - constants[3]*0.41*0.41/sqrt(constants[6]); //alfa_2 - constants[10] = 20.0; // production limiter constant - } else { - /* SST-V2003 */ - constants[8] = 5.0 / 9.0; - constants[9] = 0.44; - constants[10] = 10.0; // production limiter constant - } /*--- Initialize lower and upper limits---*/ lowerlimit[0] = 1.0e-10; upperlimit[0] = 1.0e10; @@ -229,8 +220,8 @@ void CTurbSSTSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai su2double VorticityMag = GeometryToolbox::Norm(3, flowNodes->GetVorticity(iPoint)); VorticityMag = max(VorticityMag, 1e-12); // safety against division by zero - su2double StrainMag = max(nodes->GetStrainMag(iPoint), 1e-12); - nodes->SetBlendingFunc(iPoint, mu, dist, rho, config); + + nodes->SetBlendingFunc(iPoint, mu, dist, rho); su2double F2 = nodes->GetF2blending(iPoint); @@ -238,17 +229,9 @@ void CTurbSSTSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai su2double kine = nodes->GetSolution(iPoint,0); su2double omega = nodes->GetSolution(iPoint,1); - - su2double P_Base; - - if (sstParsedOptions.version == SST_OPTIONS::V1994){ - P_Base = VorticityMag; - } else { - P_Base = StrainMag; - } - su2double zeta = min(1.0/omega, a1/(P_Base*F2)); + su2double zeta = min(1.0/omega, a1/(VorticityMag*F2)); su2double muT = max(rho*kine*zeta,0.0); - + nodes->SetmuT(iPoint,muT); } diff --git a/SU2_CFD/src/variables/CTurbSSTVariable.cpp b/SU2_CFD/src/variables/CTurbSSTVariable.cpp index 9f4c4e674ce7..65f145125c24 100644 --- a/SU2_CFD/src/variables/CTurbSSTVariable.cpp +++ b/SU2_CFD/src/variables/CTurbSSTVariable.cpp @@ -32,8 +32,6 @@ CTurbSSTVariable::CTurbSSTVariable(su2double kine, su2double omega, su2double mut, unsigned long npoint, unsigned long ndim, unsigned long nvar, const su2double* constants, CConfig *config) : CTurbVariable(npoint, ndim, nvar, config) { - sstParsedOptions = config->GetSSTParsedOptions(); - for(unsigned long iPoint=0; iPoint Date: Sun, 10 Apr 2022 22:39:09 +0200 Subject: [PATCH 030/110] add turb_sources --- .../numerics/turbulent/turb_sources.hpp | 82 +++++++++++++++++-- 1 file changed, 73 insertions(+), 9 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index fe581827e121..6c58a2817500 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -564,7 +564,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Closure constants ---*/ const su2double sigma_k_1, sigma_k_2, sigma_w_1, sigma_w_2, beta_1, beta_2, beta_star, a1, alfa_1, alfa_2; - + const su2double ProdLimConstant; + SST_ParsedOptions sstParsedOptions; /*--- Ambient values for SST-SUST. ---*/ const su2double kAmb, omegaAmb; @@ -637,7 +638,6 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double val_omega_Inf, const CConfig* config) : CNumerics(val_nDim, 2, config), idx(val_nDim, config->GetnSpecies()), - sustaining_terms(config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST), axisymmetric(config->GetAxisymmetric()), sigma_k_1(constants[0]), sigma_k_2(constants[1]), @@ -649,11 +649,15 @@ class CSourcePieceWise_TurbSST final : public CNumerics { a1(constants[7]), alfa_1(constants[8]), alfa_2(constants[9]), + ProdLimConstant(constants[10]), kAmb(val_kine_Inf), omegaAmb(val_omega_Inf) { /*--- "Allocate" the Jacobian using the static buffer. ---*/ Jacobian_i[0] = Jacobian_Buffer; Jacobian_i[1] = Jacobian_Buffer + 2; + + sstParsedOptions = config->GetSSTParsedOptions(); + } /*! @@ -725,20 +729,72 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- If using UQ methodolgy, calculate production using perturbed Reynolds stress matrix ---*/ + const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); su2double StrainMag = StrainMag_i; + su2double P_Base = StrainMag; //Base production term for SST1994 and SST2003 if (using_uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); - } - - su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + P_Base = PerturbedStrainMag(ScalarVar_i[0]); + + } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { + P_Base = VorticityMag; + + } else if (sstParsedOptions.production == SST_OPTIONS::KL) { + P_Base = sqrt(StrainMag_i*VorticityMag); + } + + /*--- first part of the production term ---*/ + su2double pk = Eddy_Viscosity_i * pow(P_Base,2); + + if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { + /* in case of unmodified, we add the divergence terms */ + if (sstParsedOptions.version == SST_OPTIONS::V1994) { + /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ + //pk -= (Eddy_Viscosity*2.0/3.0*diverg*diverg + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); + pk -= 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + } else { + /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ + pk -= (Eddy_Viscosity_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); + } + } + + //pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); - const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg, 0.0); + su2double zeta; + su2double pw = pow(P_Base,2); + + if (sstParsedOptions.version == SST_OPTIONS::V1994){ + /*--- no production limiter on w-equation for SST1994 ---*/ + zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); + /*--- ---*/ + pw = (alfa_blended * Density_i) * pw; + } else { + /*--- production limiter on w-equation for SST2003 ---*/ + zeta = max(ScalarVar_i[1], StrainMag_i * F2_i / a1); + //pw = (alfa_blended * Density_i) * max(0.0, min(pw, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + pw = (alfa_blended * Density_i) * max(0.0, min(pw, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + } + + if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { + /* in case of unmodified, we add the divergence terms */ + if (sstParsedOptions.version == SST_OPTIONS::V1994) { + /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ + /* --- note that mu_t = rho*a1*k/zeta and we can make this term independent of k ---*/ + // the correct production with the additional divergence term + // pw -= (alfa_blended*Density_i * (2.0 / 3.0 * diverg*diverg) + 2.0 / 3.0 * zeta * diverg); + /*--- the tke term only ---*/ + pw -= (alfa_blended * Density_i)* 2.0 / 3.0 * zeta * diverg; + } else { + /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ + pw -= (alfa_blended*Density_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * zeta * diverg); + } + } + + pw = max(pw, 0.0); /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is @@ -747,13 +803,19 @@ class CSourcePieceWise_TurbSST final : public CNumerics { lead to problems for very big values of the free-stream turbulence intensity. ---*/ - if (sustaining_terms) { + if (sstParsedOptions.sust) { const su2double sust_k = beta_star * Density_i * kAmb * omegaAmb; const su2double sust_w = beta_blended * Density_i * omegaAmb * omegaAmb; pk = max(pk, sust_k); pw = max(pw, sust_w); } + /*--- Rotation/ Curvature Corrections ---*/ + if (sstParsedOptions.rc){ + //TODO multiply the Ps by some fun stuff that I dont want to implement at the moment. + + } + /*--- Add the production terms to the residuals. ---*/ Residual[0] += pk * Volume; @@ -775,6 +837,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Implicit part ---*/ Jacobian_i[0][0] = -beta_star * ScalarVar_i[1] * Volume; + // I think should be this, + //Jacobian_i[0][0] = (1.0/zeta) -beta_star * ScalarVar_i[1] * Volume; Jacobian_i[0][1] = -beta_star * ScalarVar_i[0] * Volume; Jacobian_i[1][0] = 0.0; Jacobian_i[1][1] = -2.0 * beta_blended * ScalarVar_i[1] * Volume; From d73234ddf5d6bdefdd2db2f27284b90dca7f135f Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sun, 10 Apr 2022 23:18:54 +0200 Subject: [PATCH 031/110] add sstvariable --- .../numerics/turbulent/turb_sources.hpp | 82 ++----------------- .../include/variables/CTurbSSTVariable.hpp | 3 +- SU2_CFD/include/variables/CVariable.hpp | 3 +- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 2 +- SU2_CFD/src/variables/CTurbSSTVariable.cpp | 11 ++- 5 files changed, 21 insertions(+), 80 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 6c58a2817500..fe581827e121 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -564,8 +564,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Closure constants ---*/ const su2double sigma_k_1, sigma_k_2, sigma_w_1, sigma_w_2, beta_1, beta_2, beta_star, a1, alfa_1, alfa_2; - const su2double ProdLimConstant; - SST_ParsedOptions sstParsedOptions; + /*--- Ambient values for SST-SUST. ---*/ const su2double kAmb, omegaAmb; @@ -638,6 +637,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double val_omega_Inf, const CConfig* config) : CNumerics(val_nDim, 2, config), idx(val_nDim, config->GetnSpecies()), + sustaining_terms(config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST), axisymmetric(config->GetAxisymmetric()), sigma_k_1(constants[0]), sigma_k_2(constants[1]), @@ -649,15 +649,11 @@ class CSourcePieceWise_TurbSST final : public CNumerics { a1(constants[7]), alfa_1(constants[8]), alfa_2(constants[9]), - ProdLimConstant(constants[10]), kAmb(val_kine_Inf), omegaAmb(val_omega_Inf) { /*--- "Allocate" the Jacobian using the static buffer. ---*/ Jacobian_i[0] = Jacobian_Buffer; Jacobian_i[1] = Jacobian_Buffer + 2; - - sstParsedOptions = config->GetSSTParsedOptions(); - } /*! @@ -729,72 +725,20 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- If using UQ methodolgy, calculate production using perturbed Reynolds stress matrix ---*/ - const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); su2double StrainMag = StrainMag_i; - su2double P_Base = StrainMag; //Base production term for SST1994 and SST2003 if (using_uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); - P_Base = PerturbedStrainMag(ScalarVar_i[0]); - - } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { - P_Base = VorticityMag; - - } else if (sstParsedOptions.production == SST_OPTIONS::KL) { - P_Base = sqrt(StrainMag_i*VorticityMag); - } - - /*--- first part of the production term ---*/ - su2double pk = Eddy_Viscosity_i * pow(P_Base,2); - - if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { - /* in case of unmodified, we add the divergence terms */ - if (sstParsedOptions.version == SST_OPTIONS::V1994) { - /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ - //pk -= (Eddy_Viscosity*2.0/3.0*diverg*diverg + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); - pk -= 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - } else { - /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ - pk -= (Eddy_Viscosity_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); - } - } - - //pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - - su2double zeta; - su2double pw = pow(P_Base,2); - - if (sstParsedOptions.version == SST_OPTIONS::V1994){ - /*--- no production limiter on w-equation for SST1994 ---*/ - zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - /*--- ---*/ - pw = (alfa_blended * Density_i) * pw; - } else { - /*--- production limiter on w-equation for SST2003 ---*/ - zeta = max(ScalarVar_i[1], StrainMag_i * F2_i / a1); - //pw = (alfa_blended * Density_i) * max(0.0, min(pw, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - pw = (alfa_blended * Density_i) * max(0.0, min(pw, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); } - if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { - /* in case of unmodified, we add the divergence terms */ - if (sstParsedOptions.version == SST_OPTIONS::V1994) { - /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ - /* --- note that mu_t = rho*a1*k/zeta and we can make this term independent of k ---*/ - // the correct production with the additional divergence term - // pw -= (alfa_blended*Density_i * (2.0 / 3.0 * diverg*diverg) + 2.0 / 3.0 * zeta * diverg); - /*--- the tke term only ---*/ - pw -= (alfa_blended * Density_i)* 2.0 / 3.0 * zeta * diverg; - } else { - /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ - pw -= (alfa_blended*Density_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * zeta * diverg); - } - } - - pw = max(pw, 0.0); + su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + + const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); + const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); + su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg, 0.0); /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is @@ -803,19 +747,13 @@ class CSourcePieceWise_TurbSST final : public CNumerics { lead to problems for very big values of the free-stream turbulence intensity. ---*/ - if (sstParsedOptions.sust) { + if (sustaining_terms) { const su2double sust_k = beta_star * Density_i * kAmb * omegaAmb; const su2double sust_w = beta_blended * Density_i * omegaAmb * omegaAmb; pk = max(pk, sust_k); pw = max(pw, sust_w); } - /*--- Rotation/ Curvature Corrections ---*/ - if (sstParsedOptions.rc){ - //TODO multiply the Ps by some fun stuff that I dont want to implement at the moment. - - } - /*--- Add the production terms to the residuals. ---*/ Residual[0] += pk * Volume; @@ -837,8 +775,6 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Implicit part ---*/ Jacobian_i[0][0] = -beta_star * ScalarVar_i[1] * Volume; - // I think should be this, - //Jacobian_i[0][0] = (1.0/zeta) -beta_star * ScalarVar_i[1] * Volume; Jacobian_i[0][1] = -beta_star * ScalarVar_i[0] * Volume; Jacobian_i[1][0] = 0.0; Jacobian_i[1][1] = -2.0 * beta_blended * ScalarVar_i[1] * Volume; diff --git a/SU2_CFD/include/variables/CTurbSSTVariable.hpp b/SU2_CFD/include/variables/CTurbSSTVariable.hpp index ffb449fe669a..40e45636b7b8 100644 --- a/SU2_CFD/include/variables/CTurbSSTVariable.hpp +++ b/SU2_CFD/include/variables/CTurbSSTVariable.hpp @@ -70,8 +70,7 @@ class CTurbSSTVariable final : public CTurbVariable { * \param[in] val_dist - Value of the distance to the wall. * \param[in] val_density - Value of the density. */ - //void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density, CConfig *config) override; - void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density) override; + void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density, CConfig *config) override; /*! * \brief Get the first blending function. diff --git a/SU2_CFD/include/variables/CVariable.hpp b/SU2_CFD/include/variables/CVariable.hpp index cfaf3b685aa1..be314ff6a23f 100644 --- a/SU2_CFD/include/variables/CVariable.hpp +++ b/SU2_CFD/include/variables/CVariable.hpp @@ -1678,8 +1678,7 @@ class CVariable { * \param[in] val_density - Value of the density. * \param[in] val_dist - Value of the distance to the wall. */ - //inline virtual void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density, CConfig *config) {} - inline virtual void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density) {} + inline virtual void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density, CConfig *config) {} /*! * \brief Get the first blending function of the SST model. diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index e7b84ad7eada..4fafdb5d3f75 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -221,7 +221,7 @@ void CTurbSSTSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai su2double VorticityMag = GeometryToolbox::Norm(3, flowNodes->GetVorticity(iPoint)); VorticityMag = max(VorticityMag, 1e-12); // safety against division by zero - nodes->SetBlendingFunc(iPoint, mu, dist, rho); + nodes->SetBlendingFunc(iPoint, mu, dist, rho, config); su2double F2 = nodes->GetF2blending(iPoint); diff --git a/SU2_CFD/src/variables/CTurbSSTVariable.cpp b/SU2_CFD/src/variables/CTurbSSTVariable.cpp index 65f145125c24..9f4c4e674ce7 100644 --- a/SU2_CFD/src/variables/CTurbSSTVariable.cpp +++ b/SU2_CFD/src/variables/CTurbSSTVariable.cpp @@ -32,6 +32,8 @@ CTurbSSTVariable::CTurbSSTVariable(su2double kine, su2double omega, su2double mut, unsigned long npoint, unsigned long ndim, unsigned long nvar, const su2double* constants, CConfig *config) : CTurbVariable(npoint, ndim, nvar, config) { + sstParsedOptions = config->GetSSTParsedOptions(); + for(unsigned long iPoint=0; iPoint Date: Sun, 10 Apr 2022 23:52:17 +0200 Subject: [PATCH 032/110] add part of turbsources again --- .../numerics/turbulent/turb_sources.hpp | 31 ++++++++++++++++--- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index fe581827e121..0aeab1b9ab9f 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -564,7 +564,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Closure constants ---*/ const su2double sigma_k_1, sigma_k_2, sigma_w_1, sigma_w_2, beta_1, beta_2, beta_star, a1, alfa_1, alfa_2; - + const su2double ProdLimConstant; + SST_ParsedOptions sstParsedOptions; /*--- Ambient values for SST-SUST. ---*/ const su2double kAmb, omegaAmb; @@ -649,11 +650,15 @@ class CSourcePieceWise_TurbSST final : public CNumerics { a1(constants[7]), alfa_1(constants[8]), alfa_2(constants[9]), + ProdLimConstant(constants[10]), kAmb(val_kine_Inf), omegaAmb(val_omega_Inf) { /*--- "Allocate" the Jacobian using the static buffer. ---*/ Jacobian_i[0] = Jacobian_Buffer; Jacobian_i[1] = Jacobian_Buffer + 2; + + sstParsedOptions = config->GetSSTParsedOptions(); + } /*! @@ -725,18 +730,26 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- If using UQ methodolgy, calculate production using perturbed Reynolds stress matrix ---*/ + const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); su2double StrainMag = StrainMag_i; + su2double P_Base = StrainMag; //Base production term for SST1994 and SST2003 if (using_uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); - } + P_Base = PerturbedStrainMag(ScalarVar_i[0]); + + } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { + P_Base = VorticityMag; - su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + } else if (sstParsedOptions.production == SST_OPTIONS::KL) { + P_Base = sqrt(StrainMag_i*VorticityMag); + } + + su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg, 0.0); @@ -747,13 +760,19 @@ class CSourcePieceWise_TurbSST final : public CNumerics { lead to problems for very big values of the free-stream turbulence intensity. ---*/ - if (sustaining_terms) { + if (sstParsedOptions.sust) { const su2double sust_k = beta_star * Density_i * kAmb * omegaAmb; const su2double sust_w = beta_blended * Density_i * omegaAmb * omegaAmb; pk = max(pk, sust_k); pw = max(pw, sust_w); } + /*--- Rotation/ Curvature Corrections ---*/ + if (sstParsedOptions.rc){ + //TODO multiply the Ps by some fun stuff that I dont want to implement at the moment. + + } + /*--- Add the production terms to the residuals. ---*/ Residual[0] += pk * Volume; @@ -775,6 +794,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Implicit part ---*/ Jacobian_i[0][0] = -beta_star * ScalarVar_i[1] * Volume; + // I think should be this, + //Jacobian_i[0][0] = (1.0/zeta) -beta_star * ScalarVar_i[1] * Volume; Jacobian_i[0][1] = -beta_star * ScalarVar_i[0] * Volume; Jacobian_i[1][0] = 0.0; Jacobian_i[1][1] = -2.0 * beta_blended * ScalarVar_i[1] * Volume; From bc9ddcb7e23107026e5b83e6ef075f14229debb8 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 07:42:23 +0200 Subject: [PATCH 033/110] turbsources modification --- .../numerics/turbulent/turb_sources.hpp | 24 ++++--------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 0aeab1b9ab9f..ebd18faee254 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -730,26 +730,18 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- If using UQ methodolgy, calculate production using perturbed Reynolds stress matrix ---*/ - const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); su2double StrainMag = StrainMag_i; - su2double P_Base = StrainMag; //Base production term for SST1994 and SST2003 if (using_uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); - P_Base = PerturbedStrainMag(ScalarVar_i[0]); - - } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { - P_Base = VorticityMag; - - } else if (sstParsedOptions.production == SST_OPTIONS::KL) { - P_Base = sqrt(StrainMag_i*VorticityMag); - } + } - su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg, 0.0); @@ -760,19 +752,13 @@ class CSourcePieceWise_TurbSST final : public CNumerics { lead to problems for very big values of the free-stream turbulence intensity. ---*/ - if (sstParsedOptions.sust) { + if (sustaining_terms) { const su2double sust_k = beta_star * Density_i * kAmb * omegaAmb; const su2double sust_w = beta_blended * Density_i * omegaAmb * omegaAmb; pk = max(pk, sust_k); pw = max(pw, sust_w); } - /*--- Rotation/ Curvature Corrections ---*/ - if (sstParsedOptions.rc){ - //TODO multiply the Ps by some fun stuff that I dont want to implement at the moment. - - } - /*--- Add the production terms to the residuals. ---*/ Residual[0] += pk * Volume; @@ -794,8 +780,6 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Implicit part ---*/ Jacobian_i[0][0] = -beta_star * ScalarVar_i[1] * Volume; - // I think should be this, - //Jacobian_i[0][0] = (1.0/zeta) -beta_star * ScalarVar_i[1] * Volume; Jacobian_i[0][1] = -beta_star * ScalarVar_i[0] * Volume; Jacobian_i[1][0] = 0.0; Jacobian_i[1][1] = -2.0 * beta_blended * ScalarVar_i[1] * Volume; From 49fe8b1c2f5d9853268a12588bdd83856e43ff35 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 08:43:35 +0200 Subject: [PATCH 034/110] turbsources modification --- .../numerics/turbulent/turb_sources.hpp | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index ebd18faee254..3b7b5eafc007 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -730,18 +730,28 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- If using UQ methodolgy, calculate production using perturbed Reynolds stress matrix ---*/ + const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); su2double StrainMag = StrainMag_i; + su2double P_Base = StrainMag; //Base production term for SST1994 and SST2003 if (using_uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); - } + P_Base = PerturbedStrainMag(ScalarVar_i[0]); + + } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { + P_Base = VorticityMag; + + } else if (sstParsedOptions.production == SST_OPTIONS::KL) { + P_Base = sqrt(StrainMag_i*VorticityMag); + } + + su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg, 0.0); @@ -752,13 +762,19 @@ class CSourcePieceWise_TurbSST final : public CNumerics { lead to problems for very big values of the free-stream turbulence intensity. ---*/ - if (sustaining_terms) { + if (sstParsedOptions.sust) { const su2double sust_k = beta_star * Density_i * kAmb * omegaAmb; const su2double sust_w = beta_blended * Density_i * omegaAmb * omegaAmb; pk = max(pk, sust_k); pw = max(pw, sust_w); } + /*--- Rotation/ Curvature Corrections ---*/ + if (sstParsedOptions.rc){ + //TODO multiply the Ps by some fun stuff that I dont want to implement at the moment. + + } + /*--- Add the production terms to the residuals. ---*/ Residual[0] += pk * Volume; From 1640f2a2cc1c35251adea03339a1aa849dc27dcd Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 09:26:22 +0200 Subject: [PATCH 035/110] turbsources modification --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 3b7b5eafc007..062b6bf9c645 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -749,7 +749,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { - su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); From d123868cf6681e222d36c65e89398ed9e8977391 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 09:58:10 +0200 Subject: [PATCH 036/110] turbsources modification --- Common/src/CConfig.cpp | 11 +++++------ SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 10 ++++++++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 3ad3442ffc07..0e1930be4a6e 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -3399,17 +3399,16 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i } - /*--- -We still support the old SST_SUST keyword, but internally we convert everything --*/ - if (Kind_Turb_Model == TURB_MODEL::SST_SUST){ - cout << "Warning! the SST_SUST keyword will become obsolete. Use the SST model with SST_OPTIONS= (SST_SUST)" << endl; - Kind_Turb_Model = TURB_MODEL::SST; - } - /*--- Postprocess SST_OPTIONS into structure. ---*/ if (Kind_Turb_Model==TURB_MODEL::SST){ sstParsedOptions = ParseSSTOptions(SST_Options, nSST_Options); } + /*--- -We still support the old SST_SUST keyword, but internally we convert everything --*/ + if (Kind_Turb_Model == TURB_MODEL::SST_SUST){ + cout << "Warning! the SST_SUST keyword will become obsolete. Use the SST model with SST_OPTIONS= (SST_SUSTAINING)" << endl; + Kind_Turb_Model = TURB_MODEL::SST; + } /*--- Check if turbulence model can be used for AXISYMMETRIC case---*/ if (Axisymmetric && Kind_Turb_Model != TURB_MODEL::NONE && Kind_Turb_Model != TURB_MODEL::SST){ SU2_MPI::Error("Axisymmetry is currently only supported for KIND_TURB_MODEL chosen as SST", CURRENT_FUNCTION); diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 062b6bf9c645..3b93fc7d4cea 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -751,10 +751,16 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + pk = min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]); + + pk = max(pk, 0.0); + const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg, 0.0); + su2double pw = alfa_blended * Density_i * pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg; + + + pw = max(pw, 0.0); /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is From 4df45d558d796060b0a609e943af780b1029a669 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 10:29:52 +0200 Subject: [PATCH 037/110] turbsources modification --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 3b93fc7d4cea..a4f0f9b34aaf 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -732,6 +732,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); su2double StrainMag = StrainMag_i; +/* su2double P_Base = StrainMag; //Base production term for SST1994 and SST2003 if (using_uq) { @@ -746,15 +747,13 @@ class CSourcePieceWise_TurbSST final : public CNumerics { } else if (sstParsedOptions.production == SST_OPTIONS::KL) { P_Base = sqrt(StrainMag_i*VorticityMag); } +*/ - - su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + //su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - pk = min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]); - - pk = max(pk, 0.0); - + pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); su2double pw = alfa_blended * Density_i * pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg; From ea8290f51a2857d5795da4b5a9faff157a09d3e5 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 10:53:02 +0200 Subject: [PATCH 038/110] turbsources modification --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index a4f0f9b34aaf..ff8a2a364519 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -751,8 +751,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { //su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - - pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + + su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); From f3d61c2856b77263df5094eb054f43e8e2ed3a68 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 11:19:07 +0200 Subject: [PATCH 039/110] turbsources modification --- .../numerics/turbulent/turb_sources.hpp | 37 +++---------------- 1 file changed, 5 insertions(+), 32 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index ff8a2a364519..fe581827e121 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -564,8 +564,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Closure constants ---*/ const su2double sigma_k_1, sigma_k_2, sigma_w_1, sigma_w_2, beta_1, beta_2, beta_star, a1, alfa_1, alfa_2; - const su2double ProdLimConstant; - SST_ParsedOptions sstParsedOptions; + /*--- Ambient values for SST-SUST. ---*/ const su2double kAmb, omegaAmb; @@ -650,15 +649,11 @@ class CSourcePieceWise_TurbSST final : public CNumerics { a1(constants[7]), alfa_1(constants[8]), alfa_2(constants[9]), - ProdLimConstant(constants[10]), kAmb(val_kine_Inf), omegaAmb(val_omega_Inf) { /*--- "Allocate" the Jacobian using the static buffer. ---*/ Jacobian_i[0] = Jacobian_Buffer; Jacobian_i[1] = Jacobian_Buffer + 2; - - sstParsedOptions = config->GetSSTParsedOptions(); - } /*! @@ -730,36 +725,20 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- If using UQ methodolgy, calculate production using perturbed Reynolds stress matrix ---*/ - const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); su2double StrainMag = StrainMag_i; -/* - su2double P_Base = StrainMag; //Base production term for SST1994 and SST2003 if (using_uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); - P_Base = PerturbedStrainMag(ScalarVar_i[0]); - - } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { - P_Base = VorticityMag; - - } else if (sstParsedOptions.production == SST_OPTIONS::KL) { - P_Base = sqrt(StrainMag_i*VorticityMag); - } -*/ - - - //su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + } su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - su2double pw = alfa_blended * Density_i * pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg; - - - pw = max(pw, 0.0); + su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg, 0.0); /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is @@ -768,19 +747,13 @@ class CSourcePieceWise_TurbSST final : public CNumerics { lead to problems for very big values of the free-stream turbulence intensity. ---*/ - if (sstParsedOptions.sust) { + if (sustaining_terms) { const su2double sust_k = beta_star * Density_i * kAmb * omegaAmb; const su2double sust_w = beta_blended * Density_i * omegaAmb * omegaAmb; pk = max(pk, sust_k); pw = max(pw, sust_w); } - /*--- Rotation/ Curvature Corrections ---*/ - if (sstParsedOptions.rc){ - //TODO multiply the Ps by some fun stuff that I dont want to implement at the moment. - - } - /*--- Add the production terms to the residuals. ---*/ Residual[0] += pk * Volume; From 41d20ab58e8753e10a744e7a2fb6f11ea4f0354d Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 11:51:29 +0200 Subject: [PATCH 040/110] turbsources modification --- .../include/numerics/turbulent/turb_sources.hpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index fe581827e121..e85e0f279222 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -564,7 +564,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Closure constants ---*/ const su2double sigma_k_1, sigma_k_2, sigma_w_1, sigma_w_2, beta_1, beta_2, beta_star, a1, alfa_1, alfa_2; - + const su2double ProdLimConstant; + SST_ParsedOptions sstParsedOptions; /*--- Ambient values for SST-SUST. ---*/ const su2double kAmb, omegaAmb; @@ -637,7 +638,6 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double val_omega_Inf, const CConfig* config) : CNumerics(val_nDim, 2, config), idx(val_nDim, config->GetnSpecies()), - sustaining_terms(config->GetKind_Turb_Model() == TURB_MODEL::SST_SUST), axisymmetric(config->GetAxisymmetric()), sigma_k_1(constants[0]), sigma_k_2(constants[1]), @@ -649,11 +649,15 @@ class CSourcePieceWise_TurbSST final : public CNumerics { a1(constants[7]), alfa_1(constants[8]), alfa_2(constants[9]), + ProdLimConstant(constants[10]), kAmb(val_kine_Inf), omegaAmb(val_omega_Inf) { /*--- "Allocate" the Jacobian using the static buffer. ---*/ Jacobian_i[0] = Jacobian_Buffer; Jacobian_i[1] = Jacobian_Buffer + 2; + + sstParsedOptions = config->GetSSTParsedOptions(); + } /*! @@ -747,13 +751,19 @@ class CSourcePieceWise_TurbSST final : public CNumerics { lead to problems for very big values of the free-stream turbulence intensity. ---*/ - if (sustaining_terms) { + if (sstParsedOptions.sust) { const su2double sust_k = beta_star * Density_i * kAmb * omegaAmb; const su2double sust_w = beta_blended * Density_i * omegaAmb * omegaAmb; pk = max(pk, sust_k); pw = max(pw, sust_w); } + /*--- Rotation/ Curvature Corrections ---*/ + if (sstParsedOptions.rc){ + //TODO multiply the Ps by some fun stuff that I dont want to implement at the moment. + + } + /*--- Add the production terms to the residuals. ---*/ Residual[0] += pk * Volume; From df055ede474b1d46356d8c2b33a92db7f9078e73 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 13:36:40 +0200 Subject: [PATCH 041/110] change keyword to SUSTAINING --- TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg index 2fabdd29637a..2ad46a5333f1 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg @@ -19,7 +19,7 @@ SOLVER= RANS % % Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -SST_OPTIONS=(SUSTAINED) +SST_OPTIONS=(SUSTAINING) % % Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT From f8931609d9e620575027194d81780bfb748d7640 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 14:21:23 +0200 Subject: [PATCH 042/110] turbsources modification --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index e85e0f279222..5ad45d80d8cb 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -742,7 +742,9 @@ class CSourcePieceWise_TurbSST final : public CNumerics { const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg, 0.0); + su2double pw = alfa_blended * Density_i * pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg; + + pw = max(pw, 0.0); /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is @@ -785,6 +787,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Implicit part ---*/ Jacobian_i[0][0] = -beta_star * ScalarVar_i[1] * Volume; + // I think should be this, + //Jacobian_i[0][0] = (1.0/zeta) -beta_star * ScalarVar_i[1] * Volume; Jacobian_i[0][1] = -beta_star * ScalarVar_i[0] * Volume; Jacobian_i[1][0] = 0.0; Jacobian_i[1][1] = -2.0 * beta_blended * ScalarVar_i[1] * Volume; From 3cbeb3298a10d781564509b1869c8544248dd435 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 14:59:52 +0200 Subject: [PATCH 043/110] turbsources modification --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 5ad45d80d8cb..eb094d4edd3f 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -742,9 +742,9 @@ class CSourcePieceWise_TurbSST final : public CNumerics { const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - su2double pw = alfa_blended * Density_i * pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg; - - pw = max(pw, 0.0); + su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg,0.0); + + //pw = max(pw, 0.0); /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is From 8f8b517bef8fd6b3eed4d3bb75bb1ad07849bc1f Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 15:42:57 +0200 Subject: [PATCH 044/110] using P_Base --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index eb094d4edd3f..eb01c3d6663b 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -729,7 +729,9 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- If using UQ methodolgy, calculate production using perturbed Reynolds stress matrix ---*/ + const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); su2double StrainMag = StrainMag_i; + su2double P_Base = StrainMag; //Base production term for SST1994 and SST2003 if (using_uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), @@ -737,10 +739,11 @@ class CSourcePieceWise_TurbSST final : public CNumerics { StrainMag = PerturbedStrainMag(ScalarVar_i[0]); } - su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + //su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); + //const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg,0.0); From bbc79317598c9de0beb8fd5bfdbe2e82147a837c Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 16:11:52 +0200 Subject: [PATCH 045/110] sstmodels in turb_sources --- .../numerics/turbulent/turb_sources.hpp | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index eb01c3d6663b..ea9c146ecd7c 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -737,10 +737,35 @@ class CSourcePieceWise_TurbSST final : public CNumerics { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); + P_Base = PerturbedStrainMag(ScalarVar_i[0]); + + } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { + P_Base = VorticityMag; + + } else if (sstParsedOptions.production == SST_OPTIONS::KL) { + P_Base = sqrt(StrainMag_i*VorticityMag); } - su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + //su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; //su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + + //pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + + /*--- first part of the production term ---*/ + su2double pk = Eddy_Viscosity_i * pow(P_Base,2); + + if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { + /* in case of unmodified, we add the divergence terms */ + if (sstParsedOptions.version == SST_OPTIONS::V1994) { + /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ + //pk -= (Eddy_Viscosity*2.0/3.0*diverg*diverg + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); + pk -= 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + } else { + /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ + pk -= (Eddy_Viscosity_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); + } + } + pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); //const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); From 8a751d00b135e5005c2fdda38b2a29d66ff889b3 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 16:59:18 +0200 Subject: [PATCH 046/110] sstmodels in turb_sources --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index ea9c146ecd7c..eca5ced20ab8 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -766,7 +766,11 @@ class CSourcePieceWise_TurbSST final : public CNumerics { } } - pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + + pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + + //const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); From 7dddf3b8271740ddaf6cace45a12dcfe8cb4a857 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 17:13:05 +0200 Subject: [PATCH 047/110] sstmodels in turb_sources --- .../numerics/turbulent/turb_sources.hpp | 33 ++----------------- 1 file changed, 2 insertions(+), 31 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index eca5ced20ab8..eb01c3d6663b 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -737,40 +737,11 @@ class CSourcePieceWise_TurbSST final : public CNumerics { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); - P_Base = PerturbedStrainMag(ScalarVar_i[0]); - - } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { - P_Base = VorticityMag; - - } else if (sstParsedOptions.production == SST_OPTIONS::KL) { - P_Base = sqrt(StrainMag_i*VorticityMag); } - //su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; //su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - - //pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - - /*--- first part of the production term ---*/ - su2double pk = Eddy_Viscosity_i * pow(P_Base,2); - - if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { - /* in case of unmodified, we add the divergence terms */ - if (sstParsedOptions.version == SST_OPTIONS::V1994) { - /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ - //pk -= (Eddy_Viscosity*2.0/3.0*diverg*diverg + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); - pk -= 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - } else { - /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ - pk -= (Eddy_Viscosity_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); - } - } - - pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - - pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - - + pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); //const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); From c112e36c36c2f607be13f2ac7b08e5abf5dc40f7 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 18:03:03 +0200 Subject: [PATCH 048/110] fix uq in turb_sources --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index eb01c3d6663b..ca5a5dd1c0bc 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -737,6 +737,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); + P_Base = PerturbedStrainMag(ScalarVar_i[0]); } su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; From bfa38c5328da14a7bc01c19c6aca962a884781e5 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 18:57:50 +0200 Subject: [PATCH 049/110] introduce prodlimconstant --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index ca5a5dd1c0bc..0d156f6b3a4e 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -741,10 +741,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { } su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - //su2double pk = Eddy_Viscosity_i * pow(StrainMag, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - pk = max(0.0, min(pk, 20.0 * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); - //const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg,0.0); From 29d39884a6872671a3385bf672b74883e1efd869 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 19:16:36 +0200 Subject: [PATCH 050/110] introduce prodlimconstant --- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index 4fafdb5d3f75..71df40bd5811 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -40,6 +40,7 @@ CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned sh string text_line; bool multizone = config->GetMultizone_Problem(); + sstParsedOptions = config->GetSSTParsedOptions(); /*--- Dimension of the problem --> dependent on the turbulence model. ---*/ @@ -103,9 +104,17 @@ CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned sh constants[5] = 0.0828; //beta_2 constants[6] = 0.09; //betaStar constants[7] = 0.31; //a1 - constants[8] = constants[4]/constants[6] - constants[2]*0.41*0.41/sqrt(constants[6]); //alfa_1 - constants[9] = constants[5]/constants[6] - constants[3]*0.41*0.41/sqrt(constants[6]); //alfa_2 + if (sstParsedOptions.version == SST_OPTIONS::V1994){ + constants[8] = constants[4]/constants[6] - constants[2]*0.41*0.41/sqrt(constants[6]); //alfa_1 + constants[9] = constants[5]/constants[6] - constants[3]*0.41*0.41/sqrt(constants[6]); //alfa_2 + constants[10] = 20.0; // production limiter constant + } else { + /* SST-V2003 */ + constants[8] = 5.0 / 9.0; + constants[9] = 0.44; + constants[10] = 10.0; // production limiter constant + } /*--- Initialize lower and upper limits---*/ lowerlimit[0] = 1.0e-10; upperlimit[0] = 1.0e10; From 0894bf41e591578d0ad2e33245c6098a3f6856a3 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Mon, 11 Apr 2022 10:33:11 -0700 Subject: [PATCH 051/110] removal of rotation corrections: --- Common/include/CConfig.hpp | 2 - Common/include/option_structure.hpp | 3 - .../numerics/turbulent/turb_sources.hpp | 6 - TestCases/README.md | 23 + TestCases/disc_adj_fsi/dyn_fsi/dv_young.opt | 9 + TestCases/fixed_cl/naca0012/flow.meta | 6 + .../hb_rans_preconditioning/history_0 | 27 + .../hb_rans_preconditioning/history_1 | 27 + .../hb_rans_preconditioning/history_2 | 27 + .../hb_rans_preconditioning/history_3 | 27 + .../hb_rans_preconditioning/history_4 | 27 + .../hb_rans_preconditioning/history_5 | 27 + .../hb_rans_preconditioning/history_6 | 27 + TestCases/harmonic_balance/history_0 | 27 + TestCases/harmonic_balance/history_1 | 27 + TestCases/harmonic_balance/history_2 | 27 + .../chtPinArray_2d/DIRECT/configFluid.cfg | 127 +++ .../chtPinArray_2d/DIRECT/configSolid.cfg | 69 ++ .../FINDIFF/DEFORM/configFluid.cfg | 127 +++ .../FINDIFF/DEFORM/configSolid.cfg | 69 ++ .../FINDIFF/DIRECT/configFluid.cfg | 127 +++ .../FINDIFF/DIRECT/configSolid.cfg | 69 ++ .../chtPinArray_2d/FINDIFF/configFluid.cfg | 127 +++ .../chtPinArray_2d/FINDIFF/configSolid.cfg | 69 ++ .../chtPinArray_2d/chtPinArray_2d.geo | 429 +++++++++ .../chtPinArray_3d/3D_pinArray.geo | 896 ++++++++++++++++++ .../chtPinArray_3d/flow_0.meta | 3 + .../dp-adjoint_chtPinArray_2d/flow_0.meta | 3 + .../pipeSlice_3d/pipeslice.geo | 113 +++ .../streamwise_periodic/pipeSlice_3d/plots.py | 162 ++++ .../periodic_pins/chtPinArray_2d.geo | 430 +++++++++ .../rectangle_mixing.geo | 92 ++ .../primitiveVenturi.geo | 111 +++ .../transonic_stator_2D/history | 22 + 34 files changed, 3353 insertions(+), 11 deletions(-) create mode 100644 TestCases/README.md create mode 100644 TestCases/disc_adj_fsi/dyn_fsi/dv_young.opt create mode 100644 TestCases/fixed_cl/naca0012/flow.meta create mode 100644 TestCases/harmonic_balance/hb_rans_preconditioning/history_0 create mode 100644 TestCases/harmonic_balance/hb_rans_preconditioning/history_1 create mode 100644 TestCases/harmonic_balance/hb_rans_preconditioning/history_2 create mode 100644 TestCases/harmonic_balance/hb_rans_preconditioning/history_3 create mode 100644 TestCases/harmonic_balance/hb_rans_preconditioning/history_4 create mode 100644 TestCases/harmonic_balance/hb_rans_preconditioning/history_5 create mode 100644 TestCases/harmonic_balance/hb_rans_preconditioning/history_6 create mode 100644 TestCases/harmonic_balance/history_0 create mode 100644 TestCases/harmonic_balance/history_1 create mode 100644 TestCases/harmonic_balance/history_2 create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DIRECT/configFluid.cfg create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DIRECT/configSolid.cfg create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DEFORM/configFluid.cfg create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DEFORM/configSolid.cfg create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DIRECT/configFluid.cfg create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DIRECT/configSolid.cfg create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/configFluid.cfg create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/configSolid.cfg create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/chtPinArray_2d.geo create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/3D_pinArray.geo create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/flow_0.meta create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/flow_0.meta create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/pipeslice.geo create mode 100755 TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/plots.py create mode 100644 TestCases/solid_heat_conduction/periodic_pins/chtPinArray_2d.geo create mode 100644 TestCases/species_transport/passive_transport_validation/rectangle_mixing.geo create mode 100644 TestCases/species_transport/venturi_primitive_3species/primitiveVenturi.geo create mode 100644 TestCases/turbomachinery/transonic_stator_2D/history diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index fa278988770c..eb669354e785 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -9651,7 +9651,6 @@ class CConfig { const bool sst_v = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::KL) != sst_options_end; const bool sst_uq = (std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end || using_uq); - const bool sst_rc = std::find(SST_Options, sst_options_end, SST_OPTIONS::RC) != sst_options_end; // Parse base version if (sst_1994 && sst_2003) { @@ -9684,7 +9683,6 @@ class CConfig { // Parse boolean options SSTParsedOptions.sust = sst_sust; - SSTParsedOptions.rc = sst_rc; SSTParsedOptions.m = sst_m; SSTParsedOptions.uq = sst_uq; return SSTParsedOptions; diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index f0d465b17d9c..a354509e177a 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -971,7 +971,6 @@ enum class SST_OPTIONS { VORTICITY, /*!< \brief Menter k-w SST model with vorticity production terms. */ KL, /*!< \brief Menter k-w SST model with Kato-Launder production terms. */ UNCERTAINTY, /*!< \brief Menter k-w SST model with uncertainty quantification modifications. */ - RC, /*!< \brief Menter k-w SST model with rotation/curvature corrections. */ }; static const MapType SST_Options_Map = { MakePair("NONE", SST_OPTIONS::NONE) @@ -984,7 +983,6 @@ static const MapType SST_Options_Map = { MakePair("VORTICITY", SST_OPTIONS::VORTICITY) MakePair("KATO-LAUNDER", SST_OPTIONS::KL) MakePair("UNCERTAINTY", SST_OPTIONS::UNCERTAINTY) - MakePair("CURVATURE", SST_OPTIONS::RC) }; /*! @@ -997,7 +995,6 @@ struct SST_ParsedOptions { SST_OPTIONS production; /*!< \brief Enum for production corrections/modifiers for SST model. */ bool sust; /*!< \brief Bool for SST model with sustaining terms. */ bool uq; /*!< \brief Bool for using uncertainty quantification */ - bool rc; /*!< \brief Bool for SST model with rotational corrections. */ bool m; /*!< \brief Bool for modified (m) SST model. */ }; diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 0d156f6b3a4e..881b4d2e2b72 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -762,12 +762,6 @@ class CSourcePieceWise_TurbSST final : public CNumerics { pw = max(pw, sust_w); } - /*--- Rotation/ Curvature Corrections ---*/ - if (sstParsedOptions.rc){ - //TODO multiply the Ps by some fun stuff that I dont want to implement at the moment. - - } - /*--- Add the production terms to the residuals. ---*/ Residual[0] += pk * Volume; diff --git a/TestCases/README.md b/TestCases/README.md new file mode 100644 index 000000000000..ee25157aa95c --- /dev/null +++ b/TestCases/README.md @@ -0,0 +1,23 @@ +-------------------------------- + SU2: The Open-Source CFD Code +-------------------------------- + +Computational analysis tools have revolutionized the way we design aerospace systems, but most established codes are proprietary, unavailable, or prohibitively expensive for many users. The SU2 team is changing this, making computational analysis and design freely available as open-source software and involving everyone in its creation and development. + +----------------------------------------------------------- + SU2 TEST CASES +----------------------------------------------------------- + +SU2 provides an extensive collection of common test cases. The test cases contain meshes and configuration files that can be run to ensure different components of the suite are working properly. The directory structure is organized by governing equations and their specific cases. + +The files found within these directories serve two purposes: + +1. A subset of the available cases are used for regression testing internally by the development team. The configuration files and meshes are automatically downloaded and executed with the latest version of SU2 at regular intervals. Any changes in the output of the specified test cases are immediately reported to the developers. These cases are controlled by the Python scripts in the root of the test cases directory, e.g., serial_regression.py. + +2. The entire suite of test cases is provided to the community as a way to get started with SU2 and its many configuration options, including settings that the developers consider to be good starting points. Often, you will find a test case that is similar to your problem of interest, and the available configuration files can be modified to suit your needs. + +Note that, while many of the cases are used for regression testing, this test case suite is provided **without any guarantees on performance or expected results** (check out the [tutorials](https://su2code.github.io/tutorials/home/) for more thoroughly maintained cases). Keep in mind that small changes to the configuration options can often result in large changes to the output. We encourage the community to experiment with these test cases, or even try (and share!) other interesting validation cases with SU2! + +Happy testing! + +- The SU2 Development Team diff --git a/TestCases/disc_adj_fsi/dyn_fsi/dv_young.opt b/TestCases/disc_adj_fsi/dyn_fsi/dv_young.opt new file mode 100644 index 000000000000..3c691471847f --- /dev/null +++ b/TestCases/disc_adj_fsi/dyn_fsi/dv_young.opt @@ -0,0 +1,9 @@ +INDEX VAL SCALE LOWER_BOUND UPPER_BOUND +0 1 1 0.01 100.0 +1 1 1 0.01 100.0 +2 1 1 0.01 100.0 +3 1 1 0.01 100.0 +4 1 1 0.01 100.0 +5 1 1 0.01 100.0 +6 1 1 0.01 100.0 +7 1 1 0.01 100.0 diff --git a/TestCases/fixed_cl/naca0012/flow.meta b/TestCases/fixed_cl/naca0012/flow.meta new file mode 100644 index 000000000000..1d7b61dbb1b5 --- /dev/null +++ b/TestCases/fixed_cl/naca0012/flow.meta @@ -0,0 +1,6 @@ +ITER= 12 +AOA= 1.14595660986729 +SIDESLIP_ANGLE= 0 +DCD_DCL_VALUE= 0.0705334952101821 +DCMZ_DCL_VALUE= 0.128733750666835 +INITIAL_BCTHRUST= 4000 diff --git a/TestCases/harmonic_balance/hb_rans_preconditioning/history_0 b/TestCases/harmonic_balance/hb_rans_preconditioning/history_0 new file mode 100644 index 000000000000..15410762f45f --- /dev/null +++ b/TestCases/harmonic_balance/hb_rans_preconditioning/history_0 @@ -0,0 +1,27 @@ +"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","HeatFlux_Total","HeatFlux_Maximum","Temperature_Total","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","Res_Turb[0]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" + 0, 7.03336316e-03, 7.98370887e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 5.59082867e-03, 7.98370887e-02, 7.03336316e-03, 0.00000000e+00, 8.80964382e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -1.74686659e+05, 1.67404355e+05, 0.00000000e+00, -1.47968536e+00, -9.12557856e-01, -1.13984839e+01, 4.03377035e+00, 0.00000000e+00, -5.7596599302, 0.0070333632, 0.0798370887, 0.0000000000, 0.0880964382, 0.0798370887, 0.0070333632, 0.0000000000, 0.0000000000, 0.0000000000, 0.0055908287, 0.0016235698, 4.0000000000, 3.0000000000, 0.0084087971 + 1, 9.31717670e-03, 1.15645363e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.61091788e-03, 1.15645363e-01, 9.31717670e-03, 0.00000000e+00, 8.05667987e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -1.57853637e+05, 1.52568494e+05, 0.00000000e+00, -1.70950706e+00, 9.12543004e-01, 9.73210934e-01, 3.80515139e+00, 0.00000000e+00, -5.9031700420, 0.0093171767, 0.1156453633, 0.0000000000, 0.0805667987, 0.1156453633, 0.0093171767, 0.0000000000, 0.0000000000, 0.0000000000, 0.0076109179, 0.0016235698, 5.0000000000, 3.0000000000, 0.0035830720 + 2, 1.00004910e-02, 1.40865259e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 8.33533440e-03, 1.40865259e-01, 1.00004910e-02, 0.00000000e+00, 7.09933103e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -1.39682160e+05, 1.36992913e+05, 0.00000000e+00, -1.71956627e+00, 9.25131669e-01, 8.66415355e-01, 3.80093414e+00, 0.00000000e+00, -5.9866286397, 0.0100004910, 0.1408652590, 0.0000000000, 0.0709933103, 0.1408652590, 0.0100004910, 0.0000000000, 0.0000000000, 0.0000000000, 0.0083353344, 0.0016235698, 4.0000000000, 3.0000000000, 0.0072991122 + 3, 9.77580662e-03, 1.56008136e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 8.22189430e-03, 1.56008136e-01, 9.77580662e-03, 0.00000000e+00, 6.26621591e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -1.22906348e+05, 1.22181623e+05, 0.00000000e+00, -1.71217510e+00, 9.05699105e-01, 7.16544782e-01, 3.81072421e+00, 0.00000000e+00, -6.0073740469, 0.0097758066, 0.1560081357, 0.0000000000, 0.0626621591, 0.1560081357, 0.0097758066, 0.0000000000, 0.0000000000, 0.0000000000, 0.0082218943, 0.0016235698, 4.0000000000, 3.0000000000, 0.0105955804 + 4, 9.16836125e-03, 1.60264764e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.72482160e-03, 1.60264764e-01, 9.16836125e-03, 0.00000000e+00, 5.72075921e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -1.09067870e+05, 1.08736128e+05, 0.00000000e+00, -1.75314933e+00, 8.48732801e-01, 6.43039554e-01, 3.77043806e+00, 0.00000000e+00, -5.9877653818, 0.0091683612, 0.1602647639, 0.0000000000, 0.0572075921, 0.1602647639, 0.0091683612, 0.0000000000, 0.0000000000, 0.0000000000, 0.0077248216, 0.0016235698, 5.0000000000, 3.0000000000, 0.0138985556 + 5, 8.53581987e-03, 1.56647818e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.16689771e-03, 1.56647818e-01, 8.53581987e-03, 0.00000000e+00, 5.44905126e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -9.86337245e+04, 9.71991939e+04, 0.00000000e+00, -1.82216594e+00, 7.66412291e-01, 6.62132610e-01, 3.70224036e+00, 0.00000000e+00, -5.9702796817, 0.0085358199, 0.1566478175, 0.0000000000, 0.0544905126, 0.1566478175, 0.0085358199, 0.0000000000, 0.0000000000, 0.0000000000, 0.0071668977, 0.0016235698, 5.0000000000, 3.0000000000, 0.0173700088 + 6, 8.03205134e-03, 1.50146868e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.72851940e-03, 1.50146868e-01, 8.03205134e-03, 0.00000000e+00, 5.34946314e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -9.12666875e+04, 8.85935751e+04, 0.00000000e+00, -1.87544763e+00, 6.79471195e-01, 6.75595938e-01, 3.65065868e+00, 0.00000000e+00, -5.9386436805, 0.0080320513, 0.1501468676, 0.0000000000, 0.0534946314, 0.1501468676, 0.0080320513, 0.0000000000, 0.0000000000, 0.0000000000, 0.0067285194, 0.0016235698, 5.0000000000, 3.0000000000, 0.0209595597 + 7, 7.71929863e-03, 1.44232635e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.46976618e-03, 1.44232635e-01, 7.71929863e-03, 0.00000000e+00, 5.35197781e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -8.61826253e+04, 8.29989962e+04, 0.00000000e+00, -1.89870894e+00, 6.13850078e-01, 6.61952704e-01, 3.62763338e+00, 0.00000000e+00, -5.9234311887, 0.0077192986, 0.1442326352, 0.0000000000, 0.0535197781, 0.1442326352, 0.0077192986, 0.0000000000, 0.0000000000, 0.0000000000, 0.0064697662, 0.0016235698, 5.0000000000, 3.0000000000, 0.0246205499 + 8, 7.57736617e-03, 1.40364434e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.36744289e-03, 1.40364434e-01, 7.57736617e-03, 0.00000000e+00, 5.39835194e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -8.25048020e+04, 7.92561746e+04, 0.00000000e+00, -1.91011989e+00, 5.77637340e-01, 6.35003620e-01, 3.61422141e+00, 0.00000000e+00, -5.9339384361, 0.0075773662, 0.1403644345, 0.0000000000, 0.0539835194, 0.1403644345, 0.0075773662, 0.0000000000, 0.0000000000, 0.0000000000, 0.0063674429, 0.0016235698, 5.0000000000, 3.0000000000, 0.0286673639 + 9, 7.57105769e-03, 1.38448749e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.38142553e-03, 1.38448749e-01, 7.57105769e-03, 0.00000000e+00, 5.46849122e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -7.95408906e+04, 7.63597621e+04, 0.00000000e+00, -1.91837004e+00, 5.61386004e-01, 6.08789073e-01, 3.60463399e+00, 0.00000000e+00, -5.9574701994, 0.0075710577, 0.1384487491, 0.0000000000, 0.0546849122, 0.1384487491, 0.0075710577, 0.0000000000, 0.0000000000, 0.0000000000, 0.0063814255, 0.0016235698, 5.0000000000, 3.0000000000, 0.0322731575 + 10, 7.63754514e-03, 1.37801550e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.45191676e-03, 1.37801550e-01, 7.63754514e-03, 0.00000000e+00, 5.54242326e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -7.68668586e+04, 7.37853141e+04, 0.00000000e+00, -1.92540244e+00, 5.57399920e-01, 5.89086918e-01, 3.59754525e+00, 0.00000000e+00, -5.9783584577, 0.0076375451, 0.1378015497, 0.0000000000, 0.0554242326, 0.1378015497, 0.0076375451, 0.0000000000, 0.0000000000, 0.0000000000, 0.0064519168, 0.0016235698, 5.0000000000, 3.0000000000, 0.0358575110 + 11, 7.72224367e-03, 1.37684298e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.53092529e-03, 1.37684298e-01, 7.72224367e-03, 0.00000000e+00, 5.60865965e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -7.42937989e+04, 7.13213599e+04, 0.00000000e+00, -1.93307962e+00, 5.56703533e-01, 5.75293460e-01, 3.58967844e+00, 0.00000000e+00, -5.9905251043, 0.0077222437, 0.1376842980, 0.0000000000, 0.0560865965, 0.1376842980, 0.0077222437, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065309253, 0.0016235698, 5.0000000000, 3.0000000000, 0.0394382544 + 12, 7.78935673e-03, 1.37578494e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.58904690e-03, 1.37578494e-01, 7.78935673e-03, 0.00000000e+00, 5.66175461e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -7.17676682e+04, 6.89025376e+04, 0.00000000e+00, -1.93960400e+00, 5.52844938e-01, 5.65428523e-01, 3.58304702e+00, 0.00000000e+00, -5.9950948295, 0.0077893567, 0.1375784942, 0.0000000000, 0.0566175461, 0.1375784942, 0.0077893567, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065890469, 0.0016235698, 5.0000000000, 3.0000000000, 0.0430579760 + 13, 7.82539866e-03, 1.37254693e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.61755079e-03, 1.37254693e-01, 7.82539866e-03, 0.00000000e+00, 5.70137056e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -6.92963670e+04, 6.65334545e+04, 0.00000000e+00, -1.94447062e+00, 5.45360771e-01, 5.58469245e-01, 3.57848316e+00, 0.00000000e+00, -5.9965137138, 0.0078253987, 0.1372546932, 0.0000000000, 0.0570137056, 0.1372546932, 0.0078253987, 0.0000000000, 0.0000000000, 0.0000000000, 0.0066175508, 0.0016235698, 5.0000000000, 3.0000000000, 0.0466664215 + 14, 7.83293137e-03, 1.36703592e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.62112310e-03, 1.36703592e-01, 7.83293137e-03, 0.00000000e+00, 5.72986507e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -6.69168642e+04, 6.42491860e+04, 0.00000000e+00, -1.94874547e+00, 5.34615974e-01, 5.54087075e-01, 3.57420834e+00, 0.00000000e+00, -5.9956161610, 0.0078329314, 0.1367035920, 0.0000000000, 0.0572986507, 0.1367035920, 0.0078329314, 0.0000000000, 0.0000000000, 0.0000000000, 0.0066211231, 0.0016235698, 5.0000000000, 3.0000000000, 0.0502643531 + 15, 7.82200492e-03, 1.36014045e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.60998018e-03, 1.36014045e-01, 7.82200492e-03, 0.00000000e+00, 5.75088029e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -6.46646593e+04, 6.20856594e+04, 0.00000000e+00, -1.95149265e+00, 5.22049599e-01, 5.52098066e-01, 3.57124776e+00, 0.00000000e+00, -5.9942350081, 0.0078220049, 0.1360140453, 0.0000000000, 0.0575088029, 0.1360140453, 0.0078220049, 0.0000000000, 0.0000000000, 0.0000000000, 0.0066099802, 0.0016235698, 5.0000000000, 3.0000000000, 0.0538658092 + 16, 7.80384006e-03, 1.35277841e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.59412096e-03, 1.35277841e-01, 7.80384006e-03, 0.00000000e+00, 5.76874973e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -6.25583636e+04, 6.00629816e+04, 0.00000000e+00, -1.95232165e+00, 5.09746879e-01, 5.52144097e-01, 3.57005303e+00, 0.00000000e+00, -5.9936686220, 0.0078038401, 0.1352778406, 0.0000000000, 0.0576874973, 0.1352778406, 0.0078038401, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065941210, 0.0016235698, 5.0000000000, 3.0000000000, 0.0574982888 + 17, 7.78674842e-03, 1.34546856e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.58023162e-03, 1.34546856e-01, 7.78674842e-03, 0.00000000e+00, 5.78738785e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -6.05985740e+04, 5.81826265e+04, 0.00000000e+00, -1.95132040e+00, 4.99164477e-01, 5.53973708e-01, 3.57040339e+00, 0.00000000e+00, -5.9924781491, 0.0077867484, 0.1345468564, 0.0000000000, 0.0578738785, 0.1345468564, 0.0077867484, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065802316, 0.0016235698, 5.0000000000, 3.0000000000, 0.0615422680 + 18, 7.77480136e-03, 1.33830712e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.57108304e-03, 1.33830712e-01, 7.77480136e-03, 0.00000000e+00, 5.80942987e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -5.87734793e+04, 5.64328297e+04, 0.00000000e+00, -1.94838662e+00, 4.91522561e-01, 5.57248945e-01, 3.57254682e+00, 0.00000000e+00, -5.9900064034, 0.0077748014, 0.1338307121, 0.0000000000, 0.0580942987, 0.1338307121, 0.0077748014, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065710830, 0.0016235698, 5.0000000000, 3.0000000000, 0.0652064242 + 19, 7.76847332e-03, 1.33114231e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.56649629e-03, 1.33114231e-01, 7.76847332e-03, 0.00000000e+00, 5.83594503e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -5.70661796e+04, 5.47961871e+04, 0.00000000e+00, -1.94412395e+00, 4.85934804e-01, 5.61636468e-01, 3.57579301e+00, 0.00000000e+00, -5.9862393017, 0.0077684733, 0.1331142305, 0.0000000000, 0.0583594503, 0.1331142305, 0.0077684733, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065664963, 0.0016235698, 5.0000000000, 3.0000000000, 0.0688011637 + 20, 7.76633075e-03, 1.32376297e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.56493664e-03, 1.32376297e-01, 7.76633075e-03, 0.00000000e+00, 5.86685904e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -5.54603657e+04, 5.32559035e+04, 0.00000000e+00, -1.93872448e+00, 4.82448465e-01, 5.67053363e-01, 3.57993904e+00, 0.00000000e+00, -5.9809768638, 0.0077663308, 0.1323762970, 0.0000000000, 0.0586685904, 0.1323762970, 0.0077663308, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065649366, 0.0016235698, 5.0000000000, 3.0000000000, 0.0724085988 + 21, 7.76637653e-03, 1.31601264e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.56461165e-03, 1.31601264e-01, 7.76637653e-03, 0.00000000e+00, 5.90144524e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -5.39431587e+04, 5.17989118e+04, 0.00000000e+00, -1.93221460e+00, 4.81232069e-01, 5.73343744e-01, 3.58519778e+00, 0.00000000e+00, -5.9750721640, 0.0077663765, 0.1316012639, 0.0000000000, 0.0590144524, 0.1316012639, 0.0077663765, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065646117, 0.0016235698, 5.0000000000, 3.0000000000, 0.0760117013 + 22, 7.76702772e-03, 1.30781964e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.56420785e-03, 1.30781964e-01, 7.76702772e-03, 0.00000000e+00, 5.93891351e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -5.25054878e+04, 5.04163305e+04, 0.00000000e+00, -1.92530246e+00, 4.80694373e-01, 5.80012650e-01, 3.59063277e+00, 0.00000000e+00, -5.9687871544, 0.0077670277, 0.1307819638, 0.0000000000, 0.0593891351, 0.1307819638, 0.0077670277, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065642079, 0.0016235698, 5.0000000000, 3.0000000000, 0.0796344791 + 23, 7.76748497e-03, 1.29917564e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.56309260e-03, 1.29917564e-01, 7.76748497e-03, 0.00000000e+00, 5.97877972e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -5.11411997e+04, 4.91024327e+04, 0.00000000e+00, -1.91780535e+00, 4.81161453e-01, 5.87119395e-01, 3.59656872e+00, 0.00000000e+00, -5.9621475829, 0.0077674850, 0.1299175640, 0.0000000000, 0.0597877972, 0.1299175640, 0.0077674850, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065630926, 0.0016235698, 5.0000000000, 3.0000000000, 0.0832351867 + 24, 7.76766257e-03, 1.29010022e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.56120779e-03, 1.29010022e-01, 7.76766257e-03, 0.00000000e+00, 6.02097609e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -4.98457496e+04, 4.78531921e+04, 0.00000000e+00, -1.90996410e+00, 4.82646144e-01, 5.94335914e-01, 3.60280696e+00, 0.00000000e+00, -5.9557739883, 0.0077676626, 0.1290100217, 0.0000000000, 0.0602097609, 0.1290100217, 0.0077676626, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065612078, 0.0016235698, 5.0000000000, 3.0000000000, 0.0868896059 + 25, 7.76795637e-03, 1.28061496e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.55886445e-03, 1.28061496e-01, 7.76795637e-03, 0.00000000e+00, 6.06580169e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -4.86151901e+04, 4.66651888e+04, 0.00000000e+00, -1.90209828e+00, 4.84069934e-01, 6.01480786e-01, 3.60900184e+00, 0.00000000e+00, -5.9492754552, 0.0077679564, 0.1280614958, 0.0000000000, 0.0606580169, 0.1280614958, 0.0077679564, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065588644, 0.0016235698, 5.0000000000, 3.0000000000, 0.0904878667 diff --git a/TestCases/harmonic_balance/hb_rans_preconditioning/history_1 b/TestCases/harmonic_balance/hb_rans_preconditioning/history_1 new file mode 100644 index 000000000000..b8f6eab1a0a3 --- /dev/null +++ b/TestCases/harmonic_balance/hb_rans_preconditioning/history_1 @@ -0,0 +1,27 @@ +"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","HeatFlux_Total","HeatFlux_Maximum","Temperature_Total","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","Res_Turb[0]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" + 0, 5.88351349e-02, 8.05947009e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.13230454e-02, 8.05947009e-02, 5.88351349e-02, 0.00000000e+00, 7.30012448e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -1.74695327e+05, 1.67408845e+05, 0.00000000e+00, -1.47470008e+00, -1.12039588e+00, -1.14013076e+01, 4.03876678e+00, 0.00000000e+00, -5.7579158645, 0.0588351349, 0.0805947009, 0.0000000000, 0.7300124479, 0.0805947009, 0.0588351349, 0.0000000000, 0.0000000000, 0.0000000000, 0.0313230454, 0.0014002452, 4.0000000000, 3.0000000000, 0.0084087971 + 1, 8.23262722e-02, 1.16724032e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.29459347e-02, 1.16724032e-01, 8.23262722e-02, 0.00000000e+00, 7.05306960e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -1.57844819e+05, 1.52562857e+05, 0.00000000e+00, -1.70454872e+00, 9.15099389e-01, 9.74212093e-01, 3.80997704e+00, 0.00000000e+00, -5.8977194806, 0.0823262722, 0.1167240322, 0.0000000000, 0.7053069596, 0.1167240322, 0.0823262722, 0.0000000000, 0.0000000000, 0.0000000000, 0.0429459347, 0.0014002452, 5.0000000000, 3.0000000000, 0.0035830720 + 2, 9.13532988e-02, 1.42116653e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.70430280e-02, 1.42116653e-01, 9.13532988e-02, 0.00000000e+00, 6.42805024e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -1.39664499e+05, 1.37007639e+05, 0.00000000e+00, -1.71655478e+00, 9.26588717e-01, 8.68654996e-01, 3.80377554e+00, 0.00000000e+00, -5.9827725131, 0.0913532988, 0.1421166533, 0.0000000000, 0.6428050241, 0.1421166533, 0.0913532988, 0.0000000000, 0.0000000000, 0.0000000000, 0.0470430280, 0.0014002452, 4.0000000000, 3.0000000000, 0.0072991122 + 3, 9.09983007e-02, 1.57275171e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.64402228e-02, 1.57275171e-01, 9.09983007e-02, 0.00000000e+00, 5.78592920e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -1.22885096e+05, 1.22204790e+05, 0.00000000e+00, -1.70998387e+00, 9.06835176e-01, 7.20427091e-01, 3.81284933e+00, 0.00000000e+00, -6.0035465018, 0.0909983007, 0.1572751713, 0.0000000000, 0.5785929202, 0.1572751713, 0.0909983007, 0.0000000000, 0.0000000000, 0.0000000000, 0.0464402228, 0.0014002452, 4.0000000000, 3.0000000000, 0.0105955804 + 4, 8.60602738e-02, 1.61466182e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.36585268e-02, 1.61466182e-01, 8.60602738e-02, 0.00000000e+00, 5.32992561e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -1.09047175e+05, 1.08742537e+05, 0.00000000e+00, -1.75072090e+00, 8.49927969e-01, 6.47312318e-01, 3.77283958e+00, 0.00000000e+00, -5.9840428545, 0.0860602738, 0.1614661818, 0.0000000000, 0.5329925614, 0.1614661818, 0.0860602738, 0.0000000000, 0.0000000000, 0.0000000000, 0.0436585268, 0.0014002452, 4.0000000000, 3.0000000000, 0.0138985556 + 5, 8.01354806e-02, 1.57756029e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.04682711e-02, 1.57756029e-01, 8.01354806e-02, 0.00000000e+00, 5.07970955e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -9.86164871e+04, 9.71817693e+04, 0.00000000e+00, -1.81910928e+00, 7.67848703e-01, 6.65562859e-01, 3.70522121e+00, 0.00000000e+00, -5.9670134382, 0.0801354806, 0.1577560287, 0.0000000000, 0.5079709555, 0.1577560287, 0.0801354806, 0.0000000000, 0.0000000000, 0.0000000000, 0.0404682711, 0.0014002452, 5.0000000000, 3.0000000000, 0.0173700088 + 6, 7.51963852e-02, 1.51180316e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.78377380e-02, 1.51180316e-01, 7.51963852e-02, 0.00000000e+00, 4.97395344e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -9.12543478e+04, 8.85774881e+04, 0.00000000e+00, -1.87194900e+00, 6.81319819e-01, 6.78636052e-01, 3.65398863e+00, 0.00000000e+00, -5.9360893299, 0.0751963852, 0.1511803159, 0.0000000000, 0.4973953439, 0.1511803159, 0.0751963852, 0.0000000000, 0.0000000000, 0.0000000000, 0.0378377380, 0.0014002452, 5.0000000000, 3.0000000000, 0.0209595597 + 7, 7.19466542e-02, 1.45216657e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.61005467e-02, 1.45216657e-01, 7.19466542e-02, 0.00000000e+00, 4.95443537e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -8.61745750e+04, 8.29883472e+04, 0.00000000e+00, -1.89519523e+00, 6.16156166e-01, 6.64981031e-01, 3.63094485e+00, 0.00000000e+00, -5.9219462902, 0.0719466542, 0.1452166572, 0.0000000000, 0.4954435367, 0.1452166572, 0.0719466542, 0.0000000000, 0.0000000000, 0.0000000000, 0.0361005467, 0.0014002452, 5.0000000000, 3.0000000000, 0.0246205499 + 8, 7.01917625e-02, 1.41322065e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.51297189e-02, 1.41322065e-01, 7.01917625e-02, 0.00000000e+00, 4.96679428e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -8.24995012e+04, 7.92502143e+04, 0.00000000e+00, -1.90669906e+00, 5.80250039e-01, 6.38169836e-01, 3.61746974e+00, 0.00000000e+00, -5.9319523315, 0.0701917625, 0.1413220653, 0.0000000000, 0.4966794277, 0.1413220653, 0.0701917625, 0.0000000000, 0.0000000000, 0.0000000000, 0.0351297189, 0.0014002452, 5.0000000000, 3.0000000000, 0.0286673639 + 9, 6.96311569e-02, 1.39398828e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.48194659e-02, 1.39398828e-01, 6.96311569e-02, 0.00000000e+00, 4.99510348e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -7.95370911e+04, 7.63560163e+04, 0.00000000e+00, -1.91506050e+00, 5.64077491e-01, 6.12090462e-01, 3.60779290e+00, 0.00000000e+00, -5.9553280561, 0.0696311569, 0.1393988276, 0.0000000000, 0.4995103478, 0.1393988276, 0.0696311569, 0.0000000000, 0.0000000000, 0.0000000000, 0.0348194659, 0.0014002452, 5.0000000000, 3.0000000000, 0.0322731575 + 10, 6.97967376e-02, 1.38755013e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.49158318e-02, 1.38755013e-01, 6.97967376e-02, 0.00000000e+00, 5.03021376e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -7.68639668e+04, 7.37824817e+04, 0.00000000e+00, -1.92218791e+00, 5.60001154e-01, 5.92453179e-01, 3.60061050e+00, 0.00000000e+00, -5.9760868591, 0.0697967376, 0.1387550130, 0.0000000000, 0.5030213765, 0.1387550130, 0.0697967376, 0.0000000000, 0.0000000000, 0.0000000000, 0.0349158318, 0.0014002452, 5.0000000000, 3.0000000000, 0.0358575110 + 11, 7.02632056e-02, 1.38645277e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.51821755e-02, 1.38645277e-01, 7.02632056e-02, 0.00000000e+00, 5.06783982e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -7.42909632e+04, 7.13184494e+04, 0.00000000e+00, -1.92991261e+00, 5.59280757e-01, 5.78667061e-01, 3.59270151e+00, 0.00000000e+00, -5.9882005864, 0.0702632056, 0.1386452769, 0.0000000000, 0.5067839825, 0.1386452769, 0.0702632056, 0.0000000000, 0.0000000000, 0.0000000000, 0.0351821755, 0.0014002452, 5.0000000000, 3.0000000000, 0.0394382544 + 12, 7.07208906e-02, 1.38546778e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.54442846e-02, 1.38546778e-01, 7.07208906e-02, 0.00000000e+00, 5.10447748e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -7.17645674e+04, 6.88993412e+04, 0.00000000e+00, -1.93647307e+00, 5.55415885e-01, 5.68788833e-01, 3.58604004e+00, 0.00000000e+00, -5.9928037536, 0.0707208906, 0.1385467776, 0.0000000000, 0.5104477479, 0.1385467776, 0.0707208906, 0.0000000000, 0.0000000000, 0.0000000000, 0.0354442846, 0.0014002452, 5.0000000000, 3.0000000000, 0.0430579760 + 13, 7.10238872e-02, 1.38227751e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.56191478e-02, 1.38227751e-01, 7.10238872e-02, 0.00000000e+00, 5.13817859e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -6.92930226e+04, 6.65301040e+04, 0.00000000e+00, -1.94138028e+00, 5.47956755e-01, 5.61809883e-01, 3.58143439e+00, 0.00000000e+00, -5.9942465079, 0.0710238872, 0.1382277512, 0.0000000000, 0.5138178595, 0.1382277512, 0.0710238872, 0.0000000000, 0.0000000000, 0.0000000000, 0.0356191478, 0.0014002452, 5.0000000000, 3.0000000000, 0.0466664215 + 14, 7.11529048e-02, 1.37678687e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.56950513e-02, 1.37678687e-01, 7.11529048e-02, 0.00000000e+00, 5.16804064e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -6.69134091e+04, 6.42458467e+04, 0.00000000e+00, -1.94568075e+00, 5.37272036e-01, 5.57404425e-01, 3.57713327e+00, 0.00000000e+00, -5.9934095550, 0.0711529048, 0.1376786867, 0.0000000000, 0.5168040639, 0.1376786867, 0.0711529048, 0.0000000000, 0.0000000000, 0.0000000000, 0.0356950513, 0.0014002452, 5.0000000000, 3.0000000000, 0.0502643531 + 15, 7.11570318e-02, 1.36989284e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.56987593e-02, 1.36989284e-01, 7.11570318e-02, 0.00000000e+00, 5.19435023e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -6.46612503e+04, 6.20825230e+04, 0.00000000e+00, -1.94843601e+00, 5.24819800e-01, 5.55391073e-01, 3.57416708e+00, 0.00000000e+00, -5.9920749585, 0.0711570318, 0.1369892839, 0.0000000000, 0.5194350227, 0.1369892839, 0.0711570318, 0.0000000000, 0.0000000000, 0.0000000000, 0.0356987593, 0.0014002452, 5.0000000000, 3.0000000000, 0.0538658092 + 16, 7.11022185e-02, 1.36252316e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.56672422e-02, 1.36252316e-01, 7.11022185e-02, 0.00000000e+00, 5.21842274e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -6.25551174e+04, 6.00601703e+04, 0.00000000e+00, -1.94926914e+00, 5.12681717e-01, 5.55423888e-01, 3.57299226e+00, 0.00000000e+00, -5.9915251379, 0.0711022185, 0.1362523161, 0.0000000000, 0.5218422741, 0.1362523161, 0.0711022185, 0.0000000000, 0.0000000000, 0.0000000000, 0.0356672422, 0.0014002452, 5.0000000000, 3.0000000000, 0.0574982888 + 17, 7.10396389e-02, 1.35520438e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.56298023e-02, 1.35520438e-01, 7.10396389e-02, 0.00000000e+00, 5.24198710e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -6.05955374e+04, 5.81801791e+04, 0.00000000e+00, -1.94830743e+00, 5.02218337e-01, 5.57225031e-01, 3.57329633e+00, 0.00000000e+00, -5.9903288317, 0.0710396389, 0.1355204382, 0.0000000000, 0.5241987104, 0.1355204382, 0.0710396389, 0.0000000000, 0.0000000000, 0.0000000000, 0.0356298023, 0.0014002452, 5.0000000000, 3.0000000000, 0.0615422680 + 18, 7.09957264e-02, 1.34803671e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.56020743e-02, 1.34803671e-01, 7.09957264e-02, 0.00000000e+00, 5.26660187e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -5.87706595e+04, 5.64307557e+04, 0.00000000e+00, -1.94540151e+00, 4.94645784e-01, 5.60471480e-01, 3.57540981e+00, 0.00000000e+00, -5.9878513107, 0.0709957264, 0.1348036708, 0.0000000000, 0.5266601865, 0.1348036708, 0.0709957264, 0.0000000000, 0.0000000000, 0.0000000000, 0.0356020743, 0.0014002452, 5.0000000000, 3.0000000000, 0.0652064242 + 19, 7.09755533e-02, 1.34086917e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.55876508e-02, 1.34086917e-01, 7.09755533e-02, 0.00000000e+00, 5.29324969e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -5.70635603e+04, 5.47944707e+04, 0.00000000e+00, -1.94113824e+00, 4.89226758e-01, 5.64863726e-01, 3.57866674e+00, 0.00000000e+00, -5.9840433856, 0.0709755533, 0.1340869172, 0.0000000000, 0.5293249695, 0.1340869172, 0.0709755533, 0.0000000000, 0.0000000000, 0.0000000000, 0.0355876508, 0.0014002452, 5.0000000000, 3.0000000000, 0.0688011637 + 20, 7.09720937e-02, 1.33348955e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.55830597e-02, 1.33348955e-01, 7.09720937e-02, 0.00000000e+00, 5.32228346e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -5.54579223e+04, 5.32545124e+04, 0.00000000e+00, -1.93572726e+00, 4.85897585e-01, 5.70295685e-01, 3.58285751e+00, 0.00000000e+00, -5.9788123258, 0.0709720937, 0.1333489548, 0.0000000000, 0.5322283462, 0.1333489548, 0.0709720937, 0.0000000000, 0.0000000000, 0.0000000000, 0.0355830597, 0.0014002452, 5.0000000000, 3.0000000000, 0.0724085988 + 21, 7.09750556e-02, 1.32573982e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.55826405e-02, 1.32573982e-01, 7.09750556e-02, 0.00000000e+00, 5.35361876e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -5.39408666e+04, 5.17978017e+04, 0.00000000e+00, -1.92924543e+00, 4.84766247e-01, 5.76567854e-01, 3.58808988e+00, 0.00000000e+00, -5.9728650234, 0.0709750556, 0.1325739816, 0.0000000000, 0.5353618764, 0.1325739816, 0.0709750556, 0.0000000000, 0.0000000000, 0.0000000000, 0.0355826405, 0.0014002452, 5.0000000000, 3.0000000000, 0.0760117013 + 22, 7.09763164e-02, 1.31754693e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.55817035e-02, 1.31754693e-01, 7.09763164e-02, 0.00000000e+00, 5.38700479e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -5.25033308e+04, 5.04154637e+04, 0.00000000e+00, -1.92229244e+00, 4.84404620e-01, 5.83273058e-01, 3.59359330e+00, 0.00000000e+00, -5.9665367601, 0.0709763164, 0.1317546934, 0.0000000000, 0.5387004791, 0.1317546934, 0.0709763164, 0.0000000000, 0.0000000000, 0.0000000000, 0.0355817035, 0.0014002452, 5.0000000000, 3.0000000000, 0.0796344791 + 23, 7.09718655e-02, 1.30890182e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.55777551e-02, 1.30890182e-01, 7.09718655e-02, 0.00000000e+00, 5.42224515e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -5.11391705e+04, 4.91017880e+04, 0.00000000e+00, -1.91477794e+00, 4.85005177e-01, 5.90398331e-01, 3.59957289e+00, 0.00000000e+00, -5.9598836196, 0.0709718655, 0.1308901820, 0.0000000000, 0.5422245153, 0.1308901820, 0.0709718655, 0.0000000000, 0.0000000000, 0.0000000000, 0.0355777551, 0.0014002452, 5.0000000000, 3.0000000000, 0.0832351867 + 24, 7.09612210e-02, 1.29982406e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.55702977e-02, 1.29982406e-01, 7.09612210e-02, 0.00000000e+00, 5.45929430e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -4.98438446e+04, 4.78527490e+04, 0.00000000e+00, -1.90693163e+00, 4.86599440e-01, 5.97641616e-01, 3.60583804e+00, 0.00000000e+00, -5.9534846390, 0.0709612210, 0.1299824064, 0.0000000000, 0.5459294298, 0.1299824064, 0.0709612210, 0.0000000000, 0.0000000000, 0.0000000000, 0.0355702977, 0.0014002452, 5.0000000000, 3.0000000000, 0.0868896059 + 25, 7.09459022e-02, 1.29033584e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.55600932e-02, 1.29033584e-01, 7.09459022e-02, 0.00000000e+00, 5.49825093e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -4.86134117e+04, 4.66649487e+04, 0.00000000e+00, -1.89905162e+00, 4.88201711e-01, 6.04818600e-01, 3.61206950e+00, 0.00000000e+00, -5.9469672944, 0.0709459022, 0.1290335839, 0.0000000000, 0.5498250929, 0.1290335839, 0.0709459022, 0.0000000000, 0.0000000000, 0.0000000000, 0.0355600932, 0.0014002452, 5.0000000000, 3.0000000000, 0.0904878667 diff --git a/TestCases/harmonic_balance/hb_rans_preconditioning/history_2 b/TestCases/harmonic_balance/hb_rans_preconditioning/history_2 new file mode 100644 index 000000000000..cac09a0596aa --- /dev/null +++ b/TestCases/harmonic_balance/hb_rans_preconditioning/history_2 @@ -0,0 +1,27 @@ +"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","HeatFlux_Total","HeatFlux_Maximum","Temperature_Total","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","Res_Turb[0]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" + 0, 6.59086932e-02, 8.08913650e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.32268210e-02, 8.08913650e-02, 6.59086932e-02, 0.00000000e+00, 8.14780331e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -1.74693305e+05, 1.67403568e+05, 0.00000000e+00, -1.47337597e+00, -1.54704582e+00, -1.14012147e+01, 4.04009665e+00, 0.00000000e+00, -5.7574806701, 0.0659086932, 0.0808913650, 0.0000000000, 0.8147803308, 0.0808913650, 0.0659086932, 0.0000000000, 0.0000000000, 0.0000000000, 0.0332268210, 0.0013479575, 4.0000000000, 3.0000000000, 0.0084087971 + 1, 9.27678092e-02, 1.17164567e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.56286768e-02, 1.17164567e-01, 9.27678092e-02, 0.00000000e+00, 7.91773587e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -1.57835513e+05, 1.52553753e+05, 0.00000000e+00, -1.70329902e+00, 9.15559514e-01, 9.74417389e-01, 3.81124344e+00, 0.00000000e+00, -5.8964993795, 0.0927678092, 0.1171645666, 0.0000000000, 0.7917735870, 0.1171645666, 0.0927678092, 0.0000000000, 0.0000000000, 0.0000000000, 0.0456286768, 0.0013479575, 5.0000000000, 3.0000000000, 0.0035830720 + 2, 1.03282538e-01, 1.42638230e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 5.00069593e-02, 1.42638230e-01, 1.03282538e-01, 0.00000000e+00, 7.24087355e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -1.39654755e+05, 1.37010947e+05, 0.00000000e+00, -1.71578669e+00, 9.26876985e-01, 8.69266183e-01, 3.80456476e+00, 0.00000000e+00, -5.9818345149, 0.1032825384, 0.1426382296, 0.0000000000, 0.7240873553, 0.1426382296, 0.1032825384, 0.0000000000, 0.0000000000, 0.0000000000, 0.0500069593, 0.0013479575, 4.0000000000, 3.0000000000, 0.0072991122 + 3, 1.03108525e-01, 1.57810459e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.93954006e-02, 1.57810459e-01, 1.03108525e-01, 0.00000000e+00, 6.53369401e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -1.22876675e+05, 1.22217756e+05, 0.00000000e+00, -1.70943936e+00, 9.07067116e-01, 7.21658920e-01, 3.81344119e+00, 0.00000000e+00, -6.0026170307, 0.1031085252, 0.1578104591, 0.0000000000, 0.6533694011, 0.1578104591, 0.1031085252, 0.0000000000, 0.0000000000, 0.0000000000, 0.0493954006, 0.0013479575, 4.0000000000, 3.0000000000, 0.0105955804 + 4, 9.76346012e-02, 1.61976470e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.64600669e-02, 1.61976470e-01, 9.76346012e-02, 0.00000000e+00, 6.02770275e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -1.09040650e+05, 1.08754424e+05, 0.00000000e+00, -1.75008599e+00, 8.50177722e-01, 6.48758334e-01, 3.77354388e+00, 0.00000000e+00, -5.9830704638, 0.0976346012, 0.1619764697, 0.0000000000, 0.6027702750, 0.1619764697, 0.0976346012, 0.0000000000, 0.0000000000, 0.0000000000, 0.0464600669, 0.0013479575, 4.0000000000, 3.0000000000, 0.0138985556 + 5, 9.09550318e-02, 1.58228499e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.30715335e-02, 1.58228499e-01, 9.09550318e-02, 0.00000000e+00, 5.74833438e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -9.86117737e+04, 9.71863360e+04, 0.00000000e+00, -1.81827638e+00, 7.68135345e-01, 6.66763119e-01, 3.70612651e+00, 0.00000000e+00, -5.9660991315, 0.0909550318, 0.1582284987, 0.0000000000, 0.5748334377, 0.1582284987, 0.0909550318, 0.0000000000, 0.0000000000, 0.0000000000, 0.0430715335, 0.0013479575, 5.0000000000, 3.0000000000, 0.0173700088 + 6, 8.53369114e-02, 1.51619857e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.02509723e-02, 1.51619857e-01, 8.53369114e-02, 0.00000000e+00, 5.62834664e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -9.12513695e+04, 8.85791304e+04, 0.00000000e+00, -1.87096342e+00, 6.81674856e-01, 6.79718620e-01, 3.65502489e+00, 0.00000000e+00, -5.9353591591, 0.0853369114, 0.1516198573, 0.0000000000, 0.5628346640, 0.1516198573, 0.0853369114, 0.0000000000, 0.0000000000, 0.0000000000, 0.0402509723, 0.0013479575, 5.0000000000, 3.0000000000, 0.0209595597 + 7, 8.16001513e-02, 1.45633109e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.83539143e-02, 1.45633109e-01, 8.16001513e-02, 0.00000000e+00, 5.60313186e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -8.61728951e+04, 8.29883974e+04, 0.00000000e+00, -1.89416981e+00, 6.16608742e-01, 6.66072786e-01, 3.63200251e+00, 0.00000000e+00, -5.9214359944, 0.0816001513, 0.1456331090, 0.0000000000, 0.5603131863, 0.1456331090, 0.0816001513, 0.0000000000, 0.0000000000, 0.0000000000, 0.0383539143, 0.0013479575, 5.0000000000, 3.0000000000, 0.0246205499 + 8, 7.95357678e-02, 1.41724922e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.72470034e-02, 1.41724922e-01, 7.95357678e-02, 0.00000000e+00, 5.61198178e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -8.24985368e+04, 7.92498795e+04, 0.00000000e+00, -1.90567133e+00, 5.80789523e-01, 6.39327495e-01, 3.61852759e+00, 0.00000000e+00, -5.9313714320, 0.0795357678, 0.1417249217, 0.0000000000, 0.5611981776, 0.1417249217, 0.0795357678, 0.0000000000, 0.0000000000, 0.0000000000, 0.0372470034, 0.0013479575, 5.0000000000, 3.0000000000, 0.0286673639 + 9, 7.88172877e-02, 1.39796508e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.68410975e-02, 1.39796508e-01, 7.88172877e-02, 0.00000000e+00, 5.63800119e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -7.95364195e+04, 7.63556345e+04, 0.00000000e+00, -1.91404509e+00, 5.64655086e-01, 6.13318610e-01, 3.60883695e+00, 0.00000000e+00, -5.9546734354, 0.0788172877, 0.1397965078, 0.0000000000, 0.5638001188, 0.1397965078, 0.0788172877, 0.0000000000, 0.0000000000, 0.0000000000, 0.0368410975, 0.0013479575, 5.0000000000, 3.0000000000, 0.0322731575 + 10, 7.89346634e-02, 1.39152792e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.68833177e-02, 1.39152792e-01, 7.89346634e-02, 0.00000000e+00, 5.67251739e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -7.68633792e+04, 7.37821640e+04, 0.00000000e+00, -1.92118668e+00, 5.60565392e-01, 5.93727102e-01, 3.60163215e+00, 0.00000000e+00, -5.9753695271, 0.0789346634, 0.1391527923, 0.0000000000, 0.5672517392, 0.1391527923, 0.0789346634, 0.0000000000, 0.0000000000, 0.0000000000, 0.0368833177, 0.0013479575, 5.0000000000, 3.0000000000, 0.0358575110 + 11, 7.94159326e-02, 1.39045653e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.71289725e-02, 1.39045653e-01, 7.94159326e-02, 0.00000000e+00, 5.71150058e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -7.42901591e+04, 7.13180391e+04, 0.00000000e+00, -1.92890836e+00, 5.59855797e-01, 5.79963776e-01, 3.59372292e+00, 0.00000000e+00, -5.9874612214, 0.0794159326, 0.1390456526, 0.0000000000, 0.5711500581, 0.1390456526, 0.0794159326, 0.0000000000, 0.0000000000, 0.0000000000, 0.0371289725, 0.0013479575, 5.0000000000, 3.0000000000, 0.0394382544 + 12, 7.99110556e-02, 1.38950213e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.73915284e-02, 1.38950213e-01, 7.99110556e-02, 0.00000000e+00, 5.75105672e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -7.17634321e+04, 6.88987928e+04, 0.00000000e+00, -1.93546561e+00, 5.56011375e-01, 5.70095213e-01, 3.58706326e+00, 0.00000000e+00, -5.9920590774, 0.0799110556, 0.1389502129, 0.0000000000, 0.5751056720, 0.1389502129, 0.0799110556, 0.0000000000, 0.0000000000, 0.0000000000, 0.0373915284, 0.0013479575, 5.0000000000, 3.0000000000, 0.0430579760 + 13, 8.02492603e-02, 1.38633503e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75766310e-02, 1.38633503e-01, 8.02492603e-02, 0.00000000e+00, 5.78859068e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -6.92915989e+04, 6.65294396e+04, 0.00000000e+00, -1.94037481e+00, 5.48564770e-01, 5.63117807e-01, 3.58244938e+00, 0.00000000e+00, -5.9935060483, 0.0802492603, 0.1386335029, 0.0000000000, 0.5788590684, 0.1386335029, 0.0802492603, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375766310, 0.0013479575, 5.0000000000, 3.0000000000, 0.0466664215 + 14, 8.04012484e-02, 1.38085698e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.76647566e-02, 1.38085698e-01, 8.04012484e-02, 0.00000000e+00, 5.82256161e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -6.69117909e+04, 6.42451040e+04, 0.00000000e+00, -1.94467764e+00, 5.37886847e-01, 5.58708199e-01, 3.57814266e+00, 0.00000000e+00, -5.9926912321, 0.0804012484, 0.1380856979, 0.0000000000, 0.5822561613, 0.1380856979, 0.0804012484, 0.0000000000, 0.0000000000, 0.0000000000, 0.0376647566, 0.0013479575, 5.0000000000, 3.0000000000, 0.0502643531 + 15, 8.04160818e-02, 1.37396706e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.76785446e-02, 1.37396706e-01, 8.04160818e-02, 0.00000000e+00, 5.85283914e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -6.46595257e+04, 6.20817224e+04, 0.00000000e+00, -1.94742879e+00, 5.25470969e-01, 5.56691436e-01, 3.57518001e+00, 0.00000000e+00, -5.9913728066, 0.0804160818, 0.1373967060, 0.0000000000, 0.5852839135, 0.1373967060, 0.0804160818, 0.0000000000, 0.0000000000, 0.0000000000, 0.0376785446, 0.0013479575, 5.0000000000, 3.0000000000, 0.0538658092 + 16, 8.03639016e-02, 1.36659657e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.76536725e-02, 1.36659657e-01, 8.03639016e-02, 0.00000000e+00, 5.88058711e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -6.25533609e+04, 6.00593666e+04, 0.00000000e+00, -1.94825314e+00, 5.13385944e-01, 5.56723870e-01, 3.57402348e+00, 0.00000000e+00, -5.9908212435, 0.0803639016, 0.1366596568, 0.0000000000, 0.5880587112, 0.1366596568, 0.0803639016, 0.0000000000, 0.0000000000, 0.0000000000, 0.0376536725, 0.0013479575, 5.0000000000, 3.0000000000, 0.0574982888 + 17, 8.03003369e-02, 1.35927512e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.76197362e-02, 1.35927512e-01, 8.03003369e-02, 0.00000000e+00, 5.90758527e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -6.05937944e+04, 5.81794324e+04, 0.00000000e+00, -1.94729764e+00, 5.02955026e-01, 5.58516832e-01, 3.57432063e+00, 0.00000000e+00, -5.9896221345, 0.0803003369, 0.1359275122, 0.0000000000, 0.5907585273, 0.1359275122, 0.0803003369, 0.0000000000, 0.0000000000, 0.0000000000, 0.0376197362, 0.0013479575, 5.0000000000, 3.0000000000, 0.0615422680 + 18, 8.02547324e-02, 1.35210514e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75933224e-02, 1.35210514e-01, 8.02547324e-02, 0.00000000e+00, 5.93553936e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -5.87689404e+04, 5.64300922e+04, 0.00000000e+00, -1.94439598e+00, 4.95396576e-01, 5.61754729e-01, 3.57642761e+00, 0.00000000e+00, -5.9871348075, 0.0802547324, 0.1352105135, 0.0000000000, 0.5935539355, 0.1352105135, 0.0802547324, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375933224, 0.0013479575, 5.0000000000, 3.0000000000, 0.0652064242 + 19, 8.02333745e-02, 1.34493619e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75790215e-02, 1.34493619e-01, 8.02333745e-02, 0.00000000e+00, 5.96558967e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -5.70618612e+04, 5.47939045e+04, 0.00000000e+00, -1.94012236e+00, 4.90034638e-01, 5.66152221e-01, 3.57969811e+00, 0.00000000e+00, -5.9833104214, 0.0802333745, 0.1344936191, 0.0000000000, 0.5965589673, 0.1344936191, 0.0802333745, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375790215, 0.0013479575, 5.0000000000, 3.0000000000, 0.0688011637 + 20, 8.02292990e-02, 1.33755594e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75741234e-02, 1.33755594e-01, 8.02292990e-02, 0.00000000e+00, 5.99820141e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -5.54562329e+04, 5.32540428e+04, 0.00000000e+00, -1.93469942e+00, 4.86757756e-01, 5.71595398e-01, 3.58391301e+00, 0.00000000e+00, -5.9780924914, 0.0802292990, 0.1337555935, 0.0000000000, 0.5998201411, 0.1337555935, 0.0802292990, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375741234, 0.0013479575, 5.0000000000, 3.0000000000, 0.0724085988 + 21, 8.02317692e-02, 1.32980582e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75734098e-02, 1.32980582e-01, 8.02317692e-02, 0.00000000e+00, 6.03334472e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -5.39391814e+04, 5.17974249e+04, 0.00000000e+00, -1.92822215e+00, 4.85641304e-01, 5.77867162e-01, 3.58913575e+00, 0.00000000e+00, -5.9721255904, 0.0802317692, 0.1329805818, 0.0000000000, 0.6033344724, 0.1329805818, 0.0802317692, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375734098, 0.0013479575, 5.0000000000, 3.0000000000, 0.0760117013 + 22, 8.02322091e-02, 1.32161241e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75723661e-02, 1.32161241e-01, 8.02322091e-02, 0.00000000e+00, 6.07078206e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -5.25016469e+04, 5.04151703e+04, 0.00000000e+00, -1.92123586e+00, 4.85353833e-01, 5.84599998e-01, 3.59468130e+00, 0.00000000e+00, -5.9657810338, 0.0802322091, 0.1321612411, 0.0000000000, 0.6070782056, 0.1321612411, 0.0802322091, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375723661, 0.0013479575, 5.0000000000, 3.0000000000, 0.0796344791 + 23, 8.02263511e-02, 1.31296644e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75685052e-02, 1.31296644e-01, 8.02263511e-02, 0.00000000e+00, 6.11031240e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -5.11374879e+04, 4.91015656e+04, 0.00000000e+00, -1.91369763e+00, 4.86008420e-01, 5.91746632e-01, 3.60069096e+00, 0.00000000e+00, -5.9591126283, 0.0802263511, 0.1312966439, 0.0000000000, 0.6110312397, 0.1312966439, 0.0802263511, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375685052, 0.0013479575, 5.0000000000, 3.0000000000, 0.0832351867 + 24, 8.02136435e-02, 1.30388744e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75612538e-02, 1.30388744e-01, 8.02136435e-02, 0.00000000e+00, 6.15188404e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -4.98421663e+04, 4.78525886e+04, 0.00000000e+00, -1.90583058e+00, 4.87634069e-01, 5.99020617e-01, 3.60698357e+00, 0.00000000e+00, -5.9526826321, 0.0802136435, 0.1303887443, 0.0000000000, 0.6151884041, 0.1303887443, 0.0802136435, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375612538, 0.0013479575, 5.0000000000, 3.0000000000, 0.0868896059 + 25, 8.01956261e-02, 1.29439762e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75512773e-02, 1.29439762e-01, 8.01956261e-02, 0.00000000e+00, 6.19559437e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -4.86117409e+04, 4.66648417e+04, 0.00000000e+00, -1.89791856e+00, 4.89329769e-01, 6.06238880e-01, 3.61325439e+00, 0.00000000e+00, -5.9461397571, 0.0801956261, 0.1294397620, 0.0000000000, 0.6195594375, 0.1294397620, 0.0801956261, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375512773, 0.0013479575, 5.0000000000, 3.0000000000, 0.0904878667 diff --git a/TestCases/harmonic_balance/hb_rans_preconditioning/history_3 b/TestCases/harmonic_balance/hb_rans_preconditioning/history_3 new file mode 100644 index 000000000000..bd7b1e2f1d1a --- /dev/null +++ b/TestCases/harmonic_balance/hb_rans_preconditioning/history_3 @@ -0,0 +1,27 @@ +"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","HeatFlux_Total","HeatFlux_Maximum","Temperature_Total","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","Res_Turb[0]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" + 0, 2.28215163e-02, 7.99983871e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 9.85953444e-03, 7.99983871e-02, 2.28215163e-02, 0.00000000e+00, 2.85274705e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -1.74685905e+05, 1.67401546e+05, 0.00000000e+00, -1.47900491e+00, -9.54847178e-01, -1.14063583e+01, 4.03445400e+00, 0.00000000e+00, -5.7594711634, 0.0228215163, 0.0799983871, 0.0000000000, 0.2852747053, 0.0799983871, 0.0228215163, 0.0000000000, 0.0000000000, 0.0000000000, 0.0098595344, 0.0015031399, 4.0000000000, 3.0000000000, 0.0084087971 + 1, 3.26947397e-02, 1.15873410e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.36246331e-02, 1.15873410e-01, 3.26947397e-02, 0.00000000e+00, 2.82159122e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -1.57848613e+05, 1.52561050e+05, 0.00000000e+00, -1.70887452e+00, 9.12773655e-01, 9.73329425e-01, 3.80579167e+00, 0.00000000e+00, -5.9025668096, 0.0326947397, 0.1158734102, 0.0000000000, 0.2821591224, 0.1158734102, 0.0326947397, 0.0000000000, 0.0000000000, 0.0000000000, 0.0136246331, 0.0015031399, 5.0000000000, 3.0000000000, 0.0035830720 + 2, 3.67260786e-02, 1.41148193e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.49758624e-02, 1.41148193e-01, 3.67260786e-02, 0.00000000e+00, 2.60195174e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -1.39677598e+05, 1.37001529e+05, 0.00000000e+00, -1.71918798e+00, 9.25280762e-01, 8.66731307e-01, 3.80132309e+00, 0.00000000e+00, -5.9862161407, 0.0367260786, 0.1411481929, 0.0000000000, 0.2601951740, 0.1411481929, 0.0367260786, 0.0000000000, 0.0000000000, 0.0000000000, 0.0149758624, 0.0015031399, 4.0000000000, 3.0000000000, 0.0072991122 + 3, 3.69138712e-02, 1.56299092e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.48402461e-02, 1.56299092e-01, 3.69138712e-02, 0.00000000e+00, 2.36174571e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -1.22902238e+05, 1.22201127e+05, 0.00000000e+00, -1.71190720e+00, 9.05818752e-01, 7.17183532e-01, 3.81101676e+00, 0.00000000e+00, -6.0069562910, 0.0369138712, 0.1562990925, 0.0000000000, 0.2361745713, 0.1562990925, 0.0369138712, 0.0000000000, 0.0000000000, 0.0000000000, 0.0148402461, 0.0015031399, 4.0000000000, 3.0000000000, 0.0105955804 + 4, 3.51068674e-02, 1.60540264e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.39980426e-02, 1.60540264e-01, 3.51068674e-02, 0.00000000e+00, 2.18679518e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -1.09063735e+05, 1.08746892e+05, 0.00000000e+00, -1.75283417e+00, 8.48860498e-01, 6.43770750e-01, 3.77078964e+00, 0.00000000e+00, -5.9872962749, 0.0351068674, 0.1605402638, 0.0000000000, 0.2186795176, 0.1605402638, 0.0351068674, 0.0000000000, 0.0000000000, 0.0000000000, 0.0139980426, 0.0015031399, 4.0000000000, 3.0000000000, 0.0138985556 + 5, 3.27818757e-02, 1.56897762e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.29965307e-02, 1.56897762e-01, 3.27818757e-02, 0.00000000e+00, 2.08937816e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -9.86300674e+04, 9.71975836e+04, 0.00000000e+00, -1.82174462e+00, 7.66551833e-01, 6.62728722e-01, 3.70269949e+00, 0.00000000e+00, -5.9698186423, 0.0327818757, 0.1568977620, 0.0000000000, 0.2089378160, 0.1568977620, 0.0327818757, 0.0000000000, 0.0000000000, 0.0000000000, 0.0129965307, 0.0015031399, 5.0000000000, 3.0000000000, 0.0173700088 + 6, 3.07551110e-02, 1.50378308e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.21338915e-02, 1.50378308e-01, 3.07551110e-02, 0.00000000e+00, 2.04518267e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -9.12638719e+04, 8.85917610e+04, 0.00000000e+00, -1.87495269e+00, 6.79639734e-01, 6.76137752e-01, 3.65117835e+00, 0.00000000e+00, -5.9382845004, 0.0307551110, 0.1503783082, 0.0000000000, 0.2045182672, 0.1503783082, 0.0307551110, 0.0000000000, 0.0000000000, 0.0000000000, 0.0121338915, 0.0015031399, 5.0000000000, 3.0000000000, 0.0209595597 + 7, 2.93504235e-02, 1.44452187e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.15186423e-02, 1.44452187e-01, 2.93504235e-02, 0.00000000e+00, 2.03184348e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -8.61804437e+04, 8.29977592e+04, 0.00000000e+00, -1.89820708e+00, 6.14071661e-01, 6.62499839e-01, 3.62814634e+00, 0.00000000e+00, -5.9232133508, 0.0293504235, 0.1444521873, 0.0000000000, 0.2031843481, 0.1444521873, 0.0293504235, 0.0000000000, 0.0000000000, 0.0000000000, 0.0115186423, 0.0015031399, 5.0000000000, 3.0000000000, 0.0246205499 + 8, 2.85146969e-02, 1.40577865e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.11125421e-02, 1.40577865e-01, 2.85146969e-02, 0.00000000e+00, 2.02839166e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -8.25030279e+04, 7.92553527e+04, 0.00000000e+00, -1.90961848e+00, 5.77906563e-01, 6.35581152e-01, 3.61473319e+00, 0.00000000e+00, -5.9336509936, 0.0285146969, 0.1405778649, 0.0000000000, 0.2028391664, 0.1405778649, 0.0285146969, 0.0000000000, 0.0000000000, 0.0000000000, 0.0111125421, 0.0015031399, 5.0000000000, 3.0000000000, 0.0286673639 + 9, 2.81551399e-02, 1.38660492e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.09131636e-02, 1.38660492e-01, 2.81551399e-02, 0.00000000e+00, 2.03050915e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -7.95393433e+04, 7.63591447e+04, 0.00000000e+00, -1.91787677e+00, 5.61674839e-01, 6.09396198e-01, 3.60513587e+00, 0.00000000e+00, -5.9571522602, 0.0281551399, 0.1386604924, 0.0000000000, 0.2030509155, 0.1386604924, 0.0281551399, 0.0000000000, 0.0000000000, 0.0000000000, 0.0109131636, 0.0015031399, 5.0000000000, 3.0000000000, 0.0322731575 + 10, 2.81136287e-02, 1.38014163e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.08626502e-02, 1.38014163e-01, 2.81136287e-02, 0.00000000e+00, 2.03701041e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -7.68654318e+04, 7.37849022e+04, 0.00000000e+00, -1.92491766e+00, 5.57682096e-01, 5.89713795e-01, 3.59803477e+00, 0.00000000e+00, -5.9780107279, 0.0281136287, 0.1380141629, 0.0000000000, 0.2037010410, 0.1380141629, 0.0281136287, 0.0000000000, 0.0000000000, 0.0000000000, 0.0108626502, 0.0015031399, 5.0000000000, 3.0000000000, 0.0358575110 + 11, 2.82315799e-02, 1.37898635e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.08952492e-02, 1.37898635e-01, 2.82315799e-02, 0.00000000e+00, 2.04727043e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -7.42922984e+04, 7.13210587e+04, 0.00000000e+00, -1.93259460e+00, 5.56996236e-01, 5.75930488e-01, 3.59016686e+00, 0.00000000e+00, -5.9901645693, 0.0282315799, 0.1378986353, 0.0000000000, 0.2047270432, 0.1378986353, 0.0282315799, 0.0000000000, 0.0000000000, 0.0000000000, 0.0108952492, 0.0015031399, 5.0000000000, 3.0000000000, 0.0394382544 + 12, 2.83828040e-02, 1.37794592e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.09541798e-02, 1.37794592e-01, 2.83828040e-02, 0.00000000e+00, 2.05979085e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -7.17660186e+04, 6.89023210e+04, 0.00000000e+00, -1.93911560e+00, 5.53148168e-01, 5.66069518e-01, 3.58353853e+00, 0.00000000e+00, -5.9947421036, 0.0283828040, 0.1377945925, 0.0000000000, 0.2059790847, 0.1377945925, 0.0283828040, 0.0000000000, 0.0000000000, 0.0000000000, 0.0109541798, 0.0015031399, 5.0000000000, 3.0000000000, 0.0430579760 + 13, 2.84980811e-02, 1.37471946e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10054184e-02, 1.37471946e-01, 2.84980811e-02, 0.00000000e+00, 2.07301067e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -6.92945870e+04, 6.65333225e+04, 0.00000000e+00, -1.94398509e+00, 5.45670973e-01, 5.59109958e-01, 3.57897024e+00, 0.00000000e+00, -5.9961499076, 0.0284980811, 0.1374719462, 0.0000000000, 0.2073010669, 0.1374719462, 0.0284980811, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110054184, 0.0015031399, 5.0000000000, 3.0000000000, 0.0466664215 + 14, 2.85574312e-02, 1.36921337e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10361874e-02, 1.36921337e-01, 2.85574312e-02, 0.00000000e+00, 2.08568159e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -6.69149921e+04, 6.42491024e+04, 0.00000000e+00, -1.94826418e+00, 5.34932563e-01, 5.54724377e-01, 3.57468866e+00, 0.00000000e+00, -5.9952672462, 0.0285574312, 0.1369213372, 0.0000000000, 0.2085681590, 0.1369213372, 0.0285574312, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110361874, 0.0015031399, 5.0000000000, 3.0000000000, 0.0502643531 + 15, 2.85707791e-02, 1.36231796e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10474945e-02, 1.36231796e-01, 2.85707791e-02, 0.00000000e+00, 2.09721813e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -6.46627694e+04, 6.20856769e+04, 0.00000000e+00, -1.95100896e+00, 5.22381664e-01, 5.52729661e-01, 3.57172949e+00, 0.00000000e+00, -5.9938995069, 0.0285707791, 0.1362317956, 0.0000000000, 0.2097218128, 0.1362317956, 0.0285707791, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110474945, 0.0015031399, 5.0000000000, 3.0000000000, 0.0538658092 + 16, 2.85587309e-02, 1.35495391e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10464311e-02, 1.35495391e-01, 2.85587309e-02, 0.00000000e+00, 2.10772712e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -6.25564903e+04, 6.00630985e+04, 0.00000000e+00, -1.95183536e+00, 5.10117627e-01, 5.52776287e-01, 3.57055141e+00, 0.00000000e+00, -5.9933395319, 0.0285587309, 0.1354953906, 0.0000000000, 0.2107727115, 0.1354953906, 0.0285587309, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110464311, 0.0015031399, 5.0000000000, 3.0000000000, 0.0574982888 + 17, 2.85394656e-02, 1.34764176e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10403211e-02, 1.34764176e-01, 2.85394656e-02, 0.00000000e+00, 2.11773385e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -6.05967373e+04, 5.81828577e+04, 0.00000000e+00, -1.95085671e+00, 4.99534773e-01, 5.54593936e-01, 3.57086753e+00, 0.00000000e+00, -5.9921500661, 0.0285394656, 0.1347641755, 0.0000000000, 0.2117733845, 0.1347641755, 0.0285394656, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110403211, 0.0015031399, 5.0000000000, 3.0000000000, 0.0615422680 + 18, 2.85236352e-02, 1.34047866e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10340710e-02, 1.34047866e-01, 2.85236352e-02, 0.00000000e+00, 2.12786940e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -5.87716894e+04, 5.64331989e+04, 0.00000000e+00, -1.94793506e+00, 4.91859192e-01, 5.57855122e-01, 3.57299149e+00, 0.00000000e+00, -5.9896786517, 0.0285236352, 0.1340478661, 0.0000000000, 0.2127869398, 0.1340478661, 0.0285236352, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110340710, 0.0015031399, 5.0000000000, 3.0000000000, 0.0652064242 + 19, 2.85144570e-02, 1.33331317e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10297369e-02, 1.33331317e-01, 2.85144570e-02, 0.00000000e+00, 2.13861661e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -5.70644356e+04, 5.47967046e+04, 0.00000000e+00, -1.94366634e+00, 4.86314174e-01, 5.62249703e-01, 3.57624297e+00, 0.00000000e+00, -5.9858957581, 0.0285144570, 0.1333313174, 0.0000000000, 0.2138616606, 0.1333313174, 0.0285144570, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110297369, 0.0015031399, 5.0000000000, 3.0000000000, 0.0688011637 + 20, 2.85106654e-02, 1.32593386e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10274868e-02, 1.32593386e-01, 2.85106654e-02, 0.00000000e+00, 2.15023284e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -5.54586599e+04, 5.32565619e+04, 0.00000000e+00, -1.93825012e+00, 4.82866066e-01, 5.67680995e-01, 3.58042025e+00, 0.00000000e+00, -5.9806444686, 0.0285106654, 0.1325933864, 0.0000000000, 0.2150232838, 0.1325933864, 0.0285106654, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110274868, 0.0015031399, 5.0000000000, 3.0000000000, 0.0724085988 + 21, 2.85093432e-02, 1.31818387e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10265131e-02, 1.31818387e-01, 2.85093432e-02, 0.00000000e+00, 2.16277439e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -5.39414813e+04, 5.17996863e+04, 0.00000000e+00, -1.93174861e+00, 4.81654412e-01, 5.73961980e-01, 3.58566546e+00, 0.00000000e+00, -5.9747192498, 0.0285093432, 0.1318183869, 0.0000000000, 0.2162774392, 0.1318183869, 0.0285093432, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110265131, 0.0015031399, 5.0000000000, 3.0000000000, 0.0760117013 + 22, 2.85079401e-02, 1.30999118e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10258875e-02, 1.30999118e-01, 2.85079401e-02, 0.00000000e+00, 2.17619329e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -5.25038295e+04, 5.04171890e+04, 0.00000000e+00, -1.92480375e+00, 4.81168627e-01, 5.80655663e-01, 3.59114239e+00, 0.00000000e+00, -5.9684195419, 0.0285079401, 0.1309991177, 0.0000000000, 0.2176193291, 0.1309991177, 0.0285079401, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110258875, 0.0015031399, 5.0000000000, 3.0000000000, 0.0796344791 + 23, 2.85050841e-02, 1.30134709e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10249868e-02, 1.30134709e-01, 2.85050841e-02, 0.00000000e+00, 2.19042901e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -5.11395572e+04, 4.91033545e+04, 0.00000000e+00, -1.91728750e+00, 4.81666231e-01, 5.87777696e-01, 3.59710642e+00, 0.00000000e+00, -5.9617715000, 0.0285050841, 0.1301347087, 0.0000000000, 0.2190429009, 0.1301347087, 0.0285050841, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110249868, 0.0015031399, 5.0000000000, 3.0000000000, 0.0832351867 + 24, 2.85005238e-02, 1.29227119e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10235790e-02, 1.29227119e-01, 2.85005238e-02, 0.00000000e+00, 2.20545998e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -4.98441245e+04, 4.78541664e+04, 0.00000000e+00, -1.90943297e+00, 4.83181462e-01, 5.95012439e-01, 3.60336194e+00, 0.00000000e+00, -5.9553866989, 0.0285005238, 0.1292271185, 0.0000000000, 0.2205459978, 0.1292271185, 0.0285005238, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110235790, 0.0015031399, 5.0000000000, 3.0000000000, 0.0868896059 + 25, 2.84946886e-02, 1.28278523e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10217577e-02, 1.28278523e-01, 2.84946886e-02, 0.00000000e+00, 2.22131406e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -4.86135853e+04, 4.66662058e+04, 0.00000000e+00, -1.90154905e+00, 4.84657152e-01, 6.02178184e-01, 3.60957899e+00, 0.00000000e+00, -5.9488748205, 0.0284946886, 0.1282785229, 0.0000000000, 0.2221314057, 0.1282785229, 0.0284946886, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110217577, 0.0015031399, 5.0000000000, 3.0000000000, 0.0904878667 diff --git a/TestCases/harmonic_balance/hb_rans_preconditioning/history_4 b/TestCases/harmonic_balance/hb_rans_preconditioning/history_4 new file mode 100644 index 000000000000..af25a5e26bfa --- /dev/null +++ b/TestCases/harmonic_balance/hb_rans_preconditioning/history_4 @@ -0,0 +1,27 @@ +"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","HeatFlux_Total","HeatFlux_Maximum","Temperature_Total","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","Res_Turb[0]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" + 0, -3.76237585e-02, 8.01138589e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.10123954e-02, 8.01138589e-02, -3.76237585e-02, 0.00000000e+00, -4.69628589e-01, 0.00000000e+00, 0.00000000e+00, 1.56713919e-03, -1.74690891e+05, 1.67408179e+05, 0.00000000e+00, -1.47744527e+00, -9.62027457e-01, -1.13924892e+01, 4.03601422e+00, 0.00000000e+00, -5.7587594627, -0.0376237585, 0.0801138589, 0.0000000000, -0.4696285895, 0.0801138589, -0.0376237585, 0.0000000000, 0.0000000000, 0.0000000000, -0.0210123954, 0.0015671392, 4.0000000000, 3.0000000000, 0.0084087971 + 1, -5.22251208e-02, 1.16040652e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.87312116e-02, 1.16040652e-01, -5.22251208e-02, 0.00000000e+00, -4.50058836e-01, 0.00000000e+00, 0.00000000e+00, 1.56713919e-03, -1.57851304e+05, 1.52573054e+05, 0.00000000e+00, -1.70726131e+00, 9.13825448e-01, 9.73563159e-01, 3.80732359e+00, 0.00000000e+00, -5.9004926757, -0.0522251208, 0.1160406521, 0.0000000000, -0.4500588360, 0.1160406521, -0.0522251208, 0.0000000000, 0.0000000000, 0.0000000000, -0.0287312116, 0.0015671392, 5.0000000000, 3.0000000000, 0.0035830720 + 2, -5.77149511e-02, 1.41311036e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.14101011e-02, 1.41311036e-01, -5.77149511e-02, 0.00000000e+00, -4.08424939e-01, 0.00000000e+00, 0.00000000e+00, 1.56713919e-03, -1.39675294e+05, 1.36995870e+05, 0.00000000e+00, -1.71819536e+00, 9.25843843e-01, 8.67282765e-01, 3.80221046e+00, 0.00000000e+00, -5.9846875546, -0.0577149511, 0.1413110356, 0.0000000000, -0.4084249386, 0.1413110356, -0.0577149511, 0.0000000000, 0.0000000000, 0.0000000000, -0.0314101011, 0.0015671392, 4.0000000000, 3.0000000000, 0.0072991122 + 3, -5.72600465e-02, 1.56457693e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.09444536e-02, 1.56457693e-01, -5.72600465e-02, 0.00000000e+00, -3.65977826e-01, 0.00000000e+00, 0.00000000e+00, 1.56713919e-03, -1.22897664e+05, 1.22180333e+05, 0.00000000e+00, -1.71121680e+00, 9.06223851e-01, 7.18111122e-01, 3.81163460e+00, 0.00000000e+00, -6.0054424260, -0.0572600465, 0.1564576934, 0.0000000000, -0.3659778261, 0.1564576934, -0.0572600465, 0.0000000000, 0.0000000000, 0.0000000000, -0.0309444536, 0.0015671392, 4.0000000000, 3.0000000000, 0.0105955804 + 4, -5.39816483e-02, 1.60693796e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.90373111e-02, 1.60693796e-01, -5.39816483e-02, 0.00000000e+00, -3.35928640e-01, 0.00000000e+00, 0.00000000e+00, 1.56713919e-03, -1.09059779e+05, 1.08736025e+05, 0.00000000e+00, -1.75212042e+00, 8.49263464e-01, 6.44817786e-01, 3.77143365e+00, 0.00000000e+00, -5.9860403761, -0.0539816483, 0.1606937958, 0.0000000000, -0.3359286400, 0.1606937958, -0.0539816483, 0.0000000000, 0.0000000000, 0.0000000000, -0.0290373111, 0.0015671392, 5.0000000000, 3.0000000000, 0.0138985556 + 5, -5.01533268e-02, 1.57047876e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.68817794e-02, 1.57047876e-01, -5.01533268e-02, 0.00000000e+00, -3.19350558e-01, 0.00000000e+00, 0.00000000e+00, 1.56713919e-03, -9.86273025e+04, 9.72000974e+04, 0.00000000e+00, -1.82087129e+00, 7.67055207e-01, 6.63554070e-01, 3.70347625e+00, 0.00000000e+00, -5.9688292986, -0.0501533268, 0.1570478759, 0.0000000000, -0.3193505577, 0.1570478759, -0.0501533268, 0.0000000000, 0.0000000000, 0.0000000000, -0.0268817794, 0.0015671392, 5.0000000000, 3.0000000000, 0.0173700088 + 6, -4.70475754e-02, 1.50520763e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.51284285e-02, 1.50520763e-01, -4.70475754e-02, 0.00000000e+00, -3.12565354e-01, 0.00000000e+00, 0.00000000e+00, 1.56713919e-03, -9.12621761e+04, 8.85924778e+04, 0.00000000e+00, -1.87394492e+00, 6.80307792e-01, 6.76832986e-01, 3.65206309e+00, 0.00000000e+00, -5.9375144075, -0.0470475754, 0.1505207626, 0.0000000000, -0.3125653536, 0.1505207626, -0.0470475754, 0.0000000000, 0.0000000000, 0.0000000000, -0.0251284285, 0.0015671392, 5.0000000000, 3.0000000000, 0.0209595597 + 7, -4.50744498e-02, 1.44588403e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.39963723e-02, 1.44588403e-01, -4.50744498e-02, 0.00000000e+00, -3.11743189e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -8.61797853e+04, 8.29968964e+04, 0.00000000e+00, -1.89718347e+00, 6.14891765e-01, 6.63180515e-01, 3.62905168e+00, 0.00000000e+00, -5.9228100230, -0.0450744498, 0.1445884027, 0.0000000000, -0.3117431890, 0.1445884027, -0.0450744498, 0.0000000000, 0.0000000000, 0.0000000000, -0.0239963723, 0.0015330267, 5.0000000000, 3.0000000000, 0.0246205499 + 8, -4.40779030e-02, 1.40710062e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.33987454e-02, 1.40710062e-01, -4.40779030e-02, 0.00000000e+00, -3.13253384e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -8.25029893e+04, 7.92544821e+04, 0.00000000e+00, -1.90863674e+00, 5.78817341e-01, 6.36293731e-01, 3.61561167e+00, 0.00000000e+00, -5.9330654010, -0.0440779030, 0.1407100619, 0.0000000000, -0.3132533839, 0.1407100619, -0.0440779030, 0.0000000000, 0.0000000000, 0.0000000000, -0.0233987454, 0.0015330267, 5.0000000000, 3.0000000000, 0.0286673639 + 9, -4.38360406e-02, 1.38791182e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.32476316e-02, 1.38791182e-01, -4.38360406e-02, 0.00000000e+00, -3.15841682e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -7.95395987e+04, 7.63585420e+04, 0.00000000e+00, -1.91693298e+00, 5.62602015e-01, 6.10142776e-01, 3.60598945e+00, 0.00000000e+00, -5.9565303785, -0.0438360406, 0.1387911824, 0.0000000000, -0.3158416824, 0.1387911824, -0.0438360406, 0.0000000000, 0.0000000000, 0.0000000000, -0.0232476316, 0.0015330267, 5.0000000000, 3.0000000000, 0.0322731575 + 10, -4.40269111e-02, 1.38145002e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.33593860e-02, 1.38145002e-01, -4.40269111e-02, 0.00000000e+00, -3.18700717e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -7.68658929e+04, 7.37843935e+04, 0.00000000e+00, -1.92400148e+00, 5.58575869e-01, 5.90471447e-01, 3.59886758e+00, 0.00000000e+00, -5.9773654518, -0.0440269111, 0.1381450017, 0.0000000000, -0.3187007172, 0.1381450017, -0.0440269111, 0.0000000000, 0.0000000000, 0.0000000000, -0.0233593860, 0.0015330267, 5.0000000000, 3.0000000000, 0.0358575110 + 11, -4.43748682e-02, 1.38030520e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.35703316e-02, 1.38030520e-01, -4.43748682e-02, 0.00000000e+00, -3.21485917e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -7.42928655e+04, 7.13204954e+04, 0.00000000e+00, -1.93169868e+00, 5.57864135e-01, 5.76681103e-01, 3.59098342e+00, 0.00000000e+00, -5.9895097003, -0.0443748682, 0.1380305200, 0.0000000000, -0.3214859166, 0.1380305200, -0.0443748682, 0.0000000000, 0.0000000000, 0.0000000000, -0.0235703316, 0.0015330267, 5.0000000000, 3.0000000000, 0.0394382544 + 12, -4.46880220e-02, 1.37927386e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.37641023e-02, 1.37927386e-01, -4.46880220e-02, 0.00000000e+00, -3.23996729e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -7.17666580e+04, 6.89016553e+04, 0.00000000e+00, -1.93824032e+00, 5.53995964e-01, 5.66811288e-01, 3.58433721e+00, 0.00000000e+00, -5.9940892457, -0.0446880220, 0.1379273861, 0.0000000000, -0.3239967292, 0.1379273861, -0.0446880220, 0.0000000000, 0.0000000000, 0.0000000000, -0.0237641023, 0.0015330267, 5.0000000000, 3.0000000000, 0.0430579760 + 13, -4.48849665e-02, 1.37605365e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38888359e-02, 1.37605365e-01, -4.48849665e-02, 0.00000000e+00, -3.26186168e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -6.92952929e+04, 6.65325762e+04, 0.00000000e+00, -1.94312234e+00, 5.46519104e-01, 5.59846225e-01, 3.57975826e+00, 0.00000000e+00, -5.9955287680, -0.0448849665, 0.1376053646, 0.0000000000, -0.3261861677, 0.1376053646, -0.0448849665, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238888359, 0.0015330267, 5.0000000000, 3.0000000000, 0.0466664215 + 14, -4.49640099e-02, 1.37055041e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.39411478e-02, 1.37055041e-01, -4.49640099e-02, 0.00000000e+00, -3.28072646e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -6.69157689e+04, 6.42483356e+04, 0.00000000e+00, -1.94740350e+00, 5.35804991e-01, 5.55457920e-01, 3.57547816e+00, 0.00000000e+00, -5.9946423405, -0.0449640099, 0.1370550409, 0.0000000000, -0.3280726460, 0.1370550409, -0.0449640099, 0.0000000000, 0.0000000000, 0.0000000000, -0.0239411478, 0.0015330267, 5.0000000000, 3.0000000000, 0.0502643531 + 15, -4.49635608e-02, 1.36365575e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.39427029e-02, 1.36365575e-01, -4.49635608e-02, 0.00000000e+00, -3.29728091e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -6.46635691e+04, 6.20848204e+04, 0.00000000e+00, -1.95015356e+00, 5.23287854e-01, 5.53462848e-01, 3.57251699e+00, 0.00000000e+00, -5.9932861373, -0.0449635608, 0.1363655753, 0.0000000000, -0.3297280911, 0.1363655753, -0.0449635608, 0.0000000000, 0.0000000000, 0.0000000000, -0.0239427029, 0.0015330267, 5.0000000000, 3.0000000000, 0.0538658092 + 16, -4.49286567e-02, 1.35629120e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.39206432e-02, 1.35629120e-01, -4.49286567e-02, 0.00000000e+00, -3.31261138e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -6.25573045e+04, 6.00621629e+04, 0.00000000e+00, -1.95098836e+00, 5.11046197e-01, 5.53501427e-01, 3.57131925e+00, 0.00000000e+00, -5.9927203440, -0.0449286567, 0.1356291203, 0.0000000000, -0.3312611378, 0.1356291203, -0.0449286567, 0.0000000000, 0.0000000000, 0.0000000000, -0.0239206432, 0.0015330267, 5.0000000000, 3.0000000000, 0.0574982888 + 17, -4.48919968e-02, 1.34897837e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38956123e-02, 1.34897837e-01, -4.48919968e-02, 0.00000000e+00, -3.32785149e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -6.05975565e+04, 5.81818327e+04, 0.00000000e+00, -1.94999247e+00, 5.00528238e-01, 5.55325569e-01, 3.57166776e+00, 0.00000000e+00, -5.9915281791, -0.0448919968, 0.1348978368, 0.0000000000, -0.3327851492, 0.1348978368, -0.0448919968, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238956123, 0.0015330267, 5.0000000000, 3.0000000000, 0.0615422680 + 18, -4.48690810e-02, 1.34181489e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38781386e-02, 1.34181489e-01, -4.48690810e-02, 0.00000000e+00, -3.34390989e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -5.87724987e+04, 5.64320351e+04, 0.00000000e+00, -1.94706281e+00, 4.92947471e-01, 5.58596765e-01, 3.57381083e+00, 0.00000000e+00, -5.9890540768, -0.0448690810, 0.1341814894, 0.0000000000, -0.3343909894, 0.1341814894, -0.0448690810, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238781386, 0.0015330267, 5.0000000000, 3.0000000000, 0.0652064242 + 19, -4.48616863e-02, 1.33464937e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38702392e-02, 1.33464937e-01, -4.48616863e-02, 0.00000000e+00, -3.36130876e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -5.70652340e+04, 5.47954139e+04, 0.00000000e+00, -1.94280296e+00, 4.87419008e-01, 5.62982778e-01, 3.57705972e+00, 0.00000000e+00, -5.9852836619, -0.0448616863, 0.1334649372, 0.0000000000, -0.3361308761, 0.1334649372, -0.0448616863, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238702392, 0.0015330267, 5.0000000000, 3.0000000000, 0.0688011637 + 20, -4.48641546e-02, 1.32727025e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38689480e-02, 1.32727025e-01, -4.48641546e-02, 0.00000000e+00, -3.38018233e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -5.54594505e+04, 5.32551529e+04, 0.00000000e+00, -1.93740880e+00, 4.83991687e-01, 5.68398993e-01, 3.58120696e+00, 0.00000000e+00, -5.9800176598, -0.0448641546, 0.1327270254, 0.0000000000, -0.3380182326, 0.1327270254, -0.0448641546, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238689480, 0.0015330267, 5.0000000000, 3.0000000000, 0.0724085988 + 21, -4.48693387e-02, 1.31952054e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38700224e-02, 1.31952054e-01, -4.48693387e-02, 0.00000000e+00, -3.40042746e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -5.39422732e+04, 5.17981858e+04, 0.00000000e+00, -1.93089966e+00, 4.82830531e-01, 5.74694869e-01, 3.58647330e+00, 0.00000000e+00, -5.9741080580, -0.0448693387, 0.1319520540, 0.0000000000, -0.3400427456, 0.1319520540, -0.0448693387, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238700224, 0.0015330267, 5.0000000000, 3.0000000000, 0.0760117013 + 22, -4.48719291e-02, 1.31132811e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38701006e-02, 1.31132811e-01, -4.48719291e-02, 0.00000000e+00, -3.42186892e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -5.25046321e+04, 5.04156289e+04, 0.00000000e+00, -1.92399132e+00, 4.82348335e-01, 5.81364994e-01, 3.59191197e+00, 0.00000000e+00, -5.9678090099, -0.0448719291, 0.1311328110, 0.0000000000, -0.3421868925, 0.1311328110, -0.0448719291, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238701006, 0.0015330267, 5.0000000000, 3.0000000000, 0.0796344791 + 23, -4.48694603e-02, 1.30268433e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38674899e-02, 1.30268433e-01, -4.48694603e-02, 0.00000000e+00, -3.44438475e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -5.11403763e+04, 4.91017590e+04, 0.00000000e+00, -1.91649632e+00, 4.82869994e-01, 5.88476050e-01, 3.59785384e+00, 0.00000000e+00, -5.9611670958, -0.0448694603, 0.1302684329, 0.0000000000, -0.3444384748, 0.1302684329, -0.0448694603, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238674899, 0.0015330267, 5.0000000000, 3.0000000000, 0.0832351867 + 24, -4.48617467e-02, 1.29360821e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38619395e-02, 1.29360821e-01, -4.48617467e-02, 0.00000000e+00, -3.46795469e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -4.98449597e+04, 4.78525593e+04, 0.00000000e+00, -1.90865586e+00, 4.84406576e-01, 5.95697423e-01, 3.60410116e+00, 0.00000000e+00, -5.9547835258, -0.0448617467, 0.1293608212, 0.0000000000, -0.3467954694, 0.1293608212, -0.0448617467, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238619395, 0.0015330267, 5.0000000000, 3.0000000000, 0.0868896059 + 25, -4.48497631e-02, 1.28412163e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38539968e-02, 1.28412163e-01, -4.48497631e-02, 0.00000000e+00, -3.49264135e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -4.86144341e+04, 4.66645785e+04, 0.00000000e+00, -1.90079337e+00, 4.85884925e-01, 6.02847616e-01, 3.61030222e+00, 0.00000000e+00, -5.9482776521, -0.0448497631, 0.1284121630, 0.0000000000, -0.3492641351, 0.1284121630, -0.0448497631, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238539968, 0.0015330267, 5.0000000000, 3.0000000000, 0.0904878667 diff --git a/TestCases/harmonic_balance/hb_rans_preconditioning/history_5 b/TestCases/harmonic_balance/hb_rans_preconditioning/history_5 new file mode 100644 index 000000000000..4d93a63abc1a --- /dev/null +++ b/TestCases/harmonic_balance/hb_rans_preconditioning/history_5 @@ -0,0 +1,27 @@ +"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","HeatFlux_Total","HeatFlux_Maximum","Temperature_Total","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","Res_Turb[0]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" + 0, -6.94252758e-02, 8.09541704e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.58960808e-02, 8.09541704e-02, -6.94252758e-02, 0.00000000e+00, -8.57587392e-01, 0.00000000e+00, 0.00000000e+00, 1.50262238e-03, -1.74695899e+05, 1.67410460e+05, 0.00000000e+00, -1.47218537e+00, -1.61435859e+00, -1.13845245e+01, 4.04128751e+00, 0.00000000e+00, -5.7567820212, -0.0694252758, 0.0809541704, 0.0000000000, -0.8575873922, 0.0809541704, -0.0694252758, 0.0000000000, 0.0000000000, 0.0000000000, -0.0358960808, 0.0015026224, 4.0000000000, 3.0000000000, 0.0084087971 + 1, -9.73726642e-02, 1.17272917e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.92096157e-02, 1.17272917e-01, -9.73726642e-02, 0.00000000e+00, -8.30308198e-01, 0.00000000e+00, 0.00000000e+00, 1.50262238e-03, -1.57837947e+05, 1.52573480e+05, 0.00000000e+00, -1.70207076e+00, 9.16396662e-01, 9.74458648e-01, 3.81242315e+00, 0.00000000e+00, -5.8947551484, -0.0973726642, 0.1172729168, 0.0000000000, -0.8303081980, 0.1172729168, -0.0973726642, 0.0000000000, 0.0000000000, 0.0000000000, -0.0492096157, 0.0015026224, 5.0000000000, 3.0000000000, 0.0035830720 + 2, -1.08164637e-01, 1.42717262e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -5.38578942e-02, 1.42717262e-01, -1.08164637e-01, 0.00000000e+00, -7.57894566e-01, 0.00000000e+00, 0.00000000e+00, 1.50262238e-03, -1.39652359e+05, 1.37001878e+05, 0.00000000e+00, -1.71499618e+00, 9.27320486e-01, 8.69556040e-01, 3.80529031e+00, 0.00000000e+00, -5.9804994875, -0.1081646372, 0.1427172619, 0.0000000000, -0.7578945656, 0.1427172619, -0.1081646372, 0.0000000000, 0.0000000000, 0.0000000000, -0.0538578942, 0.0015026224, 4.0000000000, 3.0000000000, 0.0072991122 + 3, -1.07744093e-01, 1.57884975e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -5.31254320e-02, 1.57884975e-01, -1.07744093e-01, 0.00000000e+00, -6.82421445e-01, 0.00000000e+00, 0.00000000e+00, 1.50262238e-03, -1.22873042e+05, 1.22188066e+05, 0.00000000e+00, -1.70893466e+00, 9.07358516e-01, 7.22279916e-01, 3.81390381e+00, 0.00000000e+00, -6.0012151010, -0.1077440929, 0.1578849752, 0.0000000000, -0.6824214446, 0.1578849752, -0.1077440929, 0.0000000000, 0.0000000000, 0.0000000000, -0.0531254320, 0.0015026224, 4.0000000000, 3.0000000000, 0.0105955804 + 4, -1.01833356e-01, 1.62057298e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.99060592e-02, 1.62057298e-01, -1.01833356e-01, 0.00000000e+00, -6.28378709e-01, 0.00000000e+00, 0.00000000e+00, 1.50262238e-03, -1.09038596e+05, 1.08746003e+05, 0.00000000e+00, -1.74959378e+00, 8.50450229e-01, 6.49576803e-01, 3.77399805e+00, 0.00000000e+00, -5.9820280688, -0.1018333556, 0.1620572978, 0.0000000000, -0.6283787090, 0.1620572978, -0.1018333556, 0.0000000000, 0.0000000000, 0.0000000000, -0.0499060592, 0.0015026224, 5.0000000000, 3.0000000000, 0.0138985556 + 5, -9.47384278e-02, 1.58317589e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.62261852e-02, 1.58317589e-01, -9.47384278e-02, 0.00000000e+00, -5.98407471e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -9.86113577e+04, 9.72023635e+04, 0.00000000e+00, -1.81766493e+00, 7.68483310e-01, 6.67430367e-01, 3.70668226e+00, 0.00000000e+00, -5.9653278927, -0.0947384278, 0.1583175886, 0.0000000000, -0.5984074712, 0.1583175886, -0.0947384278, 0.0000000000, 0.0000000000, 0.0000000000, -0.0462261852, 0.0013833441, 5.0000000000, 3.0000000000, 0.0173700088 + 6, -8.88663805e-02, 1.51705485e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.31889097e-02, 1.51705485e-01, -8.88663805e-02, 0.00000000e+00, -5.85782250e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -9.12516269e+04, 8.85877569e+04, 0.00000000e+00, -1.87021358e+00, 6.82142004e-01, 6.80267504e-01, 3.65570481e+00, 0.00000000e+00, -5.9347499782, -0.0888663805, 0.1517054853, 0.0000000000, -0.5857822498, 0.1517054853, -0.0888663805, 0.0000000000, 0.0000000000, 0.0000000000, -0.0431889097, 0.0013833441, 5.0000000000, 3.0000000000, 0.0209595597 + 7, -8.50404986e-02, 1.45713454e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.11725532e-02, 1.45713454e-01, -8.50404986e-02, 0.00000000e+00, -5.83614595e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -8.61737057e+04, 8.29905648e+04, 0.00000000e+00, -1.89336267e+00, 6.17177313e-01, 6.66614823e-01, 3.63274836e+00, 0.00000000e+00, -5.9210043319, -0.0850404986, 0.1457134542, 0.0000000000, -0.5836145950, 0.1457134542, -0.0850404986, 0.0000000000, 0.0000000000, 0.0000000000, -0.0411725532, 0.0013833441, 5.0000000000, 3.0000000000, 0.0246205499 + 8, -8.30021830e-02, 1.41800289e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.00311195e-02, 1.41800289e-01, -8.30021830e-02, 0.00000000e+00, -5.85345655e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -8.24995299e+04, 7.92497267e+04, 0.00000000e+00, -1.90488033e+00, 5.81427583e-01, 6.39917370e-01, 3.61926600e+00, 0.00000000e+00, -5.9309053739, -0.0830021830, 0.1418002890, 0.0000000000, -0.5853456551, 0.1418002890, -0.0830021830, 0.0000000000, 0.0000000000, 0.0000000000, -0.0400311195, 0.0013833441, 5.0000000000, 3.0000000000, 0.0286673639 + 9, -8.23727775e-02, 1.39868763e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.96510556e-02, 1.39868763e-01, -8.23727775e-02, 0.00000000e+00, -5.88929051e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -7.95373753e+04, 7.63549466e+04, 0.00000000e+00, -1.91326674e+00, 5.65314693e-01, 6.13963037e-01, 3.60956968e+00, 0.00000000e+00, -5.9541600226, -0.0823727775, 0.1398687625, 0.0000000000, -0.5889290506, 0.1398687625, -0.0823727775, 0.0000000000, 0.0000000000, 0.0000000000, -0.0396510556, 0.0013833441, 5.0000000000, 3.0000000000, 0.0322731575 + 10, -8.25897516e-02, 1.39223915e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.97454510e-02, 1.39223915e-01, -8.25897516e-02, 0.00000000e+00, -5.93215265e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -7.68642711e+04, 7.37811886e+04, 0.00000000e+00, -1.92040941e+00, 5.61207362e-01, 5.94403971e-01, 3.60237066e+00, 0.00000000e+00, -5.9748280661, -0.0825897516, 0.1392239148, 0.0000000000, -0.5932152654, 0.1392239148, -0.0825897516, 0.0000000000, 0.0000000000, 0.0000000000, -0.0397454510, 0.0013833441, 5.0000000000, 3.0000000000, 0.0358575110 + 11, -8.31514338e-02, 1.39116821e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.00448237e-02, 1.39116821e-01, -8.31514338e-02, 0.00000000e+00, -5.97709414e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -7.42910430e+04, 7.13169272e+04, 0.00000000e+00, -1.92813918e+00, 5.60479751e-01, 5.80646589e-01, 3.59445401e+00, 0.00000000e+00, -5.9868963069, -0.0831514338, 0.1391168214, 0.0000000000, -0.5977094141, 0.1391168214, -0.0831514338, 0.0000000000, 0.0000000000, 0.0000000000, -0.0400448237, 0.0013833441, 5.0000000000, 3.0000000000, 0.0394382544 + 12, -8.36961802e-02, 1.39021542e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.03481714e-02, 1.39021542e-01, -8.36961802e-02, 0.00000000e+00, -6.02037491e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -7.17643229e+04, 6.88975279e+04, 0.00000000e+00, -1.93470475e+00, 5.56618836e-01, 5.70780561e-01, 3.58778582e+00, 0.00000000e+00, -5.9914912681, -0.0836961802, 0.1390215417, 0.0000000000, -0.6020374910, 0.1390215417, -0.0836961802, 0.0000000000, 0.0000000000, 0.0000000000, -0.0403481714, 0.0013833441, 5.0000000000, 3.0000000000, 0.0430579760 + 13, -8.40570946e-02, 1.38705030e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05572489e-02, 1.38705030e-01, -8.40570946e-02, 0.00000000e+00, -6.06013310e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -6.92925028e+04, 6.65279982e+04, 0.00000000e+00, -1.93960957e+00, 5.49177823e-01, 5.63811151e-01, 3.58318098e+00, 0.00000000e+00, -5.9929544149, -0.0840570946, 0.1387050304, 0.0000000000, -0.6060133103, 0.1387050304, -0.0840570946, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405572489, 0.0013833441, 5.0000000000, 3.0000000000, 0.0466664215 + 14, -8.42151364e-02, 1.38157317e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.06554101e-02, 1.38157317e-01, -8.42151364e-02, 0.00000000e+00, -6.09559728e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -6.69126868e+04, 6.42434524e+04, 0.00000000e+00, -1.94389706e+00, 5.38541264e-01, 5.59412585e-01, 3.57889437e+00, 0.00000000e+00, -5.9921187552, -0.0842151364, 0.1381573168, 0.0000000000, -0.6095597277, 0.1381573168, -0.0842151364, 0.0000000000, 0.0000000000, 0.0000000000, -0.0406554101, 0.0013833441, 5.0000000000, 3.0000000000, 0.0502643531 + 15, -8.42294814e-02, 1.37468313e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.06708152e-02, 1.37468313e-01, -8.42294814e-02, 0.00000000e+00, -6.12719248e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -6.46604006e+04, 6.20798517e+04, 0.00000000e+00, -1.94664530e+00, 5.26142660e-01, 5.57403168e-01, 3.57593846e+00, 0.00000000e+00, -5.9908209299, -0.0842294814, 0.1374683131, 0.0000000000, -0.6127192476, 0.1374683131, -0.0842294814, 0.0000000000, 0.0000000000, 0.0000000000, -0.0406708152, 0.0013833441, 5.0000000000, 3.0000000000, 0.0538658092 + 16, -8.41768430e-02, 1.36731263e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.06442873e-02, 1.36731263e-01, -8.41768430e-02, 0.00000000e+00, -6.15637135e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -6.25541896e+04, 6.00572457e+04, 0.00000000e+00, -1.94748445e+00, 5.14061263e-01, 5.57425786e-01, 3.57475372e+00, 0.00000000e+00, -5.9902565341, -0.0841768430, 0.1367312629, 0.0000000000, -0.6156371351, 0.1367312629, -0.0841768430, 0.0000000000, 0.0000000000, 0.0000000000, -0.0406442873, 0.0013833441, 5.0000000000, 3.0000000000, 0.0574982888 + 17, -8.41154239e-02, 1.35999144e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.06087343e-02, 1.35999144e-01, -8.41154239e-02, 0.00000000e+00, -6.18499657e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -6.05945642e+04, 5.81770440e+04, 0.00000000e+00, -1.94651844e+00, 5.03679985e-01, 5.59222842e-01, 3.57506945e+00, 0.00000000e+00, -5.9890581220, -0.0841154239, 0.1359991439, 0.0000000000, -0.6184996573, 0.1359991439, -0.0841154239, 0.0000000000, 0.0000000000, 0.0000000000, -0.0406087343, 0.0013833441, 5.0000000000, 3.0000000000, 0.0615422680 + 18, -8.40744179e-02, 1.35282180e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05821241e-02, 1.35282180e-01, -8.40744179e-02, 0.00000000e+00, -6.21474448e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -5.87696390e+04, 5.64273880e+04, 0.00000000e+00, -1.94360063e+00, 4.96196729e-01, 5.62477603e-01, 3.57720441e+00, 0.00000000e+00, -5.9865791222, -0.0840744179, 0.1352821796, 0.0000000000, -0.6214744476, 0.1352821796, -0.0840744179, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405821241, 0.0013833441, 5.0000000000, 3.0000000000, 0.0652064242 + 19, -8.40587662e-02, 1.34565343e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05690390e-02, 1.34565343e-01, -8.40587662e-02, 0.00000000e+00, -6.24668764e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -5.70624907e+04, 5.47909065e+04, 0.00000000e+00, -1.93934035e+00, 4.90839196e-01, 5.66866245e-01, 3.58046231e+00, 0.00000000e+00, -5.9827946986, -0.0840587662, 0.1345653427, 0.0000000000, -0.6246687638, 0.1345653427, -0.0840587662, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405690390, 0.0013833441, 5.0000000000, 3.0000000000, 0.0688011637 + 20, -8.40599279e-02, 1.33827387e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05659465e-02, 1.33827387e-01, -8.40599279e-02, 0.00000000e+00, -6.28122012e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -5.54568031e+04, 5.32507891e+04, 0.00000000e+00, -1.93393903e+00, 4.87576870e-01, 5.72291216e-01, 3.58464479e+00, 0.00000000e+00, -5.9775210613, -0.0840599279, 0.1338273875, 0.0000000000, -0.6281220119, 0.1338273875, -0.0840599279, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405659465, 0.0013833441, 5.0000000000, 3.0000000000, 0.0724085988 + 21, -8.40661040e-02, 1.33052459e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05667834e-02, 1.33052459e-01, -8.40661040e-02, 0.00000000e+00, -6.31826761e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -5.39397037e+04, 5.17939558e+04, 0.00000000e+00, -1.92741841e+00, 4.86542772e-01, 5.78606265e-01, 3.58993541e+00, 0.00000000e+00, -5.9715787509, -0.0840661040, 0.1330524586, 0.0000000000, -0.6318267612, 0.1330524586, -0.0840661040, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405667834, 0.0013833441, 5.0000000000, 3.0000000000, 0.0760117013 + 22, -8.40682731e-02, 1.32233229e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05664895e-02, 1.32233229e-01, -8.40682731e-02, 0.00000000e+00, -6.35757545e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -5.25021322e+04, 5.04115308e+04, 0.00000000e+00, -1.92047731e+00, 4.86232423e-01, 5.85306353e-01, 3.59542749e+00, 0.00000000e+00, -5.9652281388, -0.0840682731, 0.1322332291, 0.0000000000, -0.6357575450, 0.1322332291, -0.0840682731, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405664895, 0.0013833441, 5.0000000000, 3.0000000000, 0.0796344791 + 23, -8.40621405e-02, 1.31368783e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05623874e-02, 1.31368783e-01, -8.40621405e-02, 0.00000000e+00, -6.39894337e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -5.11379454e+04, 4.90977968e+04, 0.00000000e+00, -1.91295119e+00, 4.86910939e-01, 5.92456193e-01, 3.60142262e+00, 0.00000000e+00, -5.9585459350, -0.0840621405, 0.1313687833, 0.0000000000, -0.6398943374, 0.1313687833, -0.0840621405, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405623874, 0.0013833441, 5.0000000000, 3.0000000000, 0.0832351867 + 24, -8.40472979e-02, 1.30460988e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05539645e-02, 1.30460988e-01, -8.40472979e-02, 0.00000000e+00, -6.44233183e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -4.98426004e+04, 4.78487440e+04, 0.00000000e+00, -1.90507685e+00, 4.88602738e-01, 5.99724855e-01, 3.60772843e+00, 0.00000000e+00, -5.9521257724, -0.0840472979, 0.1304609884, 0.0000000000, -0.6442331834, 0.1304609884, -0.0840472979, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405539645, 0.0013833441, 5.0000000000, 3.0000000000, 0.0868896059 + 25, -8.40253556e-02, 1.29512043e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05419783e-02, 1.29512043e-01, -8.40253556e-02, 0.00000000e+00, -6.48784108e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -4.86121489e+04, 4.66609107e+04, 0.00000000e+00, -1.89717676e+00, 4.90261006e-01, 6.06930020e-01, 3.61399133e+00, 0.00000000e+00, -5.9455754147, -0.0840253556, 0.1295120434, 0.0000000000, -0.6487841085, 0.1295120434, -0.0840253556, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405419783, 0.0013833441, 5.0000000000, 3.0000000000, 0.0904878667 diff --git a/TestCases/harmonic_balance/hb_rans_preconditioning/history_6 b/TestCases/harmonic_balance/hb_rans_preconditioning/history_6 new file mode 100644 index 000000000000..d88b66fc1086 --- /dev/null +++ b/TestCases/harmonic_balance/hb_rans_preconditioning/history_6 @@ -0,0 +1,27 @@ +"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","HeatFlux_Total","HeatFlux_Maximum","Temperature_Total","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","Res_Turb[0]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" + 0, -4.84604781e-02, 8.04460151e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.34800711e-02, 8.04460151e-02, -4.84604781e-02, 0.00000000e+00, -6.02397497e-01, 0.00000000e+00, 0.00000000e+00, 1.52880706e-03, -1.74688080e+05, 1.67403473e+05, 0.00000000e+00, -1.47594728e+00, -1.10227050e+00, -1.13876222e+01, 4.03751895e+00, 0.00000000e+00, -5.7582287515, -0.0484604781, 0.0804460151, 0.0000000000, -0.6023974968, 0.0804460151, -0.0484604781, 0.0000000000, 0.0000000000, 0.0000000000, -0.0234800711, 0.0015288071, 4.0000000000, 3.0000000000, 0.0084087971 + 1, -6.84340068e-02, 1.16543178e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.22444267e-02, 1.16543178e-01, -6.84340068e-02, 0.00000000e+00, -5.87198738e-01, 0.00000000e+00, 0.00000000e+00, 1.52880706e-03, -1.57841044e+05, 1.52565902e+05, 0.00000000e+00, -1.70584615e+00, 9.14299666e-01, 9.73766508e-01, 3.80876786e+00, 0.00000000e+00, -5.8991027325, -0.0684340068, 0.1165431775, 0.0000000000, -0.5871987384, 0.1165431775, -0.0684340068, 0.0000000000, 0.0000000000, 0.0000000000, -0.0322444267, 0.0015288071, 5.0000000000, 3.0000000000, 0.0035830720 + 2, -7.62943295e-02, 1.41893130e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.53026907e-02, 1.41893130e-01, -7.62943295e-02, 0.00000000e+00, -5.37688678e-01, 0.00000000e+00, 0.00000000e+00, 1.52880706e-03, -1.39663766e+05, 1.36992858e+05, 0.00000000e+00, -1.71731513e+00, 9.26142928e-01, 8.67963556e-01, 3.80312725e+00, 0.00000000e+00, -5.9836277522, -0.0762943295, 0.1418931301, 0.0000000000, -0.5376886777, 0.1418931301, -0.0762943295, 0.0000000000, 0.0000000000, 0.0000000000, -0.0353026907, 0.0015288071, 4.0000000000, 3.0000000000, 0.0072991122 + 3, -7.61743162e-02, 1.57055112e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.48391137e-02, 1.57055112e-01, -7.61743162e-02, 0.00000000e+00, -4.85016471e-01, 0.00000000e+00, 0.00000000e+00, 1.52880706e-03, -1.22887876e+05, 1.22181765e+05, 0.00000000e+00, -1.71059762e+00, 9.06465488e-01, 7.19524034e-01, 3.81231881e+00, 0.00000000e+00, -6.0043357424, -0.0761743162, 0.1570551120, 0.0000000000, -0.4850164711, 0.1570551120, -0.0761743162, 0.0000000000, 0.0000000000, 0.0000000000, -0.0348391137, 0.0015288071, 4.0000000000, 3.0000000000, 0.0105955804 + 4, -7.20836106e-02, 1.61269220e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.27407371e-02, 1.61269220e-01, -7.20836106e-02, 0.00000000e+00, -4.46976866e-01, 0.00000000e+00, 0.00000000e+00, 1.52880706e-03, -1.09052806e+05, 1.08743577e+05, 0.00000000e+00, -1.75140143e+00, 8.49529135e-01, 6.46514853e-01, 3.77224326e+00, 0.00000000e+00, -5.9849115318, -0.0720836106, 0.1612692200, 0.0000000000, -0.4469768664, 0.1612692200, -0.0720836106, 0.0000000000, 0.0000000000, 0.0000000000, -0.0327407371, 0.0015288071, 5.0000000000, 3.0000000000, 0.0138985556 + 5, -6.70861657e-02, 1.57585030e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.03268558e-02, 1.57585030e-01, -6.70861657e-02, 0.00000000e+00, -4.25714078e-01, 0.00000000e+00, 0.00000000e+00, 1.52880706e-03, -9.86228015e+04, 9.72058822e+04, 0.00000000e+00, -1.81992528e+00, 7.67368522e-01, 6.64970698e-01, 3.70451766e+00, 0.00000000e+00, -5.9677898890, -0.0670861657, 0.1575850300, 0.0000000000, -0.4257140775, 0.1575850300, -0.0670861657, 0.0000000000, 0.0000000000, 0.0000000000, -0.0303268558, 0.0015288071, 5.0000000000, 3.0000000000, 0.0173700088 + 6, -6.29154365e-02, 1.51021082e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.83133496e-02, 1.51021082e-01, -6.29154365e-02, 0.00000000e+00, -4.16600357e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -9.12596517e+04, 8.85942319e+04, 0.00000000e+00, -1.87280780e+00, 6.80696109e-01, 6.78106916e-01, 3.65327436e+00, 0.00000000e+00, -5.9366769878, -0.0629154365, 0.1510210817, 0.0000000000, -0.4166003565, 0.1510210817, -0.0629154365, 0.0000000000, 0.0000000000, 0.0000000000, -0.0283133496, 0.0014442848, 5.0000000000, 3.0000000000, 0.0209595597 + 7, -6.01699612e-02, 1.45061531e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.69483099e-02, 1.45061531e-01, -6.01699612e-02, 0.00000000e+00, -4.14789233e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -8.61786629e+04, 8.29961192e+04, 0.00000000e+00, -1.89597972e+00, 6.15381869e-01, 6.64470059e-01, 3.63031165e+00, 0.00000000e+00, -5.9222425189, -0.0601699612, 0.1450615311, 0.0000000000, -0.4147892331, 0.1450615311, -0.0601699612, 0.0000000000, 0.0000000000, 0.0000000000, -0.0269483099, 0.0014442848, 5.0000000000, 3.0000000000, 0.0246205499 + 8, -5.86727622e-02, 1.41166287e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.61368925e-02, 1.41166287e-01, -5.86727622e-02, 0.00000000e+00, -4.15628712e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -8.25025645e+04, 7.92531734e+04, 0.00000000e+00, -1.90742326e+00, 5.79404843e-01, 6.37673115e-01, 3.61687788e+00, 0.00000000e+00, -5.9323881118, -0.0586727622, 0.1411662874, 0.0000000000, -0.4156287118, 0.1411662874, -0.0586727622, 0.0000000000, 0.0000000000, 0.0000000000, -0.0261368925, 0.0014442848, 5.0000000000, 3.0000000000, 0.0286673639 + 9, -5.81655814e-02, 1.39240237e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.58244252e-02, 1.39240237e-01, -5.81655814e-02, 0.00000000e+00, -4.17735439e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -7.95394054e+04, 7.63571628e+04, 0.00000000e+00, -1.91572641e+00, 5.63232373e-01, 6.11618787e-01, 3.60724536e+00, 0.00000000e+00, -5.9557556316, -0.0581655814, 0.1392402366, 0.0000000000, -0.4177354390, 0.1392402366, -0.0581655814, 0.0000000000, 0.0000000000, 0.0000000000, -0.0258244252, 0.0014442848, 5.0000000000, 3.0000000000, 0.0322731575 + 10, -5.82653797e-02, 1.38593445e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.58365321e-02, 1.38593445e-01, -5.82653797e-02, 0.00000000e+00, -4.20405019e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -7.68657135e+04, 7.37828934e+04, 0.00000000e+00, -1.92280103e+00, 5.59191541e-01, 5.92013172e-01, 3.60010964e+00, 0.00000000e+00, -5.9765127240, -0.0582653797, 0.1385934446, 0.0000000000, -0.4204050187, 0.1385934446, -0.0582653797, 0.0000000000, 0.0000000000, 0.0000000000, -0.0258365321, 0.0014442848, 5.0000000000, 3.0000000000, 0.0358575110 + 11, -5.86259765e-02, 1.38481445e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.60023865e-02, 1.38481445e-01, -5.86259765e-02, 0.00000000e+00, -4.23348965e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -7.42924057e+04, 7.13186920e+04, 0.00000000e+00, -1.93049314e+00, 5.58496729e-01, 5.78253913e-01, 3.59222542e+00, 0.00000000e+00, -5.9886210501, -0.0586259765, 0.1384814452, 0.0000000000, -0.4233489649, 0.1384814452, -0.0586259765, 0.0000000000, 0.0000000000, 0.0000000000, -0.0260023865, 0.0014442848, 5.0000000000, 3.0000000000, 0.0394382544 + 12, -5.89927919e-02, 1.38381429e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.61889142e-02, 1.38381429e-01, -5.89927919e-02, 0.00000000e+00, -4.26305700e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -7.17658164e+04, 6.88994845e+04, 0.00000000e+00, -1.93702754e+00, 5.54649768e-01, 5.68399298e-01, 3.58558332e+00, 0.00000000e+00, -5.9931969800, -0.0589927919, 0.1383814288, 0.0000000000, -0.4263057001, 0.1383814288, -0.0589927919, 0.0000000000, 0.0000000000, 0.0000000000, -0.0261889142, 0.0014442848, 5.0000000000, 3.0000000000, 0.0430579760 + 13, -5.92441178e-02, 1.38061798e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63265144e-02, 1.38061798e-01, -5.92441178e-02, 0.00000000e+00, -4.29113041e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -6.92941256e+04, 6.65300926e+04, 0.00000000e+00, -1.94190416e+00, 5.47192267e-01, 5.61442247e-01, 3.58100611e+00, 0.00000000e+00, -5.9946341421, -0.0592441178, 0.1380617976, 0.0000000000, -0.4291130412, 0.1380617976, -0.0592441178, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263265144, 0.0014442848, 5.0000000000, 3.0000000000, 0.0466664215 + 14, -5.93609152e-02, 1.37512739e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63982194e-02, 1.37512739e-01, -5.93609152e-02, 0.00000000e+00, -4.31675754e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -6.69143622e+04, 6.42455852e+04, 0.00000000e+00, -1.94617817e+00, 5.36504577e-01, 5.57056393e-01, 3.57673116e+00, 0.00000000e+00, -5.9937666494, -0.0593609152, 0.1375127388, 0.0000000000, -0.4316757539, 0.1375127388, -0.0593609152, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263982194, 0.0014442848, 5.0000000000, 3.0000000000, 0.0502643531 + 15, -5.93798966e-02, 1.36823621e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.64175412e-02, 1.36823621e-01, -5.93798966e-02, 0.00000000e+00, -4.33988634e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -6.46620427e+04, 6.20819184e+04, 0.00000000e+00, -1.94892001e+00, 5.24022050e-01, 5.55059664e-01, 3.57377858e+00, 0.00000000e+00, -5.9924338737, -0.0593798966, 0.1368236214, 0.0000000000, -0.4339886340, 0.1368236214, -0.0593798966, 0.0000000000, 0.0000000000, 0.0000000000, -0.0264175412, 0.0014442848, 5.0000000000, 3.0000000000, 0.0538658092 + 16, -5.93515786e-02, 1.36087032e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.64081967e-02, 1.36087032e-01, -5.93515786e-02, 0.00000000e+00, -4.36129569e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -6.25557404e+04, 6.00591907e+04, 0.00000000e+00, -1.94975285e+00, 5.11834518e-01, 5.55093503e-01, 3.57259352e+00, 0.00000000e+00, -5.9918665962, -0.0593515786, 0.1360870319, 0.0000000000, -0.4361295693, 0.1360870319, -0.0593515786, 0.0000000000, 0.0000000000, 0.0000000000, -0.0264081967, 0.0014442848, 5.0000000000, 3.0000000000, 0.0574982888 + 17, -5.93150194e-02, 1.35355459e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63904628e-02, 1.35355459e-01, -5.93150194e-02, 0.00000000e+00, -4.38216676e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -6.05959996e+04, 5.81788485e+04, 0.00000000e+00, -1.94877482e+00, 5.01347283e-01, 5.56902732e-01, 3.57291718e+00, 0.00000000e+00, -5.9906725587, -0.0593150194, 0.1353554590, 0.0000000000, -0.4382166764, 0.1353554590, -0.0593150194, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263904628, 0.0014442848, 5.0000000000, 3.0000000000, 0.0615422680 + 18, -5.92902084e-02, 1.34638861e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63760993e-02, 1.34638861e-01, -5.92902084e-02, 0.00000000e+00, -4.40364750e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -5.87709622e+04, 5.64290727e+04, 0.00000000e+00, -1.94584725e+00, 4.93769928e-01, 5.60165326e-01, 3.57505549e+00, 0.00000000e+00, -5.9882017528, -0.0592902084, 0.1346388611, 0.0000000000, -0.4403647498, 0.1346388611, -0.0592902084, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263760993, 0.0014442848, 5.0000000000, 3.0000000000, 0.0652064242 + 19, -5.92810001e-02, 1.33922156e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63688079e-02, 1.33922156e-01, -5.92810001e-02, 0.00000000e+00, -4.42652671e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -5.70637117e+04, 5.47924804e+04, 0.00000000e+00, -1.94158086e+00, 4.88304105e-01, 5.64555497e-01, 3.57831069e+00, 0.00000000e+00, -5.9844294683, -0.0592810001, 0.1339221560, 0.0000000000, -0.4426526710, 0.1339221560, -0.0592810001, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263688079, 0.0014442848, 5.0000000000, 3.0000000000, 0.0688011637 + 20, -5.92820919e-02, 1.33184172e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63670757e-02, 1.33184172e-01, -5.92820919e-02, 0.00000000e+00, -4.45113643e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -5.54579322e+04, 5.32522534e+04, 0.00000000e+00, -1.93617410e+00, 4.84940119e-01, 5.69980663e-01, 3.58248475e+00, 0.00000000e+00, -5.9791462536, -0.0592820919, 0.1331841719, 0.0000000000, -0.4451136427, 0.1331841719, -0.0592820919, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263670757, 0.0014442848, 5.0000000000, 3.0000000000, 0.0724085988 + 21, -5.92859357e-02, 1.32409157e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63676196e-02, 1.32409157e-01, -5.92859357e-02, 0.00000000e+00, -4.47748002e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -5.39407487e+04, 5.17953204e+04, 0.00000000e+00, -1.92964441e+00, 4.83830265e-01, 5.76294380e-01, 3.58777503e+00, 0.00000000e+00, -5.9732180834, -0.0592859357, 0.1324091575, 0.0000000000, -0.4477480019, 0.1324091575, -0.0592859357, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263676196, 0.0014442848, 5.0000000000, 3.0000000000, 0.0760117013 + 22, -5.92867075e-02, 1.31589866e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63675275e-02, 1.31589866e-01, -5.92867075e-02, 0.00000000e+00, -4.50541591e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -5.25030968e+04, 5.04128011e+04, 0.00000000e+00, -1.92270514e+00, 4.83414706e-01, 5.82986296e-01, 3.59325122e+00, 0.00000000e+00, -5.9668991180, -0.0592867075, 0.1315898657, 0.0000000000, -0.4505415914, 0.1315898657, -0.0592867075, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263675275, 0.0014442848, 5.0000000000, 3.0000000000, 0.0796344791 + 23, -5.92816279e-02, 1.30725417e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63651900e-02, 1.30725417e-01, -5.92816279e-02, 0.00000000e+00, -4.53482035e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -5.11388313e+04, 4.90989759e+04, 0.00000000e+00, -1.91518020e+00, 4.83999791e-01, 5.90127637e-01, 3.59922975e+00, 0.00000000e+00, -5.9602296239, -0.0592816279, 0.1307254165, 0.0000000000, -0.4534820345, 0.1307254165, -0.0592816279, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263651900, 0.0014442848, 5.0000000000, 3.0000000000, 0.0832351867 + 24, -5.92704054e-02, 1.29817705e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63602334e-02, 1.29817705e-01, -5.92704054e-02, 0.00000000e+00, -4.56566423e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -4.98434089e+04, 4.78498298e+04, 0.00000000e+00, -1.90730558e+00, 4.85605622e-01, 5.97385724e-01, 3.60551927e+00, 0.00000000e+00, -5.9538194179, -0.0592704054, 0.1298177054, 0.0000000000, -0.4565664227, 0.1298177054, -0.0592704054, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263602334, 0.0014442848, 5.0000000000, 3.0000000000, 0.0868896059 + 25, -5.92539954e-02, 1.28868924e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63530055e-02, 1.28868924e-01, -5.92539954e-02, 0.00000000e+00, -4.59800496e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -4.86128825e+04, 4.66619154e+04, 0.00000000e+00, -1.89940479e+00, 4.87164305e-01, 6.04578981e-01, 3.61176638e+00, 0.00000000e+00, -5.9472772588, -0.0592539954, 0.1288689244, 0.0000000000, -0.4598004965, 0.1288689244, -0.0592539954, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263530055, 0.0014442848, 5.0000000000, 3.0000000000, 0.0904878667 diff --git a/TestCases/harmonic_balance/history_0 b/TestCases/harmonic_balance/history_0 new file mode 100644 index 000000000000..995436bd765c --- /dev/null +++ b/TestCases/harmonic_balance/history_0 @@ -0,0 +1,27 @@ +"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" + 0, 2.55010453e-03, 2.20152123e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.57334596e-03, 2.20152123e-02, 2.55010453e-03, 0.00000000e+00, 1.15833747e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.29333974e+00, 1.08876962e+00, 1.25321747e+00, 4.22012200e+00, 0.00000000e+00, 0.0025501045, 0.0220152123, 0.0000000000, 0.1158337468, 0.0220152123, 0.0025501045, 0.0000000000, 0.0000000000, 0.0000000000, 0.0015733460, 0.0000000000, 3.0000000000, 1.0000000000, 0.0048389253 + 1, 4.68441419e-03, 4.15219024e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 2.94636876e-03, 4.15219024e-02, 4.68441419e-03, 0.00000000e+00, 1.12817909e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.34704393e+00, 1.03105189e+00, 1.19128650e+00, 4.16813428e+00, 0.00000000e+00, 0.0046844142, 0.0415219024, 0.0000000000, 0.1128179087, 0.0415219024, 0.0046844142, 0.0000000000, 0.0000000000, 0.0000000000, 0.0029463688, 0.0000000000, 3.0000000000, 1.0000000000, 0.0008230055 + 2, 6.42734491e-03, 5.87958620e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.12226832e-03, 5.87958620e-02, 6.42734491e-03, 0.00000000e+00, 1.09316280e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.39530876e+00, 9.80112990e-01, 1.13634726e+00, 4.12117453e+00, 0.00000000e+00, 0.0064273449, 0.0587958620, 0.0000000000, 0.1093162800, 0.0587958620, 0.0064273449, 0.0000000000, 0.0000000000, 0.0000000000, 0.0041222683, 0.0000000000, 3.0000000000, 1.0000000000, 0.0015876091 + 3, 7.81114030e-03, 7.39501907e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 5.10805202e-03, 7.39501907e-02, 7.81114030e-03, 0.00000000e+00, 1.05627047e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.43790111e+00, 9.36475194e-01, 1.08934905e+00, 4.07955771e+00, 0.00000000e+00, 0.0078111403, 0.0739501907, 0.0000000000, 0.1056270474, 0.0739501907, 0.0078111403, 0.0000000000, 0.0000000000, 0.0000000000, 0.0051080520, 0.0000000000, 3.0000000000, 1.0000000000, 0.0023394902 + 4, 8.86838843e-03, 8.71225134e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 5.91647354e-03, 8.71225134e-02, 8.86838843e-03, 0.00000000e+00, 1.01792156e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.47440206e+00, 9.00951923e-01, 1.05118270e+00, 4.04370426e+00, 0.00000000e+00, 0.0088683884, 0.0871225134, 0.0000000000, 0.1017921556, 0.0871225134, 0.0088683884, 0.0000000000, 0.0000000000, 0.0000000000, 0.0059164735, 0.0000000000, 3.0000000000, 1.0000000000, 0.0030930157 + 5, 9.63863174e-03, 9.84366300e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.56449101e-03, 9.84366300e-02, 9.63863174e-03, 0.00000000e+00, 9.79171244e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.50455198e+00, 8.73641257e-01, 1.02209626e+00, 4.01383581e+00, 0.00000000e+00, 0.0096386317, 0.0984366300, 0.0000000000, 0.0979171244, 0.0984366300, 0.0096386317, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065644910, 0.0000000000, 3.0000000000, 1.0000000000, 0.0038502484 + 6, 1.01633263e-02, 1.07995038e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.07087875e-03, 1.07995038e-01, 1.01633263e-02, 0.00000000e+00, 9.41091977e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.52839858e+00, 8.53786099e-01, 1.00145782e+00, 3.98988353e+00, 0.00000000e+00, 0.0101633263, 0.1079950376, 0.0000000000, 0.0941091977, 0.1079950376, 0.0101633263, 0.0000000000, 0.0000000000, 0.0000000000, 0.0070708788, 0.0000000000, 3.0000000000, 1.0000000000, 0.0046148052 + 7, 1.04832064e-02, 1.15889337e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.45422657e-03, 1.15889337e-01, 1.04832064e-02, 0.00000000e+00, 9.04587662e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.54629938e+00, 8.40079488e-01, 9.87918969e-01, 3.97155086e+00, 0.00000000e+00, 0.0104832064, 0.1158893368, 0.0000000000, 0.0904587662, 0.1158893368, 0.0104832064, 0.0000000000, 0.0000000000, 0.0000000000, 0.0074542266, 0.0000000000, 3.0000000000, 1.0000000000, 0.0053764287 + 8, 1.06204411e-02, 1.22208129e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.73108394e-03, 1.22208129e-01, 1.06204411e-02, 0.00000000e+00, 8.69045387e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.55888953e+00, 8.31036227e-01, 9.79773636e-01, 3.95833413e+00, 0.00000000e+00, 0.0106204411, 0.1222081292, 0.0000000000, 0.0869045387, 0.1222081292, 0.0106204411, 0.0000000000, 0.0000000000, 0.0000000000, 0.0077310839, 0.0000000000, 3.0000000000, 1.0000000000, 0.0061353198 + 9, 1.06078418e-02, 1.27046035e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.91829435e-03, 1.27046035e-01, 1.06078418e-02, 0.00000000e+00, 8.34960472e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56702450e+00, 8.25274290e-01, 9.75329934e-01, 3.94952804e+00, 0.00000000e+00, 0.0106078418, 0.1270460355, 0.0000000000, 0.0834960472, 0.1270460355, 0.0106078418, 0.0000000000, 0.0000000000, 0.0000000000, 0.0079182943, 0.0000000000, 3.0000000000, 1.0000000000, 0.0068926548 + 10, 1.04772527e-02, 1.30536207e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 8.02909564e-03, 1.30536207e-01, 1.04772527e-02, 0.00000000e+00, 8.02631923e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57163703e+00, 8.21712779e-01, 9.73169306e-01, 3.94434279e+00, 0.00000000e+00, 0.0104772527, 0.1305362072, 0.0000000000, 0.0802631923, 0.1305362072, 0.0104772527, 0.0000000000, 0.0000000000, 0.0000000000, 0.0080290956, 0.0000000000, 3.0000000000, 1.0000000000, 0.0076515990 + 11, 1.02518449e-02, 1.32794334e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 8.07125209e-03, 1.32794334e-01, 1.02518449e-02, 0.00000000e+00, 7.72009211e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57353838e+00, 8.19558831e-01, 9.72351872e-01, 3.94207264e+00, 0.00000000e+00, 0.0102518449, 0.1327943335, 0.0000000000, 0.0772009211, 0.1327943335, 0.0102518449, 0.0000000000, 0.0000000000, 0.0000000000, 0.0080712521, 0.0000000000, 3.0000000000, 1.0000000000, 0.0084093583 + 12, 9.96306595e-03, 1.33888903e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 8.05397737e-03, 1.33888903e-01, 9.96306595e-03, 0.00000000e+00, 7.44129330e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57343194e+00, 8.18259495e-01, 9.72236794e-01, 3.94210009e+00, 0.00000000e+00, 0.0099630659, 0.1338889028, 0.0000000000, 0.0744129330, 0.1338889028, 0.0099630659, 0.0000000000, 0.0000000000, 0.0000000000, 0.0080539774, 0.0000000000, 3.0000000000, 1.0000000000, 0.0091657008 + 13, 9.63830934e-03, 1.33875258e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.99218090e-03, 1.33875258e-01, 9.63830934e-03, 0.00000000e+00, 7.19947025e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57199373e+00, 8.17419732e-01, 9.72378358e-01, 3.94379927e+00, 0.00000000e+00, 0.0096383093, 0.1338752577, 0.0000000000, 0.0719947025, 0.1338752577, 0.0096383093, 0.0000000000, 0.0000000000, 0.0000000000, 0.0079921809, 0.0000000000, 3.0000000000, 1.0000000000, 0.0099374625 + 14, 9.27397487e-03, 1.32870610e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.89219389e-03, 1.32870610e-01, 9.27397487e-03, 0.00000000e+00, 6.97970368e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57006534e+00, 8.16629487e-01, 9.72425290e-01, 3.94619733e+00, 0.00000000e+00, 0.0092739749, 0.1328706102, 0.0000000000, 0.0697970368, 0.1328706102, 0.0092739749, 0.0000000000, 0.0000000000, 0.0000000000, 0.0078921939, 0.0000000000, 3.0000000000, 1.0000000000, 0.0106964803 + 15, 8.90329304e-03, 1.31004923e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.76372867e-03, 1.31004923e-01, 8.90329304e-03, 0.00000000e+00, 6.79615149e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56830773e+00, 8.15738339e-01, 9.72002114e-01, 3.94846401e+00, 0.00000000e+00, 0.0089032930, 0.1310049232, 0.0000000000, 0.0679615149, 0.1310049232, 0.0089032930, 0.0000000000, 0.0000000000, 0.0000000000, 0.0077637287, 0.0000000000, 3.0000000000, 1.0000000000, 0.0114558066 + 16, 8.54214463e-03, 1.28454692e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.61580473e-03, 1.28454692e-01, 8.54214463e-03, 0.00000000e+00, 6.64992807e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56734309e+00, 8.14455906e-01, 9.70823023e-01, 3.94979025e+00, 0.00000000e+00, 0.0085421446, 0.1284546921, 0.0000000000, 0.0664992807, 0.1284546921, 0.0085421446, 0.0000000000, 0.0000000000, 0.0000000000, 0.0076158047, 0.0000000000, 3.0000000000, 1.0000000000, 0.0122228378 + 17, 8.20432382e-03, 1.25401168e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.45547557e-03, 1.25401168e-01, 8.20432382e-03, 0.00000000e+00, 6.54246207e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56744199e+00, 8.12652438e-01, 9.68757522e-01, 3.94979167e+00, 0.00000000e+00, 0.0082043238, 0.1254011675, 0.0000000000, 0.0654246207, 0.1254011675, 0.0082043238, 0.0000000000, 0.0000000000, 0.0000000000, 0.0074554756, 0.0000000000, 3.0000000000, 1.0000000000, 0.0129892550 + 18, 7.89658142e-03, 1.22021044e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.28879318e-03, 1.22021044e-01, 7.89658142e-03, 0.00000000e+00, 6.47149145e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56863029e+00, 8.10356702e-01, 9.65844114e-01, 3.94843146e+00, 0.00000000e+00, 0.0078965814, 0.1220210438, 0.0000000000, 0.0647149145, 0.1220210438, 0.0078965814, 0.0000000000, 0.0000000000, 0.0000000000, 0.0072887932, 0.0000000000, 3.0000000000, 1.0000000000, 0.0137561726 + 19, 7.62080260e-03, 1.18479400e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.12121562e-03, 1.18479400e-01, 7.62080260e-03, 0.00000000e+00, 6.43217521e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57075314e+00, 8.07682970e-01, 9.62211088e-01, 3.94590158e+00, 0.00000000e+00, 0.0076208026, 0.1184794001, 0.0000000000, 0.0643217521, 0.1184794001, 0.0076208026, 0.0000000000, 0.0000000000, 0.0000000000, 0.0071212156, 0.0000000000, 3.0000000000, 1.0000000000, 0.0145343311 + 20, 7.37640494e-03, 1.14917098e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.95721502e-03, 1.14917098e-01, 7.37640494e-03, 0.00000000e+00, 6.41889248e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57361049e+00, 8.04725771e-01, 9.57999429e-01, 3.94244121e+00, 0.00000000e+00, 0.0073764049, 0.1149170977, 0.0000000000, 0.0641889248, 0.1149170977, 0.0073764049, 0.0000000000, 0.0000000000, 0.0000000000, 0.0069572150, 0.0000000000, 3.0000000000, 1.0000000000, 0.0153273165 + 21, 7.16610783e-03, 1.11445917e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.80062911e-03, 1.11445917e-01, 7.16610783e-03, 0.00000000e+00, 6.43012149e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57690091e+00, 8.01652893e-01, 9.53518061e-01, 3.93843769e+00, 0.00000000e+00, 0.0071661078, 0.1114459165, 0.0000000000, 0.0643012149, 0.1114459165, 0.0071661078, 0.0000000000, 0.0000000000, 0.0000000000, 0.0068006291, 0.0000000000, 3.0000000000, 1.0000000000, 0.0161027516 + 22, 6.99084156e-03, 1.08143983e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.65445458e-03, 1.08143983e-01, 6.99084156e-03, 0.00000000e+00, 6.46438326e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.58035176e+00, 7.98573930e-01, 9.49020499e-01, 3.93422520e+00, 0.00000000e+00, 0.0069908416, 0.1081439834, 0.0000000000, 0.0646438326, 0.1081439834, 0.0069908416, 0.0000000000, 0.0000000000, 0.0000000000, 0.0066544546, 0.0000000000, 3.0000000000, 1.0000000000, 0.0168619560 + 23, 6.85295571e-03, 1.05059119e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.52103270e-03, 1.05059119e-01, 6.85295571e-03, 0.00000000e+00, 6.52295179e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.58374126e+00, 7.95583757e-01, 9.44690488e-01, 3.93006045e+00, 0.00000000e+00, 0.0068529557, 0.1050591193, 0.0000000000, 0.0652295179, 0.1050591193, 0.0068529557, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065210327, 0.0000000000, 3.0000000000, 1.0000000000, 0.0176165809 + 24, 6.75540331e-03, 1.02218306e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.40214764e-03, 1.02218306e-01, 6.75540331e-03, 0.00000000e+00, 6.60879991e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.58690821e+00, 7.92756109e-01, 9.40674763e-01, 3.92613251e+00, 0.00000000e+00, 0.0067554033, 0.1022183059, 0.0000000000, 0.0660879991, 0.1022183059, 0.0067554033, 0.0000000000, 0.0000000000, 0.0000000000, 0.0064021476, 0.0000000000, 3.0000000000, 1.0000000000, 0.0183708490 + 25, 6.70214967e-03, 9.96321309e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.29901453e-03, 9.96321309e-02, 6.70214967e-03, 0.00000000e+00, 6.72689584e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.58973887e+00, 7.90169123e-01, 9.37052532e-01, 3.92257894e+00, 0.00000000e+00, 0.0067021497, 0.0996321309, 0.0000000000, 0.0672689584, 0.0996321309, 0.0067021497, 0.0000000000, 0.0000000000, 0.0000000000, 0.0062990145, 0.0000000000, 3.0000000000, 1.0000000000, 0.0191277851 diff --git a/TestCases/harmonic_balance/history_1 b/TestCases/harmonic_balance/history_1 new file mode 100644 index 000000000000..01f90e1c352a --- /dev/null +++ b/TestCases/harmonic_balance/history_1 @@ -0,0 +1,27 @@ +"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" + 0, 1.49244607e-02, 2.22610268e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.78717191e-03, 2.22610268e-02, 1.49244607e-02, 0.00000000e+00, 6.70430025e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.28952557e+00, 1.09385807e+00, 1.25668024e+00, 4.22397541e+00, 0.00000000e+00, 0.0149244607, 0.0222610268, 0.0000000000, 0.6704300245, 0.0222610268, 0.0149244607, 0.0000000000, 0.0000000000, 0.0000000000, 0.0067871719, 0.0000000000, 3.0000000000, 1.0000000000, 0.0048389253 + 1, 2.80228575e-02, 4.19811690e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.27915769e-02, 4.19811690e-02, 2.80228575e-02, 0.00000000e+00, 6.67510176e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.34327874e+00, 1.03620741e+00, 1.19472746e+00, 4.17190241e+00, 0.00000000e+00, 0.0280228575, 0.0419811690, 0.0000000000, 0.6675101764, 0.0419811690, 0.0280228575, 0.0000000000, 0.0000000000, 0.0000000000, 0.0127915769, 0.0000000000, 3.0000000000, 1.0000000000, 0.0008230055 + 2, 3.93618282e-02, 5.94392196e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.80088938e-02, 5.94392196e-02, 3.93618282e-02, 0.00000000e+00, 6.62219801e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.39155612e+00, 9.85316777e-01, 1.13982512e+00, 4.12490911e+00, 0.00000000e+00, 0.0393618282, 0.0594392196, 0.0000000000, 0.6622198013, 0.0594392196, 0.0393618282, 0.0000000000, 0.0000000000, 0.0000000000, 0.0180088938, 0.0000000000, 3.0000000000, 1.0000000000, 0.0015876091 + 3, 4.90400755e-02, 7.47487855e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 2.24652949e-02, 7.47487855e-02, 4.90400755e-02, 0.00000000e+00, 6.56065180e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.43410403e+00, 9.41743622e-01, 1.09292842e+00, 4.08333049e+00, 0.00000000e+00, 0.0490400755, 0.0747487855, 0.0000000000, 0.6560651803, 0.0747487855, 0.0490400755, 0.0000000000, 0.0000000000, 0.0000000000, 0.0224652949, 0.0000000000, 3.0000000000, 1.0000000000, 0.0023394902 + 4, 5.71712961e-02, 8.80484035e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 2.62080229e-02, 8.80484035e-02, 5.71712961e-02, 0.00000000e+00, 6.49316669e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.47049860e+00, 9.06312973e-01, 1.05491751e+00, 4.04758794e+00, 0.00000000e+00, 0.0571712961, 0.0880484035, 0.0000000000, 0.6493166690, 0.0880484035, 0.0571712961, 0.0000000000, 0.0000000000, 0.0000000000, 0.0262080229, 0.0000000000, 3.0000000000, 1.0000000000, 0.0030930157 + 5, 6.38953242e-02, 9.94656208e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 2.92983379e-02, 9.94656208e-02, 6.38953242e-02, 0.00000000e+00, 6.42386019e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.50049169e+00, 8.79118278e-01, 1.02601596e+00, 4.01788891e+00, 0.00000000e+00, 0.0638953242, 0.0994656208, 0.0000000000, 0.6423860193, 0.0994656208, 0.0638953242, 0.0000000000, 0.0000000000, 0.0000000000, 0.0292983379, 0.0000000000, 3.0000000000, 1.0000000000, 0.0038502484 + 6, 6.93577853e-02, 1.09104842e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.18044200e-02, 1.09104842e-01, 6.93577853e-02, 0.00000000e+00, 6.35698507e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.52416191e+00, 8.59371980e-01, 1.00555477e+00, 3.99412711e+00, 0.00000000e+00, 0.0693577853, 0.1091048422, 0.0000000000, 0.6356985073, 0.1091048422, 0.0693577853, 0.0000000000, 0.0000000000, 0.0000000000, 0.0318044200, 0.0000000000, 3.0000000000, 1.0000000000, 0.0046148052 + 7, 7.37008248e-02, 1.17062390e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.37945589e-02, 1.17062390e-01, 7.37008248e-02, 0.00000000e+00, 6.29585856e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.54190048e+00, 8.45746822e-01, 9.92155702e-01, 3.97597185e+00, 0.00000000e+00, 0.0737008248, 0.1170623896, 0.0000000000, 0.6295858558, 0.1170623896, 0.0737008248, 0.0000000000, 0.0000000000, 0.0000000000, 0.0337945589, 0.0000000000, 3.0000000000, 1.0000000000, 0.0053764287 + 8, 7.70428585e-02, 1.23429004e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.53317747e-02, 1.23429004e-01, 7.70428585e-02, 0.00000000e+00, 6.24187638e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.55437696e+00, 8.36739668e-01, 9.84091417e-01, 3.96287972e+00, 0.00000000e+00, 0.0770428585, 0.1234290040, 0.0000000000, 0.6241876380, 0.1234290040, 0.0770428585, 0.0000000000, 0.0000000000, 0.0000000000, 0.0353317747, 0.0000000000, 3.0000000000, 1.0000000000, 0.0061353198 + 9, 7.95093634e-02, 1.28300667e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.64776107e-02, 1.28300667e-01, 7.95093634e-02, 0.00000000e+00, 6.19711226e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56246046e+00, 8.30967252e-01, 9.79667566e-01, 3.95413042e+00, 0.00000000e+00, 0.0795093634, 0.1283006666, 0.0000000000, 0.6197112256, 0.1283006666, 0.0795093634, 0.0000000000, 0.0000000000, 0.0000000000, 0.0364776107, 0.0000000000, 3.0000000000, 1.0000000000, 0.0068926548 + 10, 8.12221980e-02, 1.31812188e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.72865474e-02, 1.31812188e-01, 8.12221980e-02, 0.00000000e+00, 6.16196418e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56708369e+00, 8.27354654e-01, 9.77475837e-01, 3.94893387e+00, 0.00000000e+00, 0.0812221980, 0.1318121879, 0.0000000000, 0.6161964177, 0.1318121879, 0.0812221980, 0.0000000000, 0.0000000000, 0.0000000000, 0.0372865474, 0.0000000000, 3.0000000000, 1.0000000000, 0.0076515990 + 11, 8.22787055e-02, 1.34080442e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.77993565e-02, 1.34080442e-01, 8.22787055e-02, 0.00000000e+00, 6.13651807e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56903877e+00, 8.25121925e-01, 9.76598795e-01, 3.94660676e+00, 0.00000000e+00, 0.0822787055, 0.1340804418, 0.0000000000, 0.6136518074, 0.1340804418, 0.0822787055, 0.0000000000, 0.0000000000, 0.0000000000, 0.0377993565, 0.0000000000, 3.0000000000, 1.0000000000, 0.0084093583 + 12, 8.27702288e-02, 1.35174554e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.80545049e-02, 1.35174554e-01, 8.27702288e-02, 0.00000000e+00, 6.12321080e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56901322e+00, 8.23742302e-01, 9.76404562e-01, 3.94654878e+00, 0.00000000e+00, 0.0827702288, 0.1351745537, 0.0000000000, 0.6123210805, 0.1351745537, 0.0827702288, 0.0000000000, 0.0000000000, 0.0000000000, 0.0380545049, 0.0000000000, 3.0000000000, 1.0000000000, 0.0091657008 + 13, 8.27861447e-02, 1.35153727e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.80937926e-02, 1.35153727e-01, 8.27861447e-02, 0.00000000e+00, 6.12533197e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56769026e+00, 8.22811692e-01, 9.76445711e-01, 3.94811874e+00, 0.00000000e+00, 0.0827861447, 0.1351537274, 0.0000000000, 0.6125331969, 0.1351537274, 0.0827861447, 0.0000000000, 0.0000000000, 0.0000000000, 0.0380937926, 0.0000000000, 3.0000000000, 1.0000000000, 0.0099374625 + 14, 8.23781486e-02, 1.34134034e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.79504369e-02, 1.34134034e-01, 8.23781486e-02, 0.00000000e+00, 6.14148000e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56586676e+00, 8.21937735e-01, 9.76395760e-01, 3.95040220e+00, 0.00000000e+00, 0.0823781486, 0.1341340338, 0.0000000000, 0.6141479999, 0.1341340338, 0.0823781486, 0.0000000000, 0.0000000000, 0.0000000000, 0.0379504369, 0.0000000000, 3.0000000000, 1.0000000000, 0.0106964803 + 15, 8.16407972e-02, 1.32249091e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.76599319e-02, 1.32249091e-01, 8.16407972e-02, 0.00000000e+00, 6.17325961e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56422381e+00, 8.20953949e-01, 9.75865152e-01, 3.95253979e+00, 0.00000000e+00, 0.0816407972, 0.1322490912, 0.0000000000, 0.6173259605, 0.1322490912, 0.0816407972, 0.0000000000, 0.0000000000, 0.0000000000, 0.0376599319, 0.0000000000, 3.0000000000, 1.0000000000, 0.0114558066 + 16, 8.06513328e-02, 1.29677491e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.72556413e-02, 1.29677491e-01, 8.06513328e-02, 0.00000000e+00, 6.21937795e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56335841e+00, 8.19578199e-01, 9.74591467e-01, 3.95375567e+00, 0.00000000e+00, 0.0806513328, 0.1296774909, 0.0000000000, 0.6219377953, 0.1296774909, 0.0806513328, 0.0000000000, 0.0000000000, 0.0000000000, 0.0372556413, 0.0000000000, 3.0000000000, 1.0000000000, 0.0122228378 + 17, 7.94813398e-02, 1.26601448e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.67669284e-02, 1.26601448e-01, 7.94813398e-02, 0.00000000e+00, 6.27807508e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56353040e+00, 8.17696253e-01, 9.72454030e-01, 3.95368030e+00, 0.00000000e+00, 0.0794813398, 0.1266014483, 0.0000000000, 0.6278075084, 0.1266014483, 0.0794813398, 0.0000000000, 0.0000000000, 0.0000000000, 0.0367669284, 0.0000000000, 3.0000000000, 1.0000000000, 0.0129892550 + 18, 7.81921264e-02, 1.23199041e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.62200154e-02, 1.23199041e-01, 7.81921264e-02, 0.00000000e+00, 6.34681289e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56476291e+00, 8.15342993e-01, 9.69500047e-01, 3.95228153e+00, 0.00000000e+00, 0.0781921264, 0.1231990414, 0.0000000000, 0.6346812889, 0.1231990414, 0.0781921264, 0.0000000000, 0.0000000000, 0.0000000000, 0.0362200154, 0.0000000000, 3.0000000000, 1.0000000000, 0.0137561726 + 19, 7.68356930e-02, 1.19635757e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.56381501e-02, 1.19635757e-01, 7.68356930e-02, 0.00000000e+00, 6.42246893e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56690795e+00, 8.12634855e-01, 9.65851288e-01, 3.94974030e+00, 0.00000000e+00, 0.0768356930, 0.1196357566, 0.0000000000, 0.6422468934, 0.1196357566, 0.0768356930, 0.0000000000, 0.0000000000, 0.0000000000, 0.0356381501, 0.0000000000, 3.0000000000, 1.0000000000, 0.0145343311 + 20, 7.54555446e-02, 1.16053063e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.50411384e-02, 1.16053063e-01, 7.54555446e-02, 0.00000000e+00, 6.50181413e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56976749e+00, 8.09666317e-01, 9.61648161e-01, 3.94629134e+00, 0.00000000e+00, 0.0754555446, 0.1160530632, 0.0000000000, 0.6501814129, 0.1160530632, 0.0754555446, 0.0000000000, 0.0000000000, 0.0000000000, 0.0350411384, 0.0000000000, 3.0000000000, 1.0000000000, 0.0153273165 + 21, 7.40912626e-02, 1.12562836e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.44458462e-02, 1.12562836e-01, 7.40912626e-02, 0.00000000e+00, 6.58221356e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57305280e+00, 8.06601390e-01, 9.57186633e-01, 3.94230535e+00, 0.00000000e+00, 0.0740912626, 0.1125628360, 0.0000000000, 0.6582213564, 0.1125628360, 0.0740912626, 0.0000000000, 0.0000000000, 0.0000000000, 0.0344458462, 0.0000000000, 3.0000000000, 1.0000000000, 0.0161027516 + 22, 7.27745612e-02, 1.09243020e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.38661933e-02, 1.09243020e-01, 7.27745612e-02, 0.00000000e+00, 6.66171269e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57649289e+00, 8.03546301e-01, 9.52716144e-01, 3.93811513e+00, 0.00000000e+00, 0.0727745612, 0.1092430200, 0.0000000000, 0.6661712687, 0.1092430200, 0.0727745612, 0.0000000000, 0.0000000000, 0.0000000000, 0.0338661933, 0.0000000000, 3.0000000000, 1.0000000000, 0.0168619560 + 23, 7.15342304e-02, 1.06141229e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.33135296e-02, 1.06141229e-01, 7.15342304e-02, 0.00000000e+00, 6.73953288e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57986908e+00, 8.00584459e-01, 9.48421303e-01, 3.93397464e+00, 0.00000000e+00, 0.0715342304, 0.1061412292, 0.0000000000, 0.6739532878, 0.1061412292, 0.0715342304, 0.0000000000, 0.0000000000, 0.0000000000, 0.0333135296, 0.0000000000, 3.0000000000, 1.0000000000, 0.0176165809 + 24, 7.03930642e-02, 1.03284903e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.27968436e-02, 1.03284903e-01, 7.03930642e-02, 0.00000000e+00, 6.81542627e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.58302147e+00, 7.97788534e-01, 9.44442892e-01, 3.93007212e+00, 0.00000000e+00, 0.0703930642, 0.1032849031, 0.0000000000, 0.6815426272, 0.1032849031, 0.0703930642, 0.0000000000, 0.0000000000, 0.0000000000, 0.0327968436, 0.0000000000, 3.0000000000, 1.0000000000, 0.0183708490 + 25, 6.93698557e-02, 1.00685300e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.23229695e-02, 1.00685300e-01, 6.93698557e-02, 0.00000000e+00, 6.88976995e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.58583686e+00, 7.95235168e-01, 9.40858043e-01, 3.92654577e+00, 0.00000000e+00, 0.0693698557, 0.1006853004, 0.0000000000, 0.6889769949, 0.1006853004, 0.0693698557, 0.0000000000, 0.0000000000, 0.0000000000, 0.0323229695, 0.0000000000, 3.0000000000, 1.0000000000, 0.0191277851 diff --git a/TestCases/harmonic_balance/history_2 b/TestCases/harmonic_balance/history_2 new file mode 100644 index 000000000000..2891669b513f --- /dev/null +++ b/TestCases/harmonic_balance/history_2 @@ -0,0 +1,27 @@ +"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" + 0, -1.49899789e-02, 2.22244804e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -7.88365341e-03, 2.22244804e-02, -1.49899789e-02, 0.00000000e+00, -6.74480510e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.28844652e+00, 1.09582664e+00, 1.25716653e+00, 4.22499396e+00, 0.00000000e+00, -0.0149899789, 0.0222244804, 0.0000000000, -0.6744805104, 0.0222244804, -0.0149899789, 0.0000000000, 0.0000000000, 0.0000000000, -0.0078836534, 0.0000000000, 3.0000000000, 1.0000000000, 0.0048389253 + 1, -2.83387264e-02, 4.19205465e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.48767832e-02, 4.19205465e-02, -2.83387264e-02, 0.00000000e+00, -6.76010423e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.34215026e+00, 1.03823171e+00, 1.19539464e+00, 4.17293175e+00, 0.00000000e+00, -0.0283387264, 0.0419205465, 0.0000000000, -0.6760104235, 0.0419205465, -0.0283387264, 0.0000000000, 0.0000000000, 0.0000000000, -0.0148767832, 0.0000000000, 3.0000000000, 1.0000000000, 0.0008230055 + 2, -4.00652210e-02, 5.93629267e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.09658313e-02, 5.93629267e-02, -4.00652210e-02, 0.00000000e+00, -6.74919908e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.39052597e+00, 9.87199319e-01, 1.14050502e+00, 4.12580863e+00, 0.00000000e+00, -0.0400652210, 0.0593629267, 0.0000000000, -0.6749199082, 0.0593629267, -0.0400652210, 0.0000000000, 0.0000000000, 0.0000000000, -0.0209658313, 0.0000000000, 3.0000000000, 1.0000000000, 0.0015876091 + 3, -5.02204530e-02, 7.46647834e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.61732307e-02, 7.46647834e-02, -5.02204530e-02, 0.00000000e+00, -6.72612317e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.43328924e+00, 9.43337920e-01, 1.09345166e+00, 4.08399280e+00, 0.00000000e+00, -0.0502204530, 0.0746647834, 0.0000000000, -0.6726123170, 0.0746647834, -0.0502204530, 0.0000000000, 0.0000000000, 0.0000000000, -0.0261732307, 0.0000000000, 3.0000000000, 1.0000000000, 0.0023394902 + 4, -5.88961520e-02, 8.79659123e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.05512271e-02, 8.79659123e-02, -5.88961520e-02, 0.00000000e+00, -6.69533805e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.46997293e+00, 9.07534081e-01, 1.05515251e+00, 4.04795031e+00, 0.00000000e+00, -0.0588961520, 0.0879659123, 0.0000000000, -0.6695338055, 0.0879659123, -0.0588961520, 0.0000000000, 0.0000000000, 0.0000000000, -0.0305512271, 0.0000000000, 3.0000000000, 1.0000000000, 0.0030930157 + 5, -6.62108189e-02, 9.93900352e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.41712855e-02, 9.93900352e-02, -6.62108189e-02, 0.00000000e+00, -6.66171601e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.50028480e+00, 8.79944747e-01, 1.02589376e+00, 4.01792808e+00, 0.00000000e+00, -0.0662108189, 0.0993900352, 0.0000000000, -0.6661716011, 0.0993900352, -0.0662108189, 0.0000000000, 0.0000000000, 0.0000000000, -0.0341712855, 0.0000000000, 3.0000000000, 1.0000000000, 0.0038502484 + 6, -7.22915087e-02, 1.09040847e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.71138140e-02, 1.09040847e-01, -7.22915087e-02, 0.00000000e+00, -6.62976406e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.52425342e+00, 8.59860567e-01, 1.00508547e+00, 3.99387103e+00, 0.00000000e+00, -0.0722915087, 0.1090408467, 0.0000000000, -0.6629764060, 0.1090408467, -0.0722915087, 0.0000000000, 0.0000000000, 0.0000000000, -0.0371138140, 0.0000000000, 3.0000000000, 1.0000000000, 0.0046148052 + 7, -7.72653406e-02, 1.17012431e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.94596079e-02, 1.17012431e-01, -7.72653406e-02, 0.00000000e+00, -6.60317369e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.54223282e+00, 8.45988443e-01, 9.91408962e-01, 3.97547960e+00, 0.00000000e+00, -0.0772653406, 0.1170124311, 0.0000000000, -0.6603173687, 0.1170124311, -0.0772653406, 0.0000000000, 0.0000000000, 0.0000000000, -0.0394596079, 0.0000000000, 3.0000000000, 1.0000000000, 0.0053764287 + 8, -8.12667068e-02, 1.23394010e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.12852389e-02, 1.23394010e-01, -8.12667068e-02, 0.00000000e+00, -6.58595231e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.55486482e+00, 8.36840590e-01, 9.83172326e-01, 3.96223946e+00, 0.00000000e+00, -0.0812667068, 0.1233940103, 0.0000000000, -0.6585952311, 0.1233940103, -0.0812667068, 0.0000000000, 0.0000000000, 0.0000000000, -0.0412852389, 0.0000000000, 3.0000000000, 1.0000000000, 0.0061353198 + 9, -8.44118509e-02, 1.28282154e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.26620872e-02, 1.28282154e-01, -8.44118509e-02, 0.00000000e+00, -6.58017097e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56301591e+00, 8.31020744e-01, 9.78684110e-01, 3.95343261e+00, 0.00000000e+00, -0.0844118509, 0.1282821544, 0.0000000000, -0.6580170972, 0.1282821544, -0.0844118509, 0.0000000000, 0.0000000000, 0.0000000000, -0.0426620872, 0.0000000000, 3.0000000000, 1.0000000000, 0.0068926548 + 10, -8.68084013e-02, 1.31812436e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.36572352e-02, 1.31812436e-01, -8.68084013e-02, 0.00000000e+00, -6.58575200e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56762956e+00, 8.27432696e-01, 9.76516426e-01, 3.94825769e+00, 0.00000000e+00, -0.0868084013, 0.1318124358, 0.0000000000, -0.6585751997, 0.1318124358, -0.0868084013, 0.0000000000, 0.0000000000, 0.0000000000, -0.0436572352, 0.0000000000, 3.0000000000, 1.0000000000, 0.0076515990 + 11, -8.85474495e-02, 1.34101451e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.43269063e-02, 1.34101451e-01, -8.85474495e-02, 0.00000000e+00, -6.60301948e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56952997e+00, 8.25271739e-01, 9.75711934e-01, 3.94599409e+00, 0.00000000e+00, -0.0885474495, 0.1341014512, 0.0000000000, -0.6603019485, 0.1341014512, -0.0885474495, 0.0000000000, 0.0000000000, 0.0000000000, -0.0443269063, 0.0000000000, 3.0000000000, 1.0000000000, 0.0084093583 + 12, -8.96946402e-02, 1.35220097e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.47183186e-02, 1.35220097e-01, -8.96946402e-02, 0.00000000e+00, -6.63323296e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56943625e+00, 8.23963973e-01, 9.75614649e-01, 3.94600629e+00, 0.00000000e+00, -0.0896946402, 0.1352200967, 0.0000000000, -0.6633232955, 0.1352200967, -0.0896946402, 0.0000000000, 0.0000000000, 0.0000000000, -0.0447183186, 0.0000000000, 3.0000000000, 1.0000000000, 0.0091657008 + 13, -9.03148916e-02, 1.35222129e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.48676042e-02, 1.35222129e-01, -9.03148916e-02, 0.00000000e+00, -6.67900234e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56800002e+00, 8.23126447e-01, 9.75793027e-01, 3.94770175e+00, 0.00000000e+00, -0.0903148916, 0.1352221290, 0.0000000000, -0.6679002337, 0.1352221290, -0.0903148916, 0.0000000000, 0.0000000000, 0.0000000000, -0.0448676042, 0.0000000000, 3.0000000000, 1.0000000000, 0.0099374625 + 14, -9.04949692e-02, 1.34227304e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.48171807e-02, 1.34227304e-01, -9.04949692e-02, 0.00000000e+00, -6.74191960e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56609006e+00, 8.22329257e-01, 9.75870444e-01, 3.95007410e+00, 0.00000000e+00, -0.0904949692, 0.1342273039, 0.0000000000, -0.6741919604, 0.1342273039, -0.0904949692, 0.0000000000, 0.0000000000, 0.0000000000, -0.0448171807, 0.0000000000, 3.0000000000, 1.0000000000, 0.0106964803 + 15, -9.02877418e-02, 1.32364684e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.46041439e-02, 1.32364684e-01, -9.02877418e-02, 0.00000000e+00, -6.82113531e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56434217e+00, 8.21430316e-01, 9.75485739e-01, 3.95232871e+00, 0.00000000e+00, -0.0902877418, 0.1323646837, 0.0000000000, -0.6821135313, 0.1323646837, -0.0902877418, 0.0000000000, 0.0000000000, 0.0000000000, -0.0446041439, 0.0000000000, 3.0000000000, 1.0000000000, 0.0114558066 + 16, -8.97601690e-02, 1.29811275e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.42626326e-02, 1.29811275e-01, -8.97601690e-02, 0.00000000e+00, -6.91466662e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56338549e+00, 8.20142223e-01, 9.74342765e-01, 3.95364804e+00, 0.00000000e+00, -0.0897601690, 0.1298112750, 0.0000000000, -0.6914666616, 0.1298112750, -0.0897601690, 0.0000000000, 0.0000000000, 0.0000000000, -0.0442626326, 0.0000000000, 3.0000000000, 1.0000000000, 0.0122228378 + 17, -8.89748436e-02, 1.26749407e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.38248034e-02, 1.26749407e-01, -8.89748436e-02, 0.00000000e+00, -7.01974438e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56349471e+00, 8.18328285e-01, 9.72304833e-01, 3.95364249e+00, 0.00000000e+00, -0.0889748436, 0.1267494068, 0.0000000000, -0.7019744384, 0.1267494068, -0.0889748436, 0.0000000000, 0.0000000000, 0.0000000000, -0.0438248034, 0.0000000000, 3.0000000000, 1.0000000000, 0.0129892550 + 18, -8.79944588e-02, 1.23356596e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.33191061e-02, 1.23356596e-01, -8.79944588e-02, 0.00000000e+00, -7.13334037e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56469660e+00, 8.16014518e-01, 9.69407593e-01, 3.95227261e+00, 0.00000000e+00, -0.0879944588, 0.1233565963, 0.0000000000, -0.7133340367, 0.1233565963, -0.0879944588, 0.0000000000, 0.0000000000, 0.0000000000, -0.0433191061, 0.0000000000, 3.0000000000, 1.0000000000, 0.0137561726 + 19, -8.68796385e-02, 1.19799320e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.27700705e-02, 1.19799320e-01, -8.68796385e-02, 0.00000000e+00, -7.25209779e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56683595e+00, 8.13312864e-01, 9.65782754e-01, 3.94973216e+00, 0.00000000e+00, -0.0868796385, 0.1197993201, 0.0000000000, -0.7252097795, 0.1197993201, -0.0868796385, 0.0000000000, 0.0000000000, 0.0000000000, -0.0427700705, 0.0000000000, 3.0000000000, 1.0000000000, 0.0145343311 + 20, -8.56838032e-02, 1.16219289e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.21984523e-02, 1.16219289e-01, -8.56838032e-02, 0.00000000e+00, -7.37259743e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56970952e+00, 8.10320512e-01, 9.61577645e-01, 3.94626505e+00, 0.00000000e+00, -0.0856838032, 0.1162192890, 0.0000000000, -0.7372597432, 0.1162192890, -0.0856838032, 0.0000000000, 0.0000000000, 0.0000000000, -0.0421984523, 0.0000000000, 3.0000000000, 1.0000000000, 0.0153273165 + 21, -8.44486666e-02, 1.12728922e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.16213484e-02, 1.12728922e-01, -8.44486666e-02, 0.00000000e+00, -7.49130435e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57301464e+00, 8.07205934e-01, 9.57103605e-01, 3.94226036e+00, 0.00000000e+00, -0.0844486666, 0.1127289223, 0.0000000000, -0.7491304352, 0.1127289223, -0.0844486666, 0.0000000000, 0.0000000000, 0.0000000000, -0.0416213484, 0.0000000000, 3.0000000000, 1.0000000000, 0.0161027516 + 22, -8.32095277e-02, 1.09407370e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.10528243e-02, 1.09407370e-01, -8.32095277e-02, 0.00000000e+00, -7.60547738e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57647938e+00, 8.04083345e-01, 9.52615666e-01, 3.93804996e+00, 0.00000000e+00, -0.0832095277, 0.1094073699, 0.0000000000, -0.7605477378, 0.1094073699, -0.0832095277, 0.0000000000, 0.0000000000, 0.0000000000, -0.0410528243, 0.0000000000, 3.0000000000, 1.0000000000, 0.0168619560 + 23, -8.19940819e-02, 1.06303483e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05041797e-02, 1.06303483e-01, -8.19940819e-02, 0.00000000e+00, -7.71320746e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57988479e+00, 8.01054316e-01, 9.48292699e-01, 3.93388593e+00, 0.00000000e+00, -0.0819940819, 0.1063034831, 0.0000000000, -0.7713207460, 0.1063034831, -0.0819940819, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405041797, 0.0000000000, 3.0000000000, 1.0000000000, 0.0176165809 + 24, -8.08218715e-02, 1.03444479e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.99841255e-02, 1.03444479e-01, -8.08218715e-02, 0.00000000e+00, -7.81306769e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.58306672e+00, 7.98195580e-01, 9.44287804e-01, 3.92996106e+00, 0.00000000e+00, -0.0808218715, 0.1034444789, 0.0000000000, -0.7813067689, 0.1034444789, -0.0808218715, 0.0000000000, 0.0000000000, 0.0000000000, -0.0399841255, 0.0000000000, 3.0000000000, 1.0000000000, 0.0183708490 + 25, -7.97053872e-02, 1.00840859e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.94992104e-02, 1.00840859e-01, -7.97053872e-02, 0.00000000e+00, -7.90407658e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.58591375e+00, 7.95586056e-01, 9.40677083e-01, 3.92640792e+00, 0.00000000e+00, -0.0797053872, 0.1008408590, 0.0000000000, -0.7904076577, 0.1008408590, -0.0797053872, 0.0000000000, 0.0000000000, 0.0000000000, -0.0394992104, 0.0000000000, 3.0000000000, 1.0000000000, 0.0191277851 diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DIRECT/configFluid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DIRECT/configFluid.cfg new file mode 100644 index 000000000000..2ea0a0b9ba86 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DIRECT/configFluid.cfg @@ -0,0 +1,127 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Unit Cell flow around pin array (fluid) % +% Author: T. Kattmann % +% Institution: Robert Bosch GmbH % +% Date: 2020.12.15 % +% File Version 7.3.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= INC_RANS +% +KIND_TURB_MODEL= SST +% +OBJECTIVE_FUNCTION= AVG_TEMPERATURE +OBJECTIVE_WEIGHT= 0.0 +% +OPT_OBJECTIVE= NONE +% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% +% +INC_DENSITY_MODEL= CONSTANT +INC_DENSITY_INIT= 1045.0 +INC_VELOCITY_INIT= ( 0.1, 0.0, 0.0 ) +% +INC_ENERGY_EQUATION = YES +INC_TEMPERATURE_INIT= 338.0 +INC_NONDIM= DIMENSIONAL +SPECIFIC_HEAT_CP= 3540.0 +% +FREESTREAM_TURBULENCEINTENSITY= 0.05 +FREESTREAM_TURB2LAMVISCRATIO= 10.0 +% +% --------------------------- VISCOSITY MODEL ---------------------------------% +% +VISCOSITY_MODEL= CONSTANT_VISCOSITY +MU_CONSTANT= 0.001385 +% +% --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% +% +% Pr_lam = mu_lam [Pa*s] * c_p [J/(kg*K)] / lambda[W/(m*K)] +% = 1.385e-3 * 3540 / 0.42 +% = 11.7 +CONDUCTIVITY_MODEL= CONSTANT_PRANDTL +PRANDTL_LAM= 11.7 +% +TURBULENT_CONDUCTIVITY_MODEL= CONSTANT_PRANDTL_TURB +PRANDTL_TURB= 0.90 +% +% --------------------- STREAMWISE PERIODICITY DEFINITION ---------------------% +% +KIND_STREAMWISE_PERIODIC= PRESSURE_DROP +STREAMWISE_PERIODIC_PRESSURE_DROP= 208.023676 +%STREAMWISE_PERIODIC_MASSFLOW= 0.85 +%INC_OUTLET_DAMPING= 0.001 +% +STREAMWISE_PERIODIC_TEMPERATURE= NO +% +% inner pin length 0.00376991 m = (0.00322-0.00262)*2*pi +% with 5e5 W/m that is Q = 1884.96 +STREAMWISE_PERIODIC_OUTLET_HEAT= -1884.96 +% +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_SYM= ( fluid_symmetry ) +MARKER_PERIODIC= ( fluid_inlet, fluid_outlet, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0111544,0.0,0.0 ) +% +% Alternative to periodic simulation with velocity inlet and pressure outlet +%MARKER_HEATFLUX= ( fluid_pin1_interface, 5e5, \ +% fluid_pin2_interface, 5e5, \ +% fluid_pin3_interface, 5e5 ) +% +% Alternative options for non-periodic flow +%INC_INLET_TYPE= VELOCITY_INLET +%MARKER_INLET= ( fluid_inlet, 338.0, 0.75, 1.0, 0.0, 0.0 ) +% Test vals to hinder outlet backflow +%MARKER_INLET= ( fluid_inlet, 338.0, 0.3, 1.0, 0.0, 0.0 ) +% +%INC_OUTLET_TYPE= PRESSURE_OUTLET +%MARKER_OUTLET= ( fluid_outlet, 0.0 ) +% +% ------------------------ SURFACES IDENTIFICATION ----------------------------% +% +MARKER_MONITORING= ( NONE ) +% +MARKER_ANALYZE = ( fluid_outlet, fluid_inlet ) +MARKER_ANALYZE_AVERAGE = MASSFLUX +% +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +%ITER= 3500 +NUM_METHOD_GRAD= GREEN_GAUSS +CFL_NUMBER= 1e3 +% +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 1e-15 +LINEAR_SOLVER_ITER= 10 +% +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +% +CONV_NUM_METHOD_FLOW= FDS +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= NONE +TIME_DISCRE_FLOW= EULER_IMPLICIT +% +% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% +% +CONV_NUM_METHOD_TURB= SCALAR_UPWIND +MUSCL_TURB= NO +SLOPE_LIMITER_TURB= NONE +TIME_DISCRE_TURB= EULER_IMPLICIT +% +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_RESIDUAL_MINVAL= -26 +CONV_STARTITER= 100000000 +% +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +%MESH_FILENAME= fluid.su2 +% +HISTORY_OUTPUT= ( ITER, RMS_RES, STREAMWISE_PERIODIC, FLOW_COEFF, LINSOL, HEAT ) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DIRECT/configSolid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DIRECT/configSolid.cfg new file mode 100644 index 000000000000..e586892b5cb8 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DIRECT/configSolid.cfg @@ -0,0 +1,69 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Unit Cell flow around pin array (solid) % +% Author: T. Kattmann % +% Institution: Robert Bosch GmbH % +% Date: 2020.12.15 % +% File Version 7.3.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= HEAT_EQUATION +% +OBJECTIVE_FUNCTION= AVG_TEMPERATURE +OBJECTIVE_WEIGHT= 1.0 +% +OPT_OBJECTIVE= AVG_TOTALTEMP +% +% ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% +% +INC_NONDIM= DIMENSIONAL +FREESTREAM_TEMPERATURE= 345.0 +MATERIAL_DENSITY= 2719 +SPECIFIC_HEAT_CP = 871.0 +THERMAL_CONDUCTIVITY_CONSTANT= 200 +% +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_HEATFLUX= (solid_pin1_inner, 5e5, \ + solid_pin2_inner, 5e5, \ + solid_pin3_inner, 5e5, \ + solid_pin1_walls, 0.0, \ + solid_pin2_walls, 0.0, \ + solid_pin3_walls, 0.0) +% +%MARKER_ISOTHERMAL= (solid_pin1_inner, 300, solid_pin2_inner, 300, solid_pin3_inner, 300, solid_pin1_walls, 300, solid_pin2_walls, 300, solid_pin3_walls, 300) +% +% ------------------------ SURFACES IDENTIFICATION ----------------------------% +% +MARKER_MONITORING = ( solid_pin2_inner ) +% +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= GREEN_GAUSS +CFL_NUMBER= 1e4 +% +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 1E-15 +LINEAR_SOLVER_ITER= 20 +% +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_RESIDUAL_MINVAL= -20 +CONV_STARTITER= 10000000000 +% +% -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% +% +TIME_DISCRE_HEAT= EULER_IMPLICIT +% +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +%MESH_FILENAME= solid.su2 +% +HISTORY_OUTPUT= (ITER, RMS_RES, HEAT, LINSOL) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DEFORM/configFluid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DEFORM/configFluid.cfg new file mode 100644 index 000000000000..2ea0a0b9ba86 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DEFORM/configFluid.cfg @@ -0,0 +1,127 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Unit Cell flow around pin array (fluid) % +% Author: T. Kattmann % +% Institution: Robert Bosch GmbH % +% Date: 2020.12.15 % +% File Version 7.3.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= INC_RANS +% +KIND_TURB_MODEL= SST +% +OBJECTIVE_FUNCTION= AVG_TEMPERATURE +OBJECTIVE_WEIGHT= 0.0 +% +OPT_OBJECTIVE= NONE +% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% +% +INC_DENSITY_MODEL= CONSTANT +INC_DENSITY_INIT= 1045.0 +INC_VELOCITY_INIT= ( 0.1, 0.0, 0.0 ) +% +INC_ENERGY_EQUATION = YES +INC_TEMPERATURE_INIT= 338.0 +INC_NONDIM= DIMENSIONAL +SPECIFIC_HEAT_CP= 3540.0 +% +FREESTREAM_TURBULENCEINTENSITY= 0.05 +FREESTREAM_TURB2LAMVISCRATIO= 10.0 +% +% --------------------------- VISCOSITY MODEL ---------------------------------% +% +VISCOSITY_MODEL= CONSTANT_VISCOSITY +MU_CONSTANT= 0.001385 +% +% --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% +% +% Pr_lam = mu_lam [Pa*s] * c_p [J/(kg*K)] / lambda[W/(m*K)] +% = 1.385e-3 * 3540 / 0.42 +% = 11.7 +CONDUCTIVITY_MODEL= CONSTANT_PRANDTL +PRANDTL_LAM= 11.7 +% +TURBULENT_CONDUCTIVITY_MODEL= CONSTANT_PRANDTL_TURB +PRANDTL_TURB= 0.90 +% +% --------------------- STREAMWISE PERIODICITY DEFINITION ---------------------% +% +KIND_STREAMWISE_PERIODIC= PRESSURE_DROP +STREAMWISE_PERIODIC_PRESSURE_DROP= 208.023676 +%STREAMWISE_PERIODIC_MASSFLOW= 0.85 +%INC_OUTLET_DAMPING= 0.001 +% +STREAMWISE_PERIODIC_TEMPERATURE= NO +% +% inner pin length 0.00376991 m = (0.00322-0.00262)*2*pi +% with 5e5 W/m that is Q = 1884.96 +STREAMWISE_PERIODIC_OUTLET_HEAT= -1884.96 +% +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_SYM= ( fluid_symmetry ) +MARKER_PERIODIC= ( fluid_inlet, fluid_outlet, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0111544,0.0,0.0 ) +% +% Alternative to periodic simulation with velocity inlet and pressure outlet +%MARKER_HEATFLUX= ( fluid_pin1_interface, 5e5, \ +% fluid_pin2_interface, 5e5, \ +% fluid_pin3_interface, 5e5 ) +% +% Alternative options for non-periodic flow +%INC_INLET_TYPE= VELOCITY_INLET +%MARKER_INLET= ( fluid_inlet, 338.0, 0.75, 1.0, 0.0, 0.0 ) +% Test vals to hinder outlet backflow +%MARKER_INLET= ( fluid_inlet, 338.0, 0.3, 1.0, 0.0, 0.0 ) +% +%INC_OUTLET_TYPE= PRESSURE_OUTLET +%MARKER_OUTLET= ( fluid_outlet, 0.0 ) +% +% ------------------------ SURFACES IDENTIFICATION ----------------------------% +% +MARKER_MONITORING= ( NONE ) +% +MARKER_ANALYZE = ( fluid_outlet, fluid_inlet ) +MARKER_ANALYZE_AVERAGE = MASSFLUX +% +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +%ITER= 3500 +NUM_METHOD_GRAD= GREEN_GAUSS +CFL_NUMBER= 1e3 +% +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 1e-15 +LINEAR_SOLVER_ITER= 10 +% +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +% +CONV_NUM_METHOD_FLOW= FDS +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= NONE +TIME_DISCRE_FLOW= EULER_IMPLICIT +% +% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% +% +CONV_NUM_METHOD_TURB= SCALAR_UPWIND +MUSCL_TURB= NO +SLOPE_LIMITER_TURB= NONE +TIME_DISCRE_TURB= EULER_IMPLICIT +% +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_RESIDUAL_MINVAL= -26 +CONV_STARTITER= 100000000 +% +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +%MESH_FILENAME= fluid.su2 +% +HISTORY_OUTPUT= ( ITER, RMS_RES, STREAMWISE_PERIODIC, FLOW_COEFF, LINSOL, HEAT ) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DEFORM/configSolid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DEFORM/configSolid.cfg new file mode 100644 index 000000000000..e586892b5cb8 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DEFORM/configSolid.cfg @@ -0,0 +1,69 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Unit Cell flow around pin array (solid) % +% Author: T. Kattmann % +% Institution: Robert Bosch GmbH % +% Date: 2020.12.15 % +% File Version 7.3.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= HEAT_EQUATION +% +OBJECTIVE_FUNCTION= AVG_TEMPERATURE +OBJECTIVE_WEIGHT= 1.0 +% +OPT_OBJECTIVE= AVG_TOTALTEMP +% +% ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% +% +INC_NONDIM= DIMENSIONAL +FREESTREAM_TEMPERATURE= 345.0 +MATERIAL_DENSITY= 2719 +SPECIFIC_HEAT_CP = 871.0 +THERMAL_CONDUCTIVITY_CONSTANT= 200 +% +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_HEATFLUX= (solid_pin1_inner, 5e5, \ + solid_pin2_inner, 5e5, \ + solid_pin3_inner, 5e5, \ + solid_pin1_walls, 0.0, \ + solid_pin2_walls, 0.0, \ + solid_pin3_walls, 0.0) +% +%MARKER_ISOTHERMAL= (solid_pin1_inner, 300, solid_pin2_inner, 300, solid_pin3_inner, 300, solid_pin1_walls, 300, solid_pin2_walls, 300, solid_pin3_walls, 300) +% +% ------------------------ SURFACES IDENTIFICATION ----------------------------% +% +MARKER_MONITORING = ( solid_pin2_inner ) +% +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= GREEN_GAUSS +CFL_NUMBER= 1e4 +% +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 1E-15 +LINEAR_SOLVER_ITER= 20 +% +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_RESIDUAL_MINVAL= -20 +CONV_STARTITER= 10000000000 +% +% -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% +% +TIME_DISCRE_HEAT= EULER_IMPLICIT +% +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +%MESH_FILENAME= solid.su2 +% +HISTORY_OUTPUT= (ITER, RMS_RES, HEAT, LINSOL) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DIRECT/configFluid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DIRECT/configFluid.cfg new file mode 100644 index 000000000000..2ea0a0b9ba86 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DIRECT/configFluid.cfg @@ -0,0 +1,127 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Unit Cell flow around pin array (fluid) % +% Author: T. Kattmann % +% Institution: Robert Bosch GmbH % +% Date: 2020.12.15 % +% File Version 7.3.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= INC_RANS +% +KIND_TURB_MODEL= SST +% +OBJECTIVE_FUNCTION= AVG_TEMPERATURE +OBJECTIVE_WEIGHT= 0.0 +% +OPT_OBJECTIVE= NONE +% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% +% +INC_DENSITY_MODEL= CONSTANT +INC_DENSITY_INIT= 1045.0 +INC_VELOCITY_INIT= ( 0.1, 0.0, 0.0 ) +% +INC_ENERGY_EQUATION = YES +INC_TEMPERATURE_INIT= 338.0 +INC_NONDIM= DIMENSIONAL +SPECIFIC_HEAT_CP= 3540.0 +% +FREESTREAM_TURBULENCEINTENSITY= 0.05 +FREESTREAM_TURB2LAMVISCRATIO= 10.0 +% +% --------------------------- VISCOSITY MODEL ---------------------------------% +% +VISCOSITY_MODEL= CONSTANT_VISCOSITY +MU_CONSTANT= 0.001385 +% +% --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% +% +% Pr_lam = mu_lam [Pa*s] * c_p [J/(kg*K)] / lambda[W/(m*K)] +% = 1.385e-3 * 3540 / 0.42 +% = 11.7 +CONDUCTIVITY_MODEL= CONSTANT_PRANDTL +PRANDTL_LAM= 11.7 +% +TURBULENT_CONDUCTIVITY_MODEL= CONSTANT_PRANDTL_TURB +PRANDTL_TURB= 0.90 +% +% --------------------- STREAMWISE PERIODICITY DEFINITION ---------------------% +% +KIND_STREAMWISE_PERIODIC= PRESSURE_DROP +STREAMWISE_PERIODIC_PRESSURE_DROP= 208.023676 +%STREAMWISE_PERIODIC_MASSFLOW= 0.85 +%INC_OUTLET_DAMPING= 0.001 +% +STREAMWISE_PERIODIC_TEMPERATURE= NO +% +% inner pin length 0.00376991 m = (0.00322-0.00262)*2*pi +% with 5e5 W/m that is Q = 1884.96 +STREAMWISE_PERIODIC_OUTLET_HEAT= -1884.96 +% +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_SYM= ( fluid_symmetry ) +MARKER_PERIODIC= ( fluid_inlet, fluid_outlet, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0111544,0.0,0.0 ) +% +% Alternative to periodic simulation with velocity inlet and pressure outlet +%MARKER_HEATFLUX= ( fluid_pin1_interface, 5e5, \ +% fluid_pin2_interface, 5e5, \ +% fluid_pin3_interface, 5e5 ) +% +% Alternative options for non-periodic flow +%INC_INLET_TYPE= VELOCITY_INLET +%MARKER_INLET= ( fluid_inlet, 338.0, 0.75, 1.0, 0.0, 0.0 ) +% Test vals to hinder outlet backflow +%MARKER_INLET= ( fluid_inlet, 338.0, 0.3, 1.0, 0.0, 0.0 ) +% +%INC_OUTLET_TYPE= PRESSURE_OUTLET +%MARKER_OUTLET= ( fluid_outlet, 0.0 ) +% +% ------------------------ SURFACES IDENTIFICATION ----------------------------% +% +MARKER_MONITORING= ( NONE ) +% +MARKER_ANALYZE = ( fluid_outlet, fluid_inlet ) +MARKER_ANALYZE_AVERAGE = MASSFLUX +% +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +%ITER= 3500 +NUM_METHOD_GRAD= GREEN_GAUSS +CFL_NUMBER= 1e3 +% +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 1e-15 +LINEAR_SOLVER_ITER= 10 +% +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +% +CONV_NUM_METHOD_FLOW= FDS +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= NONE +TIME_DISCRE_FLOW= EULER_IMPLICIT +% +% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% +% +CONV_NUM_METHOD_TURB= SCALAR_UPWIND +MUSCL_TURB= NO +SLOPE_LIMITER_TURB= NONE +TIME_DISCRE_TURB= EULER_IMPLICIT +% +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_RESIDUAL_MINVAL= -26 +CONV_STARTITER= 100000000 +% +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +%MESH_FILENAME= fluid.su2 +% +HISTORY_OUTPUT= ( ITER, RMS_RES, STREAMWISE_PERIODIC, FLOW_COEFF, LINSOL, HEAT ) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DIRECT/configSolid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DIRECT/configSolid.cfg new file mode 100644 index 000000000000..e586892b5cb8 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DIRECT/configSolid.cfg @@ -0,0 +1,69 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Unit Cell flow around pin array (solid) % +% Author: T. Kattmann % +% Institution: Robert Bosch GmbH % +% Date: 2020.12.15 % +% File Version 7.3.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= HEAT_EQUATION +% +OBJECTIVE_FUNCTION= AVG_TEMPERATURE +OBJECTIVE_WEIGHT= 1.0 +% +OPT_OBJECTIVE= AVG_TOTALTEMP +% +% ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% +% +INC_NONDIM= DIMENSIONAL +FREESTREAM_TEMPERATURE= 345.0 +MATERIAL_DENSITY= 2719 +SPECIFIC_HEAT_CP = 871.0 +THERMAL_CONDUCTIVITY_CONSTANT= 200 +% +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_HEATFLUX= (solid_pin1_inner, 5e5, \ + solid_pin2_inner, 5e5, \ + solid_pin3_inner, 5e5, \ + solid_pin1_walls, 0.0, \ + solid_pin2_walls, 0.0, \ + solid_pin3_walls, 0.0) +% +%MARKER_ISOTHERMAL= (solid_pin1_inner, 300, solid_pin2_inner, 300, solid_pin3_inner, 300, solid_pin1_walls, 300, solid_pin2_walls, 300, solid_pin3_walls, 300) +% +% ------------------------ SURFACES IDENTIFICATION ----------------------------% +% +MARKER_MONITORING = ( solid_pin2_inner ) +% +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= GREEN_GAUSS +CFL_NUMBER= 1e4 +% +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 1E-15 +LINEAR_SOLVER_ITER= 20 +% +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_RESIDUAL_MINVAL= -20 +CONV_STARTITER= 10000000000 +% +% -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% +% +TIME_DISCRE_HEAT= EULER_IMPLICIT +% +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +%MESH_FILENAME= solid.su2 +% +HISTORY_OUTPUT= (ITER, RMS_RES, HEAT, LINSOL) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/configFluid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/configFluid.cfg new file mode 100644 index 000000000000..2ea0a0b9ba86 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/configFluid.cfg @@ -0,0 +1,127 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Unit Cell flow around pin array (fluid) % +% Author: T. Kattmann % +% Institution: Robert Bosch GmbH % +% Date: 2020.12.15 % +% File Version 7.3.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= INC_RANS +% +KIND_TURB_MODEL= SST +% +OBJECTIVE_FUNCTION= AVG_TEMPERATURE +OBJECTIVE_WEIGHT= 0.0 +% +OPT_OBJECTIVE= NONE +% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% +% +INC_DENSITY_MODEL= CONSTANT +INC_DENSITY_INIT= 1045.0 +INC_VELOCITY_INIT= ( 0.1, 0.0, 0.0 ) +% +INC_ENERGY_EQUATION = YES +INC_TEMPERATURE_INIT= 338.0 +INC_NONDIM= DIMENSIONAL +SPECIFIC_HEAT_CP= 3540.0 +% +FREESTREAM_TURBULENCEINTENSITY= 0.05 +FREESTREAM_TURB2LAMVISCRATIO= 10.0 +% +% --------------------------- VISCOSITY MODEL ---------------------------------% +% +VISCOSITY_MODEL= CONSTANT_VISCOSITY +MU_CONSTANT= 0.001385 +% +% --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% +% +% Pr_lam = mu_lam [Pa*s] * c_p [J/(kg*K)] / lambda[W/(m*K)] +% = 1.385e-3 * 3540 / 0.42 +% = 11.7 +CONDUCTIVITY_MODEL= CONSTANT_PRANDTL +PRANDTL_LAM= 11.7 +% +TURBULENT_CONDUCTIVITY_MODEL= CONSTANT_PRANDTL_TURB +PRANDTL_TURB= 0.90 +% +% --------------------- STREAMWISE PERIODICITY DEFINITION ---------------------% +% +KIND_STREAMWISE_PERIODIC= PRESSURE_DROP +STREAMWISE_PERIODIC_PRESSURE_DROP= 208.023676 +%STREAMWISE_PERIODIC_MASSFLOW= 0.85 +%INC_OUTLET_DAMPING= 0.001 +% +STREAMWISE_PERIODIC_TEMPERATURE= NO +% +% inner pin length 0.00376991 m = (0.00322-0.00262)*2*pi +% with 5e5 W/m that is Q = 1884.96 +STREAMWISE_PERIODIC_OUTLET_HEAT= -1884.96 +% +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_SYM= ( fluid_symmetry ) +MARKER_PERIODIC= ( fluid_inlet, fluid_outlet, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0111544,0.0,0.0 ) +% +% Alternative to periodic simulation with velocity inlet and pressure outlet +%MARKER_HEATFLUX= ( fluid_pin1_interface, 5e5, \ +% fluid_pin2_interface, 5e5, \ +% fluid_pin3_interface, 5e5 ) +% +% Alternative options for non-periodic flow +%INC_INLET_TYPE= VELOCITY_INLET +%MARKER_INLET= ( fluid_inlet, 338.0, 0.75, 1.0, 0.0, 0.0 ) +% Test vals to hinder outlet backflow +%MARKER_INLET= ( fluid_inlet, 338.0, 0.3, 1.0, 0.0, 0.0 ) +% +%INC_OUTLET_TYPE= PRESSURE_OUTLET +%MARKER_OUTLET= ( fluid_outlet, 0.0 ) +% +% ------------------------ SURFACES IDENTIFICATION ----------------------------% +% +MARKER_MONITORING= ( NONE ) +% +MARKER_ANALYZE = ( fluid_outlet, fluid_inlet ) +MARKER_ANALYZE_AVERAGE = MASSFLUX +% +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +%ITER= 3500 +NUM_METHOD_GRAD= GREEN_GAUSS +CFL_NUMBER= 1e3 +% +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 1e-15 +LINEAR_SOLVER_ITER= 10 +% +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +% +CONV_NUM_METHOD_FLOW= FDS +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= NONE +TIME_DISCRE_FLOW= EULER_IMPLICIT +% +% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% +% +CONV_NUM_METHOD_TURB= SCALAR_UPWIND +MUSCL_TURB= NO +SLOPE_LIMITER_TURB= NONE +TIME_DISCRE_TURB= EULER_IMPLICIT +% +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_RESIDUAL_MINVAL= -26 +CONV_STARTITER= 100000000 +% +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +%MESH_FILENAME= fluid.su2 +% +HISTORY_OUTPUT= ( ITER, RMS_RES, STREAMWISE_PERIODIC, FLOW_COEFF, LINSOL, HEAT ) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/configSolid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/configSolid.cfg new file mode 100644 index 000000000000..e586892b5cb8 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/configSolid.cfg @@ -0,0 +1,69 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Unit Cell flow around pin array (solid) % +% Author: T. Kattmann % +% Institution: Robert Bosch GmbH % +% Date: 2020.12.15 % +% File Version 7.3.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= HEAT_EQUATION +% +OBJECTIVE_FUNCTION= AVG_TEMPERATURE +OBJECTIVE_WEIGHT= 1.0 +% +OPT_OBJECTIVE= AVG_TOTALTEMP +% +% ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% +% +INC_NONDIM= DIMENSIONAL +FREESTREAM_TEMPERATURE= 345.0 +MATERIAL_DENSITY= 2719 +SPECIFIC_HEAT_CP = 871.0 +THERMAL_CONDUCTIVITY_CONSTANT= 200 +% +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_HEATFLUX= (solid_pin1_inner, 5e5, \ + solid_pin2_inner, 5e5, \ + solid_pin3_inner, 5e5, \ + solid_pin1_walls, 0.0, \ + solid_pin2_walls, 0.0, \ + solid_pin3_walls, 0.0) +% +%MARKER_ISOTHERMAL= (solid_pin1_inner, 300, solid_pin2_inner, 300, solid_pin3_inner, 300, solid_pin1_walls, 300, solid_pin2_walls, 300, solid_pin3_walls, 300) +% +% ------------------------ SURFACES IDENTIFICATION ----------------------------% +% +MARKER_MONITORING = ( solid_pin2_inner ) +% +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= GREEN_GAUSS +CFL_NUMBER= 1e4 +% +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 1E-15 +LINEAR_SOLVER_ITER= 20 +% +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_RESIDUAL_MINVAL= -20 +CONV_STARTITER= 10000000000 +% +% -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% +% +TIME_DISCRE_HEAT= EULER_IMPLICIT +% +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +%MESH_FILENAME= solid.su2 +% +HISTORY_OUTPUT= (ITER, RMS_RES, HEAT, LINSOL) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/chtPinArray_2d.geo b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/chtPinArray_2d.geo new file mode 100644 index 000000000000..81db4d00be95 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/chtPinArray_2d.geo @@ -0,0 +1,429 @@ +// ------------------------------------------------------------------------- // +// T. Kattmann, 18.06.2019, 2D 2 Zone mesh +// Create the mesh by calling this geo file with 'gmsh .geo'. +// For multizone mesh the zonal meshes have to be created using the first +// option 'Which_Mesh_Part' below and have to be married appropriatley. +// ------------------------------------------------------------------------- // + +// Which domain part should be handled +Which_Mesh_Part= 1; // 0=all, 1=Fluid, 2=Solid, 3=InterfaceOnly +// Add outlet diffusor +OutletDiffusor= 0; // 0=false, 1=true +// Evoque Meshing Algorithm? +Do_Meshing= 1; // 0=false, 1=true +// Write Mesh files in .su2 format +Write_mesh= 1; // 0=false, 1=true +// Mesh Resolution +Mesh_Resolution= 2; // 0=debugRes, 1=Res1, 2=Res2 +// show the FFD corner points +FFD_corner_point= 1; // 0=false, 1=true + +// Free parameters +scale_factor= 1e-3; // scales Point positions from [mm] to [m] with 1e-3 +dist= 6.44 * scale_factor; // distance between pin midpoints, each pin has 6 surrounding pins, i.e. 60 deg between each +r_pin_lower= 2.0 * scale_factor; // lower pin radius +InnerRadiusFactor= 0.3; // Thickness of the pin solid (0.9=small pin wall, 0.1= close to filled circle arc). Requires 0 < value < 1. +// Diffusor inputs are below in the respective section + +// Dependent parameters +rad2deg= Pi/180; // conversion factor as gmsh Cos/Sin functions take radian values +length= 2 * Cos(30*rad2deg)*dist; // domain length (in x-dir) +width= Sin(30*rad2deg)*dist; // domain width (in y-dir) + +Printf("==================================="); +Printf("Free parameters:"); +Printf("-> distance between pins: %g", dist); +Printf("-> lower pin radius: %g", r_pin_lower); +Printf("Dependent parameters"); +Printf("-> length: %g", length); +Printf("-> width: %g", width); +Printf("==================================="); + +// Mesh inputs +gs = 0.5 *scale_factor; // gridsize + +If(Mesh_Resolution==0) // debugRes + // interface meshing parameteres. Also sufficient for fluid domain meshing. + N_x_flow= 10; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. + + N_y_flow = 10; // #gridpoints normal to pin surface, y-direction + R_y_flow= 1.08; // Progression normal to pin surface + + N_z_flow= 20; // #gridpoints in height z-direction + R_z_flow= 0.05; // Bump in height as top and bottom are walls + + // Additional meshing parameters for solid domain + N_y_innerPin= 5; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin + R_y_innerPin= 0.93; // Progression towards interface + N_z_solid= 10; // #points from bottom interface to heater surface + R_z_solid= 1.18; // progression for N_z_solid + +ElseIf(Mesh_Resolution==1) // Res1 + // interface meshing parameteres. Also sufficient for fluid domain meshing. + N_x_flow= 20; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. + + N_y_flow = 40; // #gridpoints normal to pin surface, y-direction + R_y_flow= 1.08; // Progression normal to pin surface + + N_z_flow= 100; // #gridpoints in height z-direction + R_z_flow= 0.05; // Bump in height as top and bottom are walls + + // Additional meshing parameters for solid domain + N_y_innerPin= 30; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin + R_y_innerPin= 0.93; // Progression towards interface + N_z_solid= 20; // #points from bottom interface to heater surface + R_z_solid= 1.18; // progression for N_z_solid + +ElseIf(Mesh_Resolution==2) // Res2 + // interface meshing parameteres. Also sufficient for fluid domain meshing. + N_x_flow= 30; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. + + N_y_flow = 50; // #gridpoints normal to pin surface, y-direction + R_y_flow= 1.08; // Progression normal to pin surface + + N_z_flow= 200; // #gridpoints in height z-direction + R_z_flow= 0.05; // Bump in height as top and bottom are walls + + // Additional meshing parameters for solid domain + N_y_innerPin= 40; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin + R_y_innerPin= 0.91; // Progression towards interface + N_z_solid= 30; // #points from bottom interface to heater surface + R_z_solid= 1.18; // progression for N_z_solid + +EndIf + +// Feasability checks +If (r_pin_lower >= width || + r_pin_lower <= 0) + Printf("Aborting! Bad Inputs"); + Abort; +EndIf + +// Show and print possible FFD corner points +If (FFD_corner_point==1) + boxFactor= 1.3; + + xLo= 0.5*length - boxFactor*r_pin_lower; + xHi= 0.5*length + boxFactor*r_pin_lower; + yLo= 0; + yHi= boxFactor*r_pin_lower; + + // counterclockwise from lowest x&y value + Printf("==================================="); + Printf("FFD corner points:"); + Printf("%g | %g", xLo, yLo); + Printf("%g | %g", xHi, yLo); + Printf("%g | %g", xHi, yHi); + Printf("%g | %g", xLo, yHi); + Printf("==================================="); + + Point(1000) = {xLo, yLo, 0, gs}; + Point(1001) = {xHi, yLo, 0, gs}; + Point(1002) = {xHi, yHi, 0, gs}; + Point(1003) = {xLo, yHi, 0, gs}; + + Line(1000) = {1000,1001}; + Line(1001) = {1001,1002}; + Line(1002) = {1002,1003}; + Line(1003) = {1003,1000}; +EndIf + +// ------------------------------------------------------------------------- // +// CHT Interface, complete description as it is part of fluid and solid +// Id's starting with in the range (1-99) +// Interface only description +If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1 || Which_Mesh_Part == 2 || Which_Mesh_Part == 3) + // Points + // Lower Pin1 + Point(10) = {0, width, 0, gs}; // lower pin1 midpoint + Point(11) = {0, width-r_pin_lower, 0, gs}; // lower pin1 on inlet + Point(12) = {Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower, 0, gs}; // lower pin1 in between + Point(13) = {r_pin_lower, width, 0, gs}; // lower pin1 on sym + Circle(10) = {11,10,12}; // lower pin1 smaller first part + Circle(11) = {12,10,13}; // lower pin1 larger second part + + // Lower Pin2 + Point(20) = {0.5*length, 0, 0, gs}; // pin midpoint + Point(21) = {0.5*length - r_pin_lower, 0, 0, gs}; // lower small x + Point(22) = {length/2 - Sin(30*rad2deg)*r_pin_lower, Cos(30*rad2deg)*r_pin_lower, 0, gs}; // small intermediate + Point(23) = {length/2 + Sin(30*rad2deg)*r_pin_lower, Cos(30*rad2deg)*r_pin_lower, 0, gs}; // large intermediate + Point(24) = {0.5*length + r_pin_lower, 0, 0, gs}; // lower large x + Circle(20) = {21,20,22}; // first segment + Circle(21) = {22,20,23}; // second segment + Circle(22) = {23,20,24}; // third segment + + // lower Pin3 + Point(30) = {length, width, 0, gs}; // midpoint + Point(31) = {length, width-r_pin_lower, 0, gs}; // on outlet + Point(32) = {length-Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower,0, gs}; + Point(33) = {length - r_pin_lower, width, 0, gs}; // on sym + Circle(30) = {31,30,32}; // first segment + Circle(31) = {32,30,33}; // second segment + + // No progression in flow direction on the pin surface + Transfinite Line {11,20,21,22,31} = N_x_flow; + Transfinite Line {10,30} = N_x_flow/2; + + //Physical Tags + If (Which_Mesh_Part==1) + Physical Line("fluid_pin1_interface") = {10, 11}; + Physical Line("fluid_pin2_interface") = {20, 21, 22}; + Physical Line("fluid_pin3_interface") = {30, 31}; + + ElseIf (Which_Mesh_Part==2) + Physical Line("solid_pin1_interface") = {10, 11}; + Physical Line("solid_pin2_interface") = {20, 21, 22}; + Physical Line("solid_pin3_interface") = {30, 31}; + + EndIf + +EndIf + +// ------------------------------------------------------------------------- // +// Fluid only description +If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1) + + // lower additional structured mesh points + Point(40) = {length/4 + Tan(30*rad2deg)*width/2, width, 0, gs}; // first half, large y + Point(41) = {length/4 - Tan(30*rad2deg)*width/2, 0, 0, gs}; // first half, small y + Point(42) = {length*3/4 - Tan(30*rad2deg)*width/2, width, 0, gs}; // second half, large y + Point(43) = {length*3/4 + Tan(30*rad2deg)*width/2, 0, 0, gs}; // second half, small y + Point(44) = {0, 0, 0, gs}; // corner point inlet + Point(45) = {length, 0, 0, gs}; // corner point outlet + + // lower additional structured mesh lines + // outer boundary + Line(40) = {11, 44}; + Line(41) = {44, 41}; + Line(42) = {41, 21}; + Line(43) = {43, 24}; + Line(44) = {43, 45}; + Line(45) = {45, 31}; + Line(46) = {33, 42}; + Line(47) = {42, 40}; + Line(48) = {40, 13}; + // inner lines + Line(49) = {41, 12}; + Line(50) = {41, 40}; + Line(51) = {22, 40}; + Line(52) = {23, 42}; + Line(53) = {42, 43}; + Line(54) = {43, 32}; + + // line loops and surfaces on lower domain interface + Line Loop(10) = {40, 41, 49, -10}; Plane Surface(10) = {10}; + Line Loop(11) = {-49, 50, 48, -11}; Plane Surface(11) = {11}; + Line Loop(12) = {42, 20, 51, -50}; Plane Surface(12) = {12}; + Line Loop(13) = {-51, 21, 52, 47}; Plane Surface(13) = {13}; + Line Loop(14) = {53, 43, -22, 52}; Plane Surface(14) = {14}; + Line Loop(15) = {53, 54, 31, 46}; Plane Surface(15) = {15}; + Line Loop(16) = {44, 45, 30, -54}; Plane Surface(16) = {16}; + + // No progression in flow direction on the pin surface + Transfinite Line {50,47,53} = N_x_flow; + Transfinite Line {41,44} = N_x_flow/2; + // Progression normal to the pin surface + Transfinite Line {40, -49, -48, -42, 51, 52, -43, 46, -54, -45} = N_y_flow Using Progression R_y_flow; + + // Physical tags + Physical Line("fluid_inlet") = {40}; + If(OutletDiffusor==0) Physical Line("fluid_outlet") = {45}; EndIf // + Physical Line("fluid_symmetry") = {41,42,43,44,46,47,48}; + Physical Surface("fluid_surf") = {10,11,12,13,14,15,16}; + +EndIf + +// ------------------------------------------------------------------------- // +// Solid only description +If (Which_Mesh_Part == 0 || Which_Mesh_Part == 2) + + If(1==1) // Pin1 solid + // Solid inner pin 1 and bottom300-er range + // pin 1 + Point(301) = {InnerRadiusFactor*0, width-r_pin_lower*InnerRadiusFactor, 0, gs}; // lower pin1 on inlet + Point(302) = {InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower*InnerRadiusFactor, 0, gs}; // lower pin1 in between + Point(303) = {InnerRadiusFactor*r_pin_lower, width, 0, gs}; // lower pin1 on sym + Circle(301) = {301,10,302}; + Circle(302) = {302,10,303}; + + // pin 1 additional lines + Line(306) = {301, 11}; + Line(307) = {302, 12}; + Line(308) = {303, 13}; + + Curve Loop(17) = {306, 10, -307, -301}; Surface(17) = {17}; + Curve Loop(18) = {302, 308, -11, -307}; Surface(18) = {18}; + + Transfinite Line {302} = N_x_flow; + Transfinite Line {301} = N_x_flow/2; + Transfinite Line {306,307,308} = N_y_innerPin Using Progression R_y_innerPin; + + Physical Line("solid_pin1_inner") = {301,302}; + Physical Line("solid_pin1_walls") = {306,308}; + Physical Surface("solid_surf") = {17,18}; + + EndIf + + If(1==1) // Pin2 solid + // Solid inner half pin 2 and bottome300-er range (copied from interface and solid pin parts) + // Lower Pin2 + Point(320) = {0.5*length, 0, 0, gs}; // pin midpoint + Point(321) = {0.5*length - InnerRadiusFactor*r_pin_lower, InnerRadiusFactor*0, 0, gs}; // lower small x + Point(322) = {length/2 - InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower, 0, gs}; // small intermediate + Point(323) = {length/2 + InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower, 0, gs}; // large intermediate + Point(324) = {0.5*length + InnerRadiusFactor*r_pin_lower, InnerRadiusFactor*0, 0, gs}; // lower large x + Circle(320) = {321,20,322}; // first segment + Circle(321) = {322,20,323}; // second segment + Circle(322) = {323,20,324}; // third segment + + // pin 2 additional connecting lines + Line(333) = {21, 321}; // lower + Line(334) = {22, 322}; + Line(335) = {23, 323}; + Line(336) = {24, 324}; + + Curve Loop(19) = {333, 320, -334, -20}; Surface(19) = {19}; + Curve Loop(20) = {21, 335, -321, -334}; Surface(20) = {20}; + Curve Loop(21) = {322, -336, -22, 335}; Surface(21) = {21}; + + // structured parts + Transfinite Line {-333, -334, -335, -336} = N_y_innerPin Using Progression R_y_innerPin; // lines pointing into circle midpoint + Transfinite Line {320, 321, 322} = N_x_flow; // circle arcs + + Physical Line("solid_pin2_inner") = {320,321,322}; + Physical Line("solid_pin2_walls") = {333, 336}; + Physical Surface("solid_surf") += {19,20,21}; + + EndIf + + If(1==1) // Pin3 solid + // pin 3 structured + // lower Pin3 + Point(341) = {length, width-InnerRadiusFactor*r_pin_lower, 0, gs}; // on outlet + Point(342) = {length-InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, width-InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower,0, gs}; + Point(343) = {length - InnerRadiusFactor*r_pin_lower, width, 0, gs}; // on sym + Circle(350) = {341, 30, 342}; + Circle(351) = {342, 30, 343}; + + // pin 3 additional connecting lines + Line(352) = {341, 31}; + Line(353) = {342, 32}; + Line(354) = {343, 33}; + + Curve Loop(22) = {354, -31, -353, 351}; Surface(22) = {22}; + Curve Loop(23) = {350, 353, -30, -352}; Surface(23) = {23}; + + Transfinite Line {351} = N_x_flow; + Transfinite Line {350} = N_x_flow/2; + Transfinite Line {352,353,354} = N_y_innerPin Using Progression R_y_innerPin; + + Physical Line("solid_pin3_inner") = {351,350}; + Physical Line("solid_pin3_walls") = {354}; + If(OutletDiffusor==0) Physical Line("solid_pin3_walls") += {352}; EndIf + Physical Surface("solid_surf") += {22,23}; + + EndIf + +EndIf + +// ------------------------------------------------------------------------- // +// Outlet Diffusor description (200er range) +If (OutletDiffusor == 1) + + diffusorLength= 0.005; // length from old to new outlet + diffusorShrinkFactor= 0.8; // (new outlet height)/(old outlet height) + + // CHT Interface definition + If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1 || Which_Mesh_Part == 2 || Which_Mesh_Part == 3) + Point(201) = {length+diffusorLength, (width-r_pin_lower)*diffusorShrinkFactor,0,gs}; // top right + Line(200) = {31,201}; + + Transfinite Line {200} = N_x_flow*2; + + //Physical Tags + If (Which_Mesh_Part==1) + Physical Line("fluid_pin3_interface_diffusor") = {200}; + ElseIf (Which_Mesh_Part==2) + Physical Line("solid_pin3_interface_diffusor") = {200}; + EndIf + + EndIf + + // Fluid Part + If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1) + Point(200) = {length+diffusorLength,0,0,gs}; // bottom right + + Line(201) = {45,200}; + Line(202) = {201,200}; // new outlet + + Curve Loop(24) = {200, 202, -201, 45}; Plane Surface(24) = {24}; + + // make structured + // No progression in flow direction on the pin surface + Transfinite Line {201} = N_x_flow*2; + // Progression normal to the pin surface + Transfinite Line {202} = N_y_flow Using Progression R_y_flow; + + // Physical tags + Physical Line("fluid_outlet") = {202}; + Physical Line("fluid_symmetry") += {201}; + Physical Surface("fluid_surf") += {24}; + + EndIf + + // Solid Part + If (Which_Mesh_Part == 0 || Which_Mesh_Part == 2) + Point(210) = {length+diffusorLength, ((width-r_pin_lower)*diffusorShrinkFactor)+(width-r_pin_lower),0,gs}; // top right + + Line(210) = {341,210}; + Line(211) = {210,201}; + + Curve Loop(25) = {210, 211, -200, -352}; Plane Surface(25) = {25}; + + Transfinite Line {210} = N_x_flow*2; + Transfinite Line {211} = N_y_innerPin Using Progression R_y_innerPin; + + Physical Line("solid_pin3_inner_diffusor") = {210}; + Physical Line("solid_pin3_walls") += {211}; + Physical Surface("solid_surf") += {25}; + + EndIf + +EndIf + +// ------------------------------------------------------------------------- // +// Meshing +Coherence; +Transfinite Surface "*"; +Recombine Surface "*"; +Transfinite Volume "*"; + +If (Do_Meshing == 1) + Mesh 1; Mesh 2; Mesh 3; +EndIf + +// ------------------------------------------------------------------------- // +// Write .su2 meshfile +If (Write_mesh == 1) + + Mesh.Format = 42; // .su2 mesh format, + If (Which_Mesh_Part == 1) + If (OutletDiffusor==0) + Save "fluid.su2"; + Else + Save "fluid_diffusor.su2"; + EndIf + + ElseIf (Which_Mesh_Part == 2) + If (OutletDiffusor==0) + Save "solid.su2"; + Else + Save "solid_diffusor.su2"; + EndIf + + Else + Printf("Unvalid Which_Mesh_Part variable for output writing."); + Abort; + EndIf + +EndIf diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/3D_pinArray.geo b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/3D_pinArray.geo new file mode 100644 index 000000000000..2d3644d489b9 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/3D_pinArray.geo @@ -0,0 +1,896 @@ +// ------------------------------------------------------------------------- // +// T. Kattmann, 18.06.2019, 3D 2 Zone mesh +// Create the mesh by calling this geo file with 'gmsh .geo'. +// For multizone mesh the zonal meshes have to be created using the first +// option 'Which_Mesh_Part' below and have to be married appropriatley. +// ------------------------------------------------------------------------- // + +// Which domain part should be handled +Which_Mesh_Part= 1; // 0=all, 1=Fluid, 2=Solid, 3=InterfaceOnly +// Evoque Meshing Algorithm? +Do_Meshing= 1; // 0=false, 1=true +// Write Mesh files in .su2 format +Write_mesh= 1; // 0=false, 1=true +// Mesh Resolution +Mesh_Resolution= 1; // 0=debugRes, 1=Res1, 2=Res2 +// Have conical pins? +ConicalPins= 1; // 0=No, i.e. cylindrical, 1=Yes + +// Free parameters +scale_factor= 1e-3; // scales Point positions from [mm] to [m] with 1e-3 +dist= 6.44 * scale_factor; // distance between pin midpoints, each pin has 6 surrounding pins, i.e. 60 deg between each +upper_h= 10.0 * scale_factor; // height (z-dir) of fluid domain/pins +lower_h= 5.0 * scale_factor; // height (z-dir) of solid domain/pins + +If (ConicalPins==0) // cylindrical + r_pin_lower= 2.0 * scale_factor; // lower pin radius + r_pin_upper= 2.0 * scale_factor; // upper pin radius +ElseIf(ConicalPins==1) // conical + r_pin_lower= 2.3 * scale_factor; // lower pin radius + r_pin_upper= 0.56 * scale_factor; // upper pin radius +EndIf + +// Dependent parameters +rad2deg= Pi/180; // conversion factor as gmsh Cos/Sin functions take radian values +length= 2 * Cos(30*rad2deg)*dist; // length (in x-dir) +width= Sin(30*rad2deg)*dist; // width (in y-dir) + +Printf("==================================="); +Printf("Free parameters:"); +Printf("-> distance between pins: %g", dist); +Printf("-> lower pin radius: %g", r_pin_lower); +Printf("-> upper pin radius: %g", r_pin_upper); +Printf("Dependent parameters"); +Printf("-> length: %g", length); +Printf("-> width: %g", width); +Printf("Fixed parameters"); +Printf("-> pin height: %g", upper_h); +Printf("-> solid thickness: %g", lower_h); +Printf("==================================="); + +// Mesh inputs +gs = 0.5 *scale_factor; // gridsize + +If(Mesh_Resolution==0) // debugRes + // interface meshing parameteres. Also sufficient for fluid domain meshing. + N_x_flow= 10; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. + + N_y_flow = 10; // #gridpoints normal to pin surface, y-direction + R_y_flow= 1.08; // Progression normal to pin surface + + N_z_flow= 20; // #gridpoints in height z-direction + R_z_flow= 0.05; // Bump in height as top and bottom are walls + + // Additional meshing parameters for solid domain + InnerRadiusFactor= 0.6; // How much of the inner pin is unstructured mesh (0.9=mostly unstructured, 0.1= mostly structured). Requires 0 < value < 1. + N_y_innerPin= 5; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin + R_y_innerPin= 0.93; // Progression towards interface + N_z_solid= 10; // #points from bottom interface to heater surface + R_z_solid= 1.18; // progression for N_z_solid + +ElseIf(Mesh_Resolution==1) // Res1 + // interface meshing parameteres. Also sufficient for fluid domain meshing. + N_x_flow= 20; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. + + N_y_flow = 40; // #gridpoints normal to pin surface, y-direction + R_y_flow= 1.08; // Progression normal to pin surface + + N_z_flow= 100; // #gridpoints in height z-direction + R_z_flow= 0.05; // Bump in height as top and bottom are walls + + // Additional meshing parameters for solid domain + InnerRadiusFactor= 0.6; // How much of the inner pin is unstructured mesh (0.9=mostly unstructured, 0.1= mostly structured). Requires 0 < value < 1. + N_y_innerPin= 30; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin + R_y_innerPin= 0.93; // Progression towards interface + N_z_solid= 20; // #points from bottom interface to heater surface + R_z_solid= 1.18; // progression for N_z_solid + +ElseIf(Mesh_Resolution==2) // Res2 + // interface meshing parameteres. Also sufficient for fluid domain meshing. + N_x_flow= 30; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. + + N_y_flow = 50; // #gridpoints normal to pin surface, y-direction + R_y_flow= 1.08; // Progression normal to pin surface + + N_z_flow= 200; // #gridpoints in height z-direction + R_z_flow= 0.05; // Bump in height as top and bottom are walls + + // Additional meshing parameters for solid domain + InnerRadiusFactor= 0.6; // How much of the inner pin is unstructured mesh (0.9=mostly unstructured, 0.1= mostly structured). Requires 0 < value < 1. + N_y_innerPin= 40; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin + R_y_innerPin= 0.93; // Progression towards interface + N_z_solid= 30; // #points from bottom interface to heater surface + R_z_solid= 1.18; // progression for N_z_solid + +EndIf + +// Feasability checks +If (r_pin_lower >= width || + r_pin_upper >= width || + r_pin_lower <= 0 || + r_pin_upper <= 0) + Printf("Aborting! Bad Inputs"); + Abort; +EndIf + +// ------------------------------------------------------------------------- // +// Point distribution rules: +// Line/curve orientation rules (in that order): +// 1. always pointing in positive z-direction +// 2. in x-y-plane, always pointing in positive x-direction +// 3. in y-direction, always pointing in positive y-direction +// Surface normal orientation rules: none + +// ------------------------------------------------------------------------- // +// CHT Interface, complete description as it is part of fluid and solid +// Id's starting with in the range (1-99) + +// Points +// Lower Pin1 +Point(10) = {0, width, 0, gs}; // lower pin1 midpoint +Point(11) = {0, width-r_pin_lower, 0, gs}; // lower pin1 on inlet +Point(12) = {Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower, 0, gs}; // lower pin1 in between +Point(13) = {r_pin_lower, width, 0, gs}; // lower pin1 on sym +Circle(10) = {11,10,12}; // lower pin1 smaller first part +Circle(11) = {12,10,13}; // lower pin1 larger second part + +// Lower Pin2 +Point(20) = {0.5*length, 0, 0, gs}; // pin midpoint +Point(21) = {0.5*length - r_pin_lower, 0, 0, gs}; // lower small x +Point(22) = {length/2 - Sin(30*rad2deg)*r_pin_lower, Cos(30*rad2deg)*r_pin_lower, 0, gs}; // small intermediate +Point(23) = {length/2 + Sin(30*rad2deg)*r_pin_lower, Cos(30*rad2deg)*r_pin_lower, 0, gs}; // large intermediate +Point(24) = {0.5*length + r_pin_lower, 0, 0, gs}; // lower large x +Circle(20) = {21,20,22}; // first segment +Circle(21) = {22,20,23}; // second segment +Circle(22) = {23,20,24}; // third segment + +// lower Pin3 +Point(30) = {length, width, 0, gs}; // midpoint +Point(31) = {length, width-r_pin_lower, 0, gs}; // on outlet +Point(32) = {length-Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower,0, gs}; +Point(33) = {length - r_pin_lower, width, 0, gs}; // on sym +Circle(30) = {31,30,32}; // first segment +Circle(31) = {32,30,33}; // second segment + +// lower additional structured mesh points +Point(40) = {length/4 + Tan(30*rad2deg)*width/2, width, 0, gs}; // first half, large y +Point(41) = {length/4 - Tan(30*rad2deg)*width/2, 0, 0, gs}; // first half, small y +Point(42) = {length*3/4 - Tan(30*rad2deg)*width/2, width, 0, gs}; // second half, large y +Point(43) = {length*3/4 + Tan(30*rad2deg)*width/2, 0, 0, gs}; // second half, small y +Point(44) = {0, 0, 0, gs}; // corner point inlet +Point(45) = {length, 0, 0, gs}; // corner point outlet + +// lower additional structured mesh lines +// outer boundary +Line(40) = {11, 44}; +Line(41) = {44, 41}; +Line(42) = {41, 21}; +Line(43) = {43, 24}; +Line(44) = {43, 45}; +Line(45) = {45, 31}; +Line(46) = {33, 42}; +Line(47) = {42, 40}; +Line(48) = {40, 13}; +// inner lines +Line(49) = {41, 12}; +Line(50) = {41, 40}; +Line(51) = {22, 40}; +Line(52) = {23, 42}; +Line(53) = {42, 43}; +Line(54) = {43, 32}; + +// line loops and surfaces on lower domain interface +Line Loop(10) = {40, 41, 49, -10}; Plane Surface(10) = {10}; +Line Loop(11) = {-49, 50, 48, -11}; Plane Surface(11) = {11}; +Line Loop(12) = {42, 20, 51, -50}; Plane Surface(12) = {12}; +Line Loop(13) = {-51, 21, 52, 47}; Plane Surface(13) = {13}; +Line Loop(14) = {53, 43, -22, 52}; Plane Surface(14) = {14}; +Line Loop(15) = {53, 54, 31, 46}; Plane Surface(15) = {15}; +Line Loop(16) = {44, 45, 30, -54}; Plane Surface(16) = {16}; + +// No progression in flow direction on the pin surface +Transfinite Line {11,50,20,47,21,22,53,31} = N_x_flow; +Transfinite Line {10,41,30,44} = N_x_flow/2; +// Progression normal to the pin surface +Transfinite Line {40, -49, -48, -42, 51, 52, -43, 46, -54, -45} = N_y_flow Using Progression R_y_flow; + +// Upper Pin1 +Point(10+100) = {0, width, upper_h, gs}; // lower pin1 midpoint +Point(11+100) = {0, width-r_pin_upper, upper_h, gs}; // lower pin1 on inlet +Point(12+100) = {Sin(30*rad2deg)*r_pin_upper, width-Cos(30*rad2deg)*r_pin_upper, upper_h, gs}; // lower pin1 in between +Point(13+100) = {r_pin_upper, width, upper_h, gs}; // lower pin1 on sym +Circle(10+100) = {11+100,10+100,12+100}; // lower pin1 smaller first part +Circle(11+100) = {12+100,10+100,13+100}; // lower pin1 larger second part + +// Upper Pin2 +Point(20+100) = {0.5*length, 0, upper_h, gs}; // pin midpoint +Point(21+100) = {0.5*length - r_pin_upper, 0, upper_h, gs}; // lower small x +Point(22+100) = {length/2 - Sin(30*rad2deg)*r_pin_upper, Cos(30*rad2deg)*r_pin_upper, upper_h, gs}; // small intermediate +Point(23+100) = {length/2 + Sin(30*rad2deg)*r_pin_upper, Cos(30*rad2deg)*r_pin_upper, upper_h, gs}; // large intermediate +Point(24+100) = {0.5*length + r_pin_upper, 0, upper_h, gs}; // lower large x +Circle(20+100) = {21+100,20+100,22+100}; // first segment +Circle(21+100) = {22+100,20+100,23+100}; // second segment +Circle(22+100) = {23+100,20+100,24+100}; // third segment + +// Upper Pin3 +Point(30+100) = {length, width, upper_h, gs}; // midpoint +Point(31+100) = {length, width-r_pin_upper, upper_h, gs}; // on outlet +Point(32+100) = {length-Sin(30*rad2deg)*r_pin_upper, width-Cos(30*rad2deg)*r_pin_upper, upper_h, gs}; +Point(33+100) = {length - r_pin_upper, width, upper_h, gs}; // on sym +Circle(30+100) = {31+100,30+100,32+100}; // first segment +Circle(31+100) = {32+100,30+100,33+100}; // second segment + +// connection in height/z-direction +// Pin1 +Line(61) = {11,11+100}; +Line(62) = {12,12+100}; +Line(63) = {13,13+100}; + +// Pin2 +Line(71) = {21,21+100}; +Line(72) = {22,22+100}; +Line(73) = {23,23+100}; +Line(74) = {24,24+100}; + +// Pin3 +Line(81) = {31,31+100}; +Line(82) = {32,32+100}; +Line(83) = {33,33+100}; + +// Pin surfaces +Line Loop(20) = {61, 10+100, -62, -10}; Surface(20) = {20}; +Line Loop(21) = {62, 11+100, -63, -11}; Surface(21) = {21}; +Line Loop(22) = {71, 20+100, -72, -20}; Surface(22) = {22}; +Line Loop(23) = {73, -(21+100), -72, 21}; Surface(23) = {23}; +Line Loop(24) = {74, -(22+100), -73, 22}; Surface(24) = {24}; +Line Loop(25) = {83, -(31+100), -82, 31}; Surface(25) = {25}; +Line Loop(26) = {82, -(30+100), -81, 30}; Surface(26) = {26}; + +Transfinite Line {11+100,20+100,21+100,22+100,31+100} = N_x_flow; +Transfinite Line {10+100,30+100} = N_x_flow/2; +Transfinite Line {61,62,63,71,72,73,74,81,82,83} = N_z_flow Using Bump R_z_flow; + +//Physical Tags +If (Which_Mesh_Part==1) + //Physical Surface("fluid_interface") = {10, 11, 12, 13, 14, 15, 16, 20, 21, 22, 23, 24, 25, 26}; + Physical Surface("fluid_bottom_interface") = {13, 14, 15, 12, 11, 16, 10}; + Physical Surface("fluid_pin1") = {20, 21}; + Physical Surface("fluid_pin2") = {24, 23, 22}; + Physical Surface("fluid_pin3") = {25, 26}; + +ElseIf (Which_Mesh_Part==2) + //Physical Surface("solid_interface") = {13, 14, 15, 12, 11, 16, 10, 20, 21, 24, 23, 22, 25, 26}; + Physical Surface("solid_bottom_interface") = {13, 14, 15, 12, 11, 16, 10}; + Physical Surface("solid_pin1") = {20, 21}; + Physical Surface("solid_pin2") = {24, 23, 22}; + Physical Surface("solid_pin3") = {25, 26}; + +EndIf +// ------------------------------------------------------------------------- // +If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1) // fluid only + // Fluid only description + // upper additional structured mesh points + Point(40+100) = {length/4 + Tan(30*rad2deg)*width/2, width, upper_h, gs}; // first half, large y + Point(41+100) = {length/4 - Tan(30*rad2deg)*width/2, 0, upper_h, gs}; // first half, small y + Point(42+100) = {length*3/4 - Tan(30*rad2deg)*width/2, width, upper_h, gs}; // second half, large y + Point(43+100) = {length*3/4 + Tan(30*rad2deg)*width/2, 0, upper_h, gs}; // second half, small y + Point(44+100) = {0, 0, upper_h, gs}; // corner point inlet + Point(45+100) = {length, 0, upper_h, gs}; // corner point outlet + + // y+ setting helper points + If(1==0) + Point(10000) = {0, width-r_pin_upper, upper_h, gs}; // lower pin1 on inlet + Point(10001) = {0, width-r_pin_upper-2.0e-5, upper_h, gs}; // lower pin1 on inlet + Line(10000) = {10000,10001}; + EndIf + // upper additional structured mesh lines + // outer boundary + Line(40+100) = {11+100, 44+100}; + Line(41+100) = {44+100, 41+100}; + Line(42+100) = {41+100, 21+100}; + Line(43+100) = {43+100, 24+100}; + Line(44+100) = {43+100, 45+100}; + Line(45+100) = {45+100, 31+100}; + Line(46+100) = {33+100, 42+100}; + Line(47+100) = {42+100, 40+100}; + Line(48+100) = {40+100, 13+100}; + // inner lines + Line(49+100) = {41+100, 12+100}; + Line(50+100) = {41+100, 40+100}; + Line(51+100) = {22+100, 40+100}; + Line(52+100) = {23+100, 42+100}; + Line(53+100) = {42+100, 43+100}; + Line(54+100) = {43+100, 32+100}; + + // line loops and surfaces on lower domain interface + Line Loop(10+100) = {40+100, 41+100, 49+100, -(10+100)}; Plane Surface(10+100) = {10+100}; + Line Loop(11+100) = {-(49+100), 50+100, 48+100, -(11+100)}; Plane Surface(11+100) = {11+100}; + Line Loop(12+100) = {42+100, 20+100, 51+100, -(50+100)}; Plane Surface(12+100) = {12+100}; + Line Loop(13+100) = {-(51+100), 21+100, 52+100, 47+100}; Plane Surface(13+100) = {13+100}; + Line Loop(14+100) = {53+100, 43+100, -(22+100), 52+100}; Plane Surface(14+100) = {14+100}; + Line Loop(15+100) = {53+100, 54+100, 31+100, 46+100}; Plane Surface(15+100) = {15+100}; + Line Loop(16+100) = {44+100, 45+100, 30+100, -(54+100)}; Plane Surface(16+100) = {16+100}; + + // No progression in flow direction on the pin surface + Transfinite Line {50+100,47+100,53+100} = N_x_flow; + Transfinite Line {41+100,44+100} = N_x_flow/2; + // Progression normal to the pin surface + Transfinite Line {40+100, -(49+100), -(48+100), -(42+100), 51+100, 52+100, -(43+100), 46+100, -(54+100), -(45+100)} = N_y_flow Using Progression R_y_flow; + + // Side Faces on the outside of the domain + // additional lines in z-direction on fluid boundary + Line(160) = {44, 144}; + Line(161) = {41, 141}; + Line(162) = {43, 143}; + Line(163) = {45, 145}; + Line(164) = {42, 142}; + Line(165) = {40, 140}; + Transfinite Line {160,161,162,163,164,165} = N_z_flow Using Bump 0.1; + + // Side-faces + Line Loop(117) = {61, 140, -160, -40}; Surface(117) = {117}; + Line Loop(118) = {160, 141, -161, -41}; Surface(118) = {118}; + Line Loop(119) = {161, 142, -71, -42}; Surface(119) = {119}; + Line Loop(120) = {74, -143, -162, 43}; Surface(120) = {120}; + Line Loop(121) = {162, 144, -163, -44}; Surface(121) = {121}; + Line Loop(122) = {163, 145, -81, -45}; Surface(122) = {122}; + Line Loop(123) = {83, 146, -164, -46}; Surface(123) = {123}; + Line Loop(124) = {164, 147, -165, -47}; Surface(124) = {124}; + Line Loop(125) = {165, 148, -63, -48}; Surface(125) = {125}; + + // Internal fluid faces + Line Loop(126) = {62, -149, -161, 49}; Surface(126) = {126}; + Line Loop(127) = {165, -150, -161, 50}; Surface(127) = {127}; + Line Loop(128) = {165, -151, -72, 51}; Surface(128) = {128}; + Line Loop(129) = {164, -152, -73, 52}; Surface(129) = {129}; + Line Loop(130) = {164, 153, -162, -53}; Surface(130) = {130}; + Line Loop(131) = {82, -154, -162, 54}; Surface(131) = {131}; + + // Definition + Surface Loop(1) = {110, 117, 20, 10, 118, 126}; Volume(1) = {1}; + Surface Loop(2) = {111, 125, 21, 11, 126, 127}; Volume(2) = {2}; + Surface Loop(3) = {112, 119, 22, 12, 127, 128}; Volume(3) = {3}; + Surface Loop(4) = {113, 23, 13, 124, 128, 129}; Volume(4) = {4}; + Surface Loop(5) = {114, 120, 24, 14, 129, 130}; Volume(5) = {5}; + Surface Loop(6) = {115, 25, 123, 15, 130, 131}; Volume(6) = {6}; + Surface Loop(7) = {116, 121, 122, 26, 16, 131}; Volume(7) = {7}; + + //Physical Tags + Physical Volume("fluid_volume") = {1, 2, 3, 4, 5, 6, 7}; + Physical Surface("fluid_top") = {110, 111, 112, 113, 114, 115, 116}; + Physical Surface("fluid_inlet") = {117}; + Physical Surface("fluid_outlet") = {122}; + Physical Surface("fluid_sym_sides") = {119, 118, 120, 121, 123, 124, 125}; + +EndIf + +// ------------------------------------------------------------------------- // +// Solid only description +If (Which_Mesh_Part == 0 || Which_Mesh_Part == 2) + + If (1==1) // Pin 1 Solid + // Solid inner pin 1 and bottom300-er range + // pin 1 lower + Point(301) = {InnerRadiusFactor*0, width-r_pin_lower*InnerRadiusFactor, 0, gs}; // lower pin1 on inlet + Point(302) = {InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower*InnerRadiusFactor, 0, gs}; // lower pin1 in between + Point(303) = {InnerRadiusFactor*r_pin_lower, width, 0, gs}; // lower pin1 on sym + Line(301) = {301,302}; + Line(302) = {302,303}; + + // pin 1 upper + Point(304) = {InnerRadiusFactor*0, width-r_pin_upper*InnerRadiusFactor, upper_h, gs}; // lower pin1 on inlet + Point(305) = {InnerRadiusFactor*Sin(30*rad2deg)*r_pin_upper, width-Cos(30*rad2deg)*r_pin_upper*InnerRadiusFactor, upper_h, gs}; // lower pin1 in between + Point(306) = {InnerRadiusFactor*r_pin_upper, width, upper_h, gs}; // lower pin1 on sym + Line(303) = {304,305}; + Line(304) = {305,306}; + + // pin 1 additional lines + Line(305) = {10, 301}; + Line(306) = {301, 11}; + Line(307) = {10, 303}; + Line(308) = {303, 13}; + Line(309) = {110, 304}; + Line(310) = {304, 111}; + Line(311) = {110, 306}; + Line(312) = {306, 113}; + Line(317) = {305, 112}; + Line(318) = {302, 12}; + + // pin1 in z-direction + Line(313) = {301, 304}; + Line(314) = {302, 305}; + Line(315) = {303, 306}; + Line(316) = {10, 110}; + + // structured mesh + Transfinite Line {304,302,305,309} = N_x_flow; + Transfinite Line {303,301,307,311} = N_x_flow/2; + Transfinite Line {306,318,308,310,317,312} = N_y_innerPin Using Progression R_y_innerPin; + Transfinite Line {313,314,315,316} = N_z_flow Using Bump R_z_flow; + + // pin1 Line loop and surface definition + Line Loop(27) = {313, 310, -61, -306}; Plane Surface(27) = {27}; + Line Loop(28) = {316, 309, -313, -305}; Plane Surface(28) = {28}; + Line Loop(29) = {315, -311, -316, 307}; Plane Surface(29) = {29}; + Line Loop(30) = {315, -304, -314, 302}; Surface(30) = {30}; + Line Loop(31) = {314, -303, -313, 301}; Surface(31) = {31}; + Line Loop(32) = {308, -11, -318, 302}; Plane Surface(32) = {32}; + Line Loop(33) = {318, -10, -306, 301}; Plane Surface(33) = {33}; + Line Loop(34) = {307, -302, -301, -305}; Plane Surface(34) = {34}; + Line Loop(35) = {304, 312, -111, -317}; Plane Surface(35) = {35}; + Line Loop(36) = {317, -110, -310, 303}; Plane Surface(36) = {36}; + Line Loop(37) = {311, -304, -303, -309}; Plane Surface(37) = {37}; + Line Loop(38) = {63, -312, -315, 308}; Plane Surface(38) = {38}; + Line Loop(39) = {317, -62, -318, 314}; Plane Surface(39) = {39}; + + Surface Loop(8) = {33, 27, 36, 20, 39, 31}; Volume(8) = {8}; + Surface Loop(9) = {32, 38, 21, 35, 30, 39}; Volume(9) = {9}; + Surface Loop(10) = {37, 29, 28, 30, 31, 34};Volume(10) = {10}; + + Physical Volume("solid_volume") = {8,9,10}; + + //Physical Tags + + EndIf + + If (1==1) // Pin 2 solid + // Solid inner half pin 2 and bottome300-er range (copied from interface and solid pin parts) + // Lower Pin2 + Point(320) = {0.5*length, 0, 0, gs}; // pin midpoint + Point(321) = {0.5*length - InnerRadiusFactor*r_pin_lower, InnerRadiusFactor*0, 0, gs}; // lower small x + Point(322) = {length/2 - InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower, 0, gs}; // small intermediate + Point(323) = {length/2 + InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower, 0, gs}; // large intermediate + Point(324) = {0.5*length + InnerRadiusFactor*r_pin_lower, InnerRadiusFactor*0, 0, gs}; // lower large x + Line(320) = {321,322}; // first segment + Line(321) = {322,323}; // second segment + Line(322) = {323,324}; // third segment + + // Upper Pin2 + Point(330) = {0.5*length, 0, upper_h, gs}; // pin midpoint + Point(331) = {0.5*length - InnerRadiusFactor*r_pin_upper, InnerRadiusFactor*0, upper_h, gs}; // lower small x + Point(332) = {length/2 - InnerRadiusFactor*Sin(30*rad2deg)*r_pin_upper, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_upper, upper_h, gs}; // small intermediate + Point(333) = {length/2 + InnerRadiusFactor*Sin(30*rad2deg)*r_pin_upper, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_upper, upper_h, gs}; // large intermediate + Point(334) = {0.5*length + InnerRadiusFactor*r_pin_upper, 0, upper_h, gs}; // lower large x + Line(330) = {331,332}; // first segment + Line(331) = {332,333}; // second segment + Line(332) = {333,334}; // third segment + + // pin 2 additional connecting lines + Line(333) = {21, 321}; // lower + Line(334) = {22, 322}; + Line(335) = {23, 323}; + Line(336) = {24, 324}; + Line(337) = {324, 321}; + + Line(338) = {121, 331}; // upper + Line(339) = {122, 332}; + Line(340) = {123, 333}; + Line(341) = {124, 334}; + Line(342) = {334, 331}; + + //pin 2 connection z-direction (bottom to top) + Line(343) = {321, 331}; + Line(344) = {322, 332}; + Line(345) = {323, 333}; + Line(346) = {324, 334}; + + // Line loops and surfaces + Line Loop(132) = {71, 338, -343, -333}; Plane Surface(132) = {132}; + Line Loop(133) = {72, 339, -344, -334}; Plane Surface(134) = {133}; + Line Loop(134) = {330, -344, -320, 343}; Surface(135) = {134}; + Line Loop(136) = {120, 339, -330, -338}; Plane Surface(138) = {136}; + Line Loop(137) = {20, 334, -320, -333}; Plane Surface(139) = {137}; + Line Loop(138) = {344, 331, -345, -321}; Surface(140) = {138}; + Line Loop(139) = {345, -340, -73, 335}; Plane Surface(141) = {139}; + Line Loop(140) = {334, 321, -335, -21}; Plane Surface(142) = {140}; + Line Loop(141) = {339, 331, -340, -121}; Plane Surface(143) = {141}; + Line Loop(142) = {345, 332, -346, -322}; Surface(144) = {142}; + Line Loop(143) = {346, -341, -74, 336}; Plane Surface(145) = {143}; + Line Loop(144) = {332, -341, -122, 340}; Plane Surface(146) = {144}; + Line Loop(145) = {322, -336, -22, 335}; Plane Surface(147) = {145}; + Line Loop(146) = {337, 320, 321, 322}; Plane Surface(148) = {146}; + Line Loop(147) = {342, 330, 331, 332}; Plane Surface(149) = {147}; + Line Loop(148) = {343, -342, -346, 337}; Plane Surface(150) = {148}; + + // structured parts + Transfinite Line {-338, -339, -340, -341, -333, -334, -335, -336} = N_y_innerPin Using Progression R_y_innerPin; // lines pointing into circle midpoint + Transfinite Line {330, 331, 332, 320, 321, 322, 337, 342} = N_x_flow; // circle arcs + Transfinite Line {343, 344, 345, 346} = N_z_flow Using Bump R_z_flow; // lines in z-direction + + Surface Loop(11) = {138, 22, 132, 134, 139, 135}; Volume(11) = {11}; + Surface Loop(12) = {143, 23, 140, 141, 134, 142}; Volume(12) = {12}; + Surface Loop(13) = {146, 145, 24, 141, 147, 144}; Volume(13) = {13}; + Surface Loop(14) = {149, 150, 144, 135, 140, 148}; Volume(14) = {14}; + + Physical Volume("solid_volume") += {11,12,13,14}; + EndIf + + If (1==1) // Pin 3 solid + // pin 3 structured + // lower Pin3 + Point(341) = {length, width-InnerRadiusFactor*r_pin_lower, 0, gs}; // on outlet + Point(342) = {length-InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, width-InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower,0, gs}; + Point(343) = {length - InnerRadiusFactor*r_pin_lower, width, 0, gs}; // on sym + + // upper Pin3 + Point(344) = {length, width-InnerRadiusFactor*r_pin_upper, upper_h, gs}; // on outlet + Point(345) = {length-InnerRadiusFactor*Sin(30*rad2deg)*r_pin_upper, width-InnerRadiusFactor*Cos(30*rad2deg)*r_pin_upper,upper_h, gs}; + Point(346) = {length - InnerRadiusFactor*r_pin_upper, width, upper_h, gs}; // on sym + + // lines: inner pin to interface + Line(347) = {344, 131}; + Line(348) = {345, 132}; + Line(349) = {346, 133}; + Line(350) = {341, 31}; + Line(351) = {342, 32}; + Line(352) = {343, 33}; + + Line(353) = {344, 345}; // inner (not circle) + Line(354) = {345, 346}; + Line(355) = {341, 342}; + Line(356) = {342, 343}; + + Line(357) = {341, 344}; // in positive z-direction + Line(358) = {342, 345}; + Line(359) = {343, 346}; + Line(360) = {30, 130}; + + Line(361) = {341, 30}; //core part of the pin lines + Line(362) = {30, 343}; + Line(363) = {344, 130}; + Line(364) = {130, 346}; + + // structured parts + Transfinite Line {347,348,349,350,351,352} = N_y_innerPin Using Progression R_y_innerPin; // lines pointing into circle midpoint + Transfinite Line {353, 355, 362, 364} = N_x_flow/2; // circle arcs + Transfinite Line {354, 356, 361, 363} = N_x_flow; // circle arcs + Transfinite Line {357, 358, 359, 360} = N_z_flow Using Bump R_z_flow; // lines in z-direction + + //lineloops and surfaces + Line Loop(149) = {347, 130, -348, -353}; Plane Surface(151) = {149}; + Line Loop(150) = {354, 349, -131, -348}; Plane Surface(152) = {150}; + Line Loop(151) = {364, -354, -353, 363}; Plane Surface(153) = {151}; + Line Loop(152) = {350, 30, -351, -355}; Plane Surface(154) = {152}; + Line Loop(153) = {356, 352, -31, -351}; Plane Surface(155) = {153}; + Line Loop(154) = {362, -356, -355, 361}; Plane Surface(156) = {154}; + Line Loop(155) = {357, 353, -358, -355}; Plane Surface(157) = {155}; + Line Loop(156) = {358, 354, -359, -356}; Plane Surface(158) = {156}; + Line Loop(157) = {81, -347, -357, 350}; Plane Surface(159) = {157}; + Line Loop(158) = {357, 363, -360, -361}; Plane Surface(160) = {158}; + Line Loop(159) = {360, 364, -359, -362}; Plane Surface(161) = {159}; + Line Loop(160) = {359, 349, -83, -352}; Plane Surface(162) = {160}; + Line Loop(446) = {348, -82, -351, 358}; Plane Surface(446) = {446}; + + // surface loops + Surface Loop(15) = {151, 159, 26, 154, 446, 157}; Volume(15) = {15}; + Surface Loop(16) = {152, 162, 25, 155, 158, 446}; Volume(16) = {16}; + Surface Loop(17) = {153, 161, 160, 156, 157, 158}; Volume(17) = {17}; + + // physical suf/vol + Physical Volume("solid_volume") += {15,16,17}; + EndIf + + If (1==1) // Bottom block solid + // solid bottom (heater) part 400er range + // Lower Pin1 + Point(410) = {0, width, -lower_h, gs}; // lower pin1 midpoint + Point(411) = {0, width-r_pin_lower, -lower_h, gs}; // lower pin1 on inlet + Point(412) = {Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower, -lower_h, gs}; // lower pin1 in between + Point(413) = {r_pin_lower, width, -lower_h, gs}; // lower pin1 on sym + Circle(410) = {411,410,412}; // lower pin1 smaller first part + Circle(411) = {412,410,413}; // lower pin1 larger second part + + // Lower Pin2 + Point(420) = {0.5*length, 0, -lower_h, gs}; // pin midpoint + Point(421) = {0.5*length - r_pin_lower, 0, -lower_h, gs}; // lower small x + Point(422) = {length/2 - Sin(30*rad2deg)*r_pin_lower, Cos(30*rad2deg)*r_pin_lower, -lower_h, gs}; // small intermediate + Point(423) = {length/2 + Sin(30*rad2deg)*r_pin_lower, Cos(30*rad2deg)*r_pin_lower, -lower_h, gs}; // large intermediate + Point(424) = {0.5*length + r_pin_lower, 0, -lower_h, gs}; // lower large x + Circle(420) = {421,420,422}; // first segment + Circle(421) = {422,420,423}; // second segment + Circle(422) = {423,420,424}; // third segment + + // lower Pin3 + Point(430) = {length, width, -lower_h, gs}; // midpoint + Point(431) = {length, width-r_pin_lower, -lower_h, gs}; // on outlet + Point(432) = {length-Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower,-lower_h, gs}; + Point(433) = {length - r_pin_lower, width, -lower_h, gs}; // on sym + Circle(430) = {431,430,432}; // first segment + Circle(431) = {432,430,433}; // second segment + + // lower additional structured mesh points + Point(440) = {length/4 + Tan(30*rad2deg)*width/2, width, -lower_h, gs}; // first half, large y + Point(441) = {length/4 - Tan(30*rad2deg)*width/2, 0, -lower_h, gs}; // first half, small y + Point(442) = {length*3/4 - Tan(30*rad2deg)*width/2, width, -lower_h, gs}; // second half, large y + Point(443) = {length*3/4 + Tan(30*rad2deg)*width/2, 0, -lower_h, gs}; // second half, small y + Point(444) = {0, 0, -lower_h, gs}; // corner point inlet + Point(445) = {length, 0, -lower_h, gs}; // corner point outlet + + // lower additional structured mesh lines + // outer boundary + Line(440) = {411, 444}; + Line(441) = {444, 441}; + Line(442) = {441, 421}; + Line(443) = {443, 424}; + Line(444) = {443, 445}; + Line(445) = {445, 431}; + Line(446) = {433, 442}; + Line(447) = {442, 440}; + Line(448) = {440, 413}; + // inner lines + Line(449) = {441, 412}; + Line(450) = {441, 440}; + Line(451) = {422, 440}; + Line(452) = {423, 442}; + Line(453) = {442, 443}; + Line(454) = {443, 432}; + + // line loops and surfaces on lower domain interface + Line Loop(410) = {440, 441, 449, -410}; Plane Surface(410) = {410}; + Line Loop(411) = {-449, 450, 448, -411}; Plane Surface(411) = {411}; + Line Loop(412) = {442, 420, 451, -450}; Plane Surface(412) = {412}; + Line Loop(413) = {-451, 421, 452, 447}; Plane Surface(413) = {413}; + Line Loop(414) = {453, 443, -422, 452}; Plane Surface(414) = {414}; + Line Loop(415) = {453, 454, 431, 446}; Plane Surface(415) = {415}; + Line Loop(416) = {444, 445, 430, -454}; Plane Surface(416) = {416}; + + // No progression in flow direction on the pin surface + Transfinite Line {411,450,420,447,421,422,453,431} = N_x_flow; + Transfinite Line {410,441,430,444} = N_x_flow/2; + // Progression normal to the pin surface + Transfinite Line {440, -449, -448, -442, 451, 452, -443, 446, -454, -445} = N_y_flow Using Progression R_y_flow; + + // pin inner parts are in the 500-er range + // pin 1 lower + Point(501) = {InnerRadiusFactor*0, width-r_pin_lower*InnerRadiusFactor, -lower_h, gs}; // lower pin1 on inlet + Point(502) = {InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower*InnerRadiusFactor, -lower_h, gs}; // lower pin1 in between + Point(503) = {InnerRadiusFactor*r_pin_lower, width, -lower_h, gs}; // lower pin1 on sym + Line(501) = {501,502}; + Line(502) = {502,503}; + + Line(503) = {503, 413}; + Line(504) = {502, 412}; + Line(505) = {501, 411}; + Line(506) = {501, 410}; + Line(507) = {410, 503}; + // No progression in flow direction on the pin surface + Transfinite Line {502,506} = N_x_flow; + Transfinite Line {501,507} = N_x_flow/2; + Transfinite Line {503,504,505} = N_y_innerPin Using Progression R_y_innerPin; + + Line Loop(417) = {502, 503, -411, -504}; Plane Surface(417) = {417}; + Line Loop(418) = {501, 504, -410, -505}; Plane Surface(418) = {418}; + Line Loop(419) = {506, 507, -502, -501}; Plane Surface(419) = {419}; + + // Lower Pin2 + Point(520) = {0.5*length, 0, 0, gs}; // pin midpoint + Point(521) = {0.5*length - InnerRadiusFactor*r_pin_lower, InnerRadiusFactor*0, -lower_h, gs}; // lower small x + Point(522) = {length/2 - InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower, -lower_h, gs}; // small intermediate + Point(523) = {length/2 + InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower, -lower_h, gs}; // large intermediate + Point(524) = {0.5*length + InnerRadiusFactor*r_pin_lower, InnerRadiusFactor*0, -lower_h, gs}; // lower large x + Line(520) = {521,522}; // first segment + Line(521) = {522,523}; // second segment + Line(522) = {523,524}; // third segment + + Line(523) = {521, 421}; + Line(524) = {522, 422}; + Line(525) = {523, 423}; + Line(526) = {524, 424}; + Line(527) = {524, 521}; + + // structured parts + Transfinite Line {523,524,525,526} = N_y_innerPin Using Progression R_y_innerPin; // lines pointing into circle midpoint + Transfinite Line {520,521,522,527} = N_x_flow; // circle arcs + + Line Loop(420) = {523, 420, -524, -520}; Plane Surface(420) = {420}; + Line Loop(421) = {521, 525, -421, -524}; Plane Surface(421) = {421}; + Line Loop(422) = {522, 526, -422, -525}; Plane Surface(422) = {422}; + Line Loop(423) = {527, 520, 521, 522}; Plane Surface(423) = {423}; + + // lower Pin3 + Point(541) = {length, width-InnerRadiusFactor*r_pin_lower, -lower_h, gs}; // on outlet + Point(542) = {length-InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, width-InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower,-lower_h, gs}; + Point(543) = {length - InnerRadiusFactor*r_pin_lower, width, -lower_h, gs}; // on sym + + Line(528) = {541, 542}; + Line(529) = {542, 543}; + Line(530) = {543, 430}; + Line(531) = {430, 541}; + Line(532) = {541, 431}; + Line(533) = {542, 432}; + Line(534) = {543, 433}; + + // structured parts + Transfinite Line {532,533,534} = N_y_innerPin Using Progression R_y_innerPin; // lines pointing into circle midpoint + Transfinite Line {528,530} = N_x_flow/2; // circle arcs + Transfinite Line {529,531} = N_x_flow; // circle arcs + + Line Loop(424) = {532, 430, -533, -528}; Plane Surface(424) = {424}; + Line Loop(425) = {533, 431, -534, -529}; Plane Surface(425) = {425}; + Line Loop(426) = {531, 528, 529, 530}; Plane Surface(426) = {426}; + + // connecting lines in z-direction + Line(535) = {10, 410}; + Line(536) = {301, 501}; + Line(537) = {11, 411}; + Line(538) = {44, 444}; + Line(539) = {302, 502}; + Line(540) = {12, 412}; + Line(541) = {303, 503}; + Line(542) = {41, 441}; + Line(543) = {13, 413}; + Line(544) = {21, 421}; + Line(545) = {40, 440}; + Line(546) = {321, 521}; + Line(547) = {22, 422}; + Line(548) = {322, 522}; + Line(549) = {20, 20}; + Line(550) = {20, 20}; + Line(551) = {324, 524}; + Line(552) = {323, 523}; + Line(553) = {23, 423}; + Line(554) = {42, 442}; + Line(555) = {24, 424}; + Line(556) = {43, 443}; + Line(557) = {33, 433}; + Line(558) = {343, 543}; + Line(559) = {32, 432}; + Line(560) = {342, 542}; + Line(561) = {30, 430}; + Line(562) = {341, 541}; + Line(563) = {31, 431}; + Line(564) = {45, 445}; + Transfinite Line {535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564} = N_z_solid Using Progression R_z_solid; + + // lineloops and surfaces of solid inner + Line Loop(457) = {440, -538, -40, 537}; Plane Surface(457) = {457}; + Line Loop(458) = {538, 441, -542, -41}; Plane Surface(458) = {458}; + Line Loop(459) = {449, -540, -49, 542}; Plane Surface(459) = {459}; + Line Loop(460) = {537, 410, -540, -10}; Surface(460) = {460}; + Surface Loop(28) = {410, 457, 458, 459, 460, 10}; Volume(28) = {28}; + Line Loop(461) = {542, 450, -545, -50}; Plane Surface(461) = {461}; + Line Loop(462) = {448, -543, -48, 545}; Plane Surface(462) = {462}; + Line Loop(463) = {411, -543, -11, 540}; Surface(463) = {463}; + Surface Loop(29) = {411, 462, 463, 11, 461, 459}; Volume(29) = {29}; + Line Loop(464) = {542, 442, -544, -42}; Plane Surface(464) = {464}; + Line Loop(465) = {451, -545, -51, 547}; Plane Surface(465) = {465}; + Line Loop(466) = {547, -420, -544, 20}; Surface(466) = {466}; + Surface Loop(30) = {412, 464, 466, 465, 12, 461}; Volume(30) = {30}; + Line Loop(467) = {447, -545, -47, 554}; Plane Surface(467) = {467}; + Line Loop(468) = {452, -554, -52, 553}; Plane Surface(468) = {468}; + Line Loop(469) = {421, -553, -21, 547}; Surface(469) = {469}; + Surface Loop(31) = {413, 467, 13, 468, 469, 465}; Volume(31) = {31}; + Line Loop(470) = {453, -556, -53, 554}; Plane Surface(470) = {470}; + Line Loop(471) = {443, -555, -43, 556}; Plane Surface(471) = {471}; + Line Loop(472) = {422, -555, -22, 553}; Surface(472) = {472}; + Line Loop(473) = {454, -559, -54, 556}; Plane Surface(473) = {473}; + Surface Loop(32) = {414, 471, 472, 14, 470, 468}; Volume(32) = {32}; + Line Loop(474) = {446, -554, -46, 557}; Plane Surface(474) = {474}; + Line Loop(475) = {431, -557, -31, 559}; Surface(475) = {475}; + Surface Loop(33) = {415, 474, 15, 475, 473, 470}; Volume(33) = {33}; + Line Loop(476) = {444, -564, -44, 556}; Plane Surface(476) = {476}; + Line Loop(477) = {564, 445, -563, -45}; Plane Surface(477) = {477}; + Line Loop(478) = {430, -559, -30, 563}; Surface(478) = {478}; + Surface Loop(34) = {416, 476, 477, 478, 16, 473}; Volume(34) = {34}; + + Physical Volume("solid_volume") += {28,29,30,31,32,33,34}; + + If (1==1) // pin 1 inside lower block + // pin 1 + Line Loop(427) = {535, -506, -536, -305}; Plane Surface(427) = {427}; + Line Loop(428) = {507, -541, -307, 535}; Plane Surface(428) = {428}; + Line Loop(429) = {536, 505, -537, -306}; Plane Surface(429) = {429}; + Line Loop(430) = {503, -543, -308, 541}; Plane Surface(430) = {430}; + Line Loop(431) = {502, -541, -302, 539}; Plane Surface(431) = {431}; + Line Loop(432) = {501, -539, -301, 536}; Plane Surface(432) = {432}; + Line Loop(433) = {543, -411, -540, 11}; Surface(433) = {433}; + Line Loop(434) = {410, -540, -10, 537}; Surface(434) = {434}; + Line Loop(447) = {539, 504, -540, -318}; Plane Surface(447) = {447}; + + Surface Loop(18) = {34, 427, 428, 419, 431, 432}; Volume(18) = {18}; + Surface Loop(19) = {33, 418, 429, 434, 447, 432}; Volume(19) = {19}; + Surface Loop(20) = {417, 430, 433, 447, 32, 431}; Volume(20) = {20}; + + Physical Volume("solid_volume") += {18,19,20}; + EndIf + + If (1==1) // pin 2 inside lower block + // pin 2 + Line Loop(435) = {544, -523, -546, -333}; Plane Surface(435) = {435}; + Line Loop(436) = {546, -527, -551, 337}; Plane Surface(436) = {436}; + Line Loop(437) = {551, 526, -555, 336}; Plane Surface(437) = {437}; + Line Loop(438) = {520, -548, -320, 546}; Plane Surface(438) = {438}; + Line Loop(439) = {548, 521, -552, -321}; Plane Surface(439) = {439}; + Line Loop(440) = {552, 522, -551, -322}; Plane Surface(440) = {440}; + Line Loop(441) = {524, -547, 334, 548}; Plane Surface(441) = {441}; + Line Loop(442) = {553, -525, -552, -335}; Plane Surface(442) = {442}; + Line Loop(443) = {420, -547, -20, 544}; Surface(443) = {443}; + Line Loop(444) = {547, 421, -553, -21}; Surface(444) = {444}; + Line Loop(445) = {422, -555, -22, 553}; Surface(445) = {445}; + + // surface loops + Surface Loop(21) = {139, 435, 443, 420, 438, 441}; Volume(21) = {21}; + Surface Loop(22) = {439, 421, 441, 442, 444, 142}; Volume(22) = {22}; + Surface Loop(23) = {422, 437, 445, 440, 442, 147}; Volume(23) = {23}; + Surface Loop(24) = {423, 436, 438, 439, 440, 148}; Volume(24) = {24}; + + Physical Volume("solid_volume") += {21,22,23,24}; + EndIf + + If (1==1) // pin 3 inside lower block + Line Loop(448) = {531, -562, 361, 561}; Plane Surface(448) = {448}; + Line Loop(449) = {562, 528, -560, -355}; Plane Surface(449) = {449}; + Line Loop(450) = {529, -558, -356, 560}; Plane Surface(450) = {450}; + Line Loop(451) = {558, 530, -561, 362}; Plane Surface(451) = {451}; + Line Loop(452) = {532, -563, -350, 562}; Plane Surface(452) = {452}; + Line Loop(453) = {533, -559, -351, 560}; Plane Surface(453) = {453}; + Line Loop(454) = {534, -557, -352, 558}; Plane Surface(454) = {454}; + Line Loop(455) = {563, 430, -559, -30}; Surface(455) = {455}; + Line Loop(456) = {431, -557, -31, 559}; Surface(456) = {456}; + + Surface Loop(25) = {426, 448, 451, 450, 449, 156}; Volume(25) = {25}; + Surface Loop(26) = {424, 452, 455, 453, 154, 449}; Volume(26) = {26}; + Surface Loop(27) = {425, 454, 456, 450, 453, 155}; Volume(27) = {27}; + + Physical Volume("solid_volume") += {25,26,27}; + EndIf + + EndIf // Bottom Block solid + + Physical Surface("solid_sym_sides") = {451, 454, 474, 467, 462, 430, 428, 458, 464, 435, 436, 437, 471, 476, 150, 145, 132, 38, 29, 161, 162}; + Physical Surface("solid_pins_top") = {37, 36, 35, 138, 143, 149, 146, 152, 153, 151}; + //Physical Surface("solid_pin1_top") = {37, 36, 35}; + //Physical Surface("solid_pin2_top") = {138, 143, 149, 146}; + //Physical Surface("solid_pin3_top") = {152, 153, 151}; + Physical Surface("solid_bottom_heater") = {416, 424, 425, 415, 414, 426, 413, 421, 422, 423, 420, 412, 411, 410, 418, 417, 419}; + Physical Surface("solid_pin3_outlet") = {159, 160}; + Physical Surface("solid_pin1_inlet") = {28, 27}; + Physical Surface("solid_block_inlet") = {427, 429, 457}; + Physical Surface("solid_block_outlet") = {477, 452, 448}; + +EndIf + +// ------------------------------------------------------------------------- // +// Meshing +Coherence; +Transfinite Surface "*"; +Recombine Surface "*"; +Transfinite Volume "*"; + +If (Do_Meshing == 1) + Mesh 1; Mesh 2; Mesh 3; +EndIf + +// ------------------------------------------------------------------------- // +// Write .su2 meshfile +If (Write_mesh == 1) + + Mesh.Format = 42; // .su2 mesh format, + If (Which_Mesh_Part == 1) + Save "fluid.su2"; + ElseIf (Which_Mesh_Part == 2) + Save "solid.su2"; + Else + Printf("Unvalid Which_Mesh_Part variable for output writing."); + Abort; + EndIf + +EndIf + +// Write .cgns meshfile +//If (Write_mesh == 1) +// +// Mesh.Format = 32; // .cgns mesh format, +// If (Which_Mesh_Part == 1) +// Save "fluid.cgns"; +// ElseIf (Which_Mesh_Part == 2) +// Save "solid.cgns"; +// ElseIf (Which_Mesh_Part == 0) +// Save "fluid_and_solid.cgns"; +// Else +// Printf("Unvalid Which_Mesh_Part variable for output writing."); +// Abort; +// EndIf +// +//EndIf + diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/flow_0.meta b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/flow_0.meta new file mode 100644 index 000000000000..bce8e91620d3 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/flow_0.meta @@ -0,0 +1,3 @@ +ITER= 1 +INITIAL_BCTHRUST= 4000 +STREAMWISE_PERIODIC_PRESSURE_DROP=99.8798118961395 diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/flow_0.meta b/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/flow_0.meta new file mode 100644 index 000000000000..2e44c828bdcf --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/flow_0.meta @@ -0,0 +1,3 @@ +ITER= 1 +INITIAL_BCTHRUST= 4000 +STREAMWISE_PERIODIC_PRESSURE_DROP=208.023676223299 diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/pipeslice.geo b/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/pipeslice.geo new file mode 100644 index 000000000000..4a8d4815963d --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/pipeslice.geo @@ -0,0 +1,113 @@ +//-------------------------------------------------------------------------------------// +// T. Kattmann, 13.05.2018, 3D Butterfly mesh in a circular pipe +// Create the mesh by calling this geo file with 'gmsh .geo'. +//-------------------------------------------------------------------------------------// + +// Evoque Meshing Algorithm? +Do_Meshing= 1; // 0=false, 1=true +// Write Mesh files in .su2 format +Write_mesh= 1; // 0=false, 1=true + +//Geometric inputs, ch: channel, Pin center is origin +Radius= 0.5e-2; // Pipe Radius +InnerBox= Radius/2; // Distance to the inner Block of the butterfly mesh + +//Mesh inputs +gridsize = 0.1; // unimportant once everything is structured + +//ch_box +Nbox = 30; // Inner Box points in x direction + +Ncircu = 30; // Outer ring circu. points +Rcircu = 0.9; // Spacing towards wall + +sqrtTwo = Cos(45*Pi/180); + +//-------------------------------------------------------------------------------------// +//Points +// Inner Box +Point(1) = {-InnerBox, -InnerBox, 0, gridsize}; +Point(2) = {-InnerBox, InnerBox, 0, gridsize}; +Point(3) = {InnerBox, InnerBox, 0, gridsize}; +Point(4) = {InnerBox, -InnerBox, 0, gridsize}; + +// Outer Ring +Point(5) = {-Radius*sqrtTwo, -Radius*sqrtTwo, 0, gridsize}; +Point(6) = {-Radius*sqrtTwo, Radius*sqrtTwo, 0, gridsize}; +Point(7) = {Radius*sqrtTwo, Radius*sqrtTwo, 0, gridsize}; +Point(8) = {Radius*sqrtTwo, -Radius*sqrtTwo, 0, gridsize}; + +Point(9) = {0,0,0,gridsize}; // Helper Point for circles + +//-------------------------------------------------------------------------------------// +//Lines +//Inner Box (clockwise) +Line(1) = {1,2}; +Line(2) = {2,3}; +Line(3) = {3,4}; +Line(4) = {4,1}; + +//Walls (clockwise) +Circle(5) = {5, 9, 6}; +Circle(6) = {6, 9, 7}; +Circle(7) = {7, 9, 8}; +Circle(8) = {8, 9, 5}; + +//Connecting lines (outward facing) +Line(9) = {1, 5}; +Line(10) = {2, 6}; +Line(11) = {3, 7}; +Line(12) = {4, 8}; + +//-------------------------------------------------------------------------------------// +//Lineloops and surfaces +// Inner Box (clockwise) +Line Loop(1) = {1,2,3,4}; Plane Surface(1) = {1}; + +// Ring sections (clockwise starting at 9 o'clock) +Line Loop(2) = {5, -10, -1, 9}; Plane Surface(2) = {2}; +Line Loop(3) = {10, 6, -11, -2}; Plane Surface(3) = {3}; +Line Loop(4) = {-3, 11, 7, -12}; Plane Surface(4) = {4}; +Line Loop(5) = {12, 8, -9, -4}; Plane Surface(5) = {5}; + +//make structured mesh with transfinite lines +//radial +Transfinite Line{1, 2, 3, 4, 5, 6, 7, 8} = Nbox; +//circumferential +Transfinite Line{9, 10, 11, 12} = Ncircu Using Progression Rcircu; + +Transfinite Surface{1,2,3,4,5}; +Recombine Surface{1,2,3,4,5}; + +//Extrude 1 mesh layer +Extrude {0, 0, 0.0005} { + Surface{1}; Surface{2}; Surface{3}; Surface{4}; Surface{5}; + Layers{1}; + Recombine; +} +Coherence; + +//Physical groups made with GUI +Physical Surface("inlet") = {4, 1, 5, 3, 2}; +Physical Surface("outlet") = {100, 122, 56, 78, 34}; +Physical Surface("wall") = {69, 95, 113, 43}; +Physical Volume("fluid") = {1, 2, 3, 4, 5}; + +// ----------------------------------------------------------------------------------- // +// Meshing +Transfinite Surface "*"; +Recombine Surface "*"; + +If (Do_Meshing == 1) + Mesh 1; Mesh 2; Mesh 3; +EndIf + +// ----------------------------------------------------------------------------------- // +// Write .su2 meshfile +If (Write_mesh == 1) + + Mesh.Format = 42; // .su2 mesh format, + Save "pipe1cell3D.su2"; + +EndIf + diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/plots.py b/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/plots.py new file mode 100755 index 000000000000..94378c4aa016 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/plots.py @@ -0,0 +1,162 @@ +#! /usr/bin/python3 +# --------------------------------------------------------------------------- # +# Kattmann, 16.07.2019 +# This python script provides some plots to test the match between analytical +# and simulated solution for a 3D circular laminar pipe flow, either from +# streamwise periodic simulation or the outlet of a suitable long pipe. +# +# requires: surface_flow.dat (SURFACE_TECPLOT_ASCII) in current directory +# +# output: plots (opened in separate window, not saved) +# +# optional: which plots to show +showLineplot = True +show2Dsurfaceplots = False +show3Dplots = False +# --------------------------------------------------------------------------- # +import numpy as np +import pandas as pd +import matplotlib.pyplot as plt + +from mpl_toolkits.mplot3d import Axes3D +from scipy.spatial import Delaunay +from scipy.interpolate import LinearNDInterpolator + +# --------------------------------------------------------------------------- # +# Import data from surface_flow.dat into pandas dataframe +data = pd.read_csv("surface_flow.dat", nrows=4264, skiprows=3, sep='\t', header=None) +x = data[0][:] +y = data[1][:] +vel_z = data[6][:] + +# Create Delaunay surface triangulation from scatterd dataset +points2D = np.vstack([x,y]).T +tri = Delaunay(points2D) + +# --------------------------------------------------------------------------- # +# Create analytic solution vector on the same points as the imported data +dynanmic_vsicosity = 1.8e-5 +pressure_drop = 1e-3 +domain_length = 5e-4 +radius = 5e-3 + +analytic_sol = -1/(4*dynanmic_vsicosity) * (-pressure_drop/domain_length) * \ + (radius**2 - ((x**2 + y**2)**(0.5))**2 ) + +perc_devi_from_anal = abs(analytic_sol - vel_z) / max(analytic_sol) * 100 +maxvel = max(abs(perc_devi_from_anal)) # get absolute maximum of dataset + +# --------------------------------------------------------------------------- # +# Plot velocity on line from domain midpoint to wall +if showLineplot: + plt.close() + + # interpolator (ip) for simulated and analytical dataset + ip_sim = LinearNDInterpolator(tri, vel_z) + ip_ana = LinearNDInterpolator(tri, analytic_sol) + # line (which lies on the x-axis) where values will be interpolated + n_sample_points = 30 + x_line = np.linspace(0, radius-5e-6, n_sample_points) + y_line = np.zeros(n_sample_points) + ip_pos = np.vstack((x_line,y_line)).T + + ax = plt.axes() + plt.plot(ip_sim(ip_pos), x_line, color='b', marker='', linestyle='--', linewidth=3, label='simulated') + plt.plot(ip_ana(ip_pos), x_line, color='r', marker='', linestyle=':' , linewidth=3, label='analytical') + plt.legend() + plt.title('Velocity profile: analytic vs simulated (interpolated values)') + plt.xlabel('velocity [m/s]') + plt.ylabel('radius [m]') + ax.set_aspect(aspect=max(ip_sim(ip_pos)) / max(x_line)) # make plot square + plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0)) + plt.grid(True, linestyle='--') + plt.show() + +# --------------------------------------------------------------------------- # +# Plot various 2D surface plots of sim. and analy. data +if show2Dsurfaceplots: + plt.close() + + fig, ax = plt.subplots(2,2) + + # 1. analytical solution + ax_tmp = ax[0,0] + + tcf = ax_tmp.tricontourf(x, y, abs(analytic_sol)) + ax_tmp.scatter(x,y, s=0.1, color='black', marker='.') + + ax_tmp.set_title("Analytical solution") + ax_tmp.set_aspect('equal') + fig.colorbar(tcf, ax=ax_tmp) + + # 2. simulated solution + ax_tmp = ax[1,0] + + tcf = ax_tmp.tricontourf(x, y, vel_z) + ax_tmp.scatter(x,y, s=0.1, color='black', marker='.') + + ax_tmp.set_title("Simulated solution") + ax_tmp.set_aspect('equal') + fig.colorbar(tcf, ax=ax_tmp) + + # 3. absolute value deviation between analytic and simulated + ax_tmp = ax[0,1] + + tcf = ax_tmp.tricontourf(x, y, abs(analytic_sol-vel_z), cmap=plt.cm.Greys) + ax_tmp.scatter(x,y, s=0.1, color='black', marker='.') + + ax_tmp.set_title("abs(analytic-simulated)") + ax_tmp.set_aspect('equal') + fig.colorbar(tcf, ax=ax_tmp) + + # 4. percentual deviation scaled by the maximal value + ax_tmp = ax[1,1] + + tcf = ax_tmp.tricontourf(x, y, perc_devi_from_anal, cmap=plt.cm.Greys, vmin=0.0, vmax=maxvel) + ax_tmp.scatter(x,y, s=0.1, color='black', marker='.') + + ax_tmp.set_title("abs(analytic-simulated) / max(analytic) * 100") + ax_tmp.set_aspect('equal') + fig.colorbar(tcf, ax=ax_tmp) + + plt.show() + +# --------------------------------------------------------------------------- # +if show3Dplots: + # Plot 3D surfaces of sim. and analy. data + plt.close() + + # Scatter plot deviation + fig = plt.figure() + ax = fig.gca(projection='3d') + + ax.scatter(x, y, perc_devi_from_anal) + ax.set_xlabel('x [m]') + ax.set_ylabel('y [m]') + ax.set_zlabel('z-Velocity deviation [%]') + + plt.show() + + # Surface plot deviation + fig = plt.figure() + ax = fig.gca(projection='3d') + + surf = ax.plot_trisurf(x, y, perc_devi_from_anal, triangles=tri.simplices, cmap='jet', linewidth=0) + ax.set_xlabel('x [m]') + ax.set_ylabel('y [m]') + ax.set_zlabel('z-Velocity deviation [%]') + fig.colorbar(surf) + + plt.show() + + # Surface plot of velocity + fig = plt.figure() + ax = fig.gca(projection='3d') + + surf = ax.plot_trisurf(x, y, vel_z, triangles=tri.simplices, cmap='jet', linewidth=0) + ax.set_xlabel('x [m]') + ax.set_ylabel('y [m]') + ax.set_zlabel('z-Velocity [m/s]') + fig.colorbar(surf) + + plt.show() diff --git a/TestCases/solid_heat_conduction/periodic_pins/chtPinArray_2d.geo b/TestCases/solid_heat_conduction/periodic_pins/chtPinArray_2d.geo new file mode 100644 index 000000000000..b837c196c90a --- /dev/null +++ b/TestCases/solid_heat_conduction/periodic_pins/chtPinArray_2d.geo @@ -0,0 +1,430 @@ +// ------------------------------------------------------------------------- // +// T. Kattmann, 18.06.2019, 2D 2 Zone mesh +// Create the mesh by calling this geo file with 'gmsh .geo'. +// For multizone mesh the zonal meshes have to be created using the first +// option 'Which_Mesh_Part' below and have to be married appropriatley. +// ------------------------------------------------------------------------- // + +// Which domain part should be handled +Which_Mesh_Part= 2; // 0=all, 1=Fluid, 2=Solid, 3=InterfaceOnly +// Add outlet diffusor +OutletDiffusor= 0; // 0=false, 1=true +// Evoque Meshing Algorithm? +Do_Meshing= 1; // 0=false, 1=true +// Write Mesh files in .su2 format +Write_mesh= 1; // 0=false, 1=true +// Mesh Resolution +Mesh_Resolution= 2; // 0=debugRes, 1=Res1, 2=Res2 +// show the FFD corner points +FFD_corner_point= 1; // 0=false, 1=true + +// Free parameters +scale_factor= 1e-3; // scales Point positions from [mm] to [m] with 1e-3 +dist= 6.44 * scale_factor; // distance between pin midpoints, each pin has 6 surrounding pins, i.e. 60 deg between each +r_pin_lower= 2.0 * scale_factor; // lower pin radius +InnerRadiusFactor= 0.3; // Thickness of the pin solid (0.9=small pin wall, 0.1= close to filled circle arc). Requires 0 < value < 1. +// Diffusor inputs are below in the respective section + +// Dependent parameters +rad2deg= Pi/180; // conversion factor as gmsh Cos/Sin functions take radian values +length= 2 * Cos(30*rad2deg)*dist; // domain length (in x-dir) +width= Sin(30*rad2deg)*dist; // domain width (in y-dir) + +Printf("==================================="); +Printf("Free parameters:"); +Printf("-> distance between pins: %g", dist); +Printf("-> lower pin radius: %g", r_pin_lower); +Printf("Dependent parameters"); +Printf("-> length: %g", length); +Printf("-> width: %g", width); +Printf("==================================="); + +// Mesh inputs +gs = 0.5 *scale_factor; // gridsize + +If(Mesh_Resolution==0) // debugRes + // interface meshing parameteres. Also sufficient for fluid domain meshing. + N_x_flow= 10; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. + + N_y_flow = 10; // #gridpoints normal to pin surface, y-direction + R_y_flow= 1.08; // Progression normal to pin surface + + N_z_flow= 20; // #gridpoints in height z-direction + R_z_flow= 0.05; // Bump in height as top and bottom are walls + + // Additional meshing parameters for solid domain + N_y_innerPin= 5; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin + R_y_innerPin= 0.93; // Progression towards interface + N_z_solid= 10; // #points from bottom interface to heater surface + R_z_solid= 1.18; // progression for N_z_solid + +ElseIf(Mesh_Resolution==1) // Res1 + // interface meshing parameteres. Also sufficient for fluid domain meshing. + N_x_flow= 20; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. + + N_y_flow = 40; // #gridpoints normal to pin surface, y-direction + R_y_flow= 1.08; // Progression normal to pin surface + + N_z_flow= 100; // #gridpoints in height z-direction + R_z_flow= 0.05; // Bump in height as top and bottom are walls + + // Additional meshing parameters for solid domain + N_y_innerPin= 30; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin + R_y_innerPin= 0.93; // Progression towards interface + N_z_solid= 20; // #points from bottom interface to heater surface + R_z_solid= 1.18; // progression for N_z_solid + +ElseIf(Mesh_Resolution==2) // Res2 + // interface meshing parameteres. Also sufficient for fluid domain meshing. + N_x_flow= 30; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. + + N_y_flow = 50; // #gridpoints normal to pin surface, y-direction + R_y_flow= 1.08; // Progression normal to pin surface + + N_z_flow= 200; // #gridpoints in height z-direction + R_z_flow= 0.05; // Bump in height as top and bottom are walls + + // Additional meshing parameters for solid domain + N_y_innerPin= 40; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin + R_y_innerPin= 0.91; // Progression towards interface + N_z_solid= 30; // #points from bottom interface to heater surface + R_z_solid= 1.18; // progression for N_z_solid + +EndIf + +// Feasability checks +If (r_pin_lower >= width || + r_pin_lower <= 0) + Printf("Aborting! Bad Inputs"); + Abort; +EndIf + +// Show and print possible FFD corner points +If (FFD_corner_point==1) + boxFactor= 1.3; + + xLo= 0.5*length - boxFactor*r_pin_lower; + xHi= 0.5*length + boxFactor*r_pin_lower; + yLo= 0; + yHi= boxFactor*r_pin_lower; + + // counterclockwise from lowest x&y value + Printf("==================================="); + Printf("FFD corner points:"); + Printf("%g | %g", xLo, yLo); + Printf("%g | %g", xHi, yLo); + Printf("%g | %g", xHi, yHi); + Printf("%g | %g", xLo, yHi); + Printf("==================================="); + + Point(1000) = {xLo, yLo, 0, gs}; + Point(1001) = {xHi, yLo, 0, gs}; + Point(1002) = {xHi, yHi, 0, gs}; + Point(1003) = {xLo, yHi, 0, gs}; + + Line(1000) = {1000,1001}; + Line(1001) = {1001,1002}; + Line(1002) = {1002,1003}; + Line(1003) = {1003,1000}; +EndIf + +// ------------------------------------------------------------------------- // +// CHT Interface, complete description as it is part of fluid and solid +// Id's starting with in the range (1-99) +// Interface only description +If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1 || Which_Mesh_Part == 2 || Which_Mesh_Part == 3) + // Points + // Lower Pin1 + Point(10) = {0, width, 0, gs}; // lower pin1 midpoint + Point(11) = {0, width-r_pin_lower, 0, gs}; // lower pin1 on inlet + Point(12) = {Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower, 0, gs}; // lower pin1 in between + Point(13) = {r_pin_lower, width, 0, gs}; // lower pin1 on sym + Circle(10) = {11,10,12}; // lower pin1 smaller first part + Circle(11) = {12,10,13}; // lower pin1 larger second part + + // Lower Pin2 + Point(20) = {0.5*length, 0, 0, gs}; // pin midpoint + Point(21) = {0.5*length - r_pin_lower, 0, 0, gs}; // lower small x + Point(22) = {length/2 - Sin(30*rad2deg)*r_pin_lower, Cos(30*rad2deg)*r_pin_lower, 0, gs}; // small intermediate + Point(23) = {length/2 + Sin(30*rad2deg)*r_pin_lower, Cos(30*rad2deg)*r_pin_lower, 0, gs}; // large intermediate + Point(24) = {0.5*length + r_pin_lower, 0, 0, gs}; // lower large x + Circle(20) = {21,20,22}; // first segment + Circle(21) = {22,20,23}; // second segment + Circle(22) = {23,20,24}; // third segment + + // lower Pin3 + Point(30) = {length, width, 0, gs}; // midpoint + Point(31) = {length, width-r_pin_lower, 0, gs}; // on outlet + Point(32) = {length-Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower,0, gs}; + Point(33) = {length - r_pin_lower, width, 0, gs}; // on sym + Circle(30) = {31,30,32}; // first segment + Circle(31) = {32,30,33}; // second segment + + // No progression in flow direction on the pin surface + Transfinite Line {11,20,21,22,31} = N_x_flow; + Transfinite Line {10,30} = N_x_flow/2; + + //Physical Tags + If (Which_Mesh_Part==1) + Physical Line("fluid_pin1_interface") = {10, 11}; + Physical Line("fluid_pin2_interface") = {20, 21, 22}; + Physical Line("fluid_pin3_interface") = {30, 31}; + + ElseIf (Which_Mesh_Part==2) + Physical Line("solid_pin1_interface") = {10, 11}; + Physical Line("solid_pin2_interface") = {20, 21, 22}; + Physical Line("solid_pin3_interface") = {30, 31}; + + EndIf + +EndIf + +// ------------------------------------------------------------------------- // +// Fluid only description +If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1) + + // lower additional structured mesh points + Point(40) = {length/4 + Tan(30*rad2deg)*width/2, width, 0, gs}; // first half, large y + Point(41) = {length/4 - Tan(30*rad2deg)*width/2, 0, 0, gs}; // first half, small y + Point(42) = {length*3/4 - Tan(30*rad2deg)*width/2, width, 0, gs}; // second half, large y + Point(43) = {length*3/4 + Tan(30*rad2deg)*width/2, 0, 0, gs}; // second half, small y + Point(44) = {0, 0, 0, gs}; // corner point inlet + Point(45) = {length, 0, 0, gs}; // corner point outlet + + // lower additional structured mesh lines + // outer boundary + Line(40) = {11, 44}; + Line(41) = {44, 41}; + Line(42) = {41, 21}; + Line(43) = {43, 24}; + Line(44) = {43, 45}; + Line(45) = {45, 31}; + Line(46) = {33, 42}; + Line(47) = {42, 40}; + Line(48) = {40, 13}; + // inner lines + Line(49) = {41, 12}; + Line(50) = {41, 40}; + Line(51) = {22, 40}; + Line(52) = {23, 42}; + Line(53) = {42, 43}; + Line(54) = {43, 32}; + + // line loops and surfaces on lower domain interface + Line Loop(10) = {40, 41, 49, -10}; Plane Surface(10) = {10}; + Line Loop(11) = {-49, 50, 48, -11}; Plane Surface(11) = {11}; + Line Loop(12) = {42, 20, 51, -50}; Plane Surface(12) = {12}; + Line Loop(13) = {-51, 21, 52, 47}; Plane Surface(13) = {13}; + Line Loop(14) = {53, 43, -22, 52}; Plane Surface(14) = {14}; + Line Loop(15) = {53, 54, 31, 46}; Plane Surface(15) = {15}; + Line Loop(16) = {44, 45, 30, -54}; Plane Surface(16) = {16}; + + // No progression in flow direction on the pin surface + Transfinite Line {50,47,53} = N_x_flow; + Transfinite Line {41,44} = N_x_flow/2; + // Progression normal to the pin surface + Transfinite Line {40, -49, -48, -42, 51, 52, -43, 46, -54, -45} = N_y_flow Using Progression R_y_flow; + + // Physical tags + Physical Line("fluid_inlet") = {40}; + If(OutletDiffusor==0) Physical Line("fluid_outlet") = {45}; EndIf // + Physical Line("fluid_symmetry") = {41,42,43,44,46,47,48}; + Physical Surface("fluid_surf") = {10,11,12,13,14,15,16}; + +EndIf + +// ------------------------------------------------------------------------- // +// Solid only description +If (Which_Mesh_Part == 0 || Which_Mesh_Part == 2) + + If(1==1) // Pin1 solid + // Solid inner pin 1 and bottom300-er range + // pin 1 + Point(301) = {InnerRadiusFactor*0, width-r_pin_lower*InnerRadiusFactor, 0, gs}; // lower pin1 on inlet + Point(302) = {InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower*InnerRadiusFactor, 0, gs}; // lower pin1 in between + Point(303) = {InnerRadiusFactor*r_pin_lower, width, 0, gs}; // lower pin1 on sym + Circle(301) = {301,10,302}; + Circle(302) = {302,10,303}; + + // pin 1 additional lines + Line(306) = {301, 11}; + Line(307) = {302, 12}; + Line(308) = {303, 13}; + + Curve Loop(17) = {306, 10, -307, -301}; Surface(17) = {17}; + Curve Loop(18) = {302, 308, -11, -307}; Surface(18) = {18}; + + Transfinite Line {302} = N_x_flow; + Transfinite Line {301} = N_x_flow/2; + Transfinite Line {306,307,308} = N_y_innerPin Using Progression R_y_innerPin; + + Physical Line("solid_pin1_inner") = {301,302}; + Physical Line("solid_pin1_walls") = {308}; + Physical Line("solid_pin1_periodic") = {306}; + Physical Surface("solid_surf") = {17,18}; + + EndIf + + If(1==1) // Pin2 solid + // Solid inner half pin 2 and bottome300-er range (copied from interface and solid pin parts) + // Lower Pin2 + Point(320) = {0.5*length, 0, 0, gs}; // pin midpoint + Point(321) = {0.5*length - InnerRadiusFactor*r_pin_lower, InnerRadiusFactor*0, 0, gs}; // lower small x + Point(322) = {length/2 - InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower, 0, gs}; // small intermediate + Point(323) = {length/2 + InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower, 0, gs}; // large intermediate + Point(324) = {0.5*length + InnerRadiusFactor*r_pin_lower, InnerRadiusFactor*0, 0, gs}; // lower large x + Circle(320) = {321,20,322}; // first segment + Circle(321) = {322,20,323}; // second segment + Circle(322) = {323,20,324}; // third segment + + // pin 2 additional connecting lines + Line(333) = {21, 321}; // lower + Line(334) = {22, 322}; + Line(335) = {23, 323}; + Line(336) = {24, 324}; + + Curve Loop(19) = {333, 320, -334, -20}; Surface(19) = {19}; + Curve Loop(20) = {21, 335, -321, -334}; Surface(20) = {20}; + Curve Loop(21) = {322, -336, -22, 335}; Surface(21) = {21}; + + // structured parts + Transfinite Line {-333, -334, -335, -336} = N_y_innerPin Using Progression R_y_innerPin; // lines pointing into circle midpoint + Transfinite Line {320, 321, 322} = N_x_flow; // circle arcs + + Physical Line("solid_pin2_inner") = {320,321,322}; + Physical Line("solid_pin2_walls") = {333, 336}; + Physical Surface("solid_surf") += {19,20,21}; + + EndIf + + If(1==1) // Pin3 solid + // pin 3 structured + // lower Pin3 + Point(341) = {length, width-InnerRadiusFactor*r_pin_lower, 0, gs}; // on outlet + Point(342) = {length-InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, width-InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower,0, gs}; + Point(343) = {length - InnerRadiusFactor*r_pin_lower, width, 0, gs}; // on sym + Circle(350) = {341, 30, 342}; + Circle(351) = {342, 30, 343}; + + // pin 3 additional connecting lines + Line(352) = {341, 31}; + Line(353) = {342, 32}; + Line(354) = {343, 33}; + + Curve Loop(22) = {354, -31, -353, 351}; Surface(22) = {22}; + Curve Loop(23) = {350, 353, -30, -352}; Surface(23) = {23}; + + Transfinite Line {351} = N_x_flow; + Transfinite Line {350} = N_x_flow/2; + Transfinite Line {352,353,354} = N_y_innerPin Using Progression R_y_innerPin; + + Physical Line("solid_pin3_inner") = {351,350}; + Physical Line("solid_pin3_walls") = {354}; + If(OutletDiffusor==0) Physical Line("solid_pin3_periodic") = {352}; EndIf + Physical Surface("solid_surf") += {22,23}; + + EndIf + +EndIf + +// ------------------------------------------------------------------------- // +// Outlet Diffusor description (200er range) +If (OutletDiffusor == 1) + + diffusorLength= 0.005; // length from old to new outlet + diffusorShrinkFactor= 0.8; // (new outlet height)/(old outlet height) + + // CHT Interface definition + If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1 || Which_Mesh_Part == 2 || Which_Mesh_Part == 3) + Point(201) = {length+diffusorLength, (width-r_pin_lower)*diffusorShrinkFactor,0,gs}; // top right + Line(200) = {31,201}; + + Transfinite Line {200} = N_x_flow*2; + + //Physical Tags + If (Which_Mesh_Part==1) + Physical Line("fluid_pin3_interface_diffusor") = {200}; + ElseIf (Which_Mesh_Part==2) + Physical Line("solid_pin3_interface_diffusor") = {200}; + EndIf + + EndIf + + // Fluid Part + If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1) + Point(200) = {length+diffusorLength,0,0,gs}; // bottom right + + Line(201) = {45,200}; + Line(202) = {201,200}; // new outlet + + Curve Loop(24) = {200, 202, -201, 45}; Plane Surface(24) = {24}; + + // make structured + // No progression in flow direction on the pin surface + Transfinite Line {201} = N_x_flow*2; + // Progression normal to the pin surface + Transfinite Line {202} = N_y_flow Using Progression R_y_flow; + + // Physical tags + Physical Line("fluid_outlet") = {202}; + Physical Line("fluid_symmetry") += {201}; + Physical Surface("fluid_surf") += {24}; + + EndIf + + // Solid Part + If (Which_Mesh_Part == 0 || Which_Mesh_Part == 2) + Point(210) = {length+diffusorLength, ((width-r_pin_lower)*diffusorShrinkFactor)+(width-r_pin_lower),0,gs}; // top right + + Line(210) = {341,210}; + Line(211) = {210,201}; + + Curve Loop(25) = {210, 211, -200, -352}; Plane Surface(25) = {25}; + + Transfinite Line {210} = N_x_flow*2; + Transfinite Line {211} = N_y_innerPin Using Progression R_y_innerPin; + + Physical Line("solid_pin3_inner_diffusor") = {210}; + Physical Line("solid_pin3_walls") += {211}; + Physical Surface("solid_surf") += {25}; + + EndIf + +EndIf + +// ------------------------------------------------------------------------- // +// Meshing +Coherence; +Transfinite Surface "*"; +Recombine Surface "*"; +Transfinite Volume "*"; + +If (Do_Meshing == 1) + Mesh 1; Mesh 2; Mesh 3; +EndIf + +// ------------------------------------------------------------------------- // +// Write .su2 meshfile +If (Write_mesh == 1) + + Mesh.Format = 42; // .su2 mesh format, + If (Which_Mesh_Part == 1) + If (OutletDiffusor==0) + Save "fluid.su2"; + Else + Save "fluid_diffusor.su2"; + EndIf + + ElseIf (Which_Mesh_Part == 2) + If (OutletDiffusor==0) + Save "solid.su2"; + Else + Save "solid_diffusor.su2"; + EndIf + + Else + Printf("Unvalid Which_Mesh_Part variable for output writing."); + Abort; + EndIf + +EndIf diff --git a/TestCases/species_transport/passive_transport_validation/rectangle_mixing.geo b/TestCases/species_transport/passive_transport_validation/rectangle_mixing.geo new file mode 100644 index 000000000000..5b1c90ef1811 --- /dev/null +++ b/TestCases/species_transport/passive_transport_validation/rectangle_mixing.geo @@ -0,0 +1,92 @@ +// ----------------------------------------------------------------------------------- // +// Tobias Kattmann, 24.09.2021, 2D rectangle for mixing validation testcase +// ----------------------------------------------------------------------------------- // + +// Evoque Meshing Algorithm? +Do_Meshing= 1; // 0=false, 1=true +// Write Mesh files in .su2 format +Write_mesh= 1; // 0=false, 1=true + +// Geometric inputs +length= 10; // downstream direction +height= 5; // crossstream direction, full length +border= 1; // height of gas inlet, height-border= air inlet length + +// Mesh sizing inputs. Note that the #cells+Prgression needs some fiddeling such that mesh size at the border fits. +Nl= 50; // Nodes in 'l'ength direction +Nhg= 25; // Nodes in 'h eight direction of the 'g'as side +Rhg= 0.9; // Progression of gas side [0,1], lower means more agressive +Nha= 40; // Nodes in 'h eight direction of the 'a'ir side +Rha= 0.9; // Progression of air side [0,1], lower means more agressive + +gridsize= 0.1; // Later on not important as structured mesh is achieved + +// ----------------------------------------------------------------------------------- // +// POINTS + +// Starting in the origin, which is the most low-left point, and going clockwise. + +Point(1) = {0, 0, 0, gridsize}; +Point(2) = {0, border, 0, gridsize}; +Point(3) = {0, height, 0, gridsize}; +Point(4) = {length, height, 0, gridsize}; +Point(5) = {length, border, 0, gridsize}; +Point(6) = {length, 0, 0, gridsize}; + +// ----------------------------------------------------------------------------------- // +// LINES + +// gas inlet +Line(1) = {1,2}; +// air inlet +Line(2) = {2,3}; +// top sym +Line(3) = {3,4}; +// air outlet +Line(4) = {4,5}; +// gas outlet +Line(5) = {5,6}; +// bottom sym +Line(6) = {6,1}; +// species border +Line(7) = {2,5}; + +// ----------------------------------------------------------------------------------- // +// SURFACES (and Lineloops) +Curve Loop(1) = {6, 1, 7, 5}; Plane Surface(1) = {1}; // gas box +Curve Loop(2) = {3, 4, -7, 2}; Plane Surface(2) = {2}; // air box + +// make structured mesh with transfinite Lines +// NOTE: The usage of Nwall and the progression has to be tuned again for any changes. +Transfinite Line{3,-6,7} = Nl ; // downstream direction, no progression +Transfinite Line{1,-5} = Nhg Using Progression Rhg; // gas side, progression towards border +Transfinite Line{-2,4} = Nha Using Progression Rha; // air side, progression towards border + +// ----------------------------------------------------------------------------------- // +// PHYSICAL GROUPS + +Physical Line("gas_inlet") = {1}; +Physical Line("air_inlet") = {2}; +Physical Line("outlet") = {4,5}; +Physical Line("top") = {3}; +Physical Line("bottom") = {6}; + +Physical Surface("fluid") = {1,2}; + +// ----------------------------------------------------------------------------------- // +// Meshing +Transfinite Surface "*"; +Recombine Surface "*"; + +If (Do_Meshing == 1) + Mesh 1; Mesh 2; +EndIf + +// ----------------------------------------------------------------------------------- // +// Write .su2 meshfile +If (Write_mesh == 1) + + Mesh.Format = 42; // .su2 mesh format, + Save "rectangle_mixing.su2"; + +EndIf diff --git a/TestCases/species_transport/venturi_primitive_3species/primitiveVenturi.geo b/TestCases/species_transport/venturi_primitive_3species/primitiveVenturi.geo new file mode 100644 index 000000000000..dea978f5a48a --- /dev/null +++ b/TestCases/species_transport/venturi_primitive_3species/primitiveVenturi.geo @@ -0,0 +1,111 @@ +// ----------------------------------------------------------------------------------- // +// Tobias Kattmann, 09.09.2021, 2D Venturi Primitive for faster debugging +// ----------------------------------------------------------------------------------- // + +// Evoque Meshing Algorithm? +Do_Meshing= 1; // 0=false, 1=true +// Write Mesh files in .su2 format +Write_mesh= 1; // 0=false, 1=true + +// Geometric inputs +gas_inlet_diameter= 0.015; +air_inlet_diameter= 0.015; +gas_tube_length=0.045; +air_tube_length=0.045; +downstream_length= 0.09; + +// Mesh sizing inputs +Nwall= 30; // Nodes for all spacings +gridsize= 0.1; // Later on not important as structured mesh is achieved + +// ----------------------------------------------------------------------------------- // +// POINTS + +// Starting in the origin, which is the most low-left point, and going clockwise. +// Gas inlet +Point(1) = {0, 0, 0, gridsize}; +Point(2) = {0, gas_inlet_diameter, 0, gridsize}; +// +Point(3) = {gas_tube_length, gas_inlet_diameter, 0, gridsize}; +// Air inlet +Point(4) = {gas_tube_length, gas_inlet_diameter+air_tube_length, 0, gridsize}; +Point(5) = {gas_tube_length+air_inlet_diameter, gas_inlet_diameter+air_tube_length, 0, gridsize}; +// +Point(6) = {gas_tube_length+air_inlet_diameter, gas_inlet_diameter, 0, gridsize}; +// outlet +Point(7) = {gas_tube_length+air_inlet_diameter+downstream_length, gas_inlet_diameter, 0, gridsize}; +Point(8) = {gas_tube_length+air_inlet_diameter+downstream_length, 0, 0, gridsize}; +// +Point(9) = {gas_tube_length+air_inlet_diameter, 0, 0, gridsize}; +Point(10) = {gas_tube_length, 0, 0, gridsize}; + +// ----------------------------------------------------------------------------------- // +// LINES + +// Gas inlet box, clockwise +Line(1) = {1,2}; +Line(2) = {2,3}; +Line(3) = {3,10}; +Line(4) = {10,1}; + +// air inlet box, clockwise +Line(5) = {3,4}; +Line(6) = {4,5}; +Line(7) = {5,6}; +Line(8) = {6,3}; + +// downstream box, clockwise +Line(9) = {6,7}; +Line(10) = {7,8}; +Line(11) = {8,9}; +Line(12) = {9,6}; + +// remaining lower middle box line +Line(13) = {9,10}; + +// ----------------------------------------------------------------------------------- // +// SURFACES (and Lineloops) +Curve Loop(1) = {1, 2, 3, 4}; Plane Surface(1) = {1}; // Gas inlet box +Curve Loop(2) = {5, 6, 7, 8}; Plane Surface(2) = {2}; // air inlet box +Curve Loop(3) = {9, 10, 11, 12}; Plane Surface(3) = {3}; // downstream box +Curve Loop(4) = {8, 3, -13, 12}; Plane Surface(4) = {4}; // middle box + +// make structured mesh with transfinite Lines +// NOTE: The usage of Nwall and the progression has to be tuned again for any changes. +Transfinite Line{1,-3,12,-10} = Nwall Using Progression 0.9; // Spacing to the wall of the long tube, progression towards top wall +Transfinite Line{2,-4} = Nwall Using Progression 0.9; // Downstream spacing of gas inlet, progression towards air inlet + +Transfinite Line{6,-8,-13} = Nwall Using Bump 0.1; // Spacing to the wall of the air inlet tube, progression towards side walls +Transfinite Line{-5,7} = Nwall Using Progression 0.9; // Downstream spacing of air inlet, progression towards gas inlet + +Transfinite Line{-9,11} = Nwall Using Progression 0.9; // Downstream spacing of air inlet, progressio + +// ----------------------------------------------------------------------------------- // +// PHYSICAL GROUPS + +Physical Line("gas_inlet") = {1}; +Physical Line("air_axial_inlet") = {6}; +Physical Line("outlet") = {10}; +Physical Line("axis") = {4,13,11}; +Physical Line("wall") = {2,5,7,9}; + +Physical Surface("fluid") = {1,2,3,4}; + +// ----------------------------------------------------------------------------------- // +// Meshing +Transfinite Surface "*"; +Recombine Surface "*"; + +If (Do_Meshing == 1) + Mesh 1; Mesh 2; +EndIf + +// ----------------------------------------------------------------------------------- // +// Write .su2 meshfile +If (Write_mesh == 1) + + Mesh.Format = 42; // .su2 mesh format, + Save "primitiveVenturi.su2"; + +EndIf + diff --git a/TestCases/turbomachinery/transonic_stator_2D/history b/TestCases/turbomachinery/transonic_stator_2D/history new file mode 100644 index 000000000000..ce1122492f1c --- /dev/null +++ b/TestCases/turbomachinery/transonic_stator_2D/history @@ -0,0 +1,22 @@ +"Iteration","Buffet_Metric","TotalPressureLoss_1","KineticEnergyLoss_1","EntropyGen_1","EulerianWork_1","PressureRatio_1","FlowAngleIn_1","FlowAngleOut_1","AbsFlowAngleIn_1","AbsFlowAngleOut_1","MassFlowIn_1","MassFlowOut_1","MachIn_1","MachOut_1","TotalEfficiency_1","TotalStaticEfficiency_1","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","Res_Turb[0]","Res_Turb[1]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" + 0, 0.0500298596, 0.0369565909, 0.0000295143, -1.1234829240, 0.9824255931, -0.0002434194, -74.8649087731, -0.0002434194, -74.8649087731, 1651.1107079070, 1650.9864894499, 0.1711305519, 0.9967558787, 0.0000000000, 0.0000000000, -7.35200770e+00, -2.68945799e+00, -2.26694567e+00, -1.04821396e+00, 0.00000000e+00, -1.1363352934, 5.9056208458, -4.7971264101, 4.1976959918, 0.0000000000, -1.1427998644, 5.9435208733, 2.3038300854, 0.0000000000, 0.0000000000, 0.0000000000, 0.1708586116, 0.1324799764, 5.0000000000, 40.0000000000, 0.0011775573 + 1, 0.0500298824, 0.0369570938, 0.0000295144, -1.1243076350, 0.9824255858, -0.0002434192, -74.8649074803, -0.0002434192, -74.8649074803, 1651.1107083308, 1650.9866121795, 0.1711305520, 0.9967558500, 0.0000000000, 0.0000000000, -6.06646744e+00, -2.24744368e+00, -1.88371577e+00, 4.44211904e-02, 0.00000000e+00, -0.4268169761, 5.5348065118, -4.7971323159, 4.1976795393, 0.0000000000, -1.1428057504, 5.9435207958, 2.3038126053, 0.0000000000, 0.0000000000, 0.0000000000, 0.1708579936, 0.1324799764, 5.0000000000, 40.0000000000, 0.0024096627 + 2, 0.0500300178, 0.0369580498, 0.0000295152, -1.1301107937, 0.9824255435, -0.0002434086, -74.8648896889, -0.0002434086, -74.8648896889, 1651.1107298559, 1650.9884173262, 0.1711305545, 0.9967556385, 0.0000000000, 0.0000000000, -4.91731162e+00, -1.88079762e+00, -1.54408767e+00, 1.17883377e+00, 0.00000000e+00, -0.1353394992, 5.2673589206, -4.7972113666, 4.1975382127, 0.0000000000, -1.1428630601, 5.9435467426, 2.3036527648, 0.0000000000, 0.0000000000, 0.0000000000, 0.1708531841, 0.1324799764, 5.0000000000, 40.0000000000, 0.0035879053 + 3, 0.0500296676, 0.0369587278, 0.0000295165, -1.1422635531, 0.9824256861, -0.0002433521, -74.8648099153, -0.0002433521, -74.8648099153, 1651.1109280703, 1650.9971401984, 0.1711305774, 0.9967551979, 0.0000000000, 0.0000000000, -4.11700039e+00, -1.67245252e+00, -1.30161239e+00, 1.97879310e+00, 0.00000000e+00, 0.0590488942, 5.0423767897, -4.7974445025, 4.1972473642, 0.0000000000, -1.1429977998, 5.9436663427, 2.3032997194, 0.0000000000, 0.0000000000, 0.0000000000, 0.1708453893, 0.1324799764, 5.0000000000, 40.0000000000, 0.0047896634 + 4, 0.0500299983, 0.0369614146, 0.0000295186, -1.1576612592, 0.9824255978, -0.0002435979, -74.8646168879, -0.0002435979, -74.8646168879, 1651.1116983505, 1651.0174574153, 0.1711306642, 0.9967542411, 0.0000000000, 0.0000000000, -3.88148968e+00, -1.51924828e+00, -1.13916943e+00, 2.21377695e+00, 0.00000000e+00, 0.1957587761, 4.8341671148, -4.7978793746, 4.1967628894, 0.0000000000, -1.1432333684, 5.9439092886, 2.3026957270, 0.0000000000, 0.0000000000, 0.0000000000, 0.1708339570, 0.1324799764, 5.0000000000, 40.0000000000, 0.0059916742 + 5, 0.0500337413, 0.0369663085, 0.0000295217, -1.1647835542, 0.9824243054, -0.0002447018, -74.8642900691, -0.0002447018, -74.8642900691, 1651.1136589059, 1651.0497519715, 0.1711308813, 0.9967520994, 0.0000000000, 0.0000000000, -3.69469136e+00, -1.40468251e+00, -1.01554993e+00, 2.40088933e+00, 0.00000000e+00, 0.2783022478, 4.6544556896, -4.7985414074, 4.1960520592, 0.0000000000, -1.1435848125, 5.9442882778, 2.3018013365, 0.0000000000, 0.0000000000, 0.0000000000, 0.1708182881, 0.1324799764, 5.0000000000, 40.0000000000, 0.0071941262 + 6, 0.0500440913, 0.0369707744, 0.0000295260, -1.1498760008, 0.9824206777, -0.0002468503, -74.8638426046, -0.0002468503, -74.8638426046, 1651.1174769682, 1651.0905414300, 0.1711312988, 0.9967477864, 0.0000000000, 0.0000000000, -3.56427879e+00, -1.34370737e+00, -9.39732776e-01, 2.53148168e+00, 0.00000000e+00, 0.3171564765, 4.5563175036, -4.7994215952, 4.1951064089, 0.0000000000, -1.1440524095, 5.9447919523, 2.3006116740, 0.0000000000, 0.0000000000, 0.0000000000, 0.1707986778, 0.1324799764, 5.0000000000, 40.0000000000, 0.0084054864 + 7, 0.0500627666, 0.0369789967, 0.0000295315, -1.1055884145, 0.9824141194, -0.0002495526, -74.8632800414, -0.0002495526, -74.8632800414, 1651.1235684461, 1651.1381577882, 0.1711319580, 0.9967403865, 0.0000000000, 0.0000000000, -3.48261864e+00, -1.32376325e+00, -9.06077320e-01, 2.61327937e+00, 0.00000000e+00, 0.3298069624, 4.5470403966, -4.8004747614, 4.1939491484, 0.0000000000, -1.1446192101, 5.9453857984, 2.2991640008, 0.0000000000, 0.0000000000, 0.0000000000, 0.1707765504, 0.1324799764, 5.0000000000, 40.0000000000, 0.0096183106 + 8, 0.0500896477, 0.0369875409, 0.0000295377, -1.0277961611, 0.9824046909, -0.0002519119, -74.8625519950, -0.0002519119, -74.8625519950, 1651.1317676345, 1651.1981239026, 0.1711328364, 0.9967294130, 0.0000000000, 0.0000000000, -3.43845393e+00, -1.33333979e+00, -9.03376400e-01, 2.65755696e+00, 0.00000000e+00, 0.3316724229, 4.5619497526, -4.8016211530, 4.1926319782, 0.0000000000, -1.1452522373, 5.9460125553, 2.2975341766, 0.0000000000, 0.0000000000, 0.0000000000, 0.1707538727, 0.1324799764, 5.0000000000, 40.0000000000, 0.0108318480 + 9, 0.0501244110, 0.0369938437, 0.0000295427, -0.9033545835, 0.9823925154, -0.0002530847, -74.8615510031, -0.0002530847, -74.8615510031, 1651.1411068755, 1651.2821810604, 0.1711338264, 0.9967147225, 0.0000000000, 0.0000000000, -3.42273739e+00, -1.36012552e+00, -9.21582057e-01, 2.67331101e+00, 0.00000000e+00, 0.3274973479, 4.5643907888, -4.8027624450, 4.1912253228, 0.0000000000, -1.1459089109, 5.9466039145, 2.2958220081, 0.0000000000, 0.0000000000, 0.0000000000, 0.1707326454, 0.1324799764, 5.0000000000, 40.0000000000, 0.0120403913 + 10, 0.0501689981, 0.0369963640, 0.0000295429, -0.6937442271, 0.9823768975, -0.0002525197, -74.8601716394, -0.0002525197, -74.8601716394, 1651.1498307161, 1651.4003551324, 0.1711347378, 0.9966959610, 0.0000000000, 0.0000000000, -3.42920371e+00, -1.39697918e+00, -9.54095864e-01, 2.66673285e+00, 0.00000000e+00, 0.3140312935, 4.5483273828, -4.8038049537, 4.1898033578, 0.0000000000, -1.1465466380, 5.9470972116, 2.2941292391, 0.0000000000, 0.0000000000, 0.0000000000, 0.1707143948, 0.1324799764, 5.0000000000, 40.0000000000, 0.0132707101 + 11, 0.0502291752, 0.0369845097, 0.0000295329, -0.3296147224, 0.9823557774, -0.0002499303, -74.8583955116, -0.0002499303, -74.8583955116, 1651.1556790647, 1651.5508724554, 0.1711353298, 0.9966718965, 0.0000000000, 0.0000000000, -3.44781645e+00, -1.43783658e+00, -9.94510456e-01, 2.64787918e+00, 0.00000000e+00, 0.2886598312, 4.5172879824, -4.8046803745, 4.1884289245, 0.0000000000, -1.1471318867, 5.9474497542, 2.2925382827, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706998412, 0.1324799764, 5.0000000000, 40.0000000000, 0.0144708749 + 12, 0.0503142277, 0.0369567269, 0.0000295071, 0.2791291792, 0.9823258542, -0.0002452120, -74.8563450114, -0.0002452120, -74.8563450114, 1651.1563505017, 1651.7146388031, 0.1711353607, 0.9966400462, 0.0000000000, 0.0000000000, -3.46876305e+00, -1.47957117e+00, -1.03525783e+00, 2.62674742e+00, 0.00000000e+00, 0.2532694530, 4.4749824158, -4.8053648597, 4.1871519574, 0.0000000000, -1.1476452034, 5.9476562114, 2.2911042185, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706892702, 0.1324799764, 5.0000000000, 40.0000000000, 0.0156727420 + 13, 0.0504349729, 0.0369012122, 0.0000294588, 1.2376197041, 0.9822833060, -0.0002384438, -74.8542654415, -0.0002384438, -74.8542654415, 1651.1499707725, 1651.8584743051, 0.1711346365, 0.9965968171, 0.0000000000, 0.0000000000, -3.48396025e+00, -1.51416613e+00, -1.06958168e+00, 2.61155209e+00, 0.00000000e+00, 0.2136050910, 4.4234727860, -4.8058648733, 4.1859978979, 0.0000000000, -1.1480810527, 5.9477313589, 2.2898487425, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706820307, 0.1324799764, 5.0000000000, 40.0000000000, 0.0168713998 + 14, 0.0506013877, 0.0368156906, 0.0000293843, 2.6217835597, 0.9822246403, -0.0002300058, -74.8524271777, -0.0002300058, -74.8524271777, 1651.1353923684, 1651.9470818773, 0.1711330413, 0.9965379273, 0.0000000000, 0.0000000000, -3.49005319e+00, -1.53677174e+00, -1.09391974e+00, 2.60572928e+00, 0.00000000e+00, 0.1765051213, 4.3672886389, -4.8062175821, 4.1849805116, 0.0000000000, -1.1484444357, 5.9477148302, 2.2887720786, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706774267, 0.1324799764, 5.0000000000, 40.0000000000, 0.0180706938 + 15, 0.0508216359, 0.0366981522, 0.0000292825, 4.4787320171, 0.9821470315, -0.0002206526, -74.8509959480, -0.0002206526, -74.8509959480, 1651.1122163929, 1651.9575159022, 0.1711305371, 0.9964589109, 0.0000000000, 0.0000000000, -3.48754963e+00, -1.54885393e+00, -1.10771403e+00, 2.60846507e+00, 0.00000000e+00, 0.1470124287, 4.3081150326, -4.8064735286, 4.1841040222, 0.0000000000, -1.1487461839, 5.9476555642, 2.2878609091, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706748133, 0.1324799764, 5.0000000000, 40.0000000000, 0.0192772880 + 16, 0.0511029686, 0.0365530682, 0.0000291569, 6.8143479382, 0.9820479856, -0.0002113731, -74.8499409215, -0.0002113731, -74.8499409215, 1651.0805533300, 1651.8883516942, 0.1711271378, 0.9963553384, 0.0000000000, 0.0000000000, -3.47815618e+00, -1.55634260e+00, -1.11330894e+00, 2.61803926e+00, 0.00000000e+00, 0.1264236544, 4.2449819429, -4.8066845834, 4.1833676954, 0.0000000000, -1.1489988290, 5.9476020523, 2.2870968033, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706737792, 0.1324799764, 5.0000000000, 40.0000000000, 0.0204759436 + 17, 0.0514537350, 0.0363933077, 0.0000290164, 9.5979939455, 0.9819246109, -0.0002030589, -74.8490260711, -0.0002030589, -74.8490260711, 1651.0406562363, 1651.7592469188, 0.1711228693, 0.9962226985, 0.0000000000, 0.0000000000, -3.46567962e+00, -1.56355031e+00, -1.11544647e+00, 2.63048376e+00, 0.00000000e+00, 0.1125465819, 4.1862799182, -4.8068849702, 4.1827574927, 0.0000000000, -1.1492143589, 5.9475816526, 2.2864548639, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706736211, 0.1324799764, 5.0000000000, 40.0000000000, 0.0216816232 + 18, 0.0518850496, 0.0362365154, 0.0000288761, 12.7603068976, 0.9817730192, -0.0001961898, -74.8478815971, -0.0001961898, -74.8478815971, 1650.9925981658, 1651.6021933029, 0.1711177375, 0.9960561056, 0.0000000000, 0.0000000000, -3.45177316e+00, -1.57264840e+00, -1.11655610e+00, 2.64418274e+00, 0.00000000e+00, 0.1017686437, 4.1334343082, -4.8070997499, 4.1822575154, 0.0000000000, -1.1494030992, 5.9476124772, 2.2859115800, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706738844, 0.1324799764, 5.0000000000, 40.0000000000, 0.0228867300 + 19, 0.0524116316, 0.0361072014, 0.0000287574, 16.2027569474, 0.9815880234, -0.0001907224, -74.8461050013, -0.0001907224, -74.8461050013, 1650.9361295392, 1651.4501640983, 0.1711117135, 0.9958501731, 0.0000000000, 0.0000000000, -3.43671984e+00, -1.58209779e+00, -1.11795813e+00, 2.65951315e+00, 0.00000000e+00, 0.0909885008, 4.0846646576, -4.8073383054, 4.1818468256, 0.0000000000, -1.1495730250, 5.9476961818, 2.2854440670, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706739707, 0.1324799764, 5.0000000000, 40.0000000000, 0.0240868940 + 20, 0.0530487110, 0.0360375477, 0.0000286857, 19.7960346129, 0.9813642443, -0.0001861978, -74.8433760642, -0.0001861978, -74.8433760642, 1650.8707437331, 1651.3268907029, 0.1711047429, 0.9955996232, 0.0000000000, 0.0000000000, -3.42129246e+00, -1.59258951e+00, -1.11918780e+00, 2.67448468e+00, 0.00000000e+00, 0.0783224769, 4.0423744988, -4.8075934222, 4.1814985838, 0.0000000000, -1.1497297741, 5.9478168075, 2.2850295718, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706729390, 0.1324799764, 5.0000000000, 40.0000000000, 0.0252974933 From f49c488ea8d1445114fc6585e518db545de043ca Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 21:54:04 +0200 Subject: [PATCH 052/110] update turbulent viscosity in sstsolver --- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index 71df40bd5811..3979fa373d19 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -229,7 +229,7 @@ void CTurbSSTSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai su2double VorticityMag = GeometryToolbox::Norm(3, flowNodes->GetVorticity(iPoint)); VorticityMag = max(VorticityMag, 1e-12); // safety against division by zero - + su2double StrainMag = max(nodes->GetStrainMag(iPoint), 1e-12); nodes->SetBlendingFunc(iPoint, mu, dist, rho, config); su2double F2 = nodes->GetF2blending(iPoint); @@ -238,7 +238,16 @@ void CTurbSSTSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai su2double kine = nodes->GetSolution(iPoint,0); su2double omega = nodes->GetSolution(iPoint,1); - su2double zeta = min(1.0/omega, a1/(VorticityMag*F2)); + + su2double P_Base; + + if (sstParsedOptions.version == SST_OPTIONS::V1994){ + P_Base = VorticityMag; + } else { + P_Base = StrainMag; + } + + su2double zeta = min(1.0/omega, a1/(P_Base*F2)); su2double muT = max(rho*kine*zeta,0.0); nodes->SetmuT(iPoint,muT); From d2e763ee11f89b3731aa71e7e9735bbb71ac5d62 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 11 Apr 2022 22:57:24 +0200 Subject: [PATCH 053/110] sstmodels in turb_sources --- .../include/numerics/turbulent/turb_sources.hpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 881b4d2e2b72..213b474139db 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -738,13 +738,23 @@ class CSourcePieceWise_TurbSST final : public CNumerics { Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); P_Base = PerturbedStrainMag(ScalarVar_i[0]); - } - su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { + P_Base = VorticityMag; + + } else if (sstParsedOptions.production == SST_OPTIONS::KL) { + P_Base = sqrt(StrainMag_i*VorticityMag); + } + + su2double pk = Eddy_Viscosity_i * pow(P_Base, 2); + pk -= 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg,0.0); + + su2double pw = pow(StrainMag, 2); + pw -= - 2.0 / 3.0 * zeta * diverg; + pw = alfa_blended * Density_i * max(pw,0.0); //pw = max(pw, 0.0); From df0a997f4e184f6cf79733cda84f299bf5f0aef8 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Tue, 12 Apr 2022 08:07:17 +0200 Subject: [PATCH 054/110] sstmodels in turb_sources --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 213b474139db..057de481c940 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -738,7 +738,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); P_Base = PerturbedStrainMag(ScalarVar_i[0]); - + } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { P_Base = VorticityMag; @@ -746,15 +746,11 @@ class CSourcePieceWise_TurbSST final : public CNumerics { P_Base = sqrt(StrainMag_i*VorticityMag); } - su2double pk = Eddy_Viscosity_i * pow(P_Base, 2); - pk -= 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - - su2double pw = pow(StrainMag, 2); - pw -= - 2.0 / 3.0 * zeta * diverg; - pw = alfa_blended * Density_i * max(pw,0.0); + su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg,0.0); //pw = max(pw, 0.0); From 7ecfe33ccc8e0a80615f4f00bc3816b23f41dd6d Mon Sep 17 00:00:00 2001 From: bigfooted Date: Tue, 12 Apr 2022 08:43:58 +0200 Subject: [PATCH 055/110] sstmodels in turb_sources --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 057de481c940..881b4d2e2b72 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -738,13 +738,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); P_Base = PerturbedStrainMag(ScalarVar_i[0]); - - } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { - P_Base = VorticityMag; - - } else if (sstParsedOptions.production == SST_OPTIONS::KL) { - P_Base = sqrt(StrainMag_i*VorticityMag); - } + } su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); From 38c3ab59b847b6dc0ab64d01ef3eedd14fd407c2 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Tue, 12 Apr 2022 12:02:02 +0200 Subject: [PATCH 056/110] sstmodels in turb_sources --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 881b4d2e2b72..55ba6b3d64d9 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -740,8 +740,10 @@ class CSourcePieceWise_TurbSST final : public CNumerics { P_Base = PerturbedStrainMag(ScalarVar_i[0]); } - su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - pk = max(0.0, min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) + pk = pk - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + pk = min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]); + pk = max(0.0, pk); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg,0.0); From 72c441610a84f64011b759aa4e6af92ba0be5bff Mon Sep 17 00:00:00 2001 From: bigfooted Date: Tue, 12 Apr 2022 12:11:03 +0200 Subject: [PATCH 057/110] sstmodels in turb_sources --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 55ba6b3d64d9..19452da4fee4 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -740,7 +740,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { P_Base = PerturbedStrainMag(ScalarVar_i[0]); } - su2double pk = Eddy_Viscosity_i * pow(P_Base, 2) + su2double pk = Eddy_Viscosity_i * pow(P_Base, 2); pk = pk - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]); pk = max(0.0, pk); From 0d24bd07bf7a1d8fab46d3acbdb7f99243cdf281 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Tue, 12 Apr 2022 13:06:31 +0200 Subject: [PATCH 058/110] sstmodels in turb_sources --- Common/include/CConfig.hpp | 2 +- Common/include/option_structure.hpp | 2 +- .../include/numerics/turbulent/turb_sources.hpp | 16 +++++++++++++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index eb669354e785..5608dc521379 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -9683,7 +9683,7 @@ class CConfig { // Parse boolean options SSTParsedOptions.sust = sst_sust; - SSTParsedOptions.m = sst_m; + SSTParsedOptions.modified = sst_m; SSTParsedOptions.uq = sst_uq; return SSTParsedOptions; } diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index a354509e177a..888aa6802939 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -995,7 +995,7 @@ struct SST_ParsedOptions { SST_OPTIONS production; /*!< \brief Enum for production corrections/modifiers for SST model. */ bool sust; /*!< \brief Bool for SST model with sustaining terms. */ bool uq; /*!< \brief Bool for using uncertainty quantification */ - bool m; /*!< \brief Bool for modified (m) SST model. */ + bool modified; /*!< \brief Bool for modified (m) SST model. */ }; diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 19452da4fee4..116172d76334 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -740,7 +740,21 @@ class CSourcePieceWise_TurbSST final : public CNumerics { P_Base = PerturbedStrainMag(ScalarVar_i[0]); } - su2double pk = Eddy_Viscosity_i * pow(P_Base, 2); + su2double pk = Eddy_Viscosity_i * pow(P_Base, 2); + + if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { + /* in case of unmodified, we add the divergence terms */ + if (sstParsedOptions.version == SST_OPTIONS::V1994) { + /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ + //pk -= (Eddy_Viscosity*2.0/3.0*diverg*diverg + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); + pk = pk - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + } else { + /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ + pk -= (Eddy_Viscosity_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); + } + } + + pk = pk - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]); pk = max(0.0, pk); From 02248116b541d3b2e06ff2a0a6177117eea4447a Mon Sep 17 00:00:00 2001 From: bigfooted Date: Tue, 12 Apr 2022 13:40:25 +0200 Subject: [PATCH 059/110] sstmodels in turb_sources --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 116172d76334..8a112c57e218 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -755,7 +755,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { } - pk = pk - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + //pk = pk - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]); pk = max(0.0, pk); From 3b6616b7f86be4e0a8de61fb9b67ee1a154667c3 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Tue, 12 Apr 2022 14:29:53 +0200 Subject: [PATCH 060/110] sstmodels in turb_sources --- .../include/numerics/turbulent/turb_sources.hpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 8a112c57e218..100b60aeae5c 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -738,7 +738,13 @@ class CSourcePieceWise_TurbSST final : public CNumerics { Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); P_Base = PerturbedStrainMag(ScalarVar_i[0]); - } + + } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { + P_Base = VorticityMag; + + } else if (sstParsedOptions.production == SST_OPTIONS::KL) { + P_Base = sqrt(StrainMag_i*VorticityMag); + } su2double pk = Eddy_Viscosity_i * pow(P_Base, 2); @@ -750,17 +756,17 @@ class CSourcePieceWise_TurbSST final : public CNumerics { pk = pk - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; } else { /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ - pk -= (Eddy_Viscosity_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); + pk = pk - (Eddy_Viscosity_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); } } - - //pk = pk - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]); pk = max(0.0, pk); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg,0.0); + su2double pw = pow(StrainMag, 2); + pw = pw - 2.0 / 3.0 * zeta * diverg; + su2double pw = alfa_blended * Density_i * max(pw,0.0); //pw = max(pw, 0.0); From 445266edd9e5ed70ef2a29302ef89879eb10eebe Mon Sep 17 00:00:00 2001 From: bigfooted Date: Tue, 12 Apr 2022 16:33:54 +0200 Subject: [PATCH 061/110] sstmodels in turb_sources --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 100b60aeae5c..c5dd30410155 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -766,7 +766,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); su2double pw = pow(StrainMag, 2); pw = pw - 2.0 / 3.0 * zeta * diverg; - su2double pw = alfa_blended * Density_i * max(pw,0.0); + pw = alfa_blended * Density_i * max(pw,0.0); //pw = max(pw, 0.0); From 370bbcf41ac300e7610b28d67706f5254f8e58c9 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Tue, 12 Apr 2022 18:30:03 +0200 Subject: [PATCH 062/110] sstmodels in turb_sources --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index c5dd30410155..649a98c5a1cc 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -756,7 +756,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { pk = pk - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; } else { /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ - pk = pk - (Eddy_Viscosity_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); + pk -= (Eddy_Viscosity_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); } } @@ -764,9 +764,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { pk = max(0.0, pk); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - su2double pw = pow(StrainMag, 2); - pw = pw - 2.0 / 3.0 * zeta * diverg; - pw = alfa_blended * Density_i * max(pw,0.0); + + su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg,0.0); //pw = max(pw, 0.0); From 448075ae9c0488527255872371e3f0d46e1a46f7 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Tue, 12 Apr 2022 18:43:00 +0200 Subject: [PATCH 063/110] sstmodels in turb_sources --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 649a98c5a1cc..8a112c57e218 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -738,13 +738,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); P_Base = PerturbedStrainMag(ScalarVar_i[0]); - - } else if (sstParsedOptions.production == SST_OPTIONS::VORTICITY) { - P_Base = VorticityMag; - - } else if (sstParsedOptions.production == SST_OPTIONS::KL) { - P_Base = sqrt(StrainMag_i*VorticityMag); - } + } su2double pk = Eddy_Viscosity_i * pow(P_Base, 2); @@ -760,11 +754,12 @@ class CSourcePieceWise_TurbSST final : public CNumerics { } } + + //pk = pk - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]); pk = max(0.0, pk); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg,0.0); //pw = max(pw, 0.0); From ca8c9989da17fc2bc41199041a7058da8393e2db Mon Sep 17 00:00:00 2001 From: bigfooted Date: Tue, 12 Apr 2022 19:19:38 +0200 Subject: [PATCH 064/110] sstmodels in turb_sources --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 8a112c57e218..c82e9d965a8c 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -760,7 +760,10 @@ class CSourcePieceWise_TurbSST final : public CNumerics { pk = max(0.0, pk); const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - su2double pw = alfa_blended * Density_i * max(pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg,0.0); + + + su2double pw = pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg; + pw = alfa_blended * Density_i * max(pw,0.0); //pw = max(pw, 0.0); From 7fb8e5bc94f09a1ad2a820d5045d542357091af1 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Tue, 12 Apr 2022 21:26:24 +0200 Subject: [PATCH 065/110] sstmodels in turb_sources --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index c82e9d965a8c..cdeac5efff45 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -762,7 +762,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - su2double pw = pow(StrainMag, 2) - 2.0 / 3.0 * zeta * diverg; + su2double pw = pow(StrainMag, 2); + pw = pw - 2.0 / 3.0 * zeta * diverg; pw = alfa_blended * Density_i * max(pw,0.0); //pw = max(pw, 0.0); From d81913e998f589d33b14d898c3b0d59e8dbdacee Mon Sep 17 00:00:00 2001 From: bigfooted Date: Tue, 12 Apr 2022 22:59:39 +0200 Subject: [PATCH 066/110] sstmodels in turb_sources --- .../numerics/turbulent/turb_sources.hpp | 34 ++++++++++++++++--- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index cdeac5efff45..06723e1819de 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -754,19 +754,43 @@ class CSourcePieceWise_TurbSST final : public CNumerics { } } - //pk = pk - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]); pk = max(0.0, pk); - const su2double zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); + su2double zeta; + if (sstParsedOptions.version == SST_OPTIONS::V1994){ + /*--- no production limiter on w-equation for SST1994 ---*/ + zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); + /*--- ---*/ + //pw = (alfa_blended * Density_i) * pw; + } else { + /*--- production limiter on w-equation for SST2003 ---*/ + zeta = max(ScalarVar_i[1], StrainMag_i * F2_i / a1); + //pw = (alfa_blended * Density_i) * max(0.0, min(pw, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); + } su2double pw = pow(StrainMag, 2); - pw = pw - 2.0 / 3.0 * zeta * diverg; - pw = alfa_blended * Density_i * max(pw,0.0); - //pw = max(pw, 0.0); + if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { + /* in case of unmodified, we add the divergence terms */ + if (sstParsedOptions.version == SST_OPTIONS::V1994) { + /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ + /* --- note that mu_t = rho*a1*k/zeta and we can make this term independent of k ---*/ + // the correct production with the additional divergence term + // pw -= (alfa_blended*Density_i * (2.0 / 3.0 * diverg*diverg) + 2.0 / 3.0 * zeta * diverg); + /*--- the tke term only ---*/ + pw = pw - 2.0 / 3.0 * zeta * diverg; + } else { + /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ + pw = pw - (2.0 / 3.0 * diverg * diverg + 2.0 / 3.0 * zeta * diverg); + } + } + + //su2double pw = pow(StrainMag, 2); + //pw = pw - 2.0 / 3.0 * zeta * diverg; + pw = (alfa_blended * Density_i) * max(pw,0.0); /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is From aa876c321ddb08af825285afccbe177df274e46d Mon Sep 17 00:00:00 2001 From: bigfooted Date: Thu, 14 Apr 2022 23:04:47 +0200 Subject: [PATCH 067/110] use rank for cout messages --- Common/include/CConfig.hpp | 35 +++++++++++++++++++---------------- Common/src/CConfig.cpp | 1 + 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 5608dc521379..df1e980dfc14 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -9652,22 +9652,25 @@ class CConfig { const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::KL) != sst_options_end; const bool sst_uq = (std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end || using_uq); - // Parse base version - if (sst_1994 && sst_2003) { - SU2_MPI::Error("Two versions (1994 and 2003m) selected for SST Options. Please choose only one.", CURRENT_FUNCTION); - } else if (sst_2003) { - /*--- sst-2003m model is sst2003 + sstm ---*/ - cout << "Currently only the SST-2003m (modified) has been implemented. " << endl; - SSTParsedOptions.version = SST_OPTIONS::V2003m; - } else if (sst_1994){ - /* --- Add warning to switch to SST-2003m --- */ - cout << "warning: the current SST-1994 model is inconsistent with literature. We recommend to use the SST-2003m model." << endl; - cout << "In the future, the 2003m model will become the default SST model. " << endl; - SSTParsedOptions.version = SST_OPTIONS::V1994; - } else { - /* use the most recent model as the default*/ - cout << "SST_OPTIONS not found! using default SST-V1994. " << endl; - SSTParsedOptions.version = SST_OPTIONS::V1994; + if(rank==MASTER_NODE){ + // Parse base version + if (sst_1994 && sst_2003) { + SU2_MPI::Error("Two versions (1994 and 2003m) selected for SST Options. Please choose only one.", CURRENT_FUNCTION); + } else if (sst_2003) { + /*--- sst-2003m model is sst2003 + sstm ---*/ + if(rank==MASTER_NODE) cout << "Currently only the SST-2003m (modified) has been implemented. " << endl; + SSTParsedOptions.version = SST_OPTIONS::V2003m; + } else if (sst_1994){ + /* --- Add warning to switch to SST-2003m --- */ + if(rank==MASTER_NODE) + cout << "warning: the current SST-1994 model is inconsistent with literature. We recommend to use the SST-2003m model." << endl + << "In the future, the 2003m model will become the default SST model. " << endl; + SSTParsedOptions.version = SST_OPTIONS::V1994; + } else { + /* use the most recent model as the default*/ + if (rank==MASTER_NODE) cout << "SST_OPTIONS not found! using default SST-V1994. " << endl; + SSTParsedOptions.version = SST_OPTIONS::V1994; + } } // Parse production modifications diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index fa84a389ac29..d79da4f4847c 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -3409,6 +3409,7 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i cout << "Warning! the SST_SUST keyword will become obsolete. Use the SST model with SST_OPTIONS= (SST_SUSTAINING)" << endl; Kind_Turb_Model = TURB_MODEL::SST; } + /*--- Check if turbulence model can be used for AXISYMMETRIC case---*/ if (Axisymmetric && Kind_Turb_Model != TURB_MODEL::NONE && Kind_Turb_Model != TURB_MODEL::SST){ SU2_MPI::Error("Axisymmetry is currently only supported for KIND_TURB_MODEL chosen as SST", CURRENT_FUNCTION); From 32efc68528975b6750a01aab2586d3c735d7cb47 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sat, 16 Apr 2022 11:53:34 +0200 Subject: [PATCH 068/110] cleanup of files --- Common/include/CConfig.hpp | 6 +- Common/include/option_structure.hpp | 2 - Common/src/CConfig.cpp | 1 - TestCases/README.md | 23 - TestCases/disc_adj_fsi/dyn_fsi/dv_young.opt | 9 - TestCases/fixed_cl/naca0012/flow.meta | 6 - .../hb_rans_preconditioning/history_0 | 27 - .../hb_rans_preconditioning/history_1 | 27 - .../hb_rans_preconditioning/history_2 | 27 - .../hb_rans_preconditioning/history_3 | 27 - .../hb_rans_preconditioning/history_4 | 27 - .../hb_rans_preconditioning/history_5 | 27 - .../hb_rans_preconditioning/history_6 | 27 - TestCases/harmonic_balance/history_0 | 27 - TestCases/harmonic_balance/history_1 | 27 - TestCases/harmonic_balance/history_2 | 27 - .../chtPinArray_2d/BC_HeatTransfer.cfg | 123 --- .../chtPinArray_2d/DA_configMaster.cfg | 113 --- .../chtPinArray_2d/DIRECT/configFluid.cfg | 127 --- .../chtPinArray_2d/DIRECT/configSolid.cfg | 69 -- .../chtPinArray_2d/FD_configMaster.cfg | 127 --- .../FINDIFF/DEFORM/configFluid.cfg | 127 --- .../FINDIFF/DEFORM/configSolid.cfg | 69 -- .../FINDIFF/DIRECT/configFluid.cfg | 127 --- .../FINDIFF/DIRECT/configSolid.cfg | 69 -- .../chtPinArray_2d/configFluid.cfg | 127 --- .../chtPinArray_2d/configMaster.cfg | 116 --- .../chtPinArray_2d/configSolid.cfg | 69 -- .../chtPinArray_3d/3D_pinArray.geo | 896 ------------------ .../chtPinArray_3d/flow_0.meta | 3 - .../dp-adjoint_chtPinArray_2d/flow_0.meta | 3 - .../pipeSlice_3d/pipeslice.geo | 113 --- .../streamwise_periodic/pipeSlice_3d/plots.py | 162 ---- .../periodic_pins/chtPinArray_2d.geo | 430 --------- .../rectangle_mixing.geo | 92 -- .../primitiveVenturi.geo | 111 --- .../transonic_stator_2D/history | 22 - 37 files changed, 3 insertions(+), 3409 deletions(-) delete mode 100644 TestCases/README.md delete mode 100644 TestCases/disc_adj_fsi/dyn_fsi/dv_young.opt delete mode 100644 TestCases/fixed_cl/naca0012/flow.meta delete mode 100644 TestCases/harmonic_balance/hb_rans_preconditioning/history_0 delete mode 100644 TestCases/harmonic_balance/hb_rans_preconditioning/history_1 delete mode 100644 TestCases/harmonic_balance/hb_rans_preconditioning/history_2 delete mode 100644 TestCases/harmonic_balance/hb_rans_preconditioning/history_3 delete mode 100644 TestCases/harmonic_balance/hb_rans_preconditioning/history_4 delete mode 100644 TestCases/harmonic_balance/hb_rans_preconditioning/history_5 delete mode 100644 TestCases/harmonic_balance/hb_rans_preconditioning/history_6 delete mode 100644 TestCases/harmonic_balance/history_0 delete mode 100644 TestCases/harmonic_balance/history_1 delete mode 100644 TestCases/harmonic_balance/history_2 delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/BC_HeatTransfer.cfg delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DA_configMaster.cfg delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DIRECT/configFluid.cfg delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DIRECT/configSolid.cfg delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FD_configMaster.cfg delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DEFORM/configFluid.cfg delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DEFORM/configSolid.cfg delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DIRECT/configFluid.cfg delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DIRECT/configSolid.cfg delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configFluid.cfg delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configMaster.cfg delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configSolid.cfg delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/3D_pinArray.geo delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/flow_0.meta delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/flow_0.meta delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/pipeslice.geo delete mode 100755 TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/plots.py delete mode 100644 TestCases/solid_heat_conduction/periodic_pins/chtPinArray_2d.geo delete mode 100644 TestCases/species_transport/passive_transport_validation/rectangle_mixing.geo delete mode 100644 TestCases/species_transport/venturi_primitive_3species/primitiveVenturi.geo delete mode 100644 TestCases/turbomachinery/transonic_stator_2D/history diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index df1e980dfc14..bf17813cba67 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -702,8 +702,8 @@ class CConfig { unsigned short nConfig_Files; /*!< \brief Number of config files for multiphysics problems. */ string *Config_Filenames; /*!< \brief List of names for configuration files. */ - SST_OPTIONS *SST_Options; /*!< \brief List of modifications/corrections/versions of SST turbulence model.*/ - unsigned short nSST_Options; /*!< \brief number of SST options specified. */ + SST_OPTIONS *SST_Options; /*!< \brief List of modifications/corrections/versions of SST turbulence model.*/ + unsigned short nSST_Options; /*!< \brief number of SST options specified. */ WALL_FUNCTIONS *Kind_WallFunctions; /*!< \brief The kind of wall function to use for the corresponding markers. */ unsigned short **IntInfo_WallFunctions; /*!< \brief Additional integer information for the wall function markers. */ su2double **DoubleInfo_WallFunctions; /*!< \brief Additional double information for the wall function markers. */ @@ -9637,7 +9637,7 @@ class CConfig { * \param[in] SST_Options - Selected SST option from config. * \param[in] nSST_Options - Number of options selected. */ - SST_ParsedOptions ParseSSTOptions(const SST_OPTIONS* SST_Options, unsigned short nSST_Options){ + SST_ParsedOptions ParseSSTOptions(const SST_OPTIONS *SST_Options, unsigned short nSST_Options){ SST_ParsedOptions SSTParsedOptions; const auto sst_options_end = SST_Options + nSST_Options; diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 888aa6802939..c0a230870af2 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -998,8 +998,6 @@ struct SST_ParsedOptions { bool modified; /*!< \brief Bool for modified (m) SST model. */ }; - - /*! * \brief Types of transition models */ diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index d79da4f4847c..74a5474f51f8 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -3398,7 +3398,6 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i SU2_MPI::Error("A turbulence model must be specified with KIND_TURB_MODEL if SOLVER= INC_RANS", CURRENT_FUNCTION); } - /*--- Postprocess SST_OPTIONS into structure. ---*/ if (Kind_Turb_Model==TURB_MODEL::SST){ sstParsedOptions = ParseSSTOptions(SST_Options, nSST_Options); diff --git a/TestCases/README.md b/TestCases/README.md deleted file mode 100644 index ee25157aa95c..000000000000 --- a/TestCases/README.md +++ /dev/null @@ -1,23 +0,0 @@ --------------------------------- - SU2: The Open-Source CFD Code --------------------------------- - -Computational analysis tools have revolutionized the way we design aerospace systems, but most established codes are proprietary, unavailable, or prohibitively expensive for many users. The SU2 team is changing this, making computational analysis and design freely available as open-source software and involving everyone in its creation and development. - ------------------------------------------------------------ - SU2 TEST CASES ------------------------------------------------------------ - -SU2 provides an extensive collection of common test cases. The test cases contain meshes and configuration files that can be run to ensure different components of the suite are working properly. The directory structure is organized by governing equations and their specific cases. - -The files found within these directories serve two purposes: - -1. A subset of the available cases are used for regression testing internally by the development team. The configuration files and meshes are automatically downloaded and executed with the latest version of SU2 at regular intervals. Any changes in the output of the specified test cases are immediately reported to the developers. These cases are controlled by the Python scripts in the root of the test cases directory, e.g., serial_regression.py. - -2. The entire suite of test cases is provided to the community as a way to get started with SU2 and its many configuration options, including settings that the developers consider to be good starting points. Often, you will find a test case that is similar to your problem of interest, and the available configuration files can be modified to suit your needs. - -Note that, while many of the cases are used for regression testing, this test case suite is provided **without any guarantees on performance or expected results** (check out the [tutorials](https://su2code.github.io/tutorials/home/) for more thoroughly maintained cases). Keep in mind that small changes to the configuration options can often result in large changes to the output. We encourage the community to experiment with these test cases, or even try (and share!) other interesting validation cases with SU2! - -Happy testing! - -- The SU2 Development Team diff --git a/TestCases/disc_adj_fsi/dyn_fsi/dv_young.opt b/TestCases/disc_adj_fsi/dyn_fsi/dv_young.opt deleted file mode 100644 index 3c691471847f..000000000000 --- a/TestCases/disc_adj_fsi/dyn_fsi/dv_young.opt +++ /dev/null @@ -1,9 +0,0 @@ -INDEX VAL SCALE LOWER_BOUND UPPER_BOUND -0 1 1 0.01 100.0 -1 1 1 0.01 100.0 -2 1 1 0.01 100.0 -3 1 1 0.01 100.0 -4 1 1 0.01 100.0 -5 1 1 0.01 100.0 -6 1 1 0.01 100.0 -7 1 1 0.01 100.0 diff --git a/TestCases/fixed_cl/naca0012/flow.meta b/TestCases/fixed_cl/naca0012/flow.meta deleted file mode 100644 index 1d7b61dbb1b5..000000000000 --- a/TestCases/fixed_cl/naca0012/flow.meta +++ /dev/null @@ -1,6 +0,0 @@ -ITER= 12 -AOA= 1.14595660986729 -SIDESLIP_ANGLE= 0 -DCD_DCL_VALUE= 0.0705334952101821 -DCMZ_DCL_VALUE= 0.128733750666835 -INITIAL_BCTHRUST= 4000 diff --git a/TestCases/harmonic_balance/hb_rans_preconditioning/history_0 b/TestCases/harmonic_balance/hb_rans_preconditioning/history_0 deleted file mode 100644 index 15410762f45f..000000000000 --- a/TestCases/harmonic_balance/hb_rans_preconditioning/history_0 +++ /dev/null @@ -1,27 +0,0 @@ -"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","HeatFlux_Total","HeatFlux_Maximum","Temperature_Total","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","Res_Turb[0]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" - 0, 7.03336316e-03, 7.98370887e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 5.59082867e-03, 7.98370887e-02, 7.03336316e-03, 0.00000000e+00, 8.80964382e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -1.74686659e+05, 1.67404355e+05, 0.00000000e+00, -1.47968536e+00, -9.12557856e-01, -1.13984839e+01, 4.03377035e+00, 0.00000000e+00, -5.7596599302, 0.0070333632, 0.0798370887, 0.0000000000, 0.0880964382, 0.0798370887, 0.0070333632, 0.0000000000, 0.0000000000, 0.0000000000, 0.0055908287, 0.0016235698, 4.0000000000, 3.0000000000, 0.0084087971 - 1, 9.31717670e-03, 1.15645363e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.61091788e-03, 1.15645363e-01, 9.31717670e-03, 0.00000000e+00, 8.05667987e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -1.57853637e+05, 1.52568494e+05, 0.00000000e+00, -1.70950706e+00, 9.12543004e-01, 9.73210934e-01, 3.80515139e+00, 0.00000000e+00, -5.9031700420, 0.0093171767, 0.1156453633, 0.0000000000, 0.0805667987, 0.1156453633, 0.0093171767, 0.0000000000, 0.0000000000, 0.0000000000, 0.0076109179, 0.0016235698, 5.0000000000, 3.0000000000, 0.0035830720 - 2, 1.00004910e-02, 1.40865259e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 8.33533440e-03, 1.40865259e-01, 1.00004910e-02, 0.00000000e+00, 7.09933103e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -1.39682160e+05, 1.36992913e+05, 0.00000000e+00, -1.71956627e+00, 9.25131669e-01, 8.66415355e-01, 3.80093414e+00, 0.00000000e+00, -5.9866286397, 0.0100004910, 0.1408652590, 0.0000000000, 0.0709933103, 0.1408652590, 0.0100004910, 0.0000000000, 0.0000000000, 0.0000000000, 0.0083353344, 0.0016235698, 4.0000000000, 3.0000000000, 0.0072991122 - 3, 9.77580662e-03, 1.56008136e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 8.22189430e-03, 1.56008136e-01, 9.77580662e-03, 0.00000000e+00, 6.26621591e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -1.22906348e+05, 1.22181623e+05, 0.00000000e+00, -1.71217510e+00, 9.05699105e-01, 7.16544782e-01, 3.81072421e+00, 0.00000000e+00, -6.0073740469, 0.0097758066, 0.1560081357, 0.0000000000, 0.0626621591, 0.1560081357, 0.0097758066, 0.0000000000, 0.0000000000, 0.0000000000, 0.0082218943, 0.0016235698, 4.0000000000, 3.0000000000, 0.0105955804 - 4, 9.16836125e-03, 1.60264764e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.72482160e-03, 1.60264764e-01, 9.16836125e-03, 0.00000000e+00, 5.72075921e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -1.09067870e+05, 1.08736128e+05, 0.00000000e+00, -1.75314933e+00, 8.48732801e-01, 6.43039554e-01, 3.77043806e+00, 0.00000000e+00, -5.9877653818, 0.0091683612, 0.1602647639, 0.0000000000, 0.0572075921, 0.1602647639, 0.0091683612, 0.0000000000, 0.0000000000, 0.0000000000, 0.0077248216, 0.0016235698, 5.0000000000, 3.0000000000, 0.0138985556 - 5, 8.53581987e-03, 1.56647818e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.16689771e-03, 1.56647818e-01, 8.53581987e-03, 0.00000000e+00, 5.44905126e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -9.86337245e+04, 9.71991939e+04, 0.00000000e+00, -1.82216594e+00, 7.66412291e-01, 6.62132610e-01, 3.70224036e+00, 0.00000000e+00, -5.9702796817, 0.0085358199, 0.1566478175, 0.0000000000, 0.0544905126, 0.1566478175, 0.0085358199, 0.0000000000, 0.0000000000, 0.0000000000, 0.0071668977, 0.0016235698, 5.0000000000, 3.0000000000, 0.0173700088 - 6, 8.03205134e-03, 1.50146868e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.72851940e-03, 1.50146868e-01, 8.03205134e-03, 0.00000000e+00, 5.34946314e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -9.12666875e+04, 8.85935751e+04, 0.00000000e+00, -1.87544763e+00, 6.79471195e-01, 6.75595938e-01, 3.65065868e+00, 0.00000000e+00, -5.9386436805, 0.0080320513, 0.1501468676, 0.0000000000, 0.0534946314, 0.1501468676, 0.0080320513, 0.0000000000, 0.0000000000, 0.0000000000, 0.0067285194, 0.0016235698, 5.0000000000, 3.0000000000, 0.0209595597 - 7, 7.71929863e-03, 1.44232635e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.46976618e-03, 1.44232635e-01, 7.71929863e-03, 0.00000000e+00, 5.35197781e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -8.61826253e+04, 8.29989962e+04, 0.00000000e+00, -1.89870894e+00, 6.13850078e-01, 6.61952704e-01, 3.62763338e+00, 0.00000000e+00, -5.9234311887, 0.0077192986, 0.1442326352, 0.0000000000, 0.0535197781, 0.1442326352, 0.0077192986, 0.0000000000, 0.0000000000, 0.0000000000, 0.0064697662, 0.0016235698, 5.0000000000, 3.0000000000, 0.0246205499 - 8, 7.57736617e-03, 1.40364434e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.36744289e-03, 1.40364434e-01, 7.57736617e-03, 0.00000000e+00, 5.39835194e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -8.25048020e+04, 7.92561746e+04, 0.00000000e+00, -1.91011989e+00, 5.77637340e-01, 6.35003620e-01, 3.61422141e+00, 0.00000000e+00, -5.9339384361, 0.0075773662, 0.1403644345, 0.0000000000, 0.0539835194, 0.1403644345, 0.0075773662, 0.0000000000, 0.0000000000, 0.0000000000, 0.0063674429, 0.0016235698, 5.0000000000, 3.0000000000, 0.0286673639 - 9, 7.57105769e-03, 1.38448749e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.38142553e-03, 1.38448749e-01, 7.57105769e-03, 0.00000000e+00, 5.46849122e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -7.95408906e+04, 7.63597621e+04, 0.00000000e+00, -1.91837004e+00, 5.61386004e-01, 6.08789073e-01, 3.60463399e+00, 0.00000000e+00, -5.9574701994, 0.0075710577, 0.1384487491, 0.0000000000, 0.0546849122, 0.1384487491, 0.0075710577, 0.0000000000, 0.0000000000, 0.0000000000, 0.0063814255, 0.0016235698, 5.0000000000, 3.0000000000, 0.0322731575 - 10, 7.63754514e-03, 1.37801550e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.45191676e-03, 1.37801550e-01, 7.63754514e-03, 0.00000000e+00, 5.54242326e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -7.68668586e+04, 7.37853141e+04, 0.00000000e+00, -1.92540244e+00, 5.57399920e-01, 5.89086918e-01, 3.59754525e+00, 0.00000000e+00, -5.9783584577, 0.0076375451, 0.1378015497, 0.0000000000, 0.0554242326, 0.1378015497, 0.0076375451, 0.0000000000, 0.0000000000, 0.0000000000, 0.0064519168, 0.0016235698, 5.0000000000, 3.0000000000, 0.0358575110 - 11, 7.72224367e-03, 1.37684298e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.53092529e-03, 1.37684298e-01, 7.72224367e-03, 0.00000000e+00, 5.60865965e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -7.42937989e+04, 7.13213599e+04, 0.00000000e+00, -1.93307962e+00, 5.56703533e-01, 5.75293460e-01, 3.58967844e+00, 0.00000000e+00, -5.9905251043, 0.0077222437, 0.1376842980, 0.0000000000, 0.0560865965, 0.1376842980, 0.0077222437, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065309253, 0.0016235698, 5.0000000000, 3.0000000000, 0.0394382544 - 12, 7.78935673e-03, 1.37578494e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.58904690e-03, 1.37578494e-01, 7.78935673e-03, 0.00000000e+00, 5.66175461e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -7.17676682e+04, 6.89025376e+04, 0.00000000e+00, -1.93960400e+00, 5.52844938e-01, 5.65428523e-01, 3.58304702e+00, 0.00000000e+00, -5.9950948295, 0.0077893567, 0.1375784942, 0.0000000000, 0.0566175461, 0.1375784942, 0.0077893567, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065890469, 0.0016235698, 5.0000000000, 3.0000000000, 0.0430579760 - 13, 7.82539866e-03, 1.37254693e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.61755079e-03, 1.37254693e-01, 7.82539866e-03, 0.00000000e+00, 5.70137056e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -6.92963670e+04, 6.65334545e+04, 0.00000000e+00, -1.94447062e+00, 5.45360771e-01, 5.58469245e-01, 3.57848316e+00, 0.00000000e+00, -5.9965137138, 0.0078253987, 0.1372546932, 0.0000000000, 0.0570137056, 0.1372546932, 0.0078253987, 0.0000000000, 0.0000000000, 0.0000000000, 0.0066175508, 0.0016235698, 5.0000000000, 3.0000000000, 0.0466664215 - 14, 7.83293137e-03, 1.36703592e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.62112310e-03, 1.36703592e-01, 7.83293137e-03, 0.00000000e+00, 5.72986507e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -6.69168642e+04, 6.42491860e+04, 0.00000000e+00, -1.94874547e+00, 5.34615974e-01, 5.54087075e-01, 3.57420834e+00, 0.00000000e+00, -5.9956161610, 0.0078329314, 0.1367035920, 0.0000000000, 0.0572986507, 0.1367035920, 0.0078329314, 0.0000000000, 0.0000000000, 0.0000000000, 0.0066211231, 0.0016235698, 5.0000000000, 3.0000000000, 0.0502643531 - 15, 7.82200492e-03, 1.36014045e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.60998018e-03, 1.36014045e-01, 7.82200492e-03, 0.00000000e+00, 5.75088029e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -6.46646593e+04, 6.20856594e+04, 0.00000000e+00, -1.95149265e+00, 5.22049599e-01, 5.52098066e-01, 3.57124776e+00, 0.00000000e+00, -5.9942350081, 0.0078220049, 0.1360140453, 0.0000000000, 0.0575088029, 0.1360140453, 0.0078220049, 0.0000000000, 0.0000000000, 0.0000000000, 0.0066099802, 0.0016235698, 5.0000000000, 3.0000000000, 0.0538658092 - 16, 7.80384006e-03, 1.35277841e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.59412096e-03, 1.35277841e-01, 7.80384006e-03, 0.00000000e+00, 5.76874973e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -6.25583636e+04, 6.00629816e+04, 0.00000000e+00, -1.95232165e+00, 5.09746879e-01, 5.52144097e-01, 3.57005303e+00, 0.00000000e+00, -5.9936686220, 0.0078038401, 0.1352778406, 0.0000000000, 0.0576874973, 0.1352778406, 0.0078038401, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065941210, 0.0016235698, 5.0000000000, 3.0000000000, 0.0574982888 - 17, 7.78674842e-03, 1.34546856e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.58023162e-03, 1.34546856e-01, 7.78674842e-03, 0.00000000e+00, 5.78738785e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -6.05985740e+04, 5.81826265e+04, 0.00000000e+00, -1.95132040e+00, 4.99164477e-01, 5.53973708e-01, 3.57040339e+00, 0.00000000e+00, -5.9924781491, 0.0077867484, 0.1345468564, 0.0000000000, 0.0578738785, 0.1345468564, 0.0077867484, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065802316, 0.0016235698, 5.0000000000, 3.0000000000, 0.0615422680 - 18, 7.77480136e-03, 1.33830712e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.57108304e-03, 1.33830712e-01, 7.77480136e-03, 0.00000000e+00, 5.80942987e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -5.87734793e+04, 5.64328297e+04, 0.00000000e+00, -1.94838662e+00, 4.91522561e-01, 5.57248945e-01, 3.57254682e+00, 0.00000000e+00, -5.9900064034, 0.0077748014, 0.1338307121, 0.0000000000, 0.0580942987, 0.1338307121, 0.0077748014, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065710830, 0.0016235698, 5.0000000000, 3.0000000000, 0.0652064242 - 19, 7.76847332e-03, 1.33114231e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.56649629e-03, 1.33114231e-01, 7.76847332e-03, 0.00000000e+00, 5.83594503e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -5.70661796e+04, 5.47961871e+04, 0.00000000e+00, -1.94412395e+00, 4.85934804e-01, 5.61636468e-01, 3.57579301e+00, 0.00000000e+00, -5.9862393017, 0.0077684733, 0.1331142305, 0.0000000000, 0.0583594503, 0.1331142305, 0.0077684733, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065664963, 0.0016235698, 5.0000000000, 3.0000000000, 0.0688011637 - 20, 7.76633075e-03, 1.32376297e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.56493664e-03, 1.32376297e-01, 7.76633075e-03, 0.00000000e+00, 5.86685904e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -5.54603657e+04, 5.32559035e+04, 0.00000000e+00, -1.93872448e+00, 4.82448465e-01, 5.67053363e-01, 3.57993904e+00, 0.00000000e+00, -5.9809768638, 0.0077663308, 0.1323762970, 0.0000000000, 0.0586685904, 0.1323762970, 0.0077663308, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065649366, 0.0016235698, 5.0000000000, 3.0000000000, 0.0724085988 - 21, 7.76637653e-03, 1.31601264e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.56461165e-03, 1.31601264e-01, 7.76637653e-03, 0.00000000e+00, 5.90144524e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -5.39431587e+04, 5.17989118e+04, 0.00000000e+00, -1.93221460e+00, 4.81232069e-01, 5.73343744e-01, 3.58519778e+00, 0.00000000e+00, -5.9750721640, 0.0077663765, 0.1316012639, 0.0000000000, 0.0590144524, 0.1316012639, 0.0077663765, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065646117, 0.0016235698, 5.0000000000, 3.0000000000, 0.0760117013 - 22, 7.76702772e-03, 1.30781964e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.56420785e-03, 1.30781964e-01, 7.76702772e-03, 0.00000000e+00, 5.93891351e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -5.25054878e+04, 5.04163305e+04, 0.00000000e+00, -1.92530246e+00, 4.80694373e-01, 5.80012650e-01, 3.59063277e+00, 0.00000000e+00, -5.9687871544, 0.0077670277, 0.1307819638, 0.0000000000, 0.0593891351, 0.1307819638, 0.0077670277, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065642079, 0.0016235698, 5.0000000000, 3.0000000000, 0.0796344791 - 23, 7.76748497e-03, 1.29917564e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.56309260e-03, 1.29917564e-01, 7.76748497e-03, 0.00000000e+00, 5.97877972e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -5.11411997e+04, 4.91024327e+04, 0.00000000e+00, -1.91780535e+00, 4.81161453e-01, 5.87119395e-01, 3.59656872e+00, 0.00000000e+00, -5.9621475829, 0.0077674850, 0.1299175640, 0.0000000000, 0.0597877972, 0.1299175640, 0.0077674850, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065630926, 0.0016235698, 5.0000000000, 3.0000000000, 0.0832351867 - 24, 7.76766257e-03, 1.29010022e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.56120779e-03, 1.29010022e-01, 7.76766257e-03, 0.00000000e+00, 6.02097609e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -4.98457496e+04, 4.78531921e+04, 0.00000000e+00, -1.90996410e+00, 4.82646144e-01, 5.94335914e-01, 3.60280696e+00, 0.00000000e+00, -5.9557739883, 0.0077676626, 0.1290100217, 0.0000000000, 0.0602097609, 0.1290100217, 0.0077676626, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065612078, 0.0016235698, 5.0000000000, 3.0000000000, 0.0868896059 - 25, 7.76795637e-03, 1.28061496e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.55886445e-03, 1.28061496e-01, 7.76795637e-03, 0.00000000e+00, 6.06580169e-02, 0.00000000e+00, 0.00000000e+00, 1.62356977e-03, -4.86151901e+04, 4.66651888e+04, 0.00000000e+00, -1.90209828e+00, 4.84069934e-01, 6.01480786e-01, 3.60900184e+00, 0.00000000e+00, -5.9492754552, 0.0077679564, 0.1280614958, 0.0000000000, 0.0606580169, 0.1280614958, 0.0077679564, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065588644, 0.0016235698, 5.0000000000, 3.0000000000, 0.0904878667 diff --git a/TestCases/harmonic_balance/hb_rans_preconditioning/history_1 b/TestCases/harmonic_balance/hb_rans_preconditioning/history_1 deleted file mode 100644 index b8f6eab1a0a3..000000000000 --- a/TestCases/harmonic_balance/hb_rans_preconditioning/history_1 +++ /dev/null @@ -1,27 +0,0 @@ -"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","HeatFlux_Total","HeatFlux_Maximum","Temperature_Total","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","Res_Turb[0]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" - 0, 5.88351349e-02, 8.05947009e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.13230454e-02, 8.05947009e-02, 5.88351349e-02, 0.00000000e+00, 7.30012448e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -1.74695327e+05, 1.67408845e+05, 0.00000000e+00, -1.47470008e+00, -1.12039588e+00, -1.14013076e+01, 4.03876678e+00, 0.00000000e+00, -5.7579158645, 0.0588351349, 0.0805947009, 0.0000000000, 0.7300124479, 0.0805947009, 0.0588351349, 0.0000000000, 0.0000000000, 0.0000000000, 0.0313230454, 0.0014002452, 4.0000000000, 3.0000000000, 0.0084087971 - 1, 8.23262722e-02, 1.16724032e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.29459347e-02, 1.16724032e-01, 8.23262722e-02, 0.00000000e+00, 7.05306960e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -1.57844819e+05, 1.52562857e+05, 0.00000000e+00, -1.70454872e+00, 9.15099389e-01, 9.74212093e-01, 3.80997704e+00, 0.00000000e+00, -5.8977194806, 0.0823262722, 0.1167240322, 0.0000000000, 0.7053069596, 0.1167240322, 0.0823262722, 0.0000000000, 0.0000000000, 0.0000000000, 0.0429459347, 0.0014002452, 5.0000000000, 3.0000000000, 0.0035830720 - 2, 9.13532988e-02, 1.42116653e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.70430280e-02, 1.42116653e-01, 9.13532988e-02, 0.00000000e+00, 6.42805024e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -1.39664499e+05, 1.37007639e+05, 0.00000000e+00, -1.71655478e+00, 9.26588717e-01, 8.68654996e-01, 3.80377554e+00, 0.00000000e+00, -5.9827725131, 0.0913532988, 0.1421166533, 0.0000000000, 0.6428050241, 0.1421166533, 0.0913532988, 0.0000000000, 0.0000000000, 0.0000000000, 0.0470430280, 0.0014002452, 4.0000000000, 3.0000000000, 0.0072991122 - 3, 9.09983007e-02, 1.57275171e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.64402228e-02, 1.57275171e-01, 9.09983007e-02, 0.00000000e+00, 5.78592920e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -1.22885096e+05, 1.22204790e+05, 0.00000000e+00, -1.70998387e+00, 9.06835176e-01, 7.20427091e-01, 3.81284933e+00, 0.00000000e+00, -6.0035465018, 0.0909983007, 0.1572751713, 0.0000000000, 0.5785929202, 0.1572751713, 0.0909983007, 0.0000000000, 0.0000000000, 0.0000000000, 0.0464402228, 0.0014002452, 4.0000000000, 3.0000000000, 0.0105955804 - 4, 8.60602738e-02, 1.61466182e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.36585268e-02, 1.61466182e-01, 8.60602738e-02, 0.00000000e+00, 5.32992561e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -1.09047175e+05, 1.08742537e+05, 0.00000000e+00, -1.75072090e+00, 8.49927969e-01, 6.47312318e-01, 3.77283958e+00, 0.00000000e+00, -5.9840428545, 0.0860602738, 0.1614661818, 0.0000000000, 0.5329925614, 0.1614661818, 0.0860602738, 0.0000000000, 0.0000000000, 0.0000000000, 0.0436585268, 0.0014002452, 4.0000000000, 3.0000000000, 0.0138985556 - 5, 8.01354806e-02, 1.57756029e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.04682711e-02, 1.57756029e-01, 8.01354806e-02, 0.00000000e+00, 5.07970955e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -9.86164871e+04, 9.71817693e+04, 0.00000000e+00, -1.81910928e+00, 7.67848703e-01, 6.65562859e-01, 3.70522121e+00, 0.00000000e+00, -5.9670134382, 0.0801354806, 0.1577560287, 0.0000000000, 0.5079709555, 0.1577560287, 0.0801354806, 0.0000000000, 0.0000000000, 0.0000000000, 0.0404682711, 0.0014002452, 5.0000000000, 3.0000000000, 0.0173700088 - 6, 7.51963852e-02, 1.51180316e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.78377380e-02, 1.51180316e-01, 7.51963852e-02, 0.00000000e+00, 4.97395344e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -9.12543478e+04, 8.85774881e+04, 0.00000000e+00, -1.87194900e+00, 6.81319819e-01, 6.78636052e-01, 3.65398863e+00, 0.00000000e+00, -5.9360893299, 0.0751963852, 0.1511803159, 0.0000000000, 0.4973953439, 0.1511803159, 0.0751963852, 0.0000000000, 0.0000000000, 0.0000000000, 0.0378377380, 0.0014002452, 5.0000000000, 3.0000000000, 0.0209595597 - 7, 7.19466542e-02, 1.45216657e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.61005467e-02, 1.45216657e-01, 7.19466542e-02, 0.00000000e+00, 4.95443537e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -8.61745750e+04, 8.29883472e+04, 0.00000000e+00, -1.89519523e+00, 6.16156166e-01, 6.64981031e-01, 3.63094485e+00, 0.00000000e+00, -5.9219462902, 0.0719466542, 0.1452166572, 0.0000000000, 0.4954435367, 0.1452166572, 0.0719466542, 0.0000000000, 0.0000000000, 0.0000000000, 0.0361005467, 0.0014002452, 5.0000000000, 3.0000000000, 0.0246205499 - 8, 7.01917625e-02, 1.41322065e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.51297189e-02, 1.41322065e-01, 7.01917625e-02, 0.00000000e+00, 4.96679428e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -8.24995012e+04, 7.92502143e+04, 0.00000000e+00, -1.90669906e+00, 5.80250039e-01, 6.38169836e-01, 3.61746974e+00, 0.00000000e+00, -5.9319523315, 0.0701917625, 0.1413220653, 0.0000000000, 0.4966794277, 0.1413220653, 0.0701917625, 0.0000000000, 0.0000000000, 0.0000000000, 0.0351297189, 0.0014002452, 5.0000000000, 3.0000000000, 0.0286673639 - 9, 6.96311569e-02, 1.39398828e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.48194659e-02, 1.39398828e-01, 6.96311569e-02, 0.00000000e+00, 4.99510348e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -7.95370911e+04, 7.63560163e+04, 0.00000000e+00, -1.91506050e+00, 5.64077491e-01, 6.12090462e-01, 3.60779290e+00, 0.00000000e+00, -5.9553280561, 0.0696311569, 0.1393988276, 0.0000000000, 0.4995103478, 0.1393988276, 0.0696311569, 0.0000000000, 0.0000000000, 0.0000000000, 0.0348194659, 0.0014002452, 5.0000000000, 3.0000000000, 0.0322731575 - 10, 6.97967376e-02, 1.38755013e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.49158318e-02, 1.38755013e-01, 6.97967376e-02, 0.00000000e+00, 5.03021376e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -7.68639668e+04, 7.37824817e+04, 0.00000000e+00, -1.92218791e+00, 5.60001154e-01, 5.92453179e-01, 3.60061050e+00, 0.00000000e+00, -5.9760868591, 0.0697967376, 0.1387550130, 0.0000000000, 0.5030213765, 0.1387550130, 0.0697967376, 0.0000000000, 0.0000000000, 0.0000000000, 0.0349158318, 0.0014002452, 5.0000000000, 3.0000000000, 0.0358575110 - 11, 7.02632056e-02, 1.38645277e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.51821755e-02, 1.38645277e-01, 7.02632056e-02, 0.00000000e+00, 5.06783982e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -7.42909632e+04, 7.13184494e+04, 0.00000000e+00, -1.92991261e+00, 5.59280757e-01, 5.78667061e-01, 3.59270151e+00, 0.00000000e+00, -5.9882005864, 0.0702632056, 0.1386452769, 0.0000000000, 0.5067839825, 0.1386452769, 0.0702632056, 0.0000000000, 0.0000000000, 0.0000000000, 0.0351821755, 0.0014002452, 5.0000000000, 3.0000000000, 0.0394382544 - 12, 7.07208906e-02, 1.38546778e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.54442846e-02, 1.38546778e-01, 7.07208906e-02, 0.00000000e+00, 5.10447748e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -7.17645674e+04, 6.88993412e+04, 0.00000000e+00, -1.93647307e+00, 5.55415885e-01, 5.68788833e-01, 3.58604004e+00, 0.00000000e+00, -5.9928037536, 0.0707208906, 0.1385467776, 0.0000000000, 0.5104477479, 0.1385467776, 0.0707208906, 0.0000000000, 0.0000000000, 0.0000000000, 0.0354442846, 0.0014002452, 5.0000000000, 3.0000000000, 0.0430579760 - 13, 7.10238872e-02, 1.38227751e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.56191478e-02, 1.38227751e-01, 7.10238872e-02, 0.00000000e+00, 5.13817859e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -6.92930226e+04, 6.65301040e+04, 0.00000000e+00, -1.94138028e+00, 5.47956755e-01, 5.61809883e-01, 3.58143439e+00, 0.00000000e+00, -5.9942465079, 0.0710238872, 0.1382277512, 0.0000000000, 0.5138178595, 0.1382277512, 0.0710238872, 0.0000000000, 0.0000000000, 0.0000000000, 0.0356191478, 0.0014002452, 5.0000000000, 3.0000000000, 0.0466664215 - 14, 7.11529048e-02, 1.37678687e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.56950513e-02, 1.37678687e-01, 7.11529048e-02, 0.00000000e+00, 5.16804064e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -6.69134091e+04, 6.42458467e+04, 0.00000000e+00, -1.94568075e+00, 5.37272036e-01, 5.57404425e-01, 3.57713327e+00, 0.00000000e+00, -5.9934095550, 0.0711529048, 0.1376786867, 0.0000000000, 0.5168040639, 0.1376786867, 0.0711529048, 0.0000000000, 0.0000000000, 0.0000000000, 0.0356950513, 0.0014002452, 5.0000000000, 3.0000000000, 0.0502643531 - 15, 7.11570318e-02, 1.36989284e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.56987593e-02, 1.36989284e-01, 7.11570318e-02, 0.00000000e+00, 5.19435023e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -6.46612503e+04, 6.20825230e+04, 0.00000000e+00, -1.94843601e+00, 5.24819800e-01, 5.55391073e-01, 3.57416708e+00, 0.00000000e+00, -5.9920749585, 0.0711570318, 0.1369892839, 0.0000000000, 0.5194350227, 0.1369892839, 0.0711570318, 0.0000000000, 0.0000000000, 0.0000000000, 0.0356987593, 0.0014002452, 5.0000000000, 3.0000000000, 0.0538658092 - 16, 7.11022185e-02, 1.36252316e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.56672422e-02, 1.36252316e-01, 7.11022185e-02, 0.00000000e+00, 5.21842274e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -6.25551174e+04, 6.00601703e+04, 0.00000000e+00, -1.94926914e+00, 5.12681717e-01, 5.55423888e-01, 3.57299226e+00, 0.00000000e+00, -5.9915251379, 0.0711022185, 0.1362523161, 0.0000000000, 0.5218422741, 0.1362523161, 0.0711022185, 0.0000000000, 0.0000000000, 0.0000000000, 0.0356672422, 0.0014002452, 5.0000000000, 3.0000000000, 0.0574982888 - 17, 7.10396389e-02, 1.35520438e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.56298023e-02, 1.35520438e-01, 7.10396389e-02, 0.00000000e+00, 5.24198710e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -6.05955374e+04, 5.81801791e+04, 0.00000000e+00, -1.94830743e+00, 5.02218337e-01, 5.57225031e-01, 3.57329633e+00, 0.00000000e+00, -5.9903288317, 0.0710396389, 0.1355204382, 0.0000000000, 0.5241987104, 0.1355204382, 0.0710396389, 0.0000000000, 0.0000000000, 0.0000000000, 0.0356298023, 0.0014002452, 5.0000000000, 3.0000000000, 0.0615422680 - 18, 7.09957264e-02, 1.34803671e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.56020743e-02, 1.34803671e-01, 7.09957264e-02, 0.00000000e+00, 5.26660187e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -5.87706595e+04, 5.64307557e+04, 0.00000000e+00, -1.94540151e+00, 4.94645784e-01, 5.60471480e-01, 3.57540981e+00, 0.00000000e+00, -5.9878513107, 0.0709957264, 0.1348036708, 0.0000000000, 0.5266601865, 0.1348036708, 0.0709957264, 0.0000000000, 0.0000000000, 0.0000000000, 0.0356020743, 0.0014002452, 5.0000000000, 3.0000000000, 0.0652064242 - 19, 7.09755533e-02, 1.34086917e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.55876508e-02, 1.34086917e-01, 7.09755533e-02, 0.00000000e+00, 5.29324969e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -5.70635603e+04, 5.47944707e+04, 0.00000000e+00, -1.94113824e+00, 4.89226758e-01, 5.64863726e-01, 3.57866674e+00, 0.00000000e+00, -5.9840433856, 0.0709755533, 0.1340869172, 0.0000000000, 0.5293249695, 0.1340869172, 0.0709755533, 0.0000000000, 0.0000000000, 0.0000000000, 0.0355876508, 0.0014002452, 5.0000000000, 3.0000000000, 0.0688011637 - 20, 7.09720937e-02, 1.33348955e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.55830597e-02, 1.33348955e-01, 7.09720937e-02, 0.00000000e+00, 5.32228346e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -5.54579223e+04, 5.32545124e+04, 0.00000000e+00, -1.93572726e+00, 4.85897585e-01, 5.70295685e-01, 3.58285751e+00, 0.00000000e+00, -5.9788123258, 0.0709720937, 0.1333489548, 0.0000000000, 0.5322283462, 0.1333489548, 0.0709720937, 0.0000000000, 0.0000000000, 0.0000000000, 0.0355830597, 0.0014002452, 5.0000000000, 3.0000000000, 0.0724085988 - 21, 7.09750556e-02, 1.32573982e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.55826405e-02, 1.32573982e-01, 7.09750556e-02, 0.00000000e+00, 5.35361876e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -5.39408666e+04, 5.17978017e+04, 0.00000000e+00, -1.92924543e+00, 4.84766247e-01, 5.76567854e-01, 3.58808988e+00, 0.00000000e+00, -5.9728650234, 0.0709750556, 0.1325739816, 0.0000000000, 0.5353618764, 0.1325739816, 0.0709750556, 0.0000000000, 0.0000000000, 0.0000000000, 0.0355826405, 0.0014002452, 5.0000000000, 3.0000000000, 0.0760117013 - 22, 7.09763164e-02, 1.31754693e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.55817035e-02, 1.31754693e-01, 7.09763164e-02, 0.00000000e+00, 5.38700479e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -5.25033308e+04, 5.04154637e+04, 0.00000000e+00, -1.92229244e+00, 4.84404620e-01, 5.83273058e-01, 3.59359330e+00, 0.00000000e+00, -5.9665367601, 0.0709763164, 0.1317546934, 0.0000000000, 0.5387004791, 0.1317546934, 0.0709763164, 0.0000000000, 0.0000000000, 0.0000000000, 0.0355817035, 0.0014002452, 5.0000000000, 3.0000000000, 0.0796344791 - 23, 7.09718655e-02, 1.30890182e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.55777551e-02, 1.30890182e-01, 7.09718655e-02, 0.00000000e+00, 5.42224515e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -5.11391705e+04, 4.91017880e+04, 0.00000000e+00, -1.91477794e+00, 4.85005177e-01, 5.90398331e-01, 3.59957289e+00, 0.00000000e+00, -5.9598836196, 0.0709718655, 0.1308901820, 0.0000000000, 0.5422245153, 0.1308901820, 0.0709718655, 0.0000000000, 0.0000000000, 0.0000000000, 0.0355777551, 0.0014002452, 5.0000000000, 3.0000000000, 0.0832351867 - 24, 7.09612210e-02, 1.29982406e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.55702977e-02, 1.29982406e-01, 7.09612210e-02, 0.00000000e+00, 5.45929430e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -4.98438446e+04, 4.78527490e+04, 0.00000000e+00, -1.90693163e+00, 4.86599440e-01, 5.97641616e-01, 3.60583804e+00, 0.00000000e+00, -5.9534846390, 0.0709612210, 0.1299824064, 0.0000000000, 0.5459294298, 0.1299824064, 0.0709612210, 0.0000000000, 0.0000000000, 0.0000000000, 0.0355702977, 0.0014002452, 5.0000000000, 3.0000000000, 0.0868896059 - 25, 7.09459022e-02, 1.29033584e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.55600932e-02, 1.29033584e-01, 7.09459022e-02, 0.00000000e+00, 5.49825093e-01, 0.00000000e+00, 0.00000000e+00, 1.40024523e-03, -4.86134117e+04, 4.66649487e+04, 0.00000000e+00, -1.89905162e+00, 4.88201711e-01, 6.04818600e-01, 3.61206950e+00, 0.00000000e+00, -5.9469672944, 0.0709459022, 0.1290335839, 0.0000000000, 0.5498250929, 0.1290335839, 0.0709459022, 0.0000000000, 0.0000000000, 0.0000000000, 0.0355600932, 0.0014002452, 5.0000000000, 3.0000000000, 0.0904878667 diff --git a/TestCases/harmonic_balance/hb_rans_preconditioning/history_2 b/TestCases/harmonic_balance/hb_rans_preconditioning/history_2 deleted file mode 100644 index cac09a0596aa..000000000000 --- a/TestCases/harmonic_balance/hb_rans_preconditioning/history_2 +++ /dev/null @@ -1,27 +0,0 @@ -"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","HeatFlux_Total","HeatFlux_Maximum","Temperature_Total","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","Res_Turb[0]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" - 0, 6.59086932e-02, 8.08913650e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.32268210e-02, 8.08913650e-02, 6.59086932e-02, 0.00000000e+00, 8.14780331e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -1.74693305e+05, 1.67403568e+05, 0.00000000e+00, -1.47337597e+00, -1.54704582e+00, -1.14012147e+01, 4.04009665e+00, 0.00000000e+00, -5.7574806701, 0.0659086932, 0.0808913650, 0.0000000000, 0.8147803308, 0.0808913650, 0.0659086932, 0.0000000000, 0.0000000000, 0.0000000000, 0.0332268210, 0.0013479575, 4.0000000000, 3.0000000000, 0.0084087971 - 1, 9.27678092e-02, 1.17164567e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.56286768e-02, 1.17164567e-01, 9.27678092e-02, 0.00000000e+00, 7.91773587e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -1.57835513e+05, 1.52553753e+05, 0.00000000e+00, -1.70329902e+00, 9.15559514e-01, 9.74417389e-01, 3.81124344e+00, 0.00000000e+00, -5.8964993795, 0.0927678092, 0.1171645666, 0.0000000000, 0.7917735870, 0.1171645666, 0.0927678092, 0.0000000000, 0.0000000000, 0.0000000000, 0.0456286768, 0.0013479575, 5.0000000000, 3.0000000000, 0.0035830720 - 2, 1.03282538e-01, 1.42638230e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 5.00069593e-02, 1.42638230e-01, 1.03282538e-01, 0.00000000e+00, 7.24087355e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -1.39654755e+05, 1.37010947e+05, 0.00000000e+00, -1.71578669e+00, 9.26876985e-01, 8.69266183e-01, 3.80456476e+00, 0.00000000e+00, -5.9818345149, 0.1032825384, 0.1426382296, 0.0000000000, 0.7240873553, 0.1426382296, 0.1032825384, 0.0000000000, 0.0000000000, 0.0000000000, 0.0500069593, 0.0013479575, 4.0000000000, 3.0000000000, 0.0072991122 - 3, 1.03108525e-01, 1.57810459e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.93954006e-02, 1.57810459e-01, 1.03108525e-01, 0.00000000e+00, 6.53369401e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -1.22876675e+05, 1.22217756e+05, 0.00000000e+00, -1.70943936e+00, 9.07067116e-01, 7.21658920e-01, 3.81344119e+00, 0.00000000e+00, -6.0026170307, 0.1031085252, 0.1578104591, 0.0000000000, 0.6533694011, 0.1578104591, 0.1031085252, 0.0000000000, 0.0000000000, 0.0000000000, 0.0493954006, 0.0013479575, 4.0000000000, 3.0000000000, 0.0105955804 - 4, 9.76346012e-02, 1.61976470e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.64600669e-02, 1.61976470e-01, 9.76346012e-02, 0.00000000e+00, 6.02770275e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -1.09040650e+05, 1.08754424e+05, 0.00000000e+00, -1.75008599e+00, 8.50177722e-01, 6.48758334e-01, 3.77354388e+00, 0.00000000e+00, -5.9830704638, 0.0976346012, 0.1619764697, 0.0000000000, 0.6027702750, 0.1619764697, 0.0976346012, 0.0000000000, 0.0000000000, 0.0000000000, 0.0464600669, 0.0013479575, 4.0000000000, 3.0000000000, 0.0138985556 - 5, 9.09550318e-02, 1.58228499e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.30715335e-02, 1.58228499e-01, 9.09550318e-02, 0.00000000e+00, 5.74833438e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -9.86117737e+04, 9.71863360e+04, 0.00000000e+00, -1.81827638e+00, 7.68135345e-01, 6.66763119e-01, 3.70612651e+00, 0.00000000e+00, -5.9660991315, 0.0909550318, 0.1582284987, 0.0000000000, 0.5748334377, 0.1582284987, 0.0909550318, 0.0000000000, 0.0000000000, 0.0000000000, 0.0430715335, 0.0013479575, 5.0000000000, 3.0000000000, 0.0173700088 - 6, 8.53369114e-02, 1.51619857e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.02509723e-02, 1.51619857e-01, 8.53369114e-02, 0.00000000e+00, 5.62834664e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -9.12513695e+04, 8.85791304e+04, 0.00000000e+00, -1.87096342e+00, 6.81674856e-01, 6.79718620e-01, 3.65502489e+00, 0.00000000e+00, -5.9353591591, 0.0853369114, 0.1516198573, 0.0000000000, 0.5628346640, 0.1516198573, 0.0853369114, 0.0000000000, 0.0000000000, 0.0000000000, 0.0402509723, 0.0013479575, 5.0000000000, 3.0000000000, 0.0209595597 - 7, 8.16001513e-02, 1.45633109e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.83539143e-02, 1.45633109e-01, 8.16001513e-02, 0.00000000e+00, 5.60313186e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -8.61728951e+04, 8.29883974e+04, 0.00000000e+00, -1.89416981e+00, 6.16608742e-01, 6.66072786e-01, 3.63200251e+00, 0.00000000e+00, -5.9214359944, 0.0816001513, 0.1456331090, 0.0000000000, 0.5603131863, 0.1456331090, 0.0816001513, 0.0000000000, 0.0000000000, 0.0000000000, 0.0383539143, 0.0013479575, 5.0000000000, 3.0000000000, 0.0246205499 - 8, 7.95357678e-02, 1.41724922e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.72470034e-02, 1.41724922e-01, 7.95357678e-02, 0.00000000e+00, 5.61198178e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -8.24985368e+04, 7.92498795e+04, 0.00000000e+00, -1.90567133e+00, 5.80789523e-01, 6.39327495e-01, 3.61852759e+00, 0.00000000e+00, -5.9313714320, 0.0795357678, 0.1417249217, 0.0000000000, 0.5611981776, 0.1417249217, 0.0795357678, 0.0000000000, 0.0000000000, 0.0000000000, 0.0372470034, 0.0013479575, 5.0000000000, 3.0000000000, 0.0286673639 - 9, 7.88172877e-02, 1.39796508e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.68410975e-02, 1.39796508e-01, 7.88172877e-02, 0.00000000e+00, 5.63800119e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -7.95364195e+04, 7.63556345e+04, 0.00000000e+00, -1.91404509e+00, 5.64655086e-01, 6.13318610e-01, 3.60883695e+00, 0.00000000e+00, -5.9546734354, 0.0788172877, 0.1397965078, 0.0000000000, 0.5638001188, 0.1397965078, 0.0788172877, 0.0000000000, 0.0000000000, 0.0000000000, 0.0368410975, 0.0013479575, 5.0000000000, 3.0000000000, 0.0322731575 - 10, 7.89346634e-02, 1.39152792e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.68833177e-02, 1.39152792e-01, 7.89346634e-02, 0.00000000e+00, 5.67251739e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -7.68633792e+04, 7.37821640e+04, 0.00000000e+00, -1.92118668e+00, 5.60565392e-01, 5.93727102e-01, 3.60163215e+00, 0.00000000e+00, -5.9753695271, 0.0789346634, 0.1391527923, 0.0000000000, 0.5672517392, 0.1391527923, 0.0789346634, 0.0000000000, 0.0000000000, 0.0000000000, 0.0368833177, 0.0013479575, 5.0000000000, 3.0000000000, 0.0358575110 - 11, 7.94159326e-02, 1.39045653e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.71289725e-02, 1.39045653e-01, 7.94159326e-02, 0.00000000e+00, 5.71150058e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -7.42901591e+04, 7.13180391e+04, 0.00000000e+00, -1.92890836e+00, 5.59855797e-01, 5.79963776e-01, 3.59372292e+00, 0.00000000e+00, -5.9874612214, 0.0794159326, 0.1390456526, 0.0000000000, 0.5711500581, 0.1390456526, 0.0794159326, 0.0000000000, 0.0000000000, 0.0000000000, 0.0371289725, 0.0013479575, 5.0000000000, 3.0000000000, 0.0394382544 - 12, 7.99110556e-02, 1.38950213e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.73915284e-02, 1.38950213e-01, 7.99110556e-02, 0.00000000e+00, 5.75105672e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -7.17634321e+04, 6.88987928e+04, 0.00000000e+00, -1.93546561e+00, 5.56011375e-01, 5.70095213e-01, 3.58706326e+00, 0.00000000e+00, -5.9920590774, 0.0799110556, 0.1389502129, 0.0000000000, 0.5751056720, 0.1389502129, 0.0799110556, 0.0000000000, 0.0000000000, 0.0000000000, 0.0373915284, 0.0013479575, 5.0000000000, 3.0000000000, 0.0430579760 - 13, 8.02492603e-02, 1.38633503e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75766310e-02, 1.38633503e-01, 8.02492603e-02, 0.00000000e+00, 5.78859068e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -6.92915989e+04, 6.65294396e+04, 0.00000000e+00, -1.94037481e+00, 5.48564770e-01, 5.63117807e-01, 3.58244938e+00, 0.00000000e+00, -5.9935060483, 0.0802492603, 0.1386335029, 0.0000000000, 0.5788590684, 0.1386335029, 0.0802492603, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375766310, 0.0013479575, 5.0000000000, 3.0000000000, 0.0466664215 - 14, 8.04012484e-02, 1.38085698e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.76647566e-02, 1.38085698e-01, 8.04012484e-02, 0.00000000e+00, 5.82256161e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -6.69117909e+04, 6.42451040e+04, 0.00000000e+00, -1.94467764e+00, 5.37886847e-01, 5.58708199e-01, 3.57814266e+00, 0.00000000e+00, -5.9926912321, 0.0804012484, 0.1380856979, 0.0000000000, 0.5822561613, 0.1380856979, 0.0804012484, 0.0000000000, 0.0000000000, 0.0000000000, 0.0376647566, 0.0013479575, 5.0000000000, 3.0000000000, 0.0502643531 - 15, 8.04160818e-02, 1.37396706e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.76785446e-02, 1.37396706e-01, 8.04160818e-02, 0.00000000e+00, 5.85283914e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -6.46595257e+04, 6.20817224e+04, 0.00000000e+00, -1.94742879e+00, 5.25470969e-01, 5.56691436e-01, 3.57518001e+00, 0.00000000e+00, -5.9913728066, 0.0804160818, 0.1373967060, 0.0000000000, 0.5852839135, 0.1373967060, 0.0804160818, 0.0000000000, 0.0000000000, 0.0000000000, 0.0376785446, 0.0013479575, 5.0000000000, 3.0000000000, 0.0538658092 - 16, 8.03639016e-02, 1.36659657e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.76536725e-02, 1.36659657e-01, 8.03639016e-02, 0.00000000e+00, 5.88058711e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -6.25533609e+04, 6.00593666e+04, 0.00000000e+00, -1.94825314e+00, 5.13385944e-01, 5.56723870e-01, 3.57402348e+00, 0.00000000e+00, -5.9908212435, 0.0803639016, 0.1366596568, 0.0000000000, 0.5880587112, 0.1366596568, 0.0803639016, 0.0000000000, 0.0000000000, 0.0000000000, 0.0376536725, 0.0013479575, 5.0000000000, 3.0000000000, 0.0574982888 - 17, 8.03003369e-02, 1.35927512e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.76197362e-02, 1.35927512e-01, 8.03003369e-02, 0.00000000e+00, 5.90758527e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -6.05937944e+04, 5.81794324e+04, 0.00000000e+00, -1.94729764e+00, 5.02955026e-01, 5.58516832e-01, 3.57432063e+00, 0.00000000e+00, -5.9896221345, 0.0803003369, 0.1359275122, 0.0000000000, 0.5907585273, 0.1359275122, 0.0803003369, 0.0000000000, 0.0000000000, 0.0000000000, 0.0376197362, 0.0013479575, 5.0000000000, 3.0000000000, 0.0615422680 - 18, 8.02547324e-02, 1.35210514e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75933224e-02, 1.35210514e-01, 8.02547324e-02, 0.00000000e+00, 5.93553936e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -5.87689404e+04, 5.64300922e+04, 0.00000000e+00, -1.94439598e+00, 4.95396576e-01, 5.61754729e-01, 3.57642761e+00, 0.00000000e+00, -5.9871348075, 0.0802547324, 0.1352105135, 0.0000000000, 0.5935539355, 0.1352105135, 0.0802547324, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375933224, 0.0013479575, 5.0000000000, 3.0000000000, 0.0652064242 - 19, 8.02333745e-02, 1.34493619e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75790215e-02, 1.34493619e-01, 8.02333745e-02, 0.00000000e+00, 5.96558967e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -5.70618612e+04, 5.47939045e+04, 0.00000000e+00, -1.94012236e+00, 4.90034638e-01, 5.66152221e-01, 3.57969811e+00, 0.00000000e+00, -5.9833104214, 0.0802333745, 0.1344936191, 0.0000000000, 0.5965589673, 0.1344936191, 0.0802333745, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375790215, 0.0013479575, 5.0000000000, 3.0000000000, 0.0688011637 - 20, 8.02292990e-02, 1.33755594e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75741234e-02, 1.33755594e-01, 8.02292990e-02, 0.00000000e+00, 5.99820141e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -5.54562329e+04, 5.32540428e+04, 0.00000000e+00, -1.93469942e+00, 4.86757756e-01, 5.71595398e-01, 3.58391301e+00, 0.00000000e+00, -5.9780924914, 0.0802292990, 0.1337555935, 0.0000000000, 0.5998201411, 0.1337555935, 0.0802292990, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375741234, 0.0013479575, 5.0000000000, 3.0000000000, 0.0724085988 - 21, 8.02317692e-02, 1.32980582e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75734098e-02, 1.32980582e-01, 8.02317692e-02, 0.00000000e+00, 6.03334472e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -5.39391814e+04, 5.17974249e+04, 0.00000000e+00, -1.92822215e+00, 4.85641304e-01, 5.77867162e-01, 3.58913575e+00, 0.00000000e+00, -5.9721255904, 0.0802317692, 0.1329805818, 0.0000000000, 0.6033344724, 0.1329805818, 0.0802317692, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375734098, 0.0013479575, 5.0000000000, 3.0000000000, 0.0760117013 - 22, 8.02322091e-02, 1.32161241e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75723661e-02, 1.32161241e-01, 8.02322091e-02, 0.00000000e+00, 6.07078206e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -5.25016469e+04, 5.04151703e+04, 0.00000000e+00, -1.92123586e+00, 4.85353833e-01, 5.84599998e-01, 3.59468130e+00, 0.00000000e+00, -5.9657810338, 0.0802322091, 0.1321612411, 0.0000000000, 0.6070782056, 0.1321612411, 0.0802322091, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375723661, 0.0013479575, 5.0000000000, 3.0000000000, 0.0796344791 - 23, 8.02263511e-02, 1.31296644e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75685052e-02, 1.31296644e-01, 8.02263511e-02, 0.00000000e+00, 6.11031240e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -5.11374879e+04, 4.91015656e+04, 0.00000000e+00, -1.91369763e+00, 4.86008420e-01, 5.91746632e-01, 3.60069096e+00, 0.00000000e+00, -5.9591126283, 0.0802263511, 0.1312966439, 0.0000000000, 0.6110312397, 0.1312966439, 0.0802263511, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375685052, 0.0013479575, 5.0000000000, 3.0000000000, 0.0832351867 - 24, 8.02136435e-02, 1.30388744e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75612538e-02, 1.30388744e-01, 8.02136435e-02, 0.00000000e+00, 6.15188404e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -4.98421663e+04, 4.78525886e+04, 0.00000000e+00, -1.90583058e+00, 4.87634069e-01, 5.99020617e-01, 3.60698357e+00, 0.00000000e+00, -5.9526826321, 0.0802136435, 0.1303887443, 0.0000000000, 0.6151884041, 0.1303887443, 0.0802136435, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375612538, 0.0013479575, 5.0000000000, 3.0000000000, 0.0868896059 - 25, 8.01956261e-02, 1.29439762e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.75512773e-02, 1.29439762e-01, 8.01956261e-02, 0.00000000e+00, 6.19559437e-01, 0.00000000e+00, 0.00000000e+00, 1.34795754e-03, -4.86117409e+04, 4.66648417e+04, 0.00000000e+00, -1.89791856e+00, 4.89329769e-01, 6.06238880e-01, 3.61325439e+00, 0.00000000e+00, -5.9461397571, 0.0801956261, 0.1294397620, 0.0000000000, 0.6195594375, 0.1294397620, 0.0801956261, 0.0000000000, 0.0000000000, 0.0000000000, 0.0375512773, 0.0013479575, 5.0000000000, 3.0000000000, 0.0904878667 diff --git a/TestCases/harmonic_balance/hb_rans_preconditioning/history_3 b/TestCases/harmonic_balance/hb_rans_preconditioning/history_3 deleted file mode 100644 index bd7b1e2f1d1a..000000000000 --- a/TestCases/harmonic_balance/hb_rans_preconditioning/history_3 +++ /dev/null @@ -1,27 +0,0 @@ -"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","HeatFlux_Total","HeatFlux_Maximum","Temperature_Total","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","Res_Turb[0]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" - 0, 2.28215163e-02, 7.99983871e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 9.85953444e-03, 7.99983871e-02, 2.28215163e-02, 0.00000000e+00, 2.85274705e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -1.74685905e+05, 1.67401546e+05, 0.00000000e+00, -1.47900491e+00, -9.54847178e-01, -1.14063583e+01, 4.03445400e+00, 0.00000000e+00, -5.7594711634, 0.0228215163, 0.0799983871, 0.0000000000, 0.2852747053, 0.0799983871, 0.0228215163, 0.0000000000, 0.0000000000, 0.0000000000, 0.0098595344, 0.0015031399, 4.0000000000, 3.0000000000, 0.0084087971 - 1, 3.26947397e-02, 1.15873410e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.36246331e-02, 1.15873410e-01, 3.26947397e-02, 0.00000000e+00, 2.82159122e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -1.57848613e+05, 1.52561050e+05, 0.00000000e+00, -1.70887452e+00, 9.12773655e-01, 9.73329425e-01, 3.80579167e+00, 0.00000000e+00, -5.9025668096, 0.0326947397, 0.1158734102, 0.0000000000, 0.2821591224, 0.1158734102, 0.0326947397, 0.0000000000, 0.0000000000, 0.0000000000, 0.0136246331, 0.0015031399, 5.0000000000, 3.0000000000, 0.0035830720 - 2, 3.67260786e-02, 1.41148193e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.49758624e-02, 1.41148193e-01, 3.67260786e-02, 0.00000000e+00, 2.60195174e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -1.39677598e+05, 1.37001529e+05, 0.00000000e+00, -1.71918798e+00, 9.25280762e-01, 8.66731307e-01, 3.80132309e+00, 0.00000000e+00, -5.9862161407, 0.0367260786, 0.1411481929, 0.0000000000, 0.2601951740, 0.1411481929, 0.0367260786, 0.0000000000, 0.0000000000, 0.0000000000, 0.0149758624, 0.0015031399, 4.0000000000, 3.0000000000, 0.0072991122 - 3, 3.69138712e-02, 1.56299092e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.48402461e-02, 1.56299092e-01, 3.69138712e-02, 0.00000000e+00, 2.36174571e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -1.22902238e+05, 1.22201127e+05, 0.00000000e+00, -1.71190720e+00, 9.05818752e-01, 7.17183532e-01, 3.81101676e+00, 0.00000000e+00, -6.0069562910, 0.0369138712, 0.1562990925, 0.0000000000, 0.2361745713, 0.1562990925, 0.0369138712, 0.0000000000, 0.0000000000, 0.0000000000, 0.0148402461, 0.0015031399, 4.0000000000, 3.0000000000, 0.0105955804 - 4, 3.51068674e-02, 1.60540264e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.39980426e-02, 1.60540264e-01, 3.51068674e-02, 0.00000000e+00, 2.18679518e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -1.09063735e+05, 1.08746892e+05, 0.00000000e+00, -1.75283417e+00, 8.48860498e-01, 6.43770750e-01, 3.77078964e+00, 0.00000000e+00, -5.9872962749, 0.0351068674, 0.1605402638, 0.0000000000, 0.2186795176, 0.1605402638, 0.0351068674, 0.0000000000, 0.0000000000, 0.0000000000, 0.0139980426, 0.0015031399, 4.0000000000, 3.0000000000, 0.0138985556 - 5, 3.27818757e-02, 1.56897762e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.29965307e-02, 1.56897762e-01, 3.27818757e-02, 0.00000000e+00, 2.08937816e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -9.86300674e+04, 9.71975836e+04, 0.00000000e+00, -1.82174462e+00, 7.66551833e-01, 6.62728722e-01, 3.70269949e+00, 0.00000000e+00, -5.9698186423, 0.0327818757, 0.1568977620, 0.0000000000, 0.2089378160, 0.1568977620, 0.0327818757, 0.0000000000, 0.0000000000, 0.0000000000, 0.0129965307, 0.0015031399, 5.0000000000, 3.0000000000, 0.0173700088 - 6, 3.07551110e-02, 1.50378308e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.21338915e-02, 1.50378308e-01, 3.07551110e-02, 0.00000000e+00, 2.04518267e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -9.12638719e+04, 8.85917610e+04, 0.00000000e+00, -1.87495269e+00, 6.79639734e-01, 6.76137752e-01, 3.65117835e+00, 0.00000000e+00, -5.9382845004, 0.0307551110, 0.1503783082, 0.0000000000, 0.2045182672, 0.1503783082, 0.0307551110, 0.0000000000, 0.0000000000, 0.0000000000, 0.0121338915, 0.0015031399, 5.0000000000, 3.0000000000, 0.0209595597 - 7, 2.93504235e-02, 1.44452187e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.15186423e-02, 1.44452187e-01, 2.93504235e-02, 0.00000000e+00, 2.03184348e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -8.61804437e+04, 8.29977592e+04, 0.00000000e+00, -1.89820708e+00, 6.14071661e-01, 6.62499839e-01, 3.62814634e+00, 0.00000000e+00, -5.9232133508, 0.0293504235, 0.1444521873, 0.0000000000, 0.2031843481, 0.1444521873, 0.0293504235, 0.0000000000, 0.0000000000, 0.0000000000, 0.0115186423, 0.0015031399, 5.0000000000, 3.0000000000, 0.0246205499 - 8, 2.85146969e-02, 1.40577865e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.11125421e-02, 1.40577865e-01, 2.85146969e-02, 0.00000000e+00, 2.02839166e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -8.25030279e+04, 7.92553527e+04, 0.00000000e+00, -1.90961848e+00, 5.77906563e-01, 6.35581152e-01, 3.61473319e+00, 0.00000000e+00, -5.9336509936, 0.0285146969, 0.1405778649, 0.0000000000, 0.2028391664, 0.1405778649, 0.0285146969, 0.0000000000, 0.0000000000, 0.0000000000, 0.0111125421, 0.0015031399, 5.0000000000, 3.0000000000, 0.0286673639 - 9, 2.81551399e-02, 1.38660492e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.09131636e-02, 1.38660492e-01, 2.81551399e-02, 0.00000000e+00, 2.03050915e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -7.95393433e+04, 7.63591447e+04, 0.00000000e+00, -1.91787677e+00, 5.61674839e-01, 6.09396198e-01, 3.60513587e+00, 0.00000000e+00, -5.9571522602, 0.0281551399, 0.1386604924, 0.0000000000, 0.2030509155, 0.1386604924, 0.0281551399, 0.0000000000, 0.0000000000, 0.0000000000, 0.0109131636, 0.0015031399, 5.0000000000, 3.0000000000, 0.0322731575 - 10, 2.81136287e-02, 1.38014163e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.08626502e-02, 1.38014163e-01, 2.81136287e-02, 0.00000000e+00, 2.03701041e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -7.68654318e+04, 7.37849022e+04, 0.00000000e+00, -1.92491766e+00, 5.57682096e-01, 5.89713795e-01, 3.59803477e+00, 0.00000000e+00, -5.9780107279, 0.0281136287, 0.1380141629, 0.0000000000, 0.2037010410, 0.1380141629, 0.0281136287, 0.0000000000, 0.0000000000, 0.0000000000, 0.0108626502, 0.0015031399, 5.0000000000, 3.0000000000, 0.0358575110 - 11, 2.82315799e-02, 1.37898635e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.08952492e-02, 1.37898635e-01, 2.82315799e-02, 0.00000000e+00, 2.04727043e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -7.42922984e+04, 7.13210587e+04, 0.00000000e+00, -1.93259460e+00, 5.56996236e-01, 5.75930488e-01, 3.59016686e+00, 0.00000000e+00, -5.9901645693, 0.0282315799, 0.1378986353, 0.0000000000, 0.2047270432, 0.1378986353, 0.0282315799, 0.0000000000, 0.0000000000, 0.0000000000, 0.0108952492, 0.0015031399, 5.0000000000, 3.0000000000, 0.0394382544 - 12, 2.83828040e-02, 1.37794592e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.09541798e-02, 1.37794592e-01, 2.83828040e-02, 0.00000000e+00, 2.05979085e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -7.17660186e+04, 6.89023210e+04, 0.00000000e+00, -1.93911560e+00, 5.53148168e-01, 5.66069518e-01, 3.58353853e+00, 0.00000000e+00, -5.9947421036, 0.0283828040, 0.1377945925, 0.0000000000, 0.2059790847, 0.1377945925, 0.0283828040, 0.0000000000, 0.0000000000, 0.0000000000, 0.0109541798, 0.0015031399, 5.0000000000, 3.0000000000, 0.0430579760 - 13, 2.84980811e-02, 1.37471946e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10054184e-02, 1.37471946e-01, 2.84980811e-02, 0.00000000e+00, 2.07301067e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -6.92945870e+04, 6.65333225e+04, 0.00000000e+00, -1.94398509e+00, 5.45670973e-01, 5.59109958e-01, 3.57897024e+00, 0.00000000e+00, -5.9961499076, 0.0284980811, 0.1374719462, 0.0000000000, 0.2073010669, 0.1374719462, 0.0284980811, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110054184, 0.0015031399, 5.0000000000, 3.0000000000, 0.0466664215 - 14, 2.85574312e-02, 1.36921337e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10361874e-02, 1.36921337e-01, 2.85574312e-02, 0.00000000e+00, 2.08568159e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -6.69149921e+04, 6.42491024e+04, 0.00000000e+00, -1.94826418e+00, 5.34932563e-01, 5.54724377e-01, 3.57468866e+00, 0.00000000e+00, -5.9952672462, 0.0285574312, 0.1369213372, 0.0000000000, 0.2085681590, 0.1369213372, 0.0285574312, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110361874, 0.0015031399, 5.0000000000, 3.0000000000, 0.0502643531 - 15, 2.85707791e-02, 1.36231796e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10474945e-02, 1.36231796e-01, 2.85707791e-02, 0.00000000e+00, 2.09721813e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -6.46627694e+04, 6.20856769e+04, 0.00000000e+00, -1.95100896e+00, 5.22381664e-01, 5.52729661e-01, 3.57172949e+00, 0.00000000e+00, -5.9938995069, 0.0285707791, 0.1362317956, 0.0000000000, 0.2097218128, 0.1362317956, 0.0285707791, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110474945, 0.0015031399, 5.0000000000, 3.0000000000, 0.0538658092 - 16, 2.85587309e-02, 1.35495391e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10464311e-02, 1.35495391e-01, 2.85587309e-02, 0.00000000e+00, 2.10772712e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -6.25564903e+04, 6.00630985e+04, 0.00000000e+00, -1.95183536e+00, 5.10117627e-01, 5.52776287e-01, 3.57055141e+00, 0.00000000e+00, -5.9933395319, 0.0285587309, 0.1354953906, 0.0000000000, 0.2107727115, 0.1354953906, 0.0285587309, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110464311, 0.0015031399, 5.0000000000, 3.0000000000, 0.0574982888 - 17, 2.85394656e-02, 1.34764176e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10403211e-02, 1.34764176e-01, 2.85394656e-02, 0.00000000e+00, 2.11773385e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -6.05967373e+04, 5.81828577e+04, 0.00000000e+00, -1.95085671e+00, 4.99534773e-01, 5.54593936e-01, 3.57086753e+00, 0.00000000e+00, -5.9921500661, 0.0285394656, 0.1347641755, 0.0000000000, 0.2117733845, 0.1347641755, 0.0285394656, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110403211, 0.0015031399, 5.0000000000, 3.0000000000, 0.0615422680 - 18, 2.85236352e-02, 1.34047866e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10340710e-02, 1.34047866e-01, 2.85236352e-02, 0.00000000e+00, 2.12786940e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -5.87716894e+04, 5.64331989e+04, 0.00000000e+00, -1.94793506e+00, 4.91859192e-01, 5.57855122e-01, 3.57299149e+00, 0.00000000e+00, -5.9896786517, 0.0285236352, 0.1340478661, 0.0000000000, 0.2127869398, 0.1340478661, 0.0285236352, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110340710, 0.0015031399, 5.0000000000, 3.0000000000, 0.0652064242 - 19, 2.85144570e-02, 1.33331317e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10297369e-02, 1.33331317e-01, 2.85144570e-02, 0.00000000e+00, 2.13861661e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -5.70644356e+04, 5.47967046e+04, 0.00000000e+00, -1.94366634e+00, 4.86314174e-01, 5.62249703e-01, 3.57624297e+00, 0.00000000e+00, -5.9858957581, 0.0285144570, 0.1333313174, 0.0000000000, 0.2138616606, 0.1333313174, 0.0285144570, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110297369, 0.0015031399, 5.0000000000, 3.0000000000, 0.0688011637 - 20, 2.85106654e-02, 1.32593386e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10274868e-02, 1.32593386e-01, 2.85106654e-02, 0.00000000e+00, 2.15023284e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -5.54586599e+04, 5.32565619e+04, 0.00000000e+00, -1.93825012e+00, 4.82866066e-01, 5.67680995e-01, 3.58042025e+00, 0.00000000e+00, -5.9806444686, 0.0285106654, 0.1325933864, 0.0000000000, 0.2150232838, 0.1325933864, 0.0285106654, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110274868, 0.0015031399, 5.0000000000, 3.0000000000, 0.0724085988 - 21, 2.85093432e-02, 1.31818387e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10265131e-02, 1.31818387e-01, 2.85093432e-02, 0.00000000e+00, 2.16277439e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -5.39414813e+04, 5.17996863e+04, 0.00000000e+00, -1.93174861e+00, 4.81654412e-01, 5.73961980e-01, 3.58566546e+00, 0.00000000e+00, -5.9747192498, 0.0285093432, 0.1318183869, 0.0000000000, 0.2162774392, 0.1318183869, 0.0285093432, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110265131, 0.0015031399, 5.0000000000, 3.0000000000, 0.0760117013 - 22, 2.85079401e-02, 1.30999118e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10258875e-02, 1.30999118e-01, 2.85079401e-02, 0.00000000e+00, 2.17619329e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -5.25038295e+04, 5.04171890e+04, 0.00000000e+00, -1.92480375e+00, 4.81168627e-01, 5.80655663e-01, 3.59114239e+00, 0.00000000e+00, -5.9684195419, 0.0285079401, 0.1309991177, 0.0000000000, 0.2176193291, 0.1309991177, 0.0285079401, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110258875, 0.0015031399, 5.0000000000, 3.0000000000, 0.0796344791 - 23, 2.85050841e-02, 1.30134709e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10249868e-02, 1.30134709e-01, 2.85050841e-02, 0.00000000e+00, 2.19042901e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -5.11395572e+04, 4.91033545e+04, 0.00000000e+00, -1.91728750e+00, 4.81666231e-01, 5.87777696e-01, 3.59710642e+00, 0.00000000e+00, -5.9617715000, 0.0285050841, 0.1301347087, 0.0000000000, 0.2190429009, 0.1301347087, 0.0285050841, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110249868, 0.0015031399, 5.0000000000, 3.0000000000, 0.0832351867 - 24, 2.85005238e-02, 1.29227119e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10235790e-02, 1.29227119e-01, 2.85005238e-02, 0.00000000e+00, 2.20545998e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -4.98441245e+04, 4.78541664e+04, 0.00000000e+00, -1.90943297e+00, 4.83181462e-01, 5.95012439e-01, 3.60336194e+00, 0.00000000e+00, -5.9553866989, 0.0285005238, 0.1292271185, 0.0000000000, 0.2205459978, 0.1292271185, 0.0285005238, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110235790, 0.0015031399, 5.0000000000, 3.0000000000, 0.0868896059 - 25, 2.84946886e-02, 1.28278523e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.10217577e-02, 1.28278523e-01, 2.84946886e-02, 0.00000000e+00, 2.22131406e-01, 0.00000000e+00, 0.00000000e+00, 1.50313990e-03, -4.86135853e+04, 4.66662058e+04, 0.00000000e+00, -1.90154905e+00, 4.84657152e-01, 6.02178184e-01, 3.60957899e+00, 0.00000000e+00, -5.9488748205, 0.0284946886, 0.1282785229, 0.0000000000, 0.2221314057, 0.1282785229, 0.0284946886, 0.0000000000, 0.0000000000, 0.0000000000, 0.0110217577, 0.0015031399, 5.0000000000, 3.0000000000, 0.0904878667 diff --git a/TestCases/harmonic_balance/hb_rans_preconditioning/history_4 b/TestCases/harmonic_balance/hb_rans_preconditioning/history_4 deleted file mode 100644 index af25a5e26bfa..000000000000 --- a/TestCases/harmonic_balance/hb_rans_preconditioning/history_4 +++ /dev/null @@ -1,27 +0,0 @@ -"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","HeatFlux_Total","HeatFlux_Maximum","Temperature_Total","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","Res_Turb[0]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" - 0, -3.76237585e-02, 8.01138589e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.10123954e-02, 8.01138589e-02, -3.76237585e-02, 0.00000000e+00, -4.69628589e-01, 0.00000000e+00, 0.00000000e+00, 1.56713919e-03, -1.74690891e+05, 1.67408179e+05, 0.00000000e+00, -1.47744527e+00, -9.62027457e-01, -1.13924892e+01, 4.03601422e+00, 0.00000000e+00, -5.7587594627, -0.0376237585, 0.0801138589, 0.0000000000, -0.4696285895, 0.0801138589, -0.0376237585, 0.0000000000, 0.0000000000, 0.0000000000, -0.0210123954, 0.0015671392, 4.0000000000, 3.0000000000, 0.0084087971 - 1, -5.22251208e-02, 1.16040652e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.87312116e-02, 1.16040652e-01, -5.22251208e-02, 0.00000000e+00, -4.50058836e-01, 0.00000000e+00, 0.00000000e+00, 1.56713919e-03, -1.57851304e+05, 1.52573054e+05, 0.00000000e+00, -1.70726131e+00, 9.13825448e-01, 9.73563159e-01, 3.80732359e+00, 0.00000000e+00, -5.9004926757, -0.0522251208, 0.1160406521, 0.0000000000, -0.4500588360, 0.1160406521, -0.0522251208, 0.0000000000, 0.0000000000, 0.0000000000, -0.0287312116, 0.0015671392, 5.0000000000, 3.0000000000, 0.0035830720 - 2, -5.77149511e-02, 1.41311036e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.14101011e-02, 1.41311036e-01, -5.77149511e-02, 0.00000000e+00, -4.08424939e-01, 0.00000000e+00, 0.00000000e+00, 1.56713919e-03, -1.39675294e+05, 1.36995870e+05, 0.00000000e+00, -1.71819536e+00, 9.25843843e-01, 8.67282765e-01, 3.80221046e+00, 0.00000000e+00, -5.9846875546, -0.0577149511, 0.1413110356, 0.0000000000, -0.4084249386, 0.1413110356, -0.0577149511, 0.0000000000, 0.0000000000, 0.0000000000, -0.0314101011, 0.0015671392, 4.0000000000, 3.0000000000, 0.0072991122 - 3, -5.72600465e-02, 1.56457693e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.09444536e-02, 1.56457693e-01, -5.72600465e-02, 0.00000000e+00, -3.65977826e-01, 0.00000000e+00, 0.00000000e+00, 1.56713919e-03, -1.22897664e+05, 1.22180333e+05, 0.00000000e+00, -1.71121680e+00, 9.06223851e-01, 7.18111122e-01, 3.81163460e+00, 0.00000000e+00, -6.0054424260, -0.0572600465, 0.1564576934, 0.0000000000, -0.3659778261, 0.1564576934, -0.0572600465, 0.0000000000, 0.0000000000, 0.0000000000, -0.0309444536, 0.0015671392, 4.0000000000, 3.0000000000, 0.0105955804 - 4, -5.39816483e-02, 1.60693796e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.90373111e-02, 1.60693796e-01, -5.39816483e-02, 0.00000000e+00, -3.35928640e-01, 0.00000000e+00, 0.00000000e+00, 1.56713919e-03, -1.09059779e+05, 1.08736025e+05, 0.00000000e+00, -1.75212042e+00, 8.49263464e-01, 6.44817786e-01, 3.77143365e+00, 0.00000000e+00, -5.9860403761, -0.0539816483, 0.1606937958, 0.0000000000, -0.3359286400, 0.1606937958, -0.0539816483, 0.0000000000, 0.0000000000, 0.0000000000, -0.0290373111, 0.0015671392, 5.0000000000, 3.0000000000, 0.0138985556 - 5, -5.01533268e-02, 1.57047876e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.68817794e-02, 1.57047876e-01, -5.01533268e-02, 0.00000000e+00, -3.19350558e-01, 0.00000000e+00, 0.00000000e+00, 1.56713919e-03, -9.86273025e+04, 9.72000974e+04, 0.00000000e+00, -1.82087129e+00, 7.67055207e-01, 6.63554070e-01, 3.70347625e+00, 0.00000000e+00, -5.9688292986, -0.0501533268, 0.1570478759, 0.0000000000, -0.3193505577, 0.1570478759, -0.0501533268, 0.0000000000, 0.0000000000, 0.0000000000, -0.0268817794, 0.0015671392, 5.0000000000, 3.0000000000, 0.0173700088 - 6, -4.70475754e-02, 1.50520763e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.51284285e-02, 1.50520763e-01, -4.70475754e-02, 0.00000000e+00, -3.12565354e-01, 0.00000000e+00, 0.00000000e+00, 1.56713919e-03, -9.12621761e+04, 8.85924778e+04, 0.00000000e+00, -1.87394492e+00, 6.80307792e-01, 6.76832986e-01, 3.65206309e+00, 0.00000000e+00, -5.9375144075, -0.0470475754, 0.1505207626, 0.0000000000, -0.3125653536, 0.1505207626, -0.0470475754, 0.0000000000, 0.0000000000, 0.0000000000, -0.0251284285, 0.0015671392, 5.0000000000, 3.0000000000, 0.0209595597 - 7, -4.50744498e-02, 1.44588403e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.39963723e-02, 1.44588403e-01, -4.50744498e-02, 0.00000000e+00, -3.11743189e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -8.61797853e+04, 8.29968964e+04, 0.00000000e+00, -1.89718347e+00, 6.14891765e-01, 6.63180515e-01, 3.62905168e+00, 0.00000000e+00, -5.9228100230, -0.0450744498, 0.1445884027, 0.0000000000, -0.3117431890, 0.1445884027, -0.0450744498, 0.0000000000, 0.0000000000, 0.0000000000, -0.0239963723, 0.0015330267, 5.0000000000, 3.0000000000, 0.0246205499 - 8, -4.40779030e-02, 1.40710062e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.33987454e-02, 1.40710062e-01, -4.40779030e-02, 0.00000000e+00, -3.13253384e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -8.25029893e+04, 7.92544821e+04, 0.00000000e+00, -1.90863674e+00, 5.78817341e-01, 6.36293731e-01, 3.61561167e+00, 0.00000000e+00, -5.9330654010, -0.0440779030, 0.1407100619, 0.0000000000, -0.3132533839, 0.1407100619, -0.0440779030, 0.0000000000, 0.0000000000, 0.0000000000, -0.0233987454, 0.0015330267, 5.0000000000, 3.0000000000, 0.0286673639 - 9, -4.38360406e-02, 1.38791182e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.32476316e-02, 1.38791182e-01, -4.38360406e-02, 0.00000000e+00, -3.15841682e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -7.95395987e+04, 7.63585420e+04, 0.00000000e+00, -1.91693298e+00, 5.62602015e-01, 6.10142776e-01, 3.60598945e+00, 0.00000000e+00, -5.9565303785, -0.0438360406, 0.1387911824, 0.0000000000, -0.3158416824, 0.1387911824, -0.0438360406, 0.0000000000, 0.0000000000, 0.0000000000, -0.0232476316, 0.0015330267, 5.0000000000, 3.0000000000, 0.0322731575 - 10, -4.40269111e-02, 1.38145002e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.33593860e-02, 1.38145002e-01, -4.40269111e-02, 0.00000000e+00, -3.18700717e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -7.68658929e+04, 7.37843935e+04, 0.00000000e+00, -1.92400148e+00, 5.58575869e-01, 5.90471447e-01, 3.59886758e+00, 0.00000000e+00, -5.9773654518, -0.0440269111, 0.1381450017, 0.0000000000, -0.3187007172, 0.1381450017, -0.0440269111, 0.0000000000, 0.0000000000, 0.0000000000, -0.0233593860, 0.0015330267, 5.0000000000, 3.0000000000, 0.0358575110 - 11, -4.43748682e-02, 1.38030520e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.35703316e-02, 1.38030520e-01, -4.43748682e-02, 0.00000000e+00, -3.21485917e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -7.42928655e+04, 7.13204954e+04, 0.00000000e+00, -1.93169868e+00, 5.57864135e-01, 5.76681103e-01, 3.59098342e+00, 0.00000000e+00, -5.9895097003, -0.0443748682, 0.1380305200, 0.0000000000, -0.3214859166, 0.1380305200, -0.0443748682, 0.0000000000, 0.0000000000, 0.0000000000, -0.0235703316, 0.0015330267, 5.0000000000, 3.0000000000, 0.0394382544 - 12, -4.46880220e-02, 1.37927386e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.37641023e-02, 1.37927386e-01, -4.46880220e-02, 0.00000000e+00, -3.23996729e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -7.17666580e+04, 6.89016553e+04, 0.00000000e+00, -1.93824032e+00, 5.53995964e-01, 5.66811288e-01, 3.58433721e+00, 0.00000000e+00, -5.9940892457, -0.0446880220, 0.1379273861, 0.0000000000, -0.3239967292, 0.1379273861, -0.0446880220, 0.0000000000, 0.0000000000, 0.0000000000, -0.0237641023, 0.0015330267, 5.0000000000, 3.0000000000, 0.0430579760 - 13, -4.48849665e-02, 1.37605365e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38888359e-02, 1.37605365e-01, -4.48849665e-02, 0.00000000e+00, -3.26186168e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -6.92952929e+04, 6.65325762e+04, 0.00000000e+00, -1.94312234e+00, 5.46519104e-01, 5.59846225e-01, 3.57975826e+00, 0.00000000e+00, -5.9955287680, -0.0448849665, 0.1376053646, 0.0000000000, -0.3261861677, 0.1376053646, -0.0448849665, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238888359, 0.0015330267, 5.0000000000, 3.0000000000, 0.0466664215 - 14, -4.49640099e-02, 1.37055041e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.39411478e-02, 1.37055041e-01, -4.49640099e-02, 0.00000000e+00, -3.28072646e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -6.69157689e+04, 6.42483356e+04, 0.00000000e+00, -1.94740350e+00, 5.35804991e-01, 5.55457920e-01, 3.57547816e+00, 0.00000000e+00, -5.9946423405, -0.0449640099, 0.1370550409, 0.0000000000, -0.3280726460, 0.1370550409, -0.0449640099, 0.0000000000, 0.0000000000, 0.0000000000, -0.0239411478, 0.0015330267, 5.0000000000, 3.0000000000, 0.0502643531 - 15, -4.49635608e-02, 1.36365575e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.39427029e-02, 1.36365575e-01, -4.49635608e-02, 0.00000000e+00, -3.29728091e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -6.46635691e+04, 6.20848204e+04, 0.00000000e+00, -1.95015356e+00, 5.23287854e-01, 5.53462848e-01, 3.57251699e+00, 0.00000000e+00, -5.9932861373, -0.0449635608, 0.1363655753, 0.0000000000, -0.3297280911, 0.1363655753, -0.0449635608, 0.0000000000, 0.0000000000, 0.0000000000, -0.0239427029, 0.0015330267, 5.0000000000, 3.0000000000, 0.0538658092 - 16, -4.49286567e-02, 1.35629120e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.39206432e-02, 1.35629120e-01, -4.49286567e-02, 0.00000000e+00, -3.31261138e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -6.25573045e+04, 6.00621629e+04, 0.00000000e+00, -1.95098836e+00, 5.11046197e-01, 5.53501427e-01, 3.57131925e+00, 0.00000000e+00, -5.9927203440, -0.0449286567, 0.1356291203, 0.0000000000, -0.3312611378, 0.1356291203, -0.0449286567, 0.0000000000, 0.0000000000, 0.0000000000, -0.0239206432, 0.0015330267, 5.0000000000, 3.0000000000, 0.0574982888 - 17, -4.48919968e-02, 1.34897837e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38956123e-02, 1.34897837e-01, -4.48919968e-02, 0.00000000e+00, -3.32785149e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -6.05975565e+04, 5.81818327e+04, 0.00000000e+00, -1.94999247e+00, 5.00528238e-01, 5.55325569e-01, 3.57166776e+00, 0.00000000e+00, -5.9915281791, -0.0448919968, 0.1348978368, 0.0000000000, -0.3327851492, 0.1348978368, -0.0448919968, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238956123, 0.0015330267, 5.0000000000, 3.0000000000, 0.0615422680 - 18, -4.48690810e-02, 1.34181489e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38781386e-02, 1.34181489e-01, -4.48690810e-02, 0.00000000e+00, -3.34390989e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -5.87724987e+04, 5.64320351e+04, 0.00000000e+00, -1.94706281e+00, 4.92947471e-01, 5.58596765e-01, 3.57381083e+00, 0.00000000e+00, -5.9890540768, -0.0448690810, 0.1341814894, 0.0000000000, -0.3343909894, 0.1341814894, -0.0448690810, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238781386, 0.0015330267, 5.0000000000, 3.0000000000, 0.0652064242 - 19, -4.48616863e-02, 1.33464937e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38702392e-02, 1.33464937e-01, -4.48616863e-02, 0.00000000e+00, -3.36130876e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -5.70652340e+04, 5.47954139e+04, 0.00000000e+00, -1.94280296e+00, 4.87419008e-01, 5.62982778e-01, 3.57705972e+00, 0.00000000e+00, -5.9852836619, -0.0448616863, 0.1334649372, 0.0000000000, -0.3361308761, 0.1334649372, -0.0448616863, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238702392, 0.0015330267, 5.0000000000, 3.0000000000, 0.0688011637 - 20, -4.48641546e-02, 1.32727025e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38689480e-02, 1.32727025e-01, -4.48641546e-02, 0.00000000e+00, -3.38018233e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -5.54594505e+04, 5.32551529e+04, 0.00000000e+00, -1.93740880e+00, 4.83991687e-01, 5.68398993e-01, 3.58120696e+00, 0.00000000e+00, -5.9800176598, -0.0448641546, 0.1327270254, 0.0000000000, -0.3380182326, 0.1327270254, -0.0448641546, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238689480, 0.0015330267, 5.0000000000, 3.0000000000, 0.0724085988 - 21, -4.48693387e-02, 1.31952054e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38700224e-02, 1.31952054e-01, -4.48693387e-02, 0.00000000e+00, -3.40042746e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -5.39422732e+04, 5.17981858e+04, 0.00000000e+00, -1.93089966e+00, 4.82830531e-01, 5.74694869e-01, 3.58647330e+00, 0.00000000e+00, -5.9741080580, -0.0448693387, 0.1319520540, 0.0000000000, -0.3400427456, 0.1319520540, -0.0448693387, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238700224, 0.0015330267, 5.0000000000, 3.0000000000, 0.0760117013 - 22, -4.48719291e-02, 1.31132811e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38701006e-02, 1.31132811e-01, -4.48719291e-02, 0.00000000e+00, -3.42186892e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -5.25046321e+04, 5.04156289e+04, 0.00000000e+00, -1.92399132e+00, 4.82348335e-01, 5.81364994e-01, 3.59191197e+00, 0.00000000e+00, -5.9678090099, -0.0448719291, 0.1311328110, 0.0000000000, -0.3421868925, 0.1311328110, -0.0448719291, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238701006, 0.0015330267, 5.0000000000, 3.0000000000, 0.0796344791 - 23, -4.48694603e-02, 1.30268433e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38674899e-02, 1.30268433e-01, -4.48694603e-02, 0.00000000e+00, -3.44438475e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -5.11403763e+04, 4.91017590e+04, 0.00000000e+00, -1.91649632e+00, 4.82869994e-01, 5.88476050e-01, 3.59785384e+00, 0.00000000e+00, -5.9611670958, -0.0448694603, 0.1302684329, 0.0000000000, -0.3444384748, 0.1302684329, -0.0448694603, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238674899, 0.0015330267, 5.0000000000, 3.0000000000, 0.0832351867 - 24, -4.48617467e-02, 1.29360821e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38619395e-02, 1.29360821e-01, -4.48617467e-02, 0.00000000e+00, -3.46795469e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -4.98449597e+04, 4.78525593e+04, 0.00000000e+00, -1.90865586e+00, 4.84406576e-01, 5.95697423e-01, 3.60410116e+00, 0.00000000e+00, -5.9547835258, -0.0448617467, 0.1293608212, 0.0000000000, -0.3467954694, 0.1293608212, -0.0448617467, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238619395, 0.0015330267, 5.0000000000, 3.0000000000, 0.0868896059 - 25, -4.48497631e-02, 1.28412163e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.38539968e-02, 1.28412163e-01, -4.48497631e-02, 0.00000000e+00, -3.49264135e-01, 0.00000000e+00, 0.00000000e+00, 1.53302672e-03, -4.86144341e+04, 4.66645785e+04, 0.00000000e+00, -1.90079337e+00, 4.85884925e-01, 6.02847616e-01, 3.61030222e+00, 0.00000000e+00, -5.9482776521, -0.0448497631, 0.1284121630, 0.0000000000, -0.3492641351, 0.1284121630, -0.0448497631, 0.0000000000, 0.0000000000, 0.0000000000, -0.0238539968, 0.0015330267, 5.0000000000, 3.0000000000, 0.0904878667 diff --git a/TestCases/harmonic_balance/hb_rans_preconditioning/history_5 b/TestCases/harmonic_balance/hb_rans_preconditioning/history_5 deleted file mode 100644 index 4d93a63abc1a..000000000000 --- a/TestCases/harmonic_balance/hb_rans_preconditioning/history_5 +++ /dev/null @@ -1,27 +0,0 @@ -"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","HeatFlux_Total","HeatFlux_Maximum","Temperature_Total","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","Res_Turb[0]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" - 0, -6.94252758e-02, 8.09541704e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.58960808e-02, 8.09541704e-02, -6.94252758e-02, 0.00000000e+00, -8.57587392e-01, 0.00000000e+00, 0.00000000e+00, 1.50262238e-03, -1.74695899e+05, 1.67410460e+05, 0.00000000e+00, -1.47218537e+00, -1.61435859e+00, -1.13845245e+01, 4.04128751e+00, 0.00000000e+00, -5.7567820212, -0.0694252758, 0.0809541704, 0.0000000000, -0.8575873922, 0.0809541704, -0.0694252758, 0.0000000000, 0.0000000000, 0.0000000000, -0.0358960808, 0.0015026224, 4.0000000000, 3.0000000000, 0.0084087971 - 1, -9.73726642e-02, 1.17272917e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.92096157e-02, 1.17272917e-01, -9.73726642e-02, 0.00000000e+00, -8.30308198e-01, 0.00000000e+00, 0.00000000e+00, 1.50262238e-03, -1.57837947e+05, 1.52573480e+05, 0.00000000e+00, -1.70207076e+00, 9.16396662e-01, 9.74458648e-01, 3.81242315e+00, 0.00000000e+00, -5.8947551484, -0.0973726642, 0.1172729168, 0.0000000000, -0.8303081980, 0.1172729168, -0.0973726642, 0.0000000000, 0.0000000000, 0.0000000000, -0.0492096157, 0.0015026224, 5.0000000000, 3.0000000000, 0.0035830720 - 2, -1.08164637e-01, 1.42717262e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -5.38578942e-02, 1.42717262e-01, -1.08164637e-01, 0.00000000e+00, -7.57894566e-01, 0.00000000e+00, 0.00000000e+00, 1.50262238e-03, -1.39652359e+05, 1.37001878e+05, 0.00000000e+00, -1.71499618e+00, 9.27320486e-01, 8.69556040e-01, 3.80529031e+00, 0.00000000e+00, -5.9804994875, -0.1081646372, 0.1427172619, 0.0000000000, -0.7578945656, 0.1427172619, -0.1081646372, 0.0000000000, 0.0000000000, 0.0000000000, -0.0538578942, 0.0015026224, 4.0000000000, 3.0000000000, 0.0072991122 - 3, -1.07744093e-01, 1.57884975e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -5.31254320e-02, 1.57884975e-01, -1.07744093e-01, 0.00000000e+00, -6.82421445e-01, 0.00000000e+00, 0.00000000e+00, 1.50262238e-03, -1.22873042e+05, 1.22188066e+05, 0.00000000e+00, -1.70893466e+00, 9.07358516e-01, 7.22279916e-01, 3.81390381e+00, 0.00000000e+00, -6.0012151010, -0.1077440929, 0.1578849752, 0.0000000000, -0.6824214446, 0.1578849752, -0.1077440929, 0.0000000000, 0.0000000000, 0.0000000000, -0.0531254320, 0.0015026224, 4.0000000000, 3.0000000000, 0.0105955804 - 4, -1.01833356e-01, 1.62057298e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.99060592e-02, 1.62057298e-01, -1.01833356e-01, 0.00000000e+00, -6.28378709e-01, 0.00000000e+00, 0.00000000e+00, 1.50262238e-03, -1.09038596e+05, 1.08746003e+05, 0.00000000e+00, -1.74959378e+00, 8.50450229e-01, 6.49576803e-01, 3.77399805e+00, 0.00000000e+00, -5.9820280688, -0.1018333556, 0.1620572978, 0.0000000000, -0.6283787090, 0.1620572978, -0.1018333556, 0.0000000000, 0.0000000000, 0.0000000000, -0.0499060592, 0.0015026224, 5.0000000000, 3.0000000000, 0.0138985556 - 5, -9.47384278e-02, 1.58317589e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.62261852e-02, 1.58317589e-01, -9.47384278e-02, 0.00000000e+00, -5.98407471e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -9.86113577e+04, 9.72023635e+04, 0.00000000e+00, -1.81766493e+00, 7.68483310e-01, 6.67430367e-01, 3.70668226e+00, 0.00000000e+00, -5.9653278927, -0.0947384278, 0.1583175886, 0.0000000000, -0.5984074712, 0.1583175886, -0.0947384278, 0.0000000000, 0.0000000000, 0.0000000000, -0.0462261852, 0.0013833441, 5.0000000000, 3.0000000000, 0.0173700088 - 6, -8.88663805e-02, 1.51705485e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.31889097e-02, 1.51705485e-01, -8.88663805e-02, 0.00000000e+00, -5.85782250e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -9.12516269e+04, 8.85877569e+04, 0.00000000e+00, -1.87021358e+00, 6.82142004e-01, 6.80267504e-01, 3.65570481e+00, 0.00000000e+00, -5.9347499782, -0.0888663805, 0.1517054853, 0.0000000000, -0.5857822498, 0.1517054853, -0.0888663805, 0.0000000000, 0.0000000000, 0.0000000000, -0.0431889097, 0.0013833441, 5.0000000000, 3.0000000000, 0.0209595597 - 7, -8.50404986e-02, 1.45713454e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.11725532e-02, 1.45713454e-01, -8.50404986e-02, 0.00000000e+00, -5.83614595e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -8.61737057e+04, 8.29905648e+04, 0.00000000e+00, -1.89336267e+00, 6.17177313e-01, 6.66614823e-01, 3.63274836e+00, 0.00000000e+00, -5.9210043319, -0.0850404986, 0.1457134542, 0.0000000000, -0.5836145950, 0.1457134542, -0.0850404986, 0.0000000000, 0.0000000000, 0.0000000000, -0.0411725532, 0.0013833441, 5.0000000000, 3.0000000000, 0.0246205499 - 8, -8.30021830e-02, 1.41800289e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.00311195e-02, 1.41800289e-01, -8.30021830e-02, 0.00000000e+00, -5.85345655e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -8.24995299e+04, 7.92497267e+04, 0.00000000e+00, -1.90488033e+00, 5.81427583e-01, 6.39917370e-01, 3.61926600e+00, 0.00000000e+00, -5.9309053739, -0.0830021830, 0.1418002890, 0.0000000000, -0.5853456551, 0.1418002890, -0.0830021830, 0.0000000000, 0.0000000000, 0.0000000000, -0.0400311195, 0.0013833441, 5.0000000000, 3.0000000000, 0.0286673639 - 9, -8.23727775e-02, 1.39868763e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.96510556e-02, 1.39868763e-01, -8.23727775e-02, 0.00000000e+00, -5.88929051e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -7.95373753e+04, 7.63549466e+04, 0.00000000e+00, -1.91326674e+00, 5.65314693e-01, 6.13963037e-01, 3.60956968e+00, 0.00000000e+00, -5.9541600226, -0.0823727775, 0.1398687625, 0.0000000000, -0.5889290506, 0.1398687625, -0.0823727775, 0.0000000000, 0.0000000000, 0.0000000000, -0.0396510556, 0.0013833441, 5.0000000000, 3.0000000000, 0.0322731575 - 10, -8.25897516e-02, 1.39223915e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.97454510e-02, 1.39223915e-01, -8.25897516e-02, 0.00000000e+00, -5.93215265e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -7.68642711e+04, 7.37811886e+04, 0.00000000e+00, -1.92040941e+00, 5.61207362e-01, 5.94403971e-01, 3.60237066e+00, 0.00000000e+00, -5.9748280661, -0.0825897516, 0.1392239148, 0.0000000000, -0.5932152654, 0.1392239148, -0.0825897516, 0.0000000000, 0.0000000000, 0.0000000000, -0.0397454510, 0.0013833441, 5.0000000000, 3.0000000000, 0.0358575110 - 11, -8.31514338e-02, 1.39116821e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.00448237e-02, 1.39116821e-01, -8.31514338e-02, 0.00000000e+00, -5.97709414e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -7.42910430e+04, 7.13169272e+04, 0.00000000e+00, -1.92813918e+00, 5.60479751e-01, 5.80646589e-01, 3.59445401e+00, 0.00000000e+00, -5.9868963069, -0.0831514338, 0.1391168214, 0.0000000000, -0.5977094141, 0.1391168214, -0.0831514338, 0.0000000000, 0.0000000000, 0.0000000000, -0.0400448237, 0.0013833441, 5.0000000000, 3.0000000000, 0.0394382544 - 12, -8.36961802e-02, 1.39021542e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.03481714e-02, 1.39021542e-01, -8.36961802e-02, 0.00000000e+00, -6.02037491e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -7.17643229e+04, 6.88975279e+04, 0.00000000e+00, -1.93470475e+00, 5.56618836e-01, 5.70780561e-01, 3.58778582e+00, 0.00000000e+00, -5.9914912681, -0.0836961802, 0.1390215417, 0.0000000000, -0.6020374910, 0.1390215417, -0.0836961802, 0.0000000000, 0.0000000000, 0.0000000000, -0.0403481714, 0.0013833441, 5.0000000000, 3.0000000000, 0.0430579760 - 13, -8.40570946e-02, 1.38705030e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05572489e-02, 1.38705030e-01, -8.40570946e-02, 0.00000000e+00, -6.06013310e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -6.92925028e+04, 6.65279982e+04, 0.00000000e+00, -1.93960957e+00, 5.49177823e-01, 5.63811151e-01, 3.58318098e+00, 0.00000000e+00, -5.9929544149, -0.0840570946, 0.1387050304, 0.0000000000, -0.6060133103, 0.1387050304, -0.0840570946, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405572489, 0.0013833441, 5.0000000000, 3.0000000000, 0.0466664215 - 14, -8.42151364e-02, 1.38157317e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.06554101e-02, 1.38157317e-01, -8.42151364e-02, 0.00000000e+00, -6.09559728e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -6.69126868e+04, 6.42434524e+04, 0.00000000e+00, -1.94389706e+00, 5.38541264e-01, 5.59412585e-01, 3.57889437e+00, 0.00000000e+00, -5.9921187552, -0.0842151364, 0.1381573168, 0.0000000000, -0.6095597277, 0.1381573168, -0.0842151364, 0.0000000000, 0.0000000000, 0.0000000000, -0.0406554101, 0.0013833441, 5.0000000000, 3.0000000000, 0.0502643531 - 15, -8.42294814e-02, 1.37468313e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.06708152e-02, 1.37468313e-01, -8.42294814e-02, 0.00000000e+00, -6.12719248e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -6.46604006e+04, 6.20798517e+04, 0.00000000e+00, -1.94664530e+00, 5.26142660e-01, 5.57403168e-01, 3.57593846e+00, 0.00000000e+00, -5.9908209299, -0.0842294814, 0.1374683131, 0.0000000000, -0.6127192476, 0.1374683131, -0.0842294814, 0.0000000000, 0.0000000000, 0.0000000000, -0.0406708152, 0.0013833441, 5.0000000000, 3.0000000000, 0.0538658092 - 16, -8.41768430e-02, 1.36731263e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.06442873e-02, 1.36731263e-01, -8.41768430e-02, 0.00000000e+00, -6.15637135e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -6.25541896e+04, 6.00572457e+04, 0.00000000e+00, -1.94748445e+00, 5.14061263e-01, 5.57425786e-01, 3.57475372e+00, 0.00000000e+00, -5.9902565341, -0.0841768430, 0.1367312629, 0.0000000000, -0.6156371351, 0.1367312629, -0.0841768430, 0.0000000000, 0.0000000000, 0.0000000000, -0.0406442873, 0.0013833441, 5.0000000000, 3.0000000000, 0.0574982888 - 17, -8.41154239e-02, 1.35999144e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.06087343e-02, 1.35999144e-01, -8.41154239e-02, 0.00000000e+00, -6.18499657e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -6.05945642e+04, 5.81770440e+04, 0.00000000e+00, -1.94651844e+00, 5.03679985e-01, 5.59222842e-01, 3.57506945e+00, 0.00000000e+00, -5.9890581220, -0.0841154239, 0.1359991439, 0.0000000000, -0.6184996573, 0.1359991439, -0.0841154239, 0.0000000000, 0.0000000000, 0.0000000000, -0.0406087343, 0.0013833441, 5.0000000000, 3.0000000000, 0.0615422680 - 18, -8.40744179e-02, 1.35282180e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05821241e-02, 1.35282180e-01, -8.40744179e-02, 0.00000000e+00, -6.21474448e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -5.87696390e+04, 5.64273880e+04, 0.00000000e+00, -1.94360063e+00, 4.96196729e-01, 5.62477603e-01, 3.57720441e+00, 0.00000000e+00, -5.9865791222, -0.0840744179, 0.1352821796, 0.0000000000, -0.6214744476, 0.1352821796, -0.0840744179, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405821241, 0.0013833441, 5.0000000000, 3.0000000000, 0.0652064242 - 19, -8.40587662e-02, 1.34565343e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05690390e-02, 1.34565343e-01, -8.40587662e-02, 0.00000000e+00, -6.24668764e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -5.70624907e+04, 5.47909065e+04, 0.00000000e+00, -1.93934035e+00, 4.90839196e-01, 5.66866245e-01, 3.58046231e+00, 0.00000000e+00, -5.9827946986, -0.0840587662, 0.1345653427, 0.0000000000, -0.6246687638, 0.1345653427, -0.0840587662, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405690390, 0.0013833441, 5.0000000000, 3.0000000000, 0.0688011637 - 20, -8.40599279e-02, 1.33827387e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05659465e-02, 1.33827387e-01, -8.40599279e-02, 0.00000000e+00, -6.28122012e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -5.54568031e+04, 5.32507891e+04, 0.00000000e+00, -1.93393903e+00, 4.87576870e-01, 5.72291216e-01, 3.58464479e+00, 0.00000000e+00, -5.9775210613, -0.0840599279, 0.1338273875, 0.0000000000, -0.6281220119, 0.1338273875, -0.0840599279, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405659465, 0.0013833441, 5.0000000000, 3.0000000000, 0.0724085988 - 21, -8.40661040e-02, 1.33052459e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05667834e-02, 1.33052459e-01, -8.40661040e-02, 0.00000000e+00, -6.31826761e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -5.39397037e+04, 5.17939558e+04, 0.00000000e+00, -1.92741841e+00, 4.86542772e-01, 5.78606265e-01, 3.58993541e+00, 0.00000000e+00, -5.9715787509, -0.0840661040, 0.1330524586, 0.0000000000, -0.6318267612, 0.1330524586, -0.0840661040, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405667834, 0.0013833441, 5.0000000000, 3.0000000000, 0.0760117013 - 22, -8.40682731e-02, 1.32233229e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05664895e-02, 1.32233229e-01, -8.40682731e-02, 0.00000000e+00, -6.35757545e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -5.25021322e+04, 5.04115308e+04, 0.00000000e+00, -1.92047731e+00, 4.86232423e-01, 5.85306353e-01, 3.59542749e+00, 0.00000000e+00, -5.9652281388, -0.0840682731, 0.1322332291, 0.0000000000, -0.6357575450, 0.1322332291, -0.0840682731, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405664895, 0.0013833441, 5.0000000000, 3.0000000000, 0.0796344791 - 23, -8.40621405e-02, 1.31368783e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05623874e-02, 1.31368783e-01, -8.40621405e-02, 0.00000000e+00, -6.39894337e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -5.11379454e+04, 4.90977968e+04, 0.00000000e+00, -1.91295119e+00, 4.86910939e-01, 5.92456193e-01, 3.60142262e+00, 0.00000000e+00, -5.9585459350, -0.0840621405, 0.1313687833, 0.0000000000, -0.6398943374, 0.1313687833, -0.0840621405, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405623874, 0.0013833441, 5.0000000000, 3.0000000000, 0.0832351867 - 24, -8.40472979e-02, 1.30460988e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05539645e-02, 1.30460988e-01, -8.40472979e-02, 0.00000000e+00, -6.44233183e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -4.98426004e+04, 4.78487440e+04, 0.00000000e+00, -1.90507685e+00, 4.88602738e-01, 5.99724855e-01, 3.60772843e+00, 0.00000000e+00, -5.9521257724, -0.0840472979, 0.1304609884, 0.0000000000, -0.6442331834, 0.1304609884, -0.0840472979, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405539645, 0.0013833441, 5.0000000000, 3.0000000000, 0.0868896059 - 25, -8.40253556e-02, 1.29512043e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05419783e-02, 1.29512043e-01, -8.40253556e-02, 0.00000000e+00, -6.48784108e-01, 0.00000000e+00, 0.00000000e+00, 1.38334410e-03, -4.86121489e+04, 4.66609107e+04, 0.00000000e+00, -1.89717676e+00, 4.90261006e-01, 6.06930020e-01, 3.61399133e+00, 0.00000000e+00, -5.9455754147, -0.0840253556, 0.1295120434, 0.0000000000, -0.6487841085, 0.1295120434, -0.0840253556, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405419783, 0.0013833441, 5.0000000000, 3.0000000000, 0.0904878667 diff --git a/TestCases/harmonic_balance/hb_rans_preconditioning/history_6 b/TestCases/harmonic_balance/hb_rans_preconditioning/history_6 deleted file mode 100644 index d88b66fc1086..000000000000 --- a/TestCases/harmonic_balance/hb_rans_preconditioning/history_6 +++ /dev/null @@ -1,27 +0,0 @@ -"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","HeatFlux_Total","HeatFlux_Maximum","Temperature_Total","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","Res_Turb[0]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" - 0, -4.84604781e-02, 8.04460151e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.34800711e-02, 8.04460151e-02, -4.84604781e-02, 0.00000000e+00, -6.02397497e-01, 0.00000000e+00, 0.00000000e+00, 1.52880706e-03, -1.74688080e+05, 1.67403473e+05, 0.00000000e+00, -1.47594728e+00, -1.10227050e+00, -1.13876222e+01, 4.03751895e+00, 0.00000000e+00, -5.7582287515, -0.0484604781, 0.0804460151, 0.0000000000, -0.6023974968, 0.0804460151, -0.0484604781, 0.0000000000, 0.0000000000, 0.0000000000, -0.0234800711, 0.0015288071, 4.0000000000, 3.0000000000, 0.0084087971 - 1, -6.84340068e-02, 1.16543178e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.22444267e-02, 1.16543178e-01, -6.84340068e-02, 0.00000000e+00, -5.87198738e-01, 0.00000000e+00, 0.00000000e+00, 1.52880706e-03, -1.57841044e+05, 1.52565902e+05, 0.00000000e+00, -1.70584615e+00, 9.14299666e-01, 9.73766508e-01, 3.80876786e+00, 0.00000000e+00, -5.8991027325, -0.0684340068, 0.1165431775, 0.0000000000, -0.5871987384, 0.1165431775, -0.0684340068, 0.0000000000, 0.0000000000, 0.0000000000, -0.0322444267, 0.0015288071, 5.0000000000, 3.0000000000, 0.0035830720 - 2, -7.62943295e-02, 1.41893130e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.53026907e-02, 1.41893130e-01, -7.62943295e-02, 0.00000000e+00, -5.37688678e-01, 0.00000000e+00, 0.00000000e+00, 1.52880706e-03, -1.39663766e+05, 1.36992858e+05, 0.00000000e+00, -1.71731513e+00, 9.26142928e-01, 8.67963556e-01, 3.80312725e+00, 0.00000000e+00, -5.9836277522, -0.0762943295, 0.1418931301, 0.0000000000, -0.5376886777, 0.1418931301, -0.0762943295, 0.0000000000, 0.0000000000, 0.0000000000, -0.0353026907, 0.0015288071, 4.0000000000, 3.0000000000, 0.0072991122 - 3, -7.61743162e-02, 1.57055112e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.48391137e-02, 1.57055112e-01, -7.61743162e-02, 0.00000000e+00, -4.85016471e-01, 0.00000000e+00, 0.00000000e+00, 1.52880706e-03, -1.22887876e+05, 1.22181765e+05, 0.00000000e+00, -1.71059762e+00, 9.06465488e-01, 7.19524034e-01, 3.81231881e+00, 0.00000000e+00, -6.0043357424, -0.0761743162, 0.1570551120, 0.0000000000, -0.4850164711, 0.1570551120, -0.0761743162, 0.0000000000, 0.0000000000, 0.0000000000, -0.0348391137, 0.0015288071, 4.0000000000, 3.0000000000, 0.0105955804 - 4, -7.20836106e-02, 1.61269220e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.27407371e-02, 1.61269220e-01, -7.20836106e-02, 0.00000000e+00, -4.46976866e-01, 0.00000000e+00, 0.00000000e+00, 1.52880706e-03, -1.09052806e+05, 1.08743577e+05, 0.00000000e+00, -1.75140143e+00, 8.49529135e-01, 6.46514853e-01, 3.77224326e+00, 0.00000000e+00, -5.9849115318, -0.0720836106, 0.1612692200, 0.0000000000, -0.4469768664, 0.1612692200, -0.0720836106, 0.0000000000, 0.0000000000, 0.0000000000, -0.0327407371, 0.0015288071, 5.0000000000, 3.0000000000, 0.0138985556 - 5, -6.70861657e-02, 1.57585030e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.03268558e-02, 1.57585030e-01, -6.70861657e-02, 0.00000000e+00, -4.25714078e-01, 0.00000000e+00, 0.00000000e+00, 1.52880706e-03, -9.86228015e+04, 9.72058822e+04, 0.00000000e+00, -1.81992528e+00, 7.67368522e-01, 6.64970698e-01, 3.70451766e+00, 0.00000000e+00, -5.9677898890, -0.0670861657, 0.1575850300, 0.0000000000, -0.4257140775, 0.1575850300, -0.0670861657, 0.0000000000, 0.0000000000, 0.0000000000, -0.0303268558, 0.0015288071, 5.0000000000, 3.0000000000, 0.0173700088 - 6, -6.29154365e-02, 1.51021082e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.83133496e-02, 1.51021082e-01, -6.29154365e-02, 0.00000000e+00, -4.16600357e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -9.12596517e+04, 8.85942319e+04, 0.00000000e+00, -1.87280780e+00, 6.80696109e-01, 6.78106916e-01, 3.65327436e+00, 0.00000000e+00, -5.9366769878, -0.0629154365, 0.1510210817, 0.0000000000, -0.4166003565, 0.1510210817, -0.0629154365, 0.0000000000, 0.0000000000, 0.0000000000, -0.0283133496, 0.0014442848, 5.0000000000, 3.0000000000, 0.0209595597 - 7, -6.01699612e-02, 1.45061531e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.69483099e-02, 1.45061531e-01, -6.01699612e-02, 0.00000000e+00, -4.14789233e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -8.61786629e+04, 8.29961192e+04, 0.00000000e+00, -1.89597972e+00, 6.15381869e-01, 6.64470059e-01, 3.63031165e+00, 0.00000000e+00, -5.9222425189, -0.0601699612, 0.1450615311, 0.0000000000, -0.4147892331, 0.1450615311, -0.0601699612, 0.0000000000, 0.0000000000, 0.0000000000, -0.0269483099, 0.0014442848, 5.0000000000, 3.0000000000, 0.0246205499 - 8, -5.86727622e-02, 1.41166287e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.61368925e-02, 1.41166287e-01, -5.86727622e-02, 0.00000000e+00, -4.15628712e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -8.25025645e+04, 7.92531734e+04, 0.00000000e+00, -1.90742326e+00, 5.79404843e-01, 6.37673115e-01, 3.61687788e+00, 0.00000000e+00, -5.9323881118, -0.0586727622, 0.1411662874, 0.0000000000, -0.4156287118, 0.1411662874, -0.0586727622, 0.0000000000, 0.0000000000, 0.0000000000, -0.0261368925, 0.0014442848, 5.0000000000, 3.0000000000, 0.0286673639 - 9, -5.81655814e-02, 1.39240237e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.58244252e-02, 1.39240237e-01, -5.81655814e-02, 0.00000000e+00, -4.17735439e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -7.95394054e+04, 7.63571628e+04, 0.00000000e+00, -1.91572641e+00, 5.63232373e-01, 6.11618787e-01, 3.60724536e+00, 0.00000000e+00, -5.9557556316, -0.0581655814, 0.1392402366, 0.0000000000, -0.4177354390, 0.1392402366, -0.0581655814, 0.0000000000, 0.0000000000, 0.0000000000, -0.0258244252, 0.0014442848, 5.0000000000, 3.0000000000, 0.0322731575 - 10, -5.82653797e-02, 1.38593445e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.58365321e-02, 1.38593445e-01, -5.82653797e-02, 0.00000000e+00, -4.20405019e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -7.68657135e+04, 7.37828934e+04, 0.00000000e+00, -1.92280103e+00, 5.59191541e-01, 5.92013172e-01, 3.60010964e+00, 0.00000000e+00, -5.9765127240, -0.0582653797, 0.1385934446, 0.0000000000, -0.4204050187, 0.1385934446, -0.0582653797, 0.0000000000, 0.0000000000, 0.0000000000, -0.0258365321, 0.0014442848, 5.0000000000, 3.0000000000, 0.0358575110 - 11, -5.86259765e-02, 1.38481445e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.60023865e-02, 1.38481445e-01, -5.86259765e-02, 0.00000000e+00, -4.23348965e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -7.42924057e+04, 7.13186920e+04, 0.00000000e+00, -1.93049314e+00, 5.58496729e-01, 5.78253913e-01, 3.59222542e+00, 0.00000000e+00, -5.9886210501, -0.0586259765, 0.1384814452, 0.0000000000, -0.4233489649, 0.1384814452, -0.0586259765, 0.0000000000, 0.0000000000, 0.0000000000, -0.0260023865, 0.0014442848, 5.0000000000, 3.0000000000, 0.0394382544 - 12, -5.89927919e-02, 1.38381429e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.61889142e-02, 1.38381429e-01, -5.89927919e-02, 0.00000000e+00, -4.26305700e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -7.17658164e+04, 6.88994845e+04, 0.00000000e+00, -1.93702754e+00, 5.54649768e-01, 5.68399298e-01, 3.58558332e+00, 0.00000000e+00, -5.9931969800, -0.0589927919, 0.1383814288, 0.0000000000, -0.4263057001, 0.1383814288, -0.0589927919, 0.0000000000, 0.0000000000, 0.0000000000, -0.0261889142, 0.0014442848, 5.0000000000, 3.0000000000, 0.0430579760 - 13, -5.92441178e-02, 1.38061798e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63265144e-02, 1.38061798e-01, -5.92441178e-02, 0.00000000e+00, -4.29113041e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -6.92941256e+04, 6.65300926e+04, 0.00000000e+00, -1.94190416e+00, 5.47192267e-01, 5.61442247e-01, 3.58100611e+00, 0.00000000e+00, -5.9946341421, -0.0592441178, 0.1380617976, 0.0000000000, -0.4291130412, 0.1380617976, -0.0592441178, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263265144, 0.0014442848, 5.0000000000, 3.0000000000, 0.0466664215 - 14, -5.93609152e-02, 1.37512739e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63982194e-02, 1.37512739e-01, -5.93609152e-02, 0.00000000e+00, -4.31675754e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -6.69143622e+04, 6.42455852e+04, 0.00000000e+00, -1.94617817e+00, 5.36504577e-01, 5.57056393e-01, 3.57673116e+00, 0.00000000e+00, -5.9937666494, -0.0593609152, 0.1375127388, 0.0000000000, -0.4316757539, 0.1375127388, -0.0593609152, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263982194, 0.0014442848, 5.0000000000, 3.0000000000, 0.0502643531 - 15, -5.93798966e-02, 1.36823621e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.64175412e-02, 1.36823621e-01, -5.93798966e-02, 0.00000000e+00, -4.33988634e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -6.46620427e+04, 6.20819184e+04, 0.00000000e+00, -1.94892001e+00, 5.24022050e-01, 5.55059664e-01, 3.57377858e+00, 0.00000000e+00, -5.9924338737, -0.0593798966, 0.1368236214, 0.0000000000, -0.4339886340, 0.1368236214, -0.0593798966, 0.0000000000, 0.0000000000, 0.0000000000, -0.0264175412, 0.0014442848, 5.0000000000, 3.0000000000, 0.0538658092 - 16, -5.93515786e-02, 1.36087032e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.64081967e-02, 1.36087032e-01, -5.93515786e-02, 0.00000000e+00, -4.36129569e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -6.25557404e+04, 6.00591907e+04, 0.00000000e+00, -1.94975285e+00, 5.11834518e-01, 5.55093503e-01, 3.57259352e+00, 0.00000000e+00, -5.9918665962, -0.0593515786, 0.1360870319, 0.0000000000, -0.4361295693, 0.1360870319, -0.0593515786, 0.0000000000, 0.0000000000, 0.0000000000, -0.0264081967, 0.0014442848, 5.0000000000, 3.0000000000, 0.0574982888 - 17, -5.93150194e-02, 1.35355459e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63904628e-02, 1.35355459e-01, -5.93150194e-02, 0.00000000e+00, -4.38216676e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -6.05959996e+04, 5.81788485e+04, 0.00000000e+00, -1.94877482e+00, 5.01347283e-01, 5.56902732e-01, 3.57291718e+00, 0.00000000e+00, -5.9906725587, -0.0593150194, 0.1353554590, 0.0000000000, -0.4382166764, 0.1353554590, -0.0593150194, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263904628, 0.0014442848, 5.0000000000, 3.0000000000, 0.0615422680 - 18, -5.92902084e-02, 1.34638861e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63760993e-02, 1.34638861e-01, -5.92902084e-02, 0.00000000e+00, -4.40364750e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -5.87709622e+04, 5.64290727e+04, 0.00000000e+00, -1.94584725e+00, 4.93769928e-01, 5.60165326e-01, 3.57505549e+00, 0.00000000e+00, -5.9882017528, -0.0592902084, 0.1346388611, 0.0000000000, -0.4403647498, 0.1346388611, -0.0592902084, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263760993, 0.0014442848, 5.0000000000, 3.0000000000, 0.0652064242 - 19, -5.92810001e-02, 1.33922156e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63688079e-02, 1.33922156e-01, -5.92810001e-02, 0.00000000e+00, -4.42652671e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -5.70637117e+04, 5.47924804e+04, 0.00000000e+00, -1.94158086e+00, 4.88304105e-01, 5.64555497e-01, 3.57831069e+00, 0.00000000e+00, -5.9844294683, -0.0592810001, 0.1339221560, 0.0000000000, -0.4426526710, 0.1339221560, -0.0592810001, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263688079, 0.0014442848, 5.0000000000, 3.0000000000, 0.0688011637 - 20, -5.92820919e-02, 1.33184172e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63670757e-02, 1.33184172e-01, -5.92820919e-02, 0.00000000e+00, -4.45113643e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -5.54579322e+04, 5.32522534e+04, 0.00000000e+00, -1.93617410e+00, 4.84940119e-01, 5.69980663e-01, 3.58248475e+00, 0.00000000e+00, -5.9791462536, -0.0592820919, 0.1331841719, 0.0000000000, -0.4451136427, 0.1331841719, -0.0592820919, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263670757, 0.0014442848, 5.0000000000, 3.0000000000, 0.0724085988 - 21, -5.92859357e-02, 1.32409157e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63676196e-02, 1.32409157e-01, -5.92859357e-02, 0.00000000e+00, -4.47748002e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -5.39407487e+04, 5.17953204e+04, 0.00000000e+00, -1.92964441e+00, 4.83830265e-01, 5.76294380e-01, 3.58777503e+00, 0.00000000e+00, -5.9732180834, -0.0592859357, 0.1324091575, 0.0000000000, -0.4477480019, 0.1324091575, -0.0592859357, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263676196, 0.0014442848, 5.0000000000, 3.0000000000, 0.0760117013 - 22, -5.92867075e-02, 1.31589866e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63675275e-02, 1.31589866e-01, -5.92867075e-02, 0.00000000e+00, -4.50541591e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -5.25030968e+04, 5.04128011e+04, 0.00000000e+00, -1.92270514e+00, 4.83414706e-01, 5.82986296e-01, 3.59325122e+00, 0.00000000e+00, -5.9668991180, -0.0592867075, 0.1315898657, 0.0000000000, -0.4505415914, 0.1315898657, -0.0592867075, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263675275, 0.0014442848, 5.0000000000, 3.0000000000, 0.0796344791 - 23, -5.92816279e-02, 1.30725417e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63651900e-02, 1.30725417e-01, -5.92816279e-02, 0.00000000e+00, -4.53482035e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -5.11388313e+04, 4.90989759e+04, 0.00000000e+00, -1.91518020e+00, 4.83999791e-01, 5.90127637e-01, 3.59922975e+00, 0.00000000e+00, -5.9602296239, -0.0592816279, 0.1307254165, 0.0000000000, -0.4534820345, 0.1307254165, -0.0592816279, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263651900, 0.0014442848, 5.0000000000, 3.0000000000, 0.0832351867 - 24, -5.92704054e-02, 1.29817705e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63602334e-02, 1.29817705e-01, -5.92704054e-02, 0.00000000e+00, -4.56566423e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -4.98434089e+04, 4.78498298e+04, 0.00000000e+00, -1.90730558e+00, 4.85605622e-01, 5.97385724e-01, 3.60551927e+00, 0.00000000e+00, -5.9538194179, -0.0592704054, 0.1298177054, 0.0000000000, -0.4565664227, 0.1298177054, -0.0592704054, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263602334, 0.0014442848, 5.0000000000, 3.0000000000, 0.0868896059 - 25, -5.92539954e-02, 1.28868924e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.63530055e-02, 1.28868924e-01, -5.92539954e-02, 0.00000000e+00, -4.59800496e-01, 0.00000000e+00, 0.00000000e+00, 1.44428479e-03, -4.86128825e+04, 4.66619154e+04, 0.00000000e+00, -1.89940479e+00, 4.87164305e-01, 6.04578981e-01, 3.61176638e+00, 0.00000000e+00, -5.9472772588, -0.0592539954, 0.1288689244, 0.0000000000, -0.4598004965, 0.1288689244, -0.0592539954, 0.0000000000, 0.0000000000, 0.0000000000, -0.0263530055, 0.0014442848, 5.0000000000, 3.0000000000, 0.0904878667 diff --git a/TestCases/harmonic_balance/history_0 b/TestCases/harmonic_balance/history_0 deleted file mode 100644 index 995436bd765c..000000000000 --- a/TestCases/harmonic_balance/history_0 +++ /dev/null @@ -1,27 +0,0 @@ -"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" - 0, 2.55010453e-03, 2.20152123e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.57334596e-03, 2.20152123e-02, 2.55010453e-03, 0.00000000e+00, 1.15833747e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.29333974e+00, 1.08876962e+00, 1.25321747e+00, 4.22012200e+00, 0.00000000e+00, 0.0025501045, 0.0220152123, 0.0000000000, 0.1158337468, 0.0220152123, 0.0025501045, 0.0000000000, 0.0000000000, 0.0000000000, 0.0015733460, 0.0000000000, 3.0000000000, 1.0000000000, 0.0048389253 - 1, 4.68441419e-03, 4.15219024e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 2.94636876e-03, 4.15219024e-02, 4.68441419e-03, 0.00000000e+00, 1.12817909e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.34704393e+00, 1.03105189e+00, 1.19128650e+00, 4.16813428e+00, 0.00000000e+00, 0.0046844142, 0.0415219024, 0.0000000000, 0.1128179087, 0.0415219024, 0.0046844142, 0.0000000000, 0.0000000000, 0.0000000000, 0.0029463688, 0.0000000000, 3.0000000000, 1.0000000000, 0.0008230055 - 2, 6.42734491e-03, 5.87958620e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.12226832e-03, 5.87958620e-02, 6.42734491e-03, 0.00000000e+00, 1.09316280e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.39530876e+00, 9.80112990e-01, 1.13634726e+00, 4.12117453e+00, 0.00000000e+00, 0.0064273449, 0.0587958620, 0.0000000000, 0.1093162800, 0.0587958620, 0.0064273449, 0.0000000000, 0.0000000000, 0.0000000000, 0.0041222683, 0.0000000000, 3.0000000000, 1.0000000000, 0.0015876091 - 3, 7.81114030e-03, 7.39501907e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 5.10805202e-03, 7.39501907e-02, 7.81114030e-03, 0.00000000e+00, 1.05627047e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.43790111e+00, 9.36475194e-01, 1.08934905e+00, 4.07955771e+00, 0.00000000e+00, 0.0078111403, 0.0739501907, 0.0000000000, 0.1056270474, 0.0739501907, 0.0078111403, 0.0000000000, 0.0000000000, 0.0000000000, 0.0051080520, 0.0000000000, 3.0000000000, 1.0000000000, 0.0023394902 - 4, 8.86838843e-03, 8.71225134e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 5.91647354e-03, 8.71225134e-02, 8.86838843e-03, 0.00000000e+00, 1.01792156e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.47440206e+00, 9.00951923e-01, 1.05118270e+00, 4.04370426e+00, 0.00000000e+00, 0.0088683884, 0.0871225134, 0.0000000000, 0.1017921556, 0.0871225134, 0.0088683884, 0.0000000000, 0.0000000000, 0.0000000000, 0.0059164735, 0.0000000000, 3.0000000000, 1.0000000000, 0.0030930157 - 5, 9.63863174e-03, 9.84366300e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.56449101e-03, 9.84366300e-02, 9.63863174e-03, 0.00000000e+00, 9.79171244e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.50455198e+00, 8.73641257e-01, 1.02209626e+00, 4.01383581e+00, 0.00000000e+00, 0.0096386317, 0.0984366300, 0.0000000000, 0.0979171244, 0.0984366300, 0.0096386317, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065644910, 0.0000000000, 3.0000000000, 1.0000000000, 0.0038502484 - 6, 1.01633263e-02, 1.07995038e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.07087875e-03, 1.07995038e-01, 1.01633263e-02, 0.00000000e+00, 9.41091977e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.52839858e+00, 8.53786099e-01, 1.00145782e+00, 3.98988353e+00, 0.00000000e+00, 0.0101633263, 0.1079950376, 0.0000000000, 0.0941091977, 0.1079950376, 0.0101633263, 0.0000000000, 0.0000000000, 0.0000000000, 0.0070708788, 0.0000000000, 3.0000000000, 1.0000000000, 0.0046148052 - 7, 1.04832064e-02, 1.15889337e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.45422657e-03, 1.15889337e-01, 1.04832064e-02, 0.00000000e+00, 9.04587662e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.54629938e+00, 8.40079488e-01, 9.87918969e-01, 3.97155086e+00, 0.00000000e+00, 0.0104832064, 0.1158893368, 0.0000000000, 0.0904587662, 0.1158893368, 0.0104832064, 0.0000000000, 0.0000000000, 0.0000000000, 0.0074542266, 0.0000000000, 3.0000000000, 1.0000000000, 0.0053764287 - 8, 1.06204411e-02, 1.22208129e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.73108394e-03, 1.22208129e-01, 1.06204411e-02, 0.00000000e+00, 8.69045387e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.55888953e+00, 8.31036227e-01, 9.79773636e-01, 3.95833413e+00, 0.00000000e+00, 0.0106204411, 0.1222081292, 0.0000000000, 0.0869045387, 0.1222081292, 0.0106204411, 0.0000000000, 0.0000000000, 0.0000000000, 0.0077310839, 0.0000000000, 3.0000000000, 1.0000000000, 0.0061353198 - 9, 1.06078418e-02, 1.27046035e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.91829435e-03, 1.27046035e-01, 1.06078418e-02, 0.00000000e+00, 8.34960472e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56702450e+00, 8.25274290e-01, 9.75329934e-01, 3.94952804e+00, 0.00000000e+00, 0.0106078418, 0.1270460355, 0.0000000000, 0.0834960472, 0.1270460355, 0.0106078418, 0.0000000000, 0.0000000000, 0.0000000000, 0.0079182943, 0.0000000000, 3.0000000000, 1.0000000000, 0.0068926548 - 10, 1.04772527e-02, 1.30536207e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 8.02909564e-03, 1.30536207e-01, 1.04772527e-02, 0.00000000e+00, 8.02631923e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57163703e+00, 8.21712779e-01, 9.73169306e-01, 3.94434279e+00, 0.00000000e+00, 0.0104772527, 0.1305362072, 0.0000000000, 0.0802631923, 0.1305362072, 0.0104772527, 0.0000000000, 0.0000000000, 0.0000000000, 0.0080290956, 0.0000000000, 3.0000000000, 1.0000000000, 0.0076515990 - 11, 1.02518449e-02, 1.32794334e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 8.07125209e-03, 1.32794334e-01, 1.02518449e-02, 0.00000000e+00, 7.72009211e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57353838e+00, 8.19558831e-01, 9.72351872e-01, 3.94207264e+00, 0.00000000e+00, 0.0102518449, 0.1327943335, 0.0000000000, 0.0772009211, 0.1327943335, 0.0102518449, 0.0000000000, 0.0000000000, 0.0000000000, 0.0080712521, 0.0000000000, 3.0000000000, 1.0000000000, 0.0084093583 - 12, 9.96306595e-03, 1.33888903e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 8.05397737e-03, 1.33888903e-01, 9.96306595e-03, 0.00000000e+00, 7.44129330e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57343194e+00, 8.18259495e-01, 9.72236794e-01, 3.94210009e+00, 0.00000000e+00, 0.0099630659, 0.1338889028, 0.0000000000, 0.0744129330, 0.1338889028, 0.0099630659, 0.0000000000, 0.0000000000, 0.0000000000, 0.0080539774, 0.0000000000, 3.0000000000, 1.0000000000, 0.0091657008 - 13, 9.63830934e-03, 1.33875258e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.99218090e-03, 1.33875258e-01, 9.63830934e-03, 0.00000000e+00, 7.19947025e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57199373e+00, 8.17419732e-01, 9.72378358e-01, 3.94379927e+00, 0.00000000e+00, 0.0096383093, 0.1338752577, 0.0000000000, 0.0719947025, 0.1338752577, 0.0096383093, 0.0000000000, 0.0000000000, 0.0000000000, 0.0079921809, 0.0000000000, 3.0000000000, 1.0000000000, 0.0099374625 - 14, 9.27397487e-03, 1.32870610e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.89219389e-03, 1.32870610e-01, 9.27397487e-03, 0.00000000e+00, 6.97970368e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57006534e+00, 8.16629487e-01, 9.72425290e-01, 3.94619733e+00, 0.00000000e+00, 0.0092739749, 0.1328706102, 0.0000000000, 0.0697970368, 0.1328706102, 0.0092739749, 0.0000000000, 0.0000000000, 0.0000000000, 0.0078921939, 0.0000000000, 3.0000000000, 1.0000000000, 0.0106964803 - 15, 8.90329304e-03, 1.31004923e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.76372867e-03, 1.31004923e-01, 8.90329304e-03, 0.00000000e+00, 6.79615149e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56830773e+00, 8.15738339e-01, 9.72002114e-01, 3.94846401e+00, 0.00000000e+00, 0.0089032930, 0.1310049232, 0.0000000000, 0.0679615149, 0.1310049232, 0.0089032930, 0.0000000000, 0.0000000000, 0.0000000000, 0.0077637287, 0.0000000000, 3.0000000000, 1.0000000000, 0.0114558066 - 16, 8.54214463e-03, 1.28454692e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.61580473e-03, 1.28454692e-01, 8.54214463e-03, 0.00000000e+00, 6.64992807e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56734309e+00, 8.14455906e-01, 9.70823023e-01, 3.94979025e+00, 0.00000000e+00, 0.0085421446, 0.1284546921, 0.0000000000, 0.0664992807, 0.1284546921, 0.0085421446, 0.0000000000, 0.0000000000, 0.0000000000, 0.0076158047, 0.0000000000, 3.0000000000, 1.0000000000, 0.0122228378 - 17, 8.20432382e-03, 1.25401168e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.45547557e-03, 1.25401168e-01, 8.20432382e-03, 0.00000000e+00, 6.54246207e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56744199e+00, 8.12652438e-01, 9.68757522e-01, 3.94979167e+00, 0.00000000e+00, 0.0082043238, 0.1254011675, 0.0000000000, 0.0654246207, 0.1254011675, 0.0082043238, 0.0000000000, 0.0000000000, 0.0000000000, 0.0074554756, 0.0000000000, 3.0000000000, 1.0000000000, 0.0129892550 - 18, 7.89658142e-03, 1.22021044e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.28879318e-03, 1.22021044e-01, 7.89658142e-03, 0.00000000e+00, 6.47149145e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56863029e+00, 8.10356702e-01, 9.65844114e-01, 3.94843146e+00, 0.00000000e+00, 0.0078965814, 0.1220210438, 0.0000000000, 0.0647149145, 0.1220210438, 0.0078965814, 0.0000000000, 0.0000000000, 0.0000000000, 0.0072887932, 0.0000000000, 3.0000000000, 1.0000000000, 0.0137561726 - 19, 7.62080260e-03, 1.18479400e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 7.12121562e-03, 1.18479400e-01, 7.62080260e-03, 0.00000000e+00, 6.43217521e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57075314e+00, 8.07682970e-01, 9.62211088e-01, 3.94590158e+00, 0.00000000e+00, 0.0076208026, 0.1184794001, 0.0000000000, 0.0643217521, 0.1184794001, 0.0076208026, 0.0000000000, 0.0000000000, 0.0000000000, 0.0071212156, 0.0000000000, 3.0000000000, 1.0000000000, 0.0145343311 - 20, 7.37640494e-03, 1.14917098e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.95721502e-03, 1.14917098e-01, 7.37640494e-03, 0.00000000e+00, 6.41889248e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57361049e+00, 8.04725771e-01, 9.57999429e-01, 3.94244121e+00, 0.00000000e+00, 0.0073764049, 0.1149170977, 0.0000000000, 0.0641889248, 0.1149170977, 0.0073764049, 0.0000000000, 0.0000000000, 0.0000000000, 0.0069572150, 0.0000000000, 3.0000000000, 1.0000000000, 0.0153273165 - 21, 7.16610783e-03, 1.11445917e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.80062911e-03, 1.11445917e-01, 7.16610783e-03, 0.00000000e+00, 6.43012149e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57690091e+00, 8.01652893e-01, 9.53518061e-01, 3.93843769e+00, 0.00000000e+00, 0.0071661078, 0.1114459165, 0.0000000000, 0.0643012149, 0.1114459165, 0.0071661078, 0.0000000000, 0.0000000000, 0.0000000000, 0.0068006291, 0.0000000000, 3.0000000000, 1.0000000000, 0.0161027516 - 22, 6.99084156e-03, 1.08143983e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.65445458e-03, 1.08143983e-01, 6.99084156e-03, 0.00000000e+00, 6.46438326e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.58035176e+00, 7.98573930e-01, 9.49020499e-01, 3.93422520e+00, 0.00000000e+00, 0.0069908416, 0.1081439834, 0.0000000000, 0.0646438326, 0.1081439834, 0.0069908416, 0.0000000000, 0.0000000000, 0.0000000000, 0.0066544546, 0.0000000000, 3.0000000000, 1.0000000000, 0.0168619560 - 23, 6.85295571e-03, 1.05059119e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.52103270e-03, 1.05059119e-01, 6.85295571e-03, 0.00000000e+00, 6.52295179e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.58374126e+00, 7.95583757e-01, 9.44690488e-01, 3.93006045e+00, 0.00000000e+00, 0.0068529557, 0.1050591193, 0.0000000000, 0.0652295179, 0.1050591193, 0.0068529557, 0.0000000000, 0.0000000000, 0.0000000000, 0.0065210327, 0.0000000000, 3.0000000000, 1.0000000000, 0.0176165809 - 24, 6.75540331e-03, 1.02218306e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.40214764e-03, 1.02218306e-01, 6.75540331e-03, 0.00000000e+00, 6.60879991e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.58690821e+00, 7.92756109e-01, 9.40674763e-01, 3.92613251e+00, 0.00000000e+00, 0.0067554033, 0.1022183059, 0.0000000000, 0.0660879991, 0.1022183059, 0.0067554033, 0.0000000000, 0.0000000000, 0.0000000000, 0.0064021476, 0.0000000000, 3.0000000000, 1.0000000000, 0.0183708490 - 25, 6.70214967e-03, 9.96321309e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.29901453e-03, 9.96321309e-02, 6.70214967e-03, 0.00000000e+00, 6.72689584e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.58973887e+00, 7.90169123e-01, 9.37052532e-01, 3.92257894e+00, 0.00000000e+00, 0.0067021497, 0.0996321309, 0.0000000000, 0.0672689584, 0.0996321309, 0.0067021497, 0.0000000000, 0.0000000000, 0.0000000000, 0.0062990145, 0.0000000000, 3.0000000000, 1.0000000000, 0.0191277851 diff --git a/TestCases/harmonic_balance/history_1 b/TestCases/harmonic_balance/history_1 deleted file mode 100644 index 01f90e1c352a..000000000000 --- a/TestCases/harmonic_balance/history_1 +++ /dev/null @@ -1,27 +0,0 @@ -"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" - 0, 1.49244607e-02, 2.22610268e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 6.78717191e-03, 2.22610268e-02, 1.49244607e-02, 0.00000000e+00, 6.70430025e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.28952557e+00, 1.09385807e+00, 1.25668024e+00, 4.22397541e+00, 0.00000000e+00, 0.0149244607, 0.0222610268, 0.0000000000, 0.6704300245, 0.0222610268, 0.0149244607, 0.0000000000, 0.0000000000, 0.0000000000, 0.0067871719, 0.0000000000, 3.0000000000, 1.0000000000, 0.0048389253 - 1, 2.80228575e-02, 4.19811690e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.27915769e-02, 4.19811690e-02, 2.80228575e-02, 0.00000000e+00, 6.67510176e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.34327874e+00, 1.03620741e+00, 1.19472746e+00, 4.17190241e+00, 0.00000000e+00, 0.0280228575, 0.0419811690, 0.0000000000, 0.6675101764, 0.0419811690, 0.0280228575, 0.0000000000, 0.0000000000, 0.0000000000, 0.0127915769, 0.0000000000, 3.0000000000, 1.0000000000, 0.0008230055 - 2, 3.93618282e-02, 5.94392196e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.80088938e-02, 5.94392196e-02, 3.93618282e-02, 0.00000000e+00, 6.62219801e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.39155612e+00, 9.85316777e-01, 1.13982512e+00, 4.12490911e+00, 0.00000000e+00, 0.0393618282, 0.0594392196, 0.0000000000, 0.6622198013, 0.0594392196, 0.0393618282, 0.0000000000, 0.0000000000, 0.0000000000, 0.0180088938, 0.0000000000, 3.0000000000, 1.0000000000, 0.0015876091 - 3, 4.90400755e-02, 7.47487855e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 2.24652949e-02, 7.47487855e-02, 4.90400755e-02, 0.00000000e+00, 6.56065180e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.43410403e+00, 9.41743622e-01, 1.09292842e+00, 4.08333049e+00, 0.00000000e+00, 0.0490400755, 0.0747487855, 0.0000000000, 0.6560651803, 0.0747487855, 0.0490400755, 0.0000000000, 0.0000000000, 0.0000000000, 0.0224652949, 0.0000000000, 3.0000000000, 1.0000000000, 0.0023394902 - 4, 5.71712961e-02, 8.80484035e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 2.62080229e-02, 8.80484035e-02, 5.71712961e-02, 0.00000000e+00, 6.49316669e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.47049860e+00, 9.06312973e-01, 1.05491751e+00, 4.04758794e+00, 0.00000000e+00, 0.0571712961, 0.0880484035, 0.0000000000, 0.6493166690, 0.0880484035, 0.0571712961, 0.0000000000, 0.0000000000, 0.0000000000, 0.0262080229, 0.0000000000, 3.0000000000, 1.0000000000, 0.0030930157 - 5, 6.38953242e-02, 9.94656208e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 2.92983379e-02, 9.94656208e-02, 6.38953242e-02, 0.00000000e+00, 6.42386019e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.50049169e+00, 8.79118278e-01, 1.02601596e+00, 4.01788891e+00, 0.00000000e+00, 0.0638953242, 0.0994656208, 0.0000000000, 0.6423860193, 0.0994656208, 0.0638953242, 0.0000000000, 0.0000000000, 0.0000000000, 0.0292983379, 0.0000000000, 3.0000000000, 1.0000000000, 0.0038502484 - 6, 6.93577853e-02, 1.09104842e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.18044200e-02, 1.09104842e-01, 6.93577853e-02, 0.00000000e+00, 6.35698507e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.52416191e+00, 8.59371980e-01, 1.00555477e+00, 3.99412711e+00, 0.00000000e+00, 0.0693577853, 0.1091048422, 0.0000000000, 0.6356985073, 0.1091048422, 0.0693577853, 0.0000000000, 0.0000000000, 0.0000000000, 0.0318044200, 0.0000000000, 3.0000000000, 1.0000000000, 0.0046148052 - 7, 7.37008248e-02, 1.17062390e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.37945589e-02, 1.17062390e-01, 7.37008248e-02, 0.00000000e+00, 6.29585856e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.54190048e+00, 8.45746822e-01, 9.92155702e-01, 3.97597185e+00, 0.00000000e+00, 0.0737008248, 0.1170623896, 0.0000000000, 0.6295858558, 0.1170623896, 0.0737008248, 0.0000000000, 0.0000000000, 0.0000000000, 0.0337945589, 0.0000000000, 3.0000000000, 1.0000000000, 0.0053764287 - 8, 7.70428585e-02, 1.23429004e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.53317747e-02, 1.23429004e-01, 7.70428585e-02, 0.00000000e+00, 6.24187638e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.55437696e+00, 8.36739668e-01, 9.84091417e-01, 3.96287972e+00, 0.00000000e+00, 0.0770428585, 0.1234290040, 0.0000000000, 0.6241876380, 0.1234290040, 0.0770428585, 0.0000000000, 0.0000000000, 0.0000000000, 0.0353317747, 0.0000000000, 3.0000000000, 1.0000000000, 0.0061353198 - 9, 7.95093634e-02, 1.28300667e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.64776107e-02, 1.28300667e-01, 7.95093634e-02, 0.00000000e+00, 6.19711226e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56246046e+00, 8.30967252e-01, 9.79667566e-01, 3.95413042e+00, 0.00000000e+00, 0.0795093634, 0.1283006666, 0.0000000000, 0.6197112256, 0.1283006666, 0.0795093634, 0.0000000000, 0.0000000000, 0.0000000000, 0.0364776107, 0.0000000000, 3.0000000000, 1.0000000000, 0.0068926548 - 10, 8.12221980e-02, 1.31812188e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.72865474e-02, 1.31812188e-01, 8.12221980e-02, 0.00000000e+00, 6.16196418e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56708369e+00, 8.27354654e-01, 9.77475837e-01, 3.94893387e+00, 0.00000000e+00, 0.0812221980, 0.1318121879, 0.0000000000, 0.6161964177, 0.1318121879, 0.0812221980, 0.0000000000, 0.0000000000, 0.0000000000, 0.0372865474, 0.0000000000, 3.0000000000, 1.0000000000, 0.0076515990 - 11, 8.22787055e-02, 1.34080442e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.77993565e-02, 1.34080442e-01, 8.22787055e-02, 0.00000000e+00, 6.13651807e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56903877e+00, 8.25121925e-01, 9.76598795e-01, 3.94660676e+00, 0.00000000e+00, 0.0822787055, 0.1340804418, 0.0000000000, 0.6136518074, 0.1340804418, 0.0822787055, 0.0000000000, 0.0000000000, 0.0000000000, 0.0377993565, 0.0000000000, 3.0000000000, 1.0000000000, 0.0084093583 - 12, 8.27702288e-02, 1.35174554e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.80545049e-02, 1.35174554e-01, 8.27702288e-02, 0.00000000e+00, 6.12321080e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56901322e+00, 8.23742302e-01, 9.76404562e-01, 3.94654878e+00, 0.00000000e+00, 0.0827702288, 0.1351745537, 0.0000000000, 0.6123210805, 0.1351745537, 0.0827702288, 0.0000000000, 0.0000000000, 0.0000000000, 0.0380545049, 0.0000000000, 3.0000000000, 1.0000000000, 0.0091657008 - 13, 8.27861447e-02, 1.35153727e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.80937926e-02, 1.35153727e-01, 8.27861447e-02, 0.00000000e+00, 6.12533197e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56769026e+00, 8.22811692e-01, 9.76445711e-01, 3.94811874e+00, 0.00000000e+00, 0.0827861447, 0.1351537274, 0.0000000000, 0.6125331969, 0.1351537274, 0.0827861447, 0.0000000000, 0.0000000000, 0.0000000000, 0.0380937926, 0.0000000000, 3.0000000000, 1.0000000000, 0.0099374625 - 14, 8.23781486e-02, 1.34134034e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.79504369e-02, 1.34134034e-01, 8.23781486e-02, 0.00000000e+00, 6.14148000e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56586676e+00, 8.21937735e-01, 9.76395760e-01, 3.95040220e+00, 0.00000000e+00, 0.0823781486, 0.1341340338, 0.0000000000, 0.6141479999, 0.1341340338, 0.0823781486, 0.0000000000, 0.0000000000, 0.0000000000, 0.0379504369, 0.0000000000, 3.0000000000, 1.0000000000, 0.0106964803 - 15, 8.16407972e-02, 1.32249091e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.76599319e-02, 1.32249091e-01, 8.16407972e-02, 0.00000000e+00, 6.17325961e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56422381e+00, 8.20953949e-01, 9.75865152e-01, 3.95253979e+00, 0.00000000e+00, 0.0816407972, 0.1322490912, 0.0000000000, 0.6173259605, 0.1322490912, 0.0816407972, 0.0000000000, 0.0000000000, 0.0000000000, 0.0376599319, 0.0000000000, 3.0000000000, 1.0000000000, 0.0114558066 - 16, 8.06513328e-02, 1.29677491e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.72556413e-02, 1.29677491e-01, 8.06513328e-02, 0.00000000e+00, 6.21937795e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56335841e+00, 8.19578199e-01, 9.74591467e-01, 3.95375567e+00, 0.00000000e+00, 0.0806513328, 0.1296774909, 0.0000000000, 0.6219377953, 0.1296774909, 0.0806513328, 0.0000000000, 0.0000000000, 0.0000000000, 0.0372556413, 0.0000000000, 3.0000000000, 1.0000000000, 0.0122228378 - 17, 7.94813398e-02, 1.26601448e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.67669284e-02, 1.26601448e-01, 7.94813398e-02, 0.00000000e+00, 6.27807508e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56353040e+00, 8.17696253e-01, 9.72454030e-01, 3.95368030e+00, 0.00000000e+00, 0.0794813398, 0.1266014483, 0.0000000000, 0.6278075084, 0.1266014483, 0.0794813398, 0.0000000000, 0.0000000000, 0.0000000000, 0.0367669284, 0.0000000000, 3.0000000000, 1.0000000000, 0.0129892550 - 18, 7.81921264e-02, 1.23199041e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.62200154e-02, 1.23199041e-01, 7.81921264e-02, 0.00000000e+00, 6.34681289e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56476291e+00, 8.15342993e-01, 9.69500047e-01, 3.95228153e+00, 0.00000000e+00, 0.0781921264, 0.1231990414, 0.0000000000, 0.6346812889, 0.1231990414, 0.0781921264, 0.0000000000, 0.0000000000, 0.0000000000, 0.0362200154, 0.0000000000, 3.0000000000, 1.0000000000, 0.0137561726 - 19, 7.68356930e-02, 1.19635757e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.56381501e-02, 1.19635757e-01, 7.68356930e-02, 0.00000000e+00, 6.42246893e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56690795e+00, 8.12634855e-01, 9.65851288e-01, 3.94974030e+00, 0.00000000e+00, 0.0768356930, 0.1196357566, 0.0000000000, 0.6422468934, 0.1196357566, 0.0768356930, 0.0000000000, 0.0000000000, 0.0000000000, 0.0356381501, 0.0000000000, 3.0000000000, 1.0000000000, 0.0145343311 - 20, 7.54555446e-02, 1.16053063e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.50411384e-02, 1.16053063e-01, 7.54555446e-02, 0.00000000e+00, 6.50181413e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56976749e+00, 8.09666317e-01, 9.61648161e-01, 3.94629134e+00, 0.00000000e+00, 0.0754555446, 0.1160530632, 0.0000000000, 0.6501814129, 0.1160530632, 0.0754555446, 0.0000000000, 0.0000000000, 0.0000000000, 0.0350411384, 0.0000000000, 3.0000000000, 1.0000000000, 0.0153273165 - 21, 7.40912626e-02, 1.12562836e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.44458462e-02, 1.12562836e-01, 7.40912626e-02, 0.00000000e+00, 6.58221356e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57305280e+00, 8.06601390e-01, 9.57186633e-01, 3.94230535e+00, 0.00000000e+00, 0.0740912626, 0.1125628360, 0.0000000000, 0.6582213564, 0.1125628360, 0.0740912626, 0.0000000000, 0.0000000000, 0.0000000000, 0.0344458462, 0.0000000000, 3.0000000000, 1.0000000000, 0.0161027516 - 22, 7.27745612e-02, 1.09243020e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.38661933e-02, 1.09243020e-01, 7.27745612e-02, 0.00000000e+00, 6.66171269e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57649289e+00, 8.03546301e-01, 9.52716144e-01, 3.93811513e+00, 0.00000000e+00, 0.0727745612, 0.1092430200, 0.0000000000, 0.6661712687, 0.1092430200, 0.0727745612, 0.0000000000, 0.0000000000, 0.0000000000, 0.0338661933, 0.0000000000, 3.0000000000, 1.0000000000, 0.0168619560 - 23, 7.15342304e-02, 1.06141229e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.33135296e-02, 1.06141229e-01, 7.15342304e-02, 0.00000000e+00, 6.73953288e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57986908e+00, 8.00584459e-01, 9.48421303e-01, 3.93397464e+00, 0.00000000e+00, 0.0715342304, 0.1061412292, 0.0000000000, 0.6739532878, 0.1061412292, 0.0715342304, 0.0000000000, 0.0000000000, 0.0000000000, 0.0333135296, 0.0000000000, 3.0000000000, 1.0000000000, 0.0176165809 - 24, 7.03930642e-02, 1.03284903e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.27968436e-02, 1.03284903e-01, 7.03930642e-02, 0.00000000e+00, 6.81542627e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.58302147e+00, 7.97788534e-01, 9.44442892e-01, 3.93007212e+00, 0.00000000e+00, 0.0703930642, 0.1032849031, 0.0000000000, 0.6815426272, 0.1032849031, 0.0703930642, 0.0000000000, 0.0000000000, 0.0000000000, 0.0327968436, 0.0000000000, 3.0000000000, 1.0000000000, 0.0183708490 - 25, 6.93698557e-02, 1.00685300e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 3.23229695e-02, 1.00685300e-01, 6.93698557e-02, 0.00000000e+00, 6.88976995e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.58583686e+00, 7.95235168e-01, 9.40858043e-01, 3.92654577e+00, 0.00000000e+00, 0.0693698557, 0.1006853004, 0.0000000000, 0.6889769949, 0.1006853004, 0.0693698557, 0.0000000000, 0.0000000000, 0.0000000000, 0.0323229695, 0.0000000000, 3.0000000000, 1.0000000000, 0.0191277851 diff --git a/TestCases/harmonic_balance/history_2 b/TestCases/harmonic_balance/history_2 deleted file mode 100644 index 2891669b513f..000000000000 --- a/TestCases/harmonic_balance/history_2 +++ /dev/null @@ -1,27 +0,0 @@ -"Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","AoA","Custom_ObjFunc","Buffet_Metric","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" - 0, -1.49899789e-02, 2.22244804e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -7.88365341e-03, 2.22244804e-02, -1.49899789e-02, 0.00000000e+00, -6.74480510e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.28844652e+00, 1.09582664e+00, 1.25716653e+00, 4.22499396e+00, 0.00000000e+00, -0.0149899789, 0.0222244804, 0.0000000000, -0.6744805104, 0.0222244804, -0.0149899789, 0.0000000000, 0.0000000000, 0.0000000000, -0.0078836534, 0.0000000000, 3.0000000000, 1.0000000000, 0.0048389253 - 1, -2.83387264e-02, 4.19205465e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.48767832e-02, 4.19205465e-02, -2.83387264e-02, 0.00000000e+00, -6.76010423e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.34215026e+00, 1.03823171e+00, 1.19539464e+00, 4.17293175e+00, 0.00000000e+00, -0.0283387264, 0.0419205465, 0.0000000000, -0.6760104235, 0.0419205465, -0.0283387264, 0.0000000000, 0.0000000000, 0.0000000000, -0.0148767832, 0.0000000000, 3.0000000000, 1.0000000000, 0.0008230055 - 2, -4.00652210e-02, 5.93629267e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.09658313e-02, 5.93629267e-02, -4.00652210e-02, 0.00000000e+00, -6.74919908e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.39052597e+00, 9.87199319e-01, 1.14050502e+00, 4.12580863e+00, 0.00000000e+00, -0.0400652210, 0.0593629267, 0.0000000000, -0.6749199082, 0.0593629267, -0.0400652210, 0.0000000000, 0.0000000000, 0.0000000000, -0.0209658313, 0.0000000000, 3.0000000000, 1.0000000000, 0.0015876091 - 3, -5.02204530e-02, 7.46647834e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -2.61732307e-02, 7.46647834e-02, -5.02204530e-02, 0.00000000e+00, -6.72612317e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.43328924e+00, 9.43337920e-01, 1.09345166e+00, 4.08399280e+00, 0.00000000e+00, -0.0502204530, 0.0746647834, 0.0000000000, -0.6726123170, 0.0746647834, -0.0502204530, 0.0000000000, 0.0000000000, 0.0000000000, -0.0261732307, 0.0000000000, 3.0000000000, 1.0000000000, 0.0023394902 - 4, -5.88961520e-02, 8.79659123e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.05512271e-02, 8.79659123e-02, -5.88961520e-02, 0.00000000e+00, -6.69533805e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.46997293e+00, 9.07534081e-01, 1.05515251e+00, 4.04795031e+00, 0.00000000e+00, -0.0588961520, 0.0879659123, 0.0000000000, -0.6695338055, 0.0879659123, -0.0588961520, 0.0000000000, 0.0000000000, 0.0000000000, -0.0305512271, 0.0000000000, 3.0000000000, 1.0000000000, 0.0030930157 - 5, -6.62108189e-02, 9.93900352e-02, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.41712855e-02, 9.93900352e-02, -6.62108189e-02, 0.00000000e+00, -6.66171601e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.50028480e+00, 8.79944747e-01, 1.02589376e+00, 4.01792808e+00, 0.00000000e+00, -0.0662108189, 0.0993900352, 0.0000000000, -0.6661716011, 0.0993900352, -0.0662108189, 0.0000000000, 0.0000000000, 0.0000000000, -0.0341712855, 0.0000000000, 3.0000000000, 1.0000000000, 0.0038502484 - 6, -7.22915087e-02, 1.09040847e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.71138140e-02, 1.09040847e-01, -7.22915087e-02, 0.00000000e+00, -6.62976406e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.52425342e+00, 8.59860567e-01, 1.00508547e+00, 3.99387103e+00, 0.00000000e+00, -0.0722915087, 0.1090408467, 0.0000000000, -0.6629764060, 0.1090408467, -0.0722915087, 0.0000000000, 0.0000000000, 0.0000000000, -0.0371138140, 0.0000000000, 3.0000000000, 1.0000000000, 0.0046148052 - 7, -7.72653406e-02, 1.17012431e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.94596079e-02, 1.17012431e-01, -7.72653406e-02, 0.00000000e+00, -6.60317369e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.54223282e+00, 8.45988443e-01, 9.91408962e-01, 3.97547960e+00, 0.00000000e+00, -0.0772653406, 0.1170124311, 0.0000000000, -0.6603173687, 0.1170124311, -0.0772653406, 0.0000000000, 0.0000000000, 0.0000000000, -0.0394596079, 0.0000000000, 3.0000000000, 1.0000000000, 0.0053764287 - 8, -8.12667068e-02, 1.23394010e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.12852389e-02, 1.23394010e-01, -8.12667068e-02, 0.00000000e+00, -6.58595231e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.55486482e+00, 8.36840590e-01, 9.83172326e-01, 3.96223946e+00, 0.00000000e+00, -0.0812667068, 0.1233940103, 0.0000000000, -0.6585952311, 0.1233940103, -0.0812667068, 0.0000000000, 0.0000000000, 0.0000000000, -0.0412852389, 0.0000000000, 3.0000000000, 1.0000000000, 0.0061353198 - 9, -8.44118509e-02, 1.28282154e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.26620872e-02, 1.28282154e-01, -8.44118509e-02, 0.00000000e+00, -6.58017097e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56301591e+00, 8.31020744e-01, 9.78684110e-01, 3.95343261e+00, 0.00000000e+00, -0.0844118509, 0.1282821544, 0.0000000000, -0.6580170972, 0.1282821544, -0.0844118509, 0.0000000000, 0.0000000000, 0.0000000000, -0.0426620872, 0.0000000000, 3.0000000000, 1.0000000000, 0.0068926548 - 10, -8.68084013e-02, 1.31812436e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.36572352e-02, 1.31812436e-01, -8.68084013e-02, 0.00000000e+00, -6.58575200e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56762956e+00, 8.27432696e-01, 9.76516426e-01, 3.94825769e+00, 0.00000000e+00, -0.0868084013, 0.1318124358, 0.0000000000, -0.6585751997, 0.1318124358, -0.0868084013, 0.0000000000, 0.0000000000, 0.0000000000, -0.0436572352, 0.0000000000, 3.0000000000, 1.0000000000, 0.0076515990 - 11, -8.85474495e-02, 1.34101451e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.43269063e-02, 1.34101451e-01, -8.85474495e-02, 0.00000000e+00, -6.60301948e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56952997e+00, 8.25271739e-01, 9.75711934e-01, 3.94599409e+00, 0.00000000e+00, -0.0885474495, 0.1341014512, 0.0000000000, -0.6603019485, 0.1341014512, -0.0885474495, 0.0000000000, 0.0000000000, 0.0000000000, -0.0443269063, 0.0000000000, 3.0000000000, 1.0000000000, 0.0084093583 - 12, -8.96946402e-02, 1.35220097e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.47183186e-02, 1.35220097e-01, -8.96946402e-02, 0.00000000e+00, -6.63323296e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56943625e+00, 8.23963973e-01, 9.75614649e-01, 3.94600629e+00, 0.00000000e+00, -0.0896946402, 0.1352200967, 0.0000000000, -0.6633232955, 0.1352200967, -0.0896946402, 0.0000000000, 0.0000000000, 0.0000000000, -0.0447183186, 0.0000000000, 3.0000000000, 1.0000000000, 0.0091657008 - 13, -9.03148916e-02, 1.35222129e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.48676042e-02, 1.35222129e-01, -9.03148916e-02, 0.00000000e+00, -6.67900234e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56800002e+00, 8.23126447e-01, 9.75793027e-01, 3.94770175e+00, 0.00000000e+00, -0.0903148916, 0.1352221290, 0.0000000000, -0.6679002337, 0.1352221290, -0.0903148916, 0.0000000000, 0.0000000000, 0.0000000000, -0.0448676042, 0.0000000000, 3.0000000000, 1.0000000000, 0.0099374625 - 14, -9.04949692e-02, 1.34227304e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.48171807e-02, 1.34227304e-01, -9.04949692e-02, 0.00000000e+00, -6.74191960e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56609006e+00, 8.22329257e-01, 9.75870444e-01, 3.95007410e+00, 0.00000000e+00, -0.0904949692, 0.1342273039, 0.0000000000, -0.6741919604, 0.1342273039, -0.0904949692, 0.0000000000, 0.0000000000, 0.0000000000, -0.0448171807, 0.0000000000, 3.0000000000, 1.0000000000, 0.0106964803 - 15, -9.02877418e-02, 1.32364684e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.46041439e-02, 1.32364684e-01, -9.02877418e-02, 0.00000000e+00, -6.82113531e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56434217e+00, 8.21430316e-01, 9.75485739e-01, 3.95232871e+00, 0.00000000e+00, -0.0902877418, 0.1323646837, 0.0000000000, -0.6821135313, 0.1323646837, -0.0902877418, 0.0000000000, 0.0000000000, 0.0000000000, -0.0446041439, 0.0000000000, 3.0000000000, 1.0000000000, 0.0114558066 - 16, -8.97601690e-02, 1.29811275e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.42626326e-02, 1.29811275e-01, -8.97601690e-02, 0.00000000e+00, -6.91466662e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56338549e+00, 8.20142223e-01, 9.74342765e-01, 3.95364804e+00, 0.00000000e+00, -0.0897601690, 0.1298112750, 0.0000000000, -0.6914666616, 0.1298112750, -0.0897601690, 0.0000000000, 0.0000000000, 0.0000000000, -0.0442626326, 0.0000000000, 3.0000000000, 1.0000000000, 0.0122228378 - 17, -8.89748436e-02, 1.26749407e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.38248034e-02, 1.26749407e-01, -8.89748436e-02, 0.00000000e+00, -7.01974438e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56349471e+00, 8.18328285e-01, 9.72304833e-01, 3.95364249e+00, 0.00000000e+00, -0.0889748436, 0.1267494068, 0.0000000000, -0.7019744384, 0.1267494068, -0.0889748436, 0.0000000000, 0.0000000000, 0.0000000000, -0.0438248034, 0.0000000000, 3.0000000000, 1.0000000000, 0.0129892550 - 18, -8.79944588e-02, 1.23356596e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.33191061e-02, 1.23356596e-01, -8.79944588e-02, 0.00000000e+00, -7.13334037e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56469660e+00, 8.16014518e-01, 9.69407593e-01, 3.95227261e+00, 0.00000000e+00, -0.0879944588, 0.1233565963, 0.0000000000, -0.7133340367, 0.1233565963, -0.0879944588, 0.0000000000, 0.0000000000, 0.0000000000, -0.0433191061, 0.0000000000, 3.0000000000, 1.0000000000, 0.0137561726 - 19, -8.68796385e-02, 1.19799320e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.27700705e-02, 1.19799320e-01, -8.68796385e-02, 0.00000000e+00, -7.25209779e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56683595e+00, 8.13312864e-01, 9.65782754e-01, 3.94973216e+00, 0.00000000e+00, -0.0868796385, 0.1197993201, 0.0000000000, -0.7252097795, 0.1197993201, -0.0868796385, 0.0000000000, 0.0000000000, 0.0000000000, -0.0427700705, 0.0000000000, 3.0000000000, 1.0000000000, 0.0145343311 - 20, -8.56838032e-02, 1.16219289e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.21984523e-02, 1.16219289e-01, -8.56838032e-02, 0.00000000e+00, -7.37259743e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.56970952e+00, 8.10320512e-01, 9.61577645e-01, 3.94626505e+00, 0.00000000e+00, -0.0856838032, 0.1162192890, 0.0000000000, -0.7372597432, 0.1162192890, -0.0856838032, 0.0000000000, 0.0000000000, 0.0000000000, -0.0421984523, 0.0000000000, 3.0000000000, 1.0000000000, 0.0153273165 - 21, -8.44486666e-02, 1.12728922e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.16213484e-02, 1.12728922e-01, -8.44486666e-02, 0.00000000e+00, -7.49130435e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57301464e+00, 8.07205934e-01, 9.57103605e-01, 3.94226036e+00, 0.00000000e+00, -0.0844486666, 0.1127289223, 0.0000000000, -0.7491304352, 0.1127289223, -0.0844486666, 0.0000000000, 0.0000000000, 0.0000000000, -0.0416213484, 0.0000000000, 3.0000000000, 1.0000000000, 0.0161027516 - 22, -8.32095277e-02, 1.09407370e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.10528243e-02, 1.09407370e-01, -8.32095277e-02, 0.00000000e+00, -7.60547738e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57647938e+00, 8.04083345e-01, 9.52615666e-01, 3.93804996e+00, 0.00000000e+00, -0.0832095277, 0.1094073699, 0.0000000000, -0.7605477378, 0.1094073699, -0.0832095277, 0.0000000000, 0.0000000000, 0.0000000000, -0.0410528243, 0.0000000000, 3.0000000000, 1.0000000000, 0.0168619560 - 23, -8.19940819e-02, 1.06303483e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -4.05041797e-02, 1.06303483e-01, -8.19940819e-02, 0.00000000e+00, -7.71320746e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.57988479e+00, 8.01054316e-01, 9.48292699e-01, 3.93388593e+00, 0.00000000e+00, -0.0819940819, 0.1063034831, 0.0000000000, -0.7713207460, 0.1063034831, -0.0819940819, 0.0000000000, 0.0000000000, 0.0000000000, -0.0405041797, 0.0000000000, 3.0000000000, 1.0000000000, 0.0176165809 - 24, -8.08218715e-02, 1.03444479e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.99841255e-02, 1.03444479e-01, -8.08218715e-02, 0.00000000e+00, -7.81306769e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.58306672e+00, 7.98195580e-01, 9.44287804e-01, 3.92996106e+00, 0.00000000e+00, -0.0808218715, 0.1034444789, 0.0000000000, -0.7813067689, 0.1034444789, -0.0808218715, 0.0000000000, 0.0000000000, 0.0000000000, -0.0399841255, 0.0000000000, 3.0000000000, 1.0000000000, 0.0183708490 - 25, -7.97053872e-02, 1.00840859e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -3.94992104e-02, 1.00840859e-01, -7.97053872e-02, 0.00000000e+00, -7.90407658e-01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, -1.58591375e+00, 7.95586056e-01, 9.40677083e-01, 3.92640792e+00, 0.00000000e+00, -0.0797053872, 0.1008408590, 0.0000000000, -0.7904076577, 0.1008408590, -0.0797053872, 0.0000000000, 0.0000000000, 0.0000000000, -0.0394992104, 0.0000000000, 3.0000000000, 1.0000000000, 0.0191277851 diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/BC_HeatTransfer.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/BC_HeatTransfer.cfg deleted file mode 100644 index c1baf59bffc8..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/BC_HeatTransfer.cfg +++ /dev/null @@ -1,123 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SU2 configuration file % -% Case description: Heat Transfer BC Testcase with 2D-pin-setup % -% Author: T. Kattmann % -% Institution: Robert Bosch GmbH % -% Date: 2020.12.15 % -% File Version 7.3.1 "Blackbird" % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -SOLVER= INC_NAVIER_STOKES -% -KIND_TURB_MODEL= NONE -% -OBJECTIVE_FUNCTION= AVG_TEMPERATURE -OBJECTIVE_WEIGHT= 0.0 -% -OPT_OBJECTIVE= NONE -% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% -% -INC_DENSITY_MODEL= CONSTANT -INC_DENSITY_INIT= 1045.0 -INC_VELOCITY_INIT= ( 0.1, 0.0, 0.0 ) -% -INC_ENERGY_EQUATION = YES -INC_TEMPERATURE_INIT= 338.0 -INC_NONDIM= INITIAL_VALUES -SPECIFIC_HEAT_CP= 3540.0 -% -FREESTREAM_TURBULENCEINTENSITY= 0.05 -FREESTREAM_TURB2LAMVISCRATIO= 10.0 -% -% --------------------------- VISCOSITY MODEL ---------------------------------% -% -VISCOSITY_MODEL= CONSTANT_VISCOSITY -MU_CONSTANT= 0.001385 -% -% --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% -% -% Pr_lam = mu_lam [Pa*s] * c_p [J/(kg*K)] / lambda[W/(m*K)] -% = 1.385e-3 * 3540 / 0.42 -% = 11.7 -CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -PRANDTL_LAM= 11.7 -% -TURBULENT_CONDUCTIVITY_MODEL= CONSTANT_PRANDTL_TURB -PRANDTL_TURB= 0.90 -% -% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% -% -MARKER_SYM= ( fluid_symmetry ) -% -% Note that a heat-transfer coefficient of zero will result in an adiabatic wall, -% equivalent to MARKER_HEATFLUX= ( fluid_pin1_interface, 0.0, ... ). -% In the other extreme of a high heat-transfer coefficient value (like shown below), -% the boundary will degenerate to a MARKER_ISOTHERMAL= (fluid_pin1_interface, 400, ... ). -% With 400 above being the reservoir Temperature (or called Temperature at infinity). -MARKER_HEATTRANSFER= ( fluid_pin1_interface, 100000000.0, 400, \ - fluid_pin2_interface, 100000000.0, 400, \ - fluid_pin3_interface, 100000000.0, 400 ) -% -% Alternative options for non-periodic flow -INC_INLET_TYPE= VELOCITY_INLET -MARKER_INLET= ( fluid_inlet, 338.0, 0.3, 1.0, 0.0, 0.0 ) -% -INC_OUTLET_TYPE= PRESSURE_OUTLET -MARKER_OUTLET= ( fluid_outlet, 0.0 ) -% -% ------------------------ SURFACES IDENTIFICATION ----------------------------% -% -MARKER_MONITORING= ( fluid_pin2_interface ) -% -MARKER_ANALYZE = ( fluid_pin2_interface ) -MARKER_ANALYZE_AVERAGE = AREA -% -% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% -% -ITER= 1000 -NUM_METHOD_GRAD= GREEN_GAUSS -CFL_NUMBER= 1e3 -% -% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% -% -LINEAR_SOLVER= FGMRES -LINEAR_SOLVER_PREC= ILU -LINEAR_SOLVER_ERROR= 1e-15 -LINEAR_SOLVER_ITER= 10 -% -% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% -% -CONV_NUM_METHOD_FLOW= FDS -MUSCL_FLOW= YES -SLOPE_LIMITER_FLOW= NONE -TIME_DISCRE_FLOW= EULER_IMPLICIT -% -% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% -% -CONV_NUM_METHOD_TURB= SCALAR_UPWIND -MUSCL_TURB= NO -SLOPE_LIMITER_TURB= NONE -TIME_DISCRE_TURB= EULER_IMPLICIT -% -% --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -CONV_RESIDUAL_MINVAL= -26 -CONV_STARTITER= 100000000 -% -% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% -MESH_FILENAME= fluid.su2 -% -% SURFACE_STATIC_TEMPERATURE had to be removed from SCREEN_OUTPUT for the regression tests -SCREEN_OUTPUT= ( INNER_ITER, RMS_PRESSURE, RMS_VELOCITY-X, RMS_VELOCITY-Y, RMS_TEMPERATURE, TOTAL_HEATFLUX) -SCREEN_WRT_FREQ_INNER= 1 -% -HISTORY_OUTPUT= ( ITER, RMS_RES, STREAMWISE_PERIODIC, FLOW_COEFF, LINSOL, HEAT ) -% -OUTPUT_FILES=(PARAVIEW_MULTIBLOCK) -OUTPUT_WRT_FREQ= 100000 -VOLUME_OUTPUT= (SOLUTION, PRIMITIVE, RESIDUAL) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DA_configMaster.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DA_configMaster.cfg deleted file mode 100644 index 2b7f818c6b55..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DA_configMaster.cfg +++ /dev/null @@ -1,113 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SU2 configuration file % -% Case description: 2D cylinder array with CHT couplings % -% Author: T. Kattmann % -% Institution: Robert Bosch GmbH % -% Date: 2020.12.15 % -% File Version 7.3.1 "Blackbird" % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -SOLVER= MULTIPHYSICS -% -CONFIG_LIST= (configFluid.cfg, configSolid.cfg) -% -MARKER_ZONE_INTERFACE= ( fluid_pin1_interface, solid_pin1_interface, fluid_pin2_interface, solid_pin2_interface, fluid_pin3_interface, solid_pin3_interface ) -% -MARKER_CHT_INTERFACE= ( fluid_pin1_interface, solid_pin1_interface, fluid_pin2_interface, solid_pin2_interface, fluid_pin3_interface, solid_pin3_interface ) -% -CONV_RESIDUAL_MINVAL= -26 -% -% Number of total iterations -OUTER_ITER= 3000 -% -%CHT_ROBIN= NO -% -SCREEN_OUTPUT= (OUTER_ITER, BGS_ADJ_PRESSURE[0], BGS_ADJ_TEMPERATURE[0], BGS_ADJ_TEMPERATURE[1]) -SCREEN_WRT_FREQ_OUTER= 100 -% -HISTORY_OUTPUT= ( ITER, BGS_RES[0], BGS_RES[1], RMS_RES[0], RMS_RES[1] ) -% -OUTPUT_FILES= ( RESTART, PARAVIEW_MULTIBLOCK ) -OUTPUT_WRT_FREQ= 1000 -% -MESH_FILENAME= 2D-PinArray_FFD.su2 -MESH_FORMAT= SU2 -% -SOLUTION_ADJ_FILENAME= restart_adj -% -% -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% -% -FFD_TOLERANCE= 1E-10 -FFD_ITERATIONS= 500 -% -% FFD box definition: 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) -FFD_DEFINITION= (BOX, 0.0029772,0.0,0.0, 0.0081772,0.0,0.0 0.0081772,0.0026,0.0, 0.0029772,0.0026,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0 0.0,0.0,0.0, 0.0,0.0,0.0 ) -% -% FFD box degree: 2D case (x_degree, y_degree, 0) -FFD_DEGREE= (8, 1, 0) -% -% Surface grid continuity at the intersection with the faces of the FFD boxes. -% To keep a particular level of surface continuity, SU2 automatically freezes the right -% number of control point planes (NO_DERIVATIVE, 1ST_DERIVATIVE, 2ND_DERIVATIVE, USER_INPUT) -FFD_CONTINUITY= NO_DERIVATIVE -% -% ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% -% -%DV_KIND= FFD_SETTING -DV_KIND= FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D -% -% Marker of the surface in which we are going apply the shape deformation -MARKER_SYM= ( fluid_symmetry ) -DV_MARKER= ( fluid_pin2_interface, solid_pin2_interface, fluid_symmetry ) -% -% Parameters of the shape deformation -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -%DV_PARAM= ( 1.0 ) -DV_PARAM= \ -( BOX, 0, 1, 0.0, 1.0);\ -( BOX, 1, 1, 0.0, 1.0);\ -( BOX, 2, 1, 0.0, 1.0);\ -( BOX, 3, 1, 0.0, 1.0);\ -( BOX, 4, 1, 0.0, 1.0);\ -( BOX, 5, 1, 0.0, 1.0);\ -( BOX, 6, 1, 0.0, 1.0);\ -( BOX, 7, 1, 0.0, 1.0);\ -( BOX, 8, 1, 0.0, 1.0) -% -% Value of the shape deformation -%DV_VALUE= 1.0 -DV_VALUE= 1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 -% -% ------------------------ GRID DEFORMATION PARAMETERS ------------------------% -% -DEFORM_LINEAR_SOLVER= FGMRES -DEFORM_LINEAR_SOLVER_PREC= ILU -DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -DEFORM_NONLINEAR_ITER= 1 -DEFORM_LINEAR_SOLVER_ITER= 1000 -% -DEFORM_CONSOLE_OUTPUT= YES -DEFORM_STIFFNESS_TYPE= WALL_DISTANCE -% -% Deformation coefficient (linear elasticity limits from -1.0 to 0.5, a larger -% value is also possible) -% !!! What is this doing !!! -DEFORM_COEFF = 1E6 -% -DEFINITION_DV= \ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 0, 1, 0.0, 1.0 );\ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 1, 1, 0.0, 1.0 );\ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 2, 1, 0.0, 1.0 );\ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 3, 1, 0.0, 1.0 );\ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 4, 1, 0.0, 1.0 );\ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 5, 1, 0.0, 1.0 );\ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 6, 1, 0.0, 1.0 );\ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 7, 1, 0.0, 1.0 );\ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 8, 1, 0.0, 1.0 ) - -%DEFORM_MESH= YES diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DIRECT/configFluid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DIRECT/configFluid.cfg deleted file mode 100644 index 2ea0a0b9ba86..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DIRECT/configFluid.cfg +++ /dev/null @@ -1,127 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SU2 configuration file % -% Case description: Unit Cell flow around pin array (fluid) % -% Author: T. Kattmann % -% Institution: Robert Bosch GmbH % -% Date: 2020.12.15 % -% File Version 7.3.0 "Blackbird" % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -SOLVER= INC_RANS -% -KIND_TURB_MODEL= SST -% -OBJECTIVE_FUNCTION= AVG_TEMPERATURE -OBJECTIVE_WEIGHT= 0.0 -% -OPT_OBJECTIVE= NONE -% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% -% -INC_DENSITY_MODEL= CONSTANT -INC_DENSITY_INIT= 1045.0 -INC_VELOCITY_INIT= ( 0.1, 0.0, 0.0 ) -% -INC_ENERGY_EQUATION = YES -INC_TEMPERATURE_INIT= 338.0 -INC_NONDIM= DIMENSIONAL -SPECIFIC_HEAT_CP= 3540.0 -% -FREESTREAM_TURBULENCEINTENSITY= 0.05 -FREESTREAM_TURB2LAMVISCRATIO= 10.0 -% -% --------------------------- VISCOSITY MODEL ---------------------------------% -% -VISCOSITY_MODEL= CONSTANT_VISCOSITY -MU_CONSTANT= 0.001385 -% -% --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% -% -% Pr_lam = mu_lam [Pa*s] * c_p [J/(kg*K)] / lambda[W/(m*K)] -% = 1.385e-3 * 3540 / 0.42 -% = 11.7 -CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -PRANDTL_LAM= 11.7 -% -TURBULENT_CONDUCTIVITY_MODEL= CONSTANT_PRANDTL_TURB -PRANDTL_TURB= 0.90 -% -% --------------------- STREAMWISE PERIODICITY DEFINITION ---------------------% -% -KIND_STREAMWISE_PERIODIC= PRESSURE_DROP -STREAMWISE_PERIODIC_PRESSURE_DROP= 208.023676 -%STREAMWISE_PERIODIC_MASSFLOW= 0.85 -%INC_OUTLET_DAMPING= 0.001 -% -STREAMWISE_PERIODIC_TEMPERATURE= NO -% -% inner pin length 0.00376991 m = (0.00322-0.00262)*2*pi -% with 5e5 W/m that is Q = 1884.96 -STREAMWISE_PERIODIC_OUTLET_HEAT= -1884.96 -% -% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% -% -MARKER_SYM= ( fluid_symmetry ) -MARKER_PERIODIC= ( fluid_inlet, fluid_outlet, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0111544,0.0,0.0 ) -% -% Alternative to periodic simulation with velocity inlet and pressure outlet -%MARKER_HEATFLUX= ( fluid_pin1_interface, 5e5, \ -% fluid_pin2_interface, 5e5, \ -% fluid_pin3_interface, 5e5 ) -% -% Alternative options for non-periodic flow -%INC_INLET_TYPE= VELOCITY_INLET -%MARKER_INLET= ( fluid_inlet, 338.0, 0.75, 1.0, 0.0, 0.0 ) -% Test vals to hinder outlet backflow -%MARKER_INLET= ( fluid_inlet, 338.0, 0.3, 1.0, 0.0, 0.0 ) -% -%INC_OUTLET_TYPE= PRESSURE_OUTLET -%MARKER_OUTLET= ( fluid_outlet, 0.0 ) -% -% ------------------------ SURFACES IDENTIFICATION ----------------------------% -% -MARKER_MONITORING= ( NONE ) -% -MARKER_ANALYZE = ( fluid_outlet, fluid_inlet ) -MARKER_ANALYZE_AVERAGE = MASSFLUX -% -% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% -% -%ITER= 3500 -NUM_METHOD_GRAD= GREEN_GAUSS -CFL_NUMBER= 1e3 -% -% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% -% -LINEAR_SOLVER= FGMRES -LINEAR_SOLVER_PREC= ILU -LINEAR_SOLVER_ERROR= 1e-15 -LINEAR_SOLVER_ITER= 10 -% -% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% -% -CONV_NUM_METHOD_FLOW= FDS -MUSCL_FLOW= YES -SLOPE_LIMITER_FLOW= NONE -TIME_DISCRE_FLOW= EULER_IMPLICIT -% -% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% -% -CONV_NUM_METHOD_TURB= SCALAR_UPWIND -MUSCL_TURB= NO -SLOPE_LIMITER_TURB= NONE -TIME_DISCRE_TURB= EULER_IMPLICIT -% -% --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -CONV_RESIDUAL_MINVAL= -26 -CONV_STARTITER= 100000000 -% -% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% -%MESH_FILENAME= fluid.su2 -% -HISTORY_OUTPUT= ( ITER, RMS_RES, STREAMWISE_PERIODIC, FLOW_COEFF, LINSOL, HEAT ) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DIRECT/configSolid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DIRECT/configSolid.cfg deleted file mode 100644 index e586892b5cb8..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DIRECT/configSolid.cfg +++ /dev/null @@ -1,69 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SU2 configuration file % -% Case description: Unit Cell flow around pin array (solid) % -% Author: T. Kattmann % -% Institution: Robert Bosch GmbH % -% Date: 2020.12.15 % -% File Version 7.3.0 "Blackbird" % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -SOLVER= HEAT_EQUATION -% -OBJECTIVE_FUNCTION= AVG_TEMPERATURE -OBJECTIVE_WEIGHT= 1.0 -% -OPT_OBJECTIVE= AVG_TOTALTEMP -% -% ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% -% -INC_NONDIM= DIMENSIONAL -FREESTREAM_TEMPERATURE= 345.0 -MATERIAL_DENSITY= 2719 -SPECIFIC_HEAT_CP = 871.0 -THERMAL_CONDUCTIVITY_CONSTANT= 200 -% -% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% -% -MARKER_HEATFLUX= (solid_pin1_inner, 5e5, \ - solid_pin2_inner, 5e5, \ - solid_pin3_inner, 5e5, \ - solid_pin1_walls, 0.0, \ - solid_pin2_walls, 0.0, \ - solid_pin3_walls, 0.0) -% -%MARKER_ISOTHERMAL= (solid_pin1_inner, 300, solid_pin2_inner, 300, solid_pin3_inner, 300, solid_pin1_walls, 300, solid_pin2_walls, 300, solid_pin3_walls, 300) -% -% ------------------------ SURFACES IDENTIFICATION ----------------------------% -% -MARKER_MONITORING = ( solid_pin2_inner ) -% -% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% -% -NUM_METHOD_GRAD= GREEN_GAUSS -CFL_NUMBER= 1e4 -% -% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% -% -LINEAR_SOLVER= FGMRES -LINEAR_SOLVER_PREC= ILU -LINEAR_SOLVER_ERROR= 1E-15 -LINEAR_SOLVER_ITER= 20 -% -% --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -CONV_RESIDUAL_MINVAL= -20 -CONV_STARTITER= 10000000000 -% -% -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% -% -TIME_DISCRE_HEAT= EULER_IMPLICIT -% -% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% -%MESH_FILENAME= solid.su2 -% -HISTORY_OUTPUT= (ITER, RMS_RES, HEAT, LINSOL) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FD_configMaster.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FD_configMaster.cfg deleted file mode 100644 index 686b18465ce6..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FD_configMaster.cfg +++ /dev/null @@ -1,127 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SU2 configuration file % -% Case description: 2D cylinder array with CHT couplings % -% Author: T. Kattmann % -% Institution: Robert Bosch GmbH % -% Date: 2020.12.15 % -% File Version 7.3.1 "Blackbird" % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -SOLVER= MULTIPHYSICS -% -CONFIG_LIST= (configFluid.cfg, configSolid.cfg) -% -MARKER_ZONE_INTERFACE= ( fluid_pin1_interface, solid_pin1_interface, fluid_pin2_interface, solid_pin2_interface, fluid_pin3_interface, solid_pin3_interface ) -% -MARKER_CHT_INTERFACE= ( fluid_pin1_interface, solid_pin1_interface, fluid_pin2_interface, solid_pin2_interface, fluid_pin3_interface, solid_pin3_interface ) -% -CONV_RESIDUAL_MINVAL= -26 -% -% FOR FAST RUNING REGRESSION TEST ONLY! -% FOR GADIENT VALIDATION USE OUTER_ITER= 3000! -OUTER_ITER= 101 - -% -%CHT_ROBIN= NO -% -SCREEN_OUTPUT= ( WALL_TIME, OUTER_ITER, BGS_PRESSURE[0], BGS_TEMPERATURE[0], BGS_TEMPERATURE[1], STREAMWISE_MASSFLOW[0], STREAMWISE_DP[0], AVG_TEMPERATURE[1] ) -SCREEN_WRT_FREQ_OUTER= 100 -% -HISTORY_OUTPUT= ( ITER, BGS_RES[0], BGS_RES[1], RMS_RES[0], RMS_RES[1], STREAMWISE_PERIODIC[0], FLOW_COEFF[0], AERO_COEFF[0], HEAT[1] ) -% -OUTPUT_FILES= ( RESTART, PARAVIEW_MULTIBLOCK ) -OUTPUT_WRT_FREQ= 10000 -% -MESH_FILENAME= 2D-PinArray_FFD.su2 -MESH_FORMAT= SU2 -% -% Options that have to be kept for finite_differences.py. Otherwise it won't run. -RESTART_SOL= NO -MARKER_MONITORING= ( NONE ) -SOLUTION_FILENAME= restart -SOLUTION_ADJ_FILENAME= restart_adj -RESTART_FILENAME= restart -CONV_FILENAME= history -TABULAR_FORMAT= CSV -% -% -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% -% -FFD_TOLERANCE= 1E-10 -FFD_ITERATIONS= 500 -% -% FFD box definition: 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) -FFD_DEFINITION= (BOX, 0.0029772,0.0,0.0, 0.0081772,0.0,0.0 0.0081772,0.0026,0.0, 0.0029772,0.0026,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0 0.0,0.0,0.0, 0.0,0.0,0.0 ) -% -% FFD box degree: 2D case (x_degree, y_degree, 0) -FFD_DEGREE= (8, 1, 0) -% -% Surface grid continuity at the intersection with the faces of the FFD boxes. -% To keep a particular level of surface continuity, SU2 automatically freezes the right -% number of control point planes (NO_DERIVATIVE, 1ST_DERIVATIVE, 2ND_DERIVATIVE, USER_INPUT) -FFD_CONTINUITY= NO_DERIVATIVE -% -% ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% -% -DV_KIND= FFD_SETTING -%DV_KIND= FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D -% -% Marker of the surface in which we are going apply the shape deformation -MARKER_SYM= ( fluid_symmetry ) -DV_MARKER= ( fluid_pin2_interface, solid_pin2_interface, fluid_symmetry ) -% -% Parameters of the shape deformation -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -DV_PARAM= ( 1.0 ) -%DV_PARAM= \ -%( BOX, 0, 1, 0.0, 1.0);\ -%( BOX, 1, 1, 0.0, 1.0);\ -%( BOX, 2, 1, 0.0, 1.0);\ -%( BOX, 3, 1, 0.0, 1.0);\ -%( BOX, 4, 1, 0.0, 1.0);\ -%( BOX, 5, 1, 0.0, 1.0);\ -%( BOX, 6, 1, 0.0, 1.0);\ -%( BOX, 7, 1, 0.0, 1.0);\ -%( BOX, 8, 1, 0.0, 1.0) -% -% Value of the shape deformation -DV_VALUE= 1.0 -%DV_VALUE= 1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 -% -% ------------------------ GRID DEFORMATION PARAMETERS ------------------------% -% -DEFORM_LINEAR_SOLVER= FGMRES -DEFORM_LINEAR_SOLVER_PREC= ILU -DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -DEFORM_NONLINEAR_ITER= 1 -DEFORM_LINEAR_SOLVER_ITER= 1000 -% -DEFORM_CONSOLE_OUTPUT= YES -DEFORM_STIFFNESS_TYPE= WALL_DISTANCE -% -% Deformation coefficient (linear elasticity limits from -1.0 to 0.5, a larger -% value is also possible) -% !!! What is this doing !!! -DEFORM_COEFF = 1E6 -% -% For gradient validation uncomment the other DV's! -DEFINITION_DV= \ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 0, 1, 0.0, 1.0 );\ -%( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 1, 1, 0.0, 1.0 );\ -%( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 2, 1, 0.0, 1.0 );\ -%( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 3, 1, 0.0, 1.0 );\ -%( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 4, 1, 0.0, 1.0 );\ -%( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 5, 1, 0.0, 1.0 );\ -%( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 6, 1, 0.0, 1.0 );\ -%( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 7, 1, 0.0, 1.0 );\ -%( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 8, 1, 0.0, 1.0 ) - -%DEFORM_MESH= YES - -OPT_OBJECTIVE= AVG_TOTALTEMP -FIN_DIFF_STEP= 1e-8 -NZONES=2 diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DEFORM/configFluid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DEFORM/configFluid.cfg deleted file mode 100644 index 2ea0a0b9ba86..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DEFORM/configFluid.cfg +++ /dev/null @@ -1,127 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SU2 configuration file % -% Case description: Unit Cell flow around pin array (fluid) % -% Author: T. Kattmann % -% Institution: Robert Bosch GmbH % -% Date: 2020.12.15 % -% File Version 7.3.0 "Blackbird" % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -SOLVER= INC_RANS -% -KIND_TURB_MODEL= SST -% -OBJECTIVE_FUNCTION= AVG_TEMPERATURE -OBJECTIVE_WEIGHT= 0.0 -% -OPT_OBJECTIVE= NONE -% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% -% -INC_DENSITY_MODEL= CONSTANT -INC_DENSITY_INIT= 1045.0 -INC_VELOCITY_INIT= ( 0.1, 0.0, 0.0 ) -% -INC_ENERGY_EQUATION = YES -INC_TEMPERATURE_INIT= 338.0 -INC_NONDIM= DIMENSIONAL -SPECIFIC_HEAT_CP= 3540.0 -% -FREESTREAM_TURBULENCEINTENSITY= 0.05 -FREESTREAM_TURB2LAMVISCRATIO= 10.0 -% -% --------------------------- VISCOSITY MODEL ---------------------------------% -% -VISCOSITY_MODEL= CONSTANT_VISCOSITY -MU_CONSTANT= 0.001385 -% -% --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% -% -% Pr_lam = mu_lam [Pa*s] * c_p [J/(kg*K)] / lambda[W/(m*K)] -% = 1.385e-3 * 3540 / 0.42 -% = 11.7 -CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -PRANDTL_LAM= 11.7 -% -TURBULENT_CONDUCTIVITY_MODEL= CONSTANT_PRANDTL_TURB -PRANDTL_TURB= 0.90 -% -% --------------------- STREAMWISE PERIODICITY DEFINITION ---------------------% -% -KIND_STREAMWISE_PERIODIC= PRESSURE_DROP -STREAMWISE_PERIODIC_PRESSURE_DROP= 208.023676 -%STREAMWISE_PERIODIC_MASSFLOW= 0.85 -%INC_OUTLET_DAMPING= 0.001 -% -STREAMWISE_PERIODIC_TEMPERATURE= NO -% -% inner pin length 0.00376991 m = (0.00322-0.00262)*2*pi -% with 5e5 W/m that is Q = 1884.96 -STREAMWISE_PERIODIC_OUTLET_HEAT= -1884.96 -% -% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% -% -MARKER_SYM= ( fluid_symmetry ) -MARKER_PERIODIC= ( fluid_inlet, fluid_outlet, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0111544,0.0,0.0 ) -% -% Alternative to periodic simulation with velocity inlet and pressure outlet -%MARKER_HEATFLUX= ( fluid_pin1_interface, 5e5, \ -% fluid_pin2_interface, 5e5, \ -% fluid_pin3_interface, 5e5 ) -% -% Alternative options for non-periodic flow -%INC_INLET_TYPE= VELOCITY_INLET -%MARKER_INLET= ( fluid_inlet, 338.0, 0.75, 1.0, 0.0, 0.0 ) -% Test vals to hinder outlet backflow -%MARKER_INLET= ( fluid_inlet, 338.0, 0.3, 1.0, 0.0, 0.0 ) -% -%INC_OUTLET_TYPE= PRESSURE_OUTLET -%MARKER_OUTLET= ( fluid_outlet, 0.0 ) -% -% ------------------------ SURFACES IDENTIFICATION ----------------------------% -% -MARKER_MONITORING= ( NONE ) -% -MARKER_ANALYZE = ( fluid_outlet, fluid_inlet ) -MARKER_ANALYZE_AVERAGE = MASSFLUX -% -% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% -% -%ITER= 3500 -NUM_METHOD_GRAD= GREEN_GAUSS -CFL_NUMBER= 1e3 -% -% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% -% -LINEAR_SOLVER= FGMRES -LINEAR_SOLVER_PREC= ILU -LINEAR_SOLVER_ERROR= 1e-15 -LINEAR_SOLVER_ITER= 10 -% -% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% -% -CONV_NUM_METHOD_FLOW= FDS -MUSCL_FLOW= YES -SLOPE_LIMITER_FLOW= NONE -TIME_DISCRE_FLOW= EULER_IMPLICIT -% -% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% -% -CONV_NUM_METHOD_TURB= SCALAR_UPWIND -MUSCL_TURB= NO -SLOPE_LIMITER_TURB= NONE -TIME_DISCRE_TURB= EULER_IMPLICIT -% -% --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -CONV_RESIDUAL_MINVAL= -26 -CONV_STARTITER= 100000000 -% -% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% -%MESH_FILENAME= fluid.su2 -% -HISTORY_OUTPUT= ( ITER, RMS_RES, STREAMWISE_PERIODIC, FLOW_COEFF, LINSOL, HEAT ) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DEFORM/configSolid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DEFORM/configSolid.cfg deleted file mode 100644 index e586892b5cb8..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DEFORM/configSolid.cfg +++ /dev/null @@ -1,69 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SU2 configuration file % -% Case description: Unit Cell flow around pin array (solid) % -% Author: T. Kattmann % -% Institution: Robert Bosch GmbH % -% Date: 2020.12.15 % -% File Version 7.3.0 "Blackbird" % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -SOLVER= HEAT_EQUATION -% -OBJECTIVE_FUNCTION= AVG_TEMPERATURE -OBJECTIVE_WEIGHT= 1.0 -% -OPT_OBJECTIVE= AVG_TOTALTEMP -% -% ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% -% -INC_NONDIM= DIMENSIONAL -FREESTREAM_TEMPERATURE= 345.0 -MATERIAL_DENSITY= 2719 -SPECIFIC_HEAT_CP = 871.0 -THERMAL_CONDUCTIVITY_CONSTANT= 200 -% -% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% -% -MARKER_HEATFLUX= (solid_pin1_inner, 5e5, \ - solid_pin2_inner, 5e5, \ - solid_pin3_inner, 5e5, \ - solid_pin1_walls, 0.0, \ - solid_pin2_walls, 0.0, \ - solid_pin3_walls, 0.0) -% -%MARKER_ISOTHERMAL= (solid_pin1_inner, 300, solid_pin2_inner, 300, solid_pin3_inner, 300, solid_pin1_walls, 300, solid_pin2_walls, 300, solid_pin3_walls, 300) -% -% ------------------------ SURFACES IDENTIFICATION ----------------------------% -% -MARKER_MONITORING = ( solid_pin2_inner ) -% -% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% -% -NUM_METHOD_GRAD= GREEN_GAUSS -CFL_NUMBER= 1e4 -% -% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% -% -LINEAR_SOLVER= FGMRES -LINEAR_SOLVER_PREC= ILU -LINEAR_SOLVER_ERROR= 1E-15 -LINEAR_SOLVER_ITER= 20 -% -% --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -CONV_RESIDUAL_MINVAL= -20 -CONV_STARTITER= 10000000000 -% -% -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% -% -TIME_DISCRE_HEAT= EULER_IMPLICIT -% -% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% -%MESH_FILENAME= solid.su2 -% -HISTORY_OUTPUT= (ITER, RMS_RES, HEAT, LINSOL) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DIRECT/configFluid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DIRECT/configFluid.cfg deleted file mode 100644 index 2ea0a0b9ba86..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DIRECT/configFluid.cfg +++ /dev/null @@ -1,127 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SU2 configuration file % -% Case description: Unit Cell flow around pin array (fluid) % -% Author: T. Kattmann % -% Institution: Robert Bosch GmbH % -% Date: 2020.12.15 % -% File Version 7.3.0 "Blackbird" % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -SOLVER= INC_RANS -% -KIND_TURB_MODEL= SST -% -OBJECTIVE_FUNCTION= AVG_TEMPERATURE -OBJECTIVE_WEIGHT= 0.0 -% -OPT_OBJECTIVE= NONE -% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% -% -INC_DENSITY_MODEL= CONSTANT -INC_DENSITY_INIT= 1045.0 -INC_VELOCITY_INIT= ( 0.1, 0.0, 0.0 ) -% -INC_ENERGY_EQUATION = YES -INC_TEMPERATURE_INIT= 338.0 -INC_NONDIM= DIMENSIONAL -SPECIFIC_HEAT_CP= 3540.0 -% -FREESTREAM_TURBULENCEINTENSITY= 0.05 -FREESTREAM_TURB2LAMVISCRATIO= 10.0 -% -% --------------------------- VISCOSITY MODEL ---------------------------------% -% -VISCOSITY_MODEL= CONSTANT_VISCOSITY -MU_CONSTANT= 0.001385 -% -% --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% -% -% Pr_lam = mu_lam [Pa*s] * c_p [J/(kg*K)] / lambda[W/(m*K)] -% = 1.385e-3 * 3540 / 0.42 -% = 11.7 -CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -PRANDTL_LAM= 11.7 -% -TURBULENT_CONDUCTIVITY_MODEL= CONSTANT_PRANDTL_TURB -PRANDTL_TURB= 0.90 -% -% --------------------- STREAMWISE PERIODICITY DEFINITION ---------------------% -% -KIND_STREAMWISE_PERIODIC= PRESSURE_DROP -STREAMWISE_PERIODIC_PRESSURE_DROP= 208.023676 -%STREAMWISE_PERIODIC_MASSFLOW= 0.85 -%INC_OUTLET_DAMPING= 0.001 -% -STREAMWISE_PERIODIC_TEMPERATURE= NO -% -% inner pin length 0.00376991 m = (0.00322-0.00262)*2*pi -% with 5e5 W/m that is Q = 1884.96 -STREAMWISE_PERIODIC_OUTLET_HEAT= -1884.96 -% -% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% -% -MARKER_SYM= ( fluid_symmetry ) -MARKER_PERIODIC= ( fluid_inlet, fluid_outlet, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0111544,0.0,0.0 ) -% -% Alternative to periodic simulation with velocity inlet and pressure outlet -%MARKER_HEATFLUX= ( fluid_pin1_interface, 5e5, \ -% fluid_pin2_interface, 5e5, \ -% fluid_pin3_interface, 5e5 ) -% -% Alternative options for non-periodic flow -%INC_INLET_TYPE= VELOCITY_INLET -%MARKER_INLET= ( fluid_inlet, 338.0, 0.75, 1.0, 0.0, 0.0 ) -% Test vals to hinder outlet backflow -%MARKER_INLET= ( fluid_inlet, 338.0, 0.3, 1.0, 0.0, 0.0 ) -% -%INC_OUTLET_TYPE= PRESSURE_OUTLET -%MARKER_OUTLET= ( fluid_outlet, 0.0 ) -% -% ------------------------ SURFACES IDENTIFICATION ----------------------------% -% -MARKER_MONITORING= ( NONE ) -% -MARKER_ANALYZE = ( fluid_outlet, fluid_inlet ) -MARKER_ANALYZE_AVERAGE = MASSFLUX -% -% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% -% -%ITER= 3500 -NUM_METHOD_GRAD= GREEN_GAUSS -CFL_NUMBER= 1e3 -% -% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% -% -LINEAR_SOLVER= FGMRES -LINEAR_SOLVER_PREC= ILU -LINEAR_SOLVER_ERROR= 1e-15 -LINEAR_SOLVER_ITER= 10 -% -% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% -% -CONV_NUM_METHOD_FLOW= FDS -MUSCL_FLOW= YES -SLOPE_LIMITER_FLOW= NONE -TIME_DISCRE_FLOW= EULER_IMPLICIT -% -% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% -% -CONV_NUM_METHOD_TURB= SCALAR_UPWIND -MUSCL_TURB= NO -SLOPE_LIMITER_TURB= NONE -TIME_DISCRE_TURB= EULER_IMPLICIT -% -% --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -CONV_RESIDUAL_MINVAL= -26 -CONV_STARTITER= 100000000 -% -% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% -%MESH_FILENAME= fluid.su2 -% -HISTORY_OUTPUT= ( ITER, RMS_RES, STREAMWISE_PERIODIC, FLOW_COEFF, LINSOL, HEAT ) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DIRECT/configSolid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DIRECT/configSolid.cfg deleted file mode 100644 index e586892b5cb8..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/DIRECT/configSolid.cfg +++ /dev/null @@ -1,69 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SU2 configuration file % -% Case description: Unit Cell flow around pin array (solid) % -% Author: T. Kattmann % -% Institution: Robert Bosch GmbH % -% Date: 2020.12.15 % -% File Version 7.3.0 "Blackbird" % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -SOLVER= HEAT_EQUATION -% -OBJECTIVE_FUNCTION= AVG_TEMPERATURE -OBJECTIVE_WEIGHT= 1.0 -% -OPT_OBJECTIVE= AVG_TOTALTEMP -% -% ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% -% -INC_NONDIM= DIMENSIONAL -FREESTREAM_TEMPERATURE= 345.0 -MATERIAL_DENSITY= 2719 -SPECIFIC_HEAT_CP = 871.0 -THERMAL_CONDUCTIVITY_CONSTANT= 200 -% -% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% -% -MARKER_HEATFLUX= (solid_pin1_inner, 5e5, \ - solid_pin2_inner, 5e5, \ - solid_pin3_inner, 5e5, \ - solid_pin1_walls, 0.0, \ - solid_pin2_walls, 0.0, \ - solid_pin3_walls, 0.0) -% -%MARKER_ISOTHERMAL= (solid_pin1_inner, 300, solid_pin2_inner, 300, solid_pin3_inner, 300, solid_pin1_walls, 300, solid_pin2_walls, 300, solid_pin3_walls, 300) -% -% ------------------------ SURFACES IDENTIFICATION ----------------------------% -% -MARKER_MONITORING = ( solid_pin2_inner ) -% -% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% -% -NUM_METHOD_GRAD= GREEN_GAUSS -CFL_NUMBER= 1e4 -% -% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% -% -LINEAR_SOLVER= FGMRES -LINEAR_SOLVER_PREC= ILU -LINEAR_SOLVER_ERROR= 1E-15 -LINEAR_SOLVER_ITER= 20 -% -% --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -CONV_RESIDUAL_MINVAL= -20 -CONV_STARTITER= 10000000000 -% -% -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% -% -TIME_DISCRE_HEAT= EULER_IMPLICIT -% -% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% -%MESH_FILENAME= solid.su2 -% -HISTORY_OUTPUT= (ITER, RMS_RES, HEAT, LINSOL) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configFluid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configFluid.cfg deleted file mode 100644 index a16f3c630601..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configFluid.cfg +++ /dev/null @@ -1,127 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SU2 configuration file % -% Case description: Unit Cell flow around pin array (fluid) % -% Author: T. Kattmann % -% Institution: Robert Bosch GmbH % -% Date: 2020.12.15 % -% File Version 7.3.1 "Blackbird" % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -SOLVER= INC_RANS -% -KIND_TURB_MODEL= SST -% -OBJECTIVE_FUNCTION= AVG_TEMPERATURE -OBJECTIVE_WEIGHT= 0.0 -% -OPT_OBJECTIVE= NONE -% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% -% -INC_DENSITY_MODEL= CONSTANT -INC_DENSITY_INIT= 1045.0 -INC_VELOCITY_INIT= ( 0.1, 0.0, 0.0 ) -% -INC_ENERGY_EQUATION = YES -INC_TEMPERATURE_INIT= 338.0 -INC_NONDIM= DIMENSIONAL -SPECIFIC_HEAT_CP= 3540.0 -% -FREESTREAM_TURBULENCEINTENSITY= 0.05 -FREESTREAM_TURB2LAMVISCRATIO= 10.0 -% -% --------------------------- VISCOSITY MODEL ---------------------------------% -% -VISCOSITY_MODEL= CONSTANT_VISCOSITY -MU_CONSTANT= 0.001385 -% -% --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% -% -% Pr_lam = mu_lam [Pa*s] * c_p [J/(kg*K)] / lambda[W/(m*K)] -% = 1.385e-3 * 3540 / 0.42 -% = 11.7 -CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -PRANDTL_LAM= 11.7 -% -TURBULENT_CONDUCTIVITY_MODEL= CONSTANT_PRANDTL_TURB -PRANDTL_TURB= 0.90 -% -% --------------------- STREAMWISE PERIODICITY DEFINITION ---------------------% -% -KIND_STREAMWISE_PERIODIC= PRESSURE_DROP -STREAMWISE_PERIODIC_PRESSURE_DROP= 208.023676 -%STREAMWISE_PERIODIC_MASSFLOW= 0.85 -%INC_OUTLET_DAMPING= 0.001 -% -STREAMWISE_PERIODIC_TEMPERATURE= NO -% -% inner pin length 0.00376991 m = (0.00322-0.00262)*2*pi -% with 5e5 W/m that is Q = 1884.96 -STREAMWISE_PERIODIC_OUTLET_HEAT= -1884.96 -% -% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% -% -MARKER_SYM= ( fluid_symmetry ) -MARKER_PERIODIC= ( fluid_inlet, fluid_outlet, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0111544,0.0,0.0 ) -% -% Alternative to periodic simulation with velocity inlet and pressure outlet -%MARKER_HEATFLUX= ( fluid_pin1_interface, 5e5, \ -% fluid_pin2_interface, 5e5, \ -% fluid_pin3_interface, 5e5 ) -% -% Alternative options for non-periodic flow -%INC_INLET_TYPE= VELOCITY_INLET -%MARKER_INLET= ( fluid_inlet, 338.0, 0.75, 1.0, 0.0, 0.0 ) -% Test vals to hinder outlet backflow -%MARKER_INLET= ( fluid_inlet, 338.0, 0.3, 1.0, 0.0, 0.0 ) -% -%INC_OUTLET_TYPE= PRESSURE_OUTLET -%MARKER_OUTLET= ( fluid_outlet, 0.0 ) -% -% ------------------------ SURFACES IDENTIFICATION ----------------------------% -% -MARKER_MONITORING= ( NONE ) -% -MARKER_ANALYZE = ( fluid_outlet, fluid_inlet ) -MARKER_ANALYZE_AVERAGE = MASSFLUX -% -% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% -% -%ITER= 3500 -NUM_METHOD_GRAD= GREEN_GAUSS -CFL_NUMBER= 1e3 -% -% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% -% -LINEAR_SOLVER= FGMRES -LINEAR_SOLVER_PREC= ILU -LINEAR_SOLVER_ERROR= 1e-15 -LINEAR_SOLVER_ITER= 10 -% -% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% -% -CONV_NUM_METHOD_FLOW= FDS -MUSCL_FLOW= YES -SLOPE_LIMITER_FLOW= NONE -TIME_DISCRE_FLOW= EULER_IMPLICIT -% -% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% -% -CONV_NUM_METHOD_TURB= SCALAR_UPWIND -MUSCL_TURB= NO -SLOPE_LIMITER_TURB= NONE -TIME_DISCRE_TURB= EULER_IMPLICIT -% -% --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -CONV_RESIDUAL_MINVAL= -26 -CONV_STARTITER= 100000000 -% -% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% -%MESH_FILENAME= fluid.su2 -% -HISTORY_OUTPUT= ( ITER, RMS_RES, STREAMWISE_PERIODIC, FLOW_COEFF, LINSOL, HEAT ) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configMaster.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configMaster.cfg deleted file mode 100644 index 7feb2415bc09..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configMaster.cfg +++ /dev/null @@ -1,116 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SU2 configuration file % -% Case description: 2D cylinder array with CHT couplings % -% Author: T. Kattmann % -% Institution: Robert Bosch GmbH % -% Date: 2020.12.15 % -% File Version 7.3.1 "Blackbird" % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -SOLVER= MULTIPHYSICS -% -CONFIG_LIST= (configFluid.cfg, configSolid.cfg) -% -MARKER_ZONE_INTERFACE= ( fluid_pin1_interface, solid_pin1_interface, fluid_pin2_interface, solid_pin2_interface, fluid_pin3_interface, solid_pin3_interface ) -% -MARKER_CHT_INTERFACE= ( fluid_pin1_interface, solid_pin1_interface, fluid_pin2_interface, solid_pin2_interface, fluid_pin3_interface, solid_pin3_interface ) -% -CONV_RESIDUAL_MINVAL= -26 -% -% Number of total iterations -OUTER_ITER= 4000 -% -%CHT_ROBIN= NO -% -SCREEN_OUTPUT= ( OUTER_ITER, BGS_PRESSURE[0], BGS_TEMPERATURE[0], BGS_TEMPERATURE[1], STREAMWISE_MASSFLOW[0], STREAMWISE_DP[0], AVG_TEMPERATURE[1], SURFACE_MASSFLOW[0] ) -SCREEN_WRT_FREQ_OUTER= 100 -% -HISTORY_OUTPUT= ( ITER, BGS_RES[0], BGS_RES[1], RMS_RES[0], RMS_RES[1], STREAMWISE_PERIODIC[0], FLOW_COEFF[0], FLOW_COEFF_SURF[0], HEAT[1], LINSOL[0], LINSOL[1], HEAT[0] ) -% -OUTPUT_FILES= ( RESTART, PARAVIEW_MULTIBLOCK ) -OUTPUT_WRT_FREQ= 1000 -% -MESH_FILENAME= 2D-PinArray_FFD.su2 -MESH_FORMAT= SU2 -% -% -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% -% -FFD_TOLERANCE= 1E-10 -FFD_ITERATIONS= 500 -% -% FFD box definition: 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) -FFD_DEFINITION= (BOX, 0.0029772,0.0,0.0, 0.0081772,0.0,0.0 0.0081772,0.0026,0.0, 0.0029772,0.0026,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0 0.0,0.0,0.0, 0.0,0.0,0.0 ) -% -% FFD box degree: 2D case (x_degree, y_degree, 0) -FFD_DEGREE= (8, 1, 0) -% -% Surface grid continuity at the intersection with the faces of the FFD boxes. -% To keep a particular level of surface continuity, SU2 automatically freezes the right -% number of control point planes (NO_DERIVATIVE, 1ST_DERIVATIVE, 2ND_DERIVATIVE, USER_INPUT) -FFD_CONTINUITY= NO_DERIVATIVE -% -% ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% -% -% Config options for writing the FFD-box into the mesh. -% Comment these options if they appear elsewhere in the .cfg file. -%DV_KIND= FFD_SETTING -%DV_PARAM= ( 1.0 ) -%DV_VALUE= 1.0 -%MESH_FILENAME= 2D-PinArray.su2 -%MESH_OUT_FILENAME= 2D-PinArray_FFD.su2 -MARKER_SYM= ( fluid_symmetry ) - -DV_KIND= FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D -% -% Marker of the surface in which we are going apply the shape deformation -DV_MARKER= ( fluid_pin2_interface, solid_pin2_interface, fluid_symmetry ) -% -% Parameters of the shape deformation -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -DV_PARAM= \ -( BOX, 0, 1, 0.0, 1.0);\ -( BOX, 1, 1, 0.0, 1.0);\ -( BOX, 2, 1, 0.0, 1.0);\ -( BOX, 3, 1, 0.0, 1.0);\ -( BOX, 4, 1, 0.0, 1.0);\ -( BOX, 5, 1, 0.0, 1.0);\ -( BOX, 6, 1, 0.0, 1.0);\ -( BOX, 7, 1, 0.0, 1.0);\ -( BOX, 8, 1, 0.0, 1.0) -% -% Value of the shape deformation -DV_VALUE= 1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 -% -% ------------------------ GRID DEFORMATION PARAMETERS ------------------------% -% -DEFORM_LINEAR_SOLVER= FGMRES -DEFORM_LINEAR_SOLVER_PREC= ILU -DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -DEFORM_NONLINEAR_ITER= 1 -DEFORM_LINEAR_SOLVER_ITER= 1000 -% -DEFORM_CONSOLE_OUTPUT= YES -DEFORM_STIFFNESS_TYPE= WALL_DISTANCE -% -% Deformation coefficient (linear elasticity limits from -1.0 to 0.5, a larger -% value is also possible) -% !!! What is this doing !!! -DEFORM_COEFF = 1E6 -% -DEFINITION_DV= \ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 0, 1, 0.0, 1.0 );\ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 1, 1, 0.0, 1.0 );\ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 2, 1, 0.0, 1.0 );\ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 3, 1, 0.0, 1.0 );\ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 4, 1, 0.0, 1.0 );\ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 5, 1, 0.0, 1.0 );\ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 6, 1, 0.0, 1.0 );\ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 7, 1, 0.0, 1.0 );\ -( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 8, 1, 0.0, 1.0 ) - -%DEFORM_MESH= YES diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configSolid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configSolid.cfg deleted file mode 100644 index 8bffc3fc9dd5..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configSolid.cfg +++ /dev/null @@ -1,69 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SU2 configuration file % -% Case description: Unit Cell flow around pin array (solid) % -% Author: T. Kattmann % -% Institution: Robert Bosch GmbH % -% Date: 2020.12.15 % -% File Version 7.3.1 "Blackbird" % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -SOLVER= HEAT_EQUATION -% -OBJECTIVE_FUNCTION= AVG_TEMPERATURE -OBJECTIVE_WEIGHT= 1.0 -% -OPT_OBJECTIVE= AVG_TOTALTEMP -% -% ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% -% -INC_NONDIM= DIMENSIONAL -FREESTREAM_TEMPERATURE= 345.0 -MATERIAL_DENSITY= 2719 -SPECIFIC_HEAT_CP = 871.0 -THERMAL_CONDUCTIVITY_CONSTANT= 200 -% -% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% -% -MARKER_HEATFLUX= (solid_pin1_inner, 5e5, \ - solid_pin2_inner, 5e5, \ - solid_pin3_inner, 5e5, \ - solid_pin1_walls, 0.0, \ - solid_pin2_walls, 0.0, \ - solid_pin3_walls, 0.0) -% -%MARKER_ISOTHERMAL= (solid_pin1_inner, 300, solid_pin2_inner, 300, solid_pin3_inner, 300, solid_pin1_walls, 300, solid_pin2_walls, 300, solid_pin3_walls, 300) -% -% ------------------------ SURFACES IDENTIFICATION ----------------------------% -% -MARKER_MONITORING = ( solid_pin2_inner ) -% -% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% -% -NUM_METHOD_GRAD= GREEN_GAUSS -CFL_NUMBER= 1e4 -% -% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% -% -LINEAR_SOLVER= FGMRES -LINEAR_SOLVER_PREC= ILU -LINEAR_SOLVER_ERROR= 1E-15 -LINEAR_SOLVER_ITER= 20 -% -% --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -CONV_RESIDUAL_MINVAL= -20 -CONV_STARTITER= 10000000000 -% -% -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% -% -TIME_DISCRE_HEAT= EULER_IMPLICIT -% -% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% -%MESH_FILENAME= solid.su2 -% -HISTORY_OUTPUT= (ITER, RMS_RES, HEAT, LINSOL) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/3D_pinArray.geo b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/3D_pinArray.geo deleted file mode 100644 index 2d3644d489b9..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/3D_pinArray.geo +++ /dev/null @@ -1,896 +0,0 @@ -// ------------------------------------------------------------------------- // -// T. Kattmann, 18.06.2019, 3D 2 Zone mesh -// Create the mesh by calling this geo file with 'gmsh .geo'. -// For multizone mesh the zonal meshes have to be created using the first -// option 'Which_Mesh_Part' below and have to be married appropriatley. -// ------------------------------------------------------------------------- // - -// Which domain part should be handled -Which_Mesh_Part= 1; // 0=all, 1=Fluid, 2=Solid, 3=InterfaceOnly -// Evoque Meshing Algorithm? -Do_Meshing= 1; // 0=false, 1=true -// Write Mesh files in .su2 format -Write_mesh= 1; // 0=false, 1=true -// Mesh Resolution -Mesh_Resolution= 1; // 0=debugRes, 1=Res1, 2=Res2 -// Have conical pins? -ConicalPins= 1; // 0=No, i.e. cylindrical, 1=Yes - -// Free parameters -scale_factor= 1e-3; // scales Point positions from [mm] to [m] with 1e-3 -dist= 6.44 * scale_factor; // distance between pin midpoints, each pin has 6 surrounding pins, i.e. 60 deg between each -upper_h= 10.0 * scale_factor; // height (z-dir) of fluid domain/pins -lower_h= 5.0 * scale_factor; // height (z-dir) of solid domain/pins - -If (ConicalPins==0) // cylindrical - r_pin_lower= 2.0 * scale_factor; // lower pin radius - r_pin_upper= 2.0 * scale_factor; // upper pin radius -ElseIf(ConicalPins==1) // conical - r_pin_lower= 2.3 * scale_factor; // lower pin radius - r_pin_upper= 0.56 * scale_factor; // upper pin radius -EndIf - -// Dependent parameters -rad2deg= Pi/180; // conversion factor as gmsh Cos/Sin functions take radian values -length= 2 * Cos(30*rad2deg)*dist; // length (in x-dir) -width= Sin(30*rad2deg)*dist; // width (in y-dir) - -Printf("==================================="); -Printf("Free parameters:"); -Printf("-> distance between pins: %g", dist); -Printf("-> lower pin radius: %g", r_pin_lower); -Printf("-> upper pin radius: %g", r_pin_upper); -Printf("Dependent parameters"); -Printf("-> length: %g", length); -Printf("-> width: %g", width); -Printf("Fixed parameters"); -Printf("-> pin height: %g", upper_h); -Printf("-> solid thickness: %g", lower_h); -Printf("==================================="); - -// Mesh inputs -gs = 0.5 *scale_factor; // gridsize - -If(Mesh_Resolution==0) // debugRes - // interface meshing parameteres. Also sufficient for fluid domain meshing. - N_x_flow= 10; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. - - N_y_flow = 10; // #gridpoints normal to pin surface, y-direction - R_y_flow= 1.08; // Progression normal to pin surface - - N_z_flow= 20; // #gridpoints in height z-direction - R_z_flow= 0.05; // Bump in height as top and bottom are walls - - // Additional meshing parameters for solid domain - InnerRadiusFactor= 0.6; // How much of the inner pin is unstructured mesh (0.9=mostly unstructured, 0.1= mostly structured). Requires 0 < value < 1. - N_y_innerPin= 5; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin - R_y_innerPin= 0.93; // Progression towards interface - N_z_solid= 10; // #points from bottom interface to heater surface - R_z_solid= 1.18; // progression for N_z_solid - -ElseIf(Mesh_Resolution==1) // Res1 - // interface meshing parameteres. Also sufficient for fluid domain meshing. - N_x_flow= 20; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. - - N_y_flow = 40; // #gridpoints normal to pin surface, y-direction - R_y_flow= 1.08; // Progression normal to pin surface - - N_z_flow= 100; // #gridpoints in height z-direction - R_z_flow= 0.05; // Bump in height as top and bottom are walls - - // Additional meshing parameters for solid domain - InnerRadiusFactor= 0.6; // How much of the inner pin is unstructured mesh (0.9=mostly unstructured, 0.1= mostly structured). Requires 0 < value < 1. - N_y_innerPin= 30; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin - R_y_innerPin= 0.93; // Progression towards interface - N_z_solid= 20; // #points from bottom interface to heater surface - R_z_solid= 1.18; // progression for N_z_solid - -ElseIf(Mesh_Resolution==2) // Res2 - // interface meshing parameteres. Also sufficient for fluid domain meshing. - N_x_flow= 30; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. - - N_y_flow = 50; // #gridpoints normal to pin surface, y-direction - R_y_flow= 1.08; // Progression normal to pin surface - - N_z_flow= 200; // #gridpoints in height z-direction - R_z_flow= 0.05; // Bump in height as top and bottom are walls - - // Additional meshing parameters for solid domain - InnerRadiusFactor= 0.6; // How much of the inner pin is unstructured mesh (0.9=mostly unstructured, 0.1= mostly structured). Requires 0 < value < 1. - N_y_innerPin= 40; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin - R_y_innerPin= 0.93; // Progression towards interface - N_z_solid= 30; // #points from bottom interface to heater surface - R_z_solid= 1.18; // progression for N_z_solid - -EndIf - -// Feasability checks -If (r_pin_lower >= width || - r_pin_upper >= width || - r_pin_lower <= 0 || - r_pin_upper <= 0) - Printf("Aborting! Bad Inputs"); - Abort; -EndIf - -// ------------------------------------------------------------------------- // -// Point distribution rules: -// Line/curve orientation rules (in that order): -// 1. always pointing in positive z-direction -// 2. in x-y-plane, always pointing in positive x-direction -// 3. in y-direction, always pointing in positive y-direction -// Surface normal orientation rules: none - -// ------------------------------------------------------------------------- // -// CHT Interface, complete description as it is part of fluid and solid -// Id's starting with in the range (1-99) - -// Points -// Lower Pin1 -Point(10) = {0, width, 0, gs}; // lower pin1 midpoint -Point(11) = {0, width-r_pin_lower, 0, gs}; // lower pin1 on inlet -Point(12) = {Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower, 0, gs}; // lower pin1 in between -Point(13) = {r_pin_lower, width, 0, gs}; // lower pin1 on sym -Circle(10) = {11,10,12}; // lower pin1 smaller first part -Circle(11) = {12,10,13}; // lower pin1 larger second part - -// Lower Pin2 -Point(20) = {0.5*length, 0, 0, gs}; // pin midpoint -Point(21) = {0.5*length - r_pin_lower, 0, 0, gs}; // lower small x -Point(22) = {length/2 - Sin(30*rad2deg)*r_pin_lower, Cos(30*rad2deg)*r_pin_lower, 0, gs}; // small intermediate -Point(23) = {length/2 + Sin(30*rad2deg)*r_pin_lower, Cos(30*rad2deg)*r_pin_lower, 0, gs}; // large intermediate -Point(24) = {0.5*length + r_pin_lower, 0, 0, gs}; // lower large x -Circle(20) = {21,20,22}; // first segment -Circle(21) = {22,20,23}; // second segment -Circle(22) = {23,20,24}; // third segment - -// lower Pin3 -Point(30) = {length, width, 0, gs}; // midpoint -Point(31) = {length, width-r_pin_lower, 0, gs}; // on outlet -Point(32) = {length-Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower,0, gs}; -Point(33) = {length - r_pin_lower, width, 0, gs}; // on sym -Circle(30) = {31,30,32}; // first segment -Circle(31) = {32,30,33}; // second segment - -// lower additional structured mesh points -Point(40) = {length/4 + Tan(30*rad2deg)*width/2, width, 0, gs}; // first half, large y -Point(41) = {length/4 - Tan(30*rad2deg)*width/2, 0, 0, gs}; // first half, small y -Point(42) = {length*3/4 - Tan(30*rad2deg)*width/2, width, 0, gs}; // second half, large y -Point(43) = {length*3/4 + Tan(30*rad2deg)*width/2, 0, 0, gs}; // second half, small y -Point(44) = {0, 0, 0, gs}; // corner point inlet -Point(45) = {length, 0, 0, gs}; // corner point outlet - -// lower additional structured mesh lines -// outer boundary -Line(40) = {11, 44}; -Line(41) = {44, 41}; -Line(42) = {41, 21}; -Line(43) = {43, 24}; -Line(44) = {43, 45}; -Line(45) = {45, 31}; -Line(46) = {33, 42}; -Line(47) = {42, 40}; -Line(48) = {40, 13}; -// inner lines -Line(49) = {41, 12}; -Line(50) = {41, 40}; -Line(51) = {22, 40}; -Line(52) = {23, 42}; -Line(53) = {42, 43}; -Line(54) = {43, 32}; - -// line loops and surfaces on lower domain interface -Line Loop(10) = {40, 41, 49, -10}; Plane Surface(10) = {10}; -Line Loop(11) = {-49, 50, 48, -11}; Plane Surface(11) = {11}; -Line Loop(12) = {42, 20, 51, -50}; Plane Surface(12) = {12}; -Line Loop(13) = {-51, 21, 52, 47}; Plane Surface(13) = {13}; -Line Loop(14) = {53, 43, -22, 52}; Plane Surface(14) = {14}; -Line Loop(15) = {53, 54, 31, 46}; Plane Surface(15) = {15}; -Line Loop(16) = {44, 45, 30, -54}; Plane Surface(16) = {16}; - -// No progression in flow direction on the pin surface -Transfinite Line {11,50,20,47,21,22,53,31} = N_x_flow; -Transfinite Line {10,41,30,44} = N_x_flow/2; -// Progression normal to the pin surface -Transfinite Line {40, -49, -48, -42, 51, 52, -43, 46, -54, -45} = N_y_flow Using Progression R_y_flow; - -// Upper Pin1 -Point(10+100) = {0, width, upper_h, gs}; // lower pin1 midpoint -Point(11+100) = {0, width-r_pin_upper, upper_h, gs}; // lower pin1 on inlet -Point(12+100) = {Sin(30*rad2deg)*r_pin_upper, width-Cos(30*rad2deg)*r_pin_upper, upper_h, gs}; // lower pin1 in between -Point(13+100) = {r_pin_upper, width, upper_h, gs}; // lower pin1 on sym -Circle(10+100) = {11+100,10+100,12+100}; // lower pin1 smaller first part -Circle(11+100) = {12+100,10+100,13+100}; // lower pin1 larger second part - -// Upper Pin2 -Point(20+100) = {0.5*length, 0, upper_h, gs}; // pin midpoint -Point(21+100) = {0.5*length - r_pin_upper, 0, upper_h, gs}; // lower small x -Point(22+100) = {length/2 - Sin(30*rad2deg)*r_pin_upper, Cos(30*rad2deg)*r_pin_upper, upper_h, gs}; // small intermediate -Point(23+100) = {length/2 + Sin(30*rad2deg)*r_pin_upper, Cos(30*rad2deg)*r_pin_upper, upper_h, gs}; // large intermediate -Point(24+100) = {0.5*length + r_pin_upper, 0, upper_h, gs}; // lower large x -Circle(20+100) = {21+100,20+100,22+100}; // first segment -Circle(21+100) = {22+100,20+100,23+100}; // second segment -Circle(22+100) = {23+100,20+100,24+100}; // third segment - -// Upper Pin3 -Point(30+100) = {length, width, upper_h, gs}; // midpoint -Point(31+100) = {length, width-r_pin_upper, upper_h, gs}; // on outlet -Point(32+100) = {length-Sin(30*rad2deg)*r_pin_upper, width-Cos(30*rad2deg)*r_pin_upper, upper_h, gs}; -Point(33+100) = {length - r_pin_upper, width, upper_h, gs}; // on sym -Circle(30+100) = {31+100,30+100,32+100}; // first segment -Circle(31+100) = {32+100,30+100,33+100}; // second segment - -// connection in height/z-direction -// Pin1 -Line(61) = {11,11+100}; -Line(62) = {12,12+100}; -Line(63) = {13,13+100}; - -// Pin2 -Line(71) = {21,21+100}; -Line(72) = {22,22+100}; -Line(73) = {23,23+100}; -Line(74) = {24,24+100}; - -// Pin3 -Line(81) = {31,31+100}; -Line(82) = {32,32+100}; -Line(83) = {33,33+100}; - -// Pin surfaces -Line Loop(20) = {61, 10+100, -62, -10}; Surface(20) = {20}; -Line Loop(21) = {62, 11+100, -63, -11}; Surface(21) = {21}; -Line Loop(22) = {71, 20+100, -72, -20}; Surface(22) = {22}; -Line Loop(23) = {73, -(21+100), -72, 21}; Surface(23) = {23}; -Line Loop(24) = {74, -(22+100), -73, 22}; Surface(24) = {24}; -Line Loop(25) = {83, -(31+100), -82, 31}; Surface(25) = {25}; -Line Loop(26) = {82, -(30+100), -81, 30}; Surface(26) = {26}; - -Transfinite Line {11+100,20+100,21+100,22+100,31+100} = N_x_flow; -Transfinite Line {10+100,30+100} = N_x_flow/2; -Transfinite Line {61,62,63,71,72,73,74,81,82,83} = N_z_flow Using Bump R_z_flow; - -//Physical Tags -If (Which_Mesh_Part==1) - //Physical Surface("fluid_interface") = {10, 11, 12, 13, 14, 15, 16, 20, 21, 22, 23, 24, 25, 26}; - Physical Surface("fluid_bottom_interface") = {13, 14, 15, 12, 11, 16, 10}; - Physical Surface("fluid_pin1") = {20, 21}; - Physical Surface("fluid_pin2") = {24, 23, 22}; - Physical Surface("fluid_pin3") = {25, 26}; - -ElseIf (Which_Mesh_Part==2) - //Physical Surface("solid_interface") = {13, 14, 15, 12, 11, 16, 10, 20, 21, 24, 23, 22, 25, 26}; - Physical Surface("solid_bottom_interface") = {13, 14, 15, 12, 11, 16, 10}; - Physical Surface("solid_pin1") = {20, 21}; - Physical Surface("solid_pin2") = {24, 23, 22}; - Physical Surface("solid_pin3") = {25, 26}; - -EndIf -// ------------------------------------------------------------------------- // -If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1) // fluid only - // Fluid only description - // upper additional structured mesh points - Point(40+100) = {length/4 + Tan(30*rad2deg)*width/2, width, upper_h, gs}; // first half, large y - Point(41+100) = {length/4 - Tan(30*rad2deg)*width/2, 0, upper_h, gs}; // first half, small y - Point(42+100) = {length*3/4 - Tan(30*rad2deg)*width/2, width, upper_h, gs}; // second half, large y - Point(43+100) = {length*3/4 + Tan(30*rad2deg)*width/2, 0, upper_h, gs}; // second half, small y - Point(44+100) = {0, 0, upper_h, gs}; // corner point inlet - Point(45+100) = {length, 0, upper_h, gs}; // corner point outlet - - // y+ setting helper points - If(1==0) - Point(10000) = {0, width-r_pin_upper, upper_h, gs}; // lower pin1 on inlet - Point(10001) = {0, width-r_pin_upper-2.0e-5, upper_h, gs}; // lower pin1 on inlet - Line(10000) = {10000,10001}; - EndIf - // upper additional structured mesh lines - // outer boundary - Line(40+100) = {11+100, 44+100}; - Line(41+100) = {44+100, 41+100}; - Line(42+100) = {41+100, 21+100}; - Line(43+100) = {43+100, 24+100}; - Line(44+100) = {43+100, 45+100}; - Line(45+100) = {45+100, 31+100}; - Line(46+100) = {33+100, 42+100}; - Line(47+100) = {42+100, 40+100}; - Line(48+100) = {40+100, 13+100}; - // inner lines - Line(49+100) = {41+100, 12+100}; - Line(50+100) = {41+100, 40+100}; - Line(51+100) = {22+100, 40+100}; - Line(52+100) = {23+100, 42+100}; - Line(53+100) = {42+100, 43+100}; - Line(54+100) = {43+100, 32+100}; - - // line loops and surfaces on lower domain interface - Line Loop(10+100) = {40+100, 41+100, 49+100, -(10+100)}; Plane Surface(10+100) = {10+100}; - Line Loop(11+100) = {-(49+100), 50+100, 48+100, -(11+100)}; Plane Surface(11+100) = {11+100}; - Line Loop(12+100) = {42+100, 20+100, 51+100, -(50+100)}; Plane Surface(12+100) = {12+100}; - Line Loop(13+100) = {-(51+100), 21+100, 52+100, 47+100}; Plane Surface(13+100) = {13+100}; - Line Loop(14+100) = {53+100, 43+100, -(22+100), 52+100}; Plane Surface(14+100) = {14+100}; - Line Loop(15+100) = {53+100, 54+100, 31+100, 46+100}; Plane Surface(15+100) = {15+100}; - Line Loop(16+100) = {44+100, 45+100, 30+100, -(54+100)}; Plane Surface(16+100) = {16+100}; - - // No progression in flow direction on the pin surface - Transfinite Line {50+100,47+100,53+100} = N_x_flow; - Transfinite Line {41+100,44+100} = N_x_flow/2; - // Progression normal to the pin surface - Transfinite Line {40+100, -(49+100), -(48+100), -(42+100), 51+100, 52+100, -(43+100), 46+100, -(54+100), -(45+100)} = N_y_flow Using Progression R_y_flow; - - // Side Faces on the outside of the domain - // additional lines in z-direction on fluid boundary - Line(160) = {44, 144}; - Line(161) = {41, 141}; - Line(162) = {43, 143}; - Line(163) = {45, 145}; - Line(164) = {42, 142}; - Line(165) = {40, 140}; - Transfinite Line {160,161,162,163,164,165} = N_z_flow Using Bump 0.1; - - // Side-faces - Line Loop(117) = {61, 140, -160, -40}; Surface(117) = {117}; - Line Loop(118) = {160, 141, -161, -41}; Surface(118) = {118}; - Line Loop(119) = {161, 142, -71, -42}; Surface(119) = {119}; - Line Loop(120) = {74, -143, -162, 43}; Surface(120) = {120}; - Line Loop(121) = {162, 144, -163, -44}; Surface(121) = {121}; - Line Loop(122) = {163, 145, -81, -45}; Surface(122) = {122}; - Line Loop(123) = {83, 146, -164, -46}; Surface(123) = {123}; - Line Loop(124) = {164, 147, -165, -47}; Surface(124) = {124}; - Line Loop(125) = {165, 148, -63, -48}; Surface(125) = {125}; - - // Internal fluid faces - Line Loop(126) = {62, -149, -161, 49}; Surface(126) = {126}; - Line Loop(127) = {165, -150, -161, 50}; Surface(127) = {127}; - Line Loop(128) = {165, -151, -72, 51}; Surface(128) = {128}; - Line Loop(129) = {164, -152, -73, 52}; Surface(129) = {129}; - Line Loop(130) = {164, 153, -162, -53}; Surface(130) = {130}; - Line Loop(131) = {82, -154, -162, 54}; Surface(131) = {131}; - - // Definition - Surface Loop(1) = {110, 117, 20, 10, 118, 126}; Volume(1) = {1}; - Surface Loop(2) = {111, 125, 21, 11, 126, 127}; Volume(2) = {2}; - Surface Loop(3) = {112, 119, 22, 12, 127, 128}; Volume(3) = {3}; - Surface Loop(4) = {113, 23, 13, 124, 128, 129}; Volume(4) = {4}; - Surface Loop(5) = {114, 120, 24, 14, 129, 130}; Volume(5) = {5}; - Surface Loop(6) = {115, 25, 123, 15, 130, 131}; Volume(6) = {6}; - Surface Loop(7) = {116, 121, 122, 26, 16, 131}; Volume(7) = {7}; - - //Physical Tags - Physical Volume("fluid_volume") = {1, 2, 3, 4, 5, 6, 7}; - Physical Surface("fluid_top") = {110, 111, 112, 113, 114, 115, 116}; - Physical Surface("fluid_inlet") = {117}; - Physical Surface("fluid_outlet") = {122}; - Physical Surface("fluid_sym_sides") = {119, 118, 120, 121, 123, 124, 125}; - -EndIf - -// ------------------------------------------------------------------------- // -// Solid only description -If (Which_Mesh_Part == 0 || Which_Mesh_Part == 2) - - If (1==1) // Pin 1 Solid - // Solid inner pin 1 and bottom300-er range - // pin 1 lower - Point(301) = {InnerRadiusFactor*0, width-r_pin_lower*InnerRadiusFactor, 0, gs}; // lower pin1 on inlet - Point(302) = {InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower*InnerRadiusFactor, 0, gs}; // lower pin1 in between - Point(303) = {InnerRadiusFactor*r_pin_lower, width, 0, gs}; // lower pin1 on sym - Line(301) = {301,302}; - Line(302) = {302,303}; - - // pin 1 upper - Point(304) = {InnerRadiusFactor*0, width-r_pin_upper*InnerRadiusFactor, upper_h, gs}; // lower pin1 on inlet - Point(305) = {InnerRadiusFactor*Sin(30*rad2deg)*r_pin_upper, width-Cos(30*rad2deg)*r_pin_upper*InnerRadiusFactor, upper_h, gs}; // lower pin1 in between - Point(306) = {InnerRadiusFactor*r_pin_upper, width, upper_h, gs}; // lower pin1 on sym - Line(303) = {304,305}; - Line(304) = {305,306}; - - // pin 1 additional lines - Line(305) = {10, 301}; - Line(306) = {301, 11}; - Line(307) = {10, 303}; - Line(308) = {303, 13}; - Line(309) = {110, 304}; - Line(310) = {304, 111}; - Line(311) = {110, 306}; - Line(312) = {306, 113}; - Line(317) = {305, 112}; - Line(318) = {302, 12}; - - // pin1 in z-direction - Line(313) = {301, 304}; - Line(314) = {302, 305}; - Line(315) = {303, 306}; - Line(316) = {10, 110}; - - // structured mesh - Transfinite Line {304,302,305,309} = N_x_flow; - Transfinite Line {303,301,307,311} = N_x_flow/2; - Transfinite Line {306,318,308,310,317,312} = N_y_innerPin Using Progression R_y_innerPin; - Transfinite Line {313,314,315,316} = N_z_flow Using Bump R_z_flow; - - // pin1 Line loop and surface definition - Line Loop(27) = {313, 310, -61, -306}; Plane Surface(27) = {27}; - Line Loop(28) = {316, 309, -313, -305}; Plane Surface(28) = {28}; - Line Loop(29) = {315, -311, -316, 307}; Plane Surface(29) = {29}; - Line Loop(30) = {315, -304, -314, 302}; Surface(30) = {30}; - Line Loop(31) = {314, -303, -313, 301}; Surface(31) = {31}; - Line Loop(32) = {308, -11, -318, 302}; Plane Surface(32) = {32}; - Line Loop(33) = {318, -10, -306, 301}; Plane Surface(33) = {33}; - Line Loop(34) = {307, -302, -301, -305}; Plane Surface(34) = {34}; - Line Loop(35) = {304, 312, -111, -317}; Plane Surface(35) = {35}; - Line Loop(36) = {317, -110, -310, 303}; Plane Surface(36) = {36}; - Line Loop(37) = {311, -304, -303, -309}; Plane Surface(37) = {37}; - Line Loop(38) = {63, -312, -315, 308}; Plane Surface(38) = {38}; - Line Loop(39) = {317, -62, -318, 314}; Plane Surface(39) = {39}; - - Surface Loop(8) = {33, 27, 36, 20, 39, 31}; Volume(8) = {8}; - Surface Loop(9) = {32, 38, 21, 35, 30, 39}; Volume(9) = {9}; - Surface Loop(10) = {37, 29, 28, 30, 31, 34};Volume(10) = {10}; - - Physical Volume("solid_volume") = {8,9,10}; - - //Physical Tags - - EndIf - - If (1==1) // Pin 2 solid - // Solid inner half pin 2 and bottome300-er range (copied from interface and solid pin parts) - // Lower Pin2 - Point(320) = {0.5*length, 0, 0, gs}; // pin midpoint - Point(321) = {0.5*length - InnerRadiusFactor*r_pin_lower, InnerRadiusFactor*0, 0, gs}; // lower small x - Point(322) = {length/2 - InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower, 0, gs}; // small intermediate - Point(323) = {length/2 + InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower, 0, gs}; // large intermediate - Point(324) = {0.5*length + InnerRadiusFactor*r_pin_lower, InnerRadiusFactor*0, 0, gs}; // lower large x - Line(320) = {321,322}; // first segment - Line(321) = {322,323}; // second segment - Line(322) = {323,324}; // third segment - - // Upper Pin2 - Point(330) = {0.5*length, 0, upper_h, gs}; // pin midpoint - Point(331) = {0.5*length - InnerRadiusFactor*r_pin_upper, InnerRadiusFactor*0, upper_h, gs}; // lower small x - Point(332) = {length/2 - InnerRadiusFactor*Sin(30*rad2deg)*r_pin_upper, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_upper, upper_h, gs}; // small intermediate - Point(333) = {length/2 + InnerRadiusFactor*Sin(30*rad2deg)*r_pin_upper, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_upper, upper_h, gs}; // large intermediate - Point(334) = {0.5*length + InnerRadiusFactor*r_pin_upper, 0, upper_h, gs}; // lower large x - Line(330) = {331,332}; // first segment - Line(331) = {332,333}; // second segment - Line(332) = {333,334}; // third segment - - // pin 2 additional connecting lines - Line(333) = {21, 321}; // lower - Line(334) = {22, 322}; - Line(335) = {23, 323}; - Line(336) = {24, 324}; - Line(337) = {324, 321}; - - Line(338) = {121, 331}; // upper - Line(339) = {122, 332}; - Line(340) = {123, 333}; - Line(341) = {124, 334}; - Line(342) = {334, 331}; - - //pin 2 connection z-direction (bottom to top) - Line(343) = {321, 331}; - Line(344) = {322, 332}; - Line(345) = {323, 333}; - Line(346) = {324, 334}; - - // Line loops and surfaces - Line Loop(132) = {71, 338, -343, -333}; Plane Surface(132) = {132}; - Line Loop(133) = {72, 339, -344, -334}; Plane Surface(134) = {133}; - Line Loop(134) = {330, -344, -320, 343}; Surface(135) = {134}; - Line Loop(136) = {120, 339, -330, -338}; Plane Surface(138) = {136}; - Line Loop(137) = {20, 334, -320, -333}; Plane Surface(139) = {137}; - Line Loop(138) = {344, 331, -345, -321}; Surface(140) = {138}; - Line Loop(139) = {345, -340, -73, 335}; Plane Surface(141) = {139}; - Line Loop(140) = {334, 321, -335, -21}; Plane Surface(142) = {140}; - Line Loop(141) = {339, 331, -340, -121}; Plane Surface(143) = {141}; - Line Loop(142) = {345, 332, -346, -322}; Surface(144) = {142}; - Line Loop(143) = {346, -341, -74, 336}; Plane Surface(145) = {143}; - Line Loop(144) = {332, -341, -122, 340}; Plane Surface(146) = {144}; - Line Loop(145) = {322, -336, -22, 335}; Plane Surface(147) = {145}; - Line Loop(146) = {337, 320, 321, 322}; Plane Surface(148) = {146}; - Line Loop(147) = {342, 330, 331, 332}; Plane Surface(149) = {147}; - Line Loop(148) = {343, -342, -346, 337}; Plane Surface(150) = {148}; - - // structured parts - Transfinite Line {-338, -339, -340, -341, -333, -334, -335, -336} = N_y_innerPin Using Progression R_y_innerPin; // lines pointing into circle midpoint - Transfinite Line {330, 331, 332, 320, 321, 322, 337, 342} = N_x_flow; // circle arcs - Transfinite Line {343, 344, 345, 346} = N_z_flow Using Bump R_z_flow; // lines in z-direction - - Surface Loop(11) = {138, 22, 132, 134, 139, 135}; Volume(11) = {11}; - Surface Loop(12) = {143, 23, 140, 141, 134, 142}; Volume(12) = {12}; - Surface Loop(13) = {146, 145, 24, 141, 147, 144}; Volume(13) = {13}; - Surface Loop(14) = {149, 150, 144, 135, 140, 148}; Volume(14) = {14}; - - Physical Volume("solid_volume") += {11,12,13,14}; - EndIf - - If (1==1) // Pin 3 solid - // pin 3 structured - // lower Pin3 - Point(341) = {length, width-InnerRadiusFactor*r_pin_lower, 0, gs}; // on outlet - Point(342) = {length-InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, width-InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower,0, gs}; - Point(343) = {length - InnerRadiusFactor*r_pin_lower, width, 0, gs}; // on sym - - // upper Pin3 - Point(344) = {length, width-InnerRadiusFactor*r_pin_upper, upper_h, gs}; // on outlet - Point(345) = {length-InnerRadiusFactor*Sin(30*rad2deg)*r_pin_upper, width-InnerRadiusFactor*Cos(30*rad2deg)*r_pin_upper,upper_h, gs}; - Point(346) = {length - InnerRadiusFactor*r_pin_upper, width, upper_h, gs}; // on sym - - // lines: inner pin to interface - Line(347) = {344, 131}; - Line(348) = {345, 132}; - Line(349) = {346, 133}; - Line(350) = {341, 31}; - Line(351) = {342, 32}; - Line(352) = {343, 33}; - - Line(353) = {344, 345}; // inner (not circle) - Line(354) = {345, 346}; - Line(355) = {341, 342}; - Line(356) = {342, 343}; - - Line(357) = {341, 344}; // in positive z-direction - Line(358) = {342, 345}; - Line(359) = {343, 346}; - Line(360) = {30, 130}; - - Line(361) = {341, 30}; //core part of the pin lines - Line(362) = {30, 343}; - Line(363) = {344, 130}; - Line(364) = {130, 346}; - - // structured parts - Transfinite Line {347,348,349,350,351,352} = N_y_innerPin Using Progression R_y_innerPin; // lines pointing into circle midpoint - Transfinite Line {353, 355, 362, 364} = N_x_flow/2; // circle arcs - Transfinite Line {354, 356, 361, 363} = N_x_flow; // circle arcs - Transfinite Line {357, 358, 359, 360} = N_z_flow Using Bump R_z_flow; // lines in z-direction - - //lineloops and surfaces - Line Loop(149) = {347, 130, -348, -353}; Plane Surface(151) = {149}; - Line Loop(150) = {354, 349, -131, -348}; Plane Surface(152) = {150}; - Line Loop(151) = {364, -354, -353, 363}; Plane Surface(153) = {151}; - Line Loop(152) = {350, 30, -351, -355}; Plane Surface(154) = {152}; - Line Loop(153) = {356, 352, -31, -351}; Plane Surface(155) = {153}; - Line Loop(154) = {362, -356, -355, 361}; Plane Surface(156) = {154}; - Line Loop(155) = {357, 353, -358, -355}; Plane Surface(157) = {155}; - Line Loop(156) = {358, 354, -359, -356}; Plane Surface(158) = {156}; - Line Loop(157) = {81, -347, -357, 350}; Plane Surface(159) = {157}; - Line Loop(158) = {357, 363, -360, -361}; Plane Surface(160) = {158}; - Line Loop(159) = {360, 364, -359, -362}; Plane Surface(161) = {159}; - Line Loop(160) = {359, 349, -83, -352}; Plane Surface(162) = {160}; - Line Loop(446) = {348, -82, -351, 358}; Plane Surface(446) = {446}; - - // surface loops - Surface Loop(15) = {151, 159, 26, 154, 446, 157}; Volume(15) = {15}; - Surface Loop(16) = {152, 162, 25, 155, 158, 446}; Volume(16) = {16}; - Surface Loop(17) = {153, 161, 160, 156, 157, 158}; Volume(17) = {17}; - - // physical suf/vol - Physical Volume("solid_volume") += {15,16,17}; - EndIf - - If (1==1) // Bottom block solid - // solid bottom (heater) part 400er range - // Lower Pin1 - Point(410) = {0, width, -lower_h, gs}; // lower pin1 midpoint - Point(411) = {0, width-r_pin_lower, -lower_h, gs}; // lower pin1 on inlet - Point(412) = {Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower, -lower_h, gs}; // lower pin1 in between - Point(413) = {r_pin_lower, width, -lower_h, gs}; // lower pin1 on sym - Circle(410) = {411,410,412}; // lower pin1 smaller first part - Circle(411) = {412,410,413}; // lower pin1 larger second part - - // Lower Pin2 - Point(420) = {0.5*length, 0, -lower_h, gs}; // pin midpoint - Point(421) = {0.5*length - r_pin_lower, 0, -lower_h, gs}; // lower small x - Point(422) = {length/2 - Sin(30*rad2deg)*r_pin_lower, Cos(30*rad2deg)*r_pin_lower, -lower_h, gs}; // small intermediate - Point(423) = {length/2 + Sin(30*rad2deg)*r_pin_lower, Cos(30*rad2deg)*r_pin_lower, -lower_h, gs}; // large intermediate - Point(424) = {0.5*length + r_pin_lower, 0, -lower_h, gs}; // lower large x - Circle(420) = {421,420,422}; // first segment - Circle(421) = {422,420,423}; // second segment - Circle(422) = {423,420,424}; // third segment - - // lower Pin3 - Point(430) = {length, width, -lower_h, gs}; // midpoint - Point(431) = {length, width-r_pin_lower, -lower_h, gs}; // on outlet - Point(432) = {length-Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower,-lower_h, gs}; - Point(433) = {length - r_pin_lower, width, -lower_h, gs}; // on sym - Circle(430) = {431,430,432}; // first segment - Circle(431) = {432,430,433}; // second segment - - // lower additional structured mesh points - Point(440) = {length/4 + Tan(30*rad2deg)*width/2, width, -lower_h, gs}; // first half, large y - Point(441) = {length/4 - Tan(30*rad2deg)*width/2, 0, -lower_h, gs}; // first half, small y - Point(442) = {length*3/4 - Tan(30*rad2deg)*width/2, width, -lower_h, gs}; // second half, large y - Point(443) = {length*3/4 + Tan(30*rad2deg)*width/2, 0, -lower_h, gs}; // second half, small y - Point(444) = {0, 0, -lower_h, gs}; // corner point inlet - Point(445) = {length, 0, -lower_h, gs}; // corner point outlet - - // lower additional structured mesh lines - // outer boundary - Line(440) = {411, 444}; - Line(441) = {444, 441}; - Line(442) = {441, 421}; - Line(443) = {443, 424}; - Line(444) = {443, 445}; - Line(445) = {445, 431}; - Line(446) = {433, 442}; - Line(447) = {442, 440}; - Line(448) = {440, 413}; - // inner lines - Line(449) = {441, 412}; - Line(450) = {441, 440}; - Line(451) = {422, 440}; - Line(452) = {423, 442}; - Line(453) = {442, 443}; - Line(454) = {443, 432}; - - // line loops and surfaces on lower domain interface - Line Loop(410) = {440, 441, 449, -410}; Plane Surface(410) = {410}; - Line Loop(411) = {-449, 450, 448, -411}; Plane Surface(411) = {411}; - Line Loop(412) = {442, 420, 451, -450}; Plane Surface(412) = {412}; - Line Loop(413) = {-451, 421, 452, 447}; Plane Surface(413) = {413}; - Line Loop(414) = {453, 443, -422, 452}; Plane Surface(414) = {414}; - Line Loop(415) = {453, 454, 431, 446}; Plane Surface(415) = {415}; - Line Loop(416) = {444, 445, 430, -454}; Plane Surface(416) = {416}; - - // No progression in flow direction on the pin surface - Transfinite Line {411,450,420,447,421,422,453,431} = N_x_flow; - Transfinite Line {410,441,430,444} = N_x_flow/2; - // Progression normal to the pin surface - Transfinite Line {440, -449, -448, -442, 451, 452, -443, 446, -454, -445} = N_y_flow Using Progression R_y_flow; - - // pin inner parts are in the 500-er range - // pin 1 lower - Point(501) = {InnerRadiusFactor*0, width-r_pin_lower*InnerRadiusFactor, -lower_h, gs}; // lower pin1 on inlet - Point(502) = {InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower*InnerRadiusFactor, -lower_h, gs}; // lower pin1 in between - Point(503) = {InnerRadiusFactor*r_pin_lower, width, -lower_h, gs}; // lower pin1 on sym - Line(501) = {501,502}; - Line(502) = {502,503}; - - Line(503) = {503, 413}; - Line(504) = {502, 412}; - Line(505) = {501, 411}; - Line(506) = {501, 410}; - Line(507) = {410, 503}; - // No progression in flow direction on the pin surface - Transfinite Line {502,506} = N_x_flow; - Transfinite Line {501,507} = N_x_flow/2; - Transfinite Line {503,504,505} = N_y_innerPin Using Progression R_y_innerPin; - - Line Loop(417) = {502, 503, -411, -504}; Plane Surface(417) = {417}; - Line Loop(418) = {501, 504, -410, -505}; Plane Surface(418) = {418}; - Line Loop(419) = {506, 507, -502, -501}; Plane Surface(419) = {419}; - - // Lower Pin2 - Point(520) = {0.5*length, 0, 0, gs}; // pin midpoint - Point(521) = {0.5*length - InnerRadiusFactor*r_pin_lower, InnerRadiusFactor*0, -lower_h, gs}; // lower small x - Point(522) = {length/2 - InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower, -lower_h, gs}; // small intermediate - Point(523) = {length/2 + InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower, -lower_h, gs}; // large intermediate - Point(524) = {0.5*length + InnerRadiusFactor*r_pin_lower, InnerRadiusFactor*0, -lower_h, gs}; // lower large x - Line(520) = {521,522}; // first segment - Line(521) = {522,523}; // second segment - Line(522) = {523,524}; // third segment - - Line(523) = {521, 421}; - Line(524) = {522, 422}; - Line(525) = {523, 423}; - Line(526) = {524, 424}; - Line(527) = {524, 521}; - - // structured parts - Transfinite Line {523,524,525,526} = N_y_innerPin Using Progression R_y_innerPin; // lines pointing into circle midpoint - Transfinite Line {520,521,522,527} = N_x_flow; // circle arcs - - Line Loop(420) = {523, 420, -524, -520}; Plane Surface(420) = {420}; - Line Loop(421) = {521, 525, -421, -524}; Plane Surface(421) = {421}; - Line Loop(422) = {522, 526, -422, -525}; Plane Surface(422) = {422}; - Line Loop(423) = {527, 520, 521, 522}; Plane Surface(423) = {423}; - - // lower Pin3 - Point(541) = {length, width-InnerRadiusFactor*r_pin_lower, -lower_h, gs}; // on outlet - Point(542) = {length-InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, width-InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower,-lower_h, gs}; - Point(543) = {length - InnerRadiusFactor*r_pin_lower, width, -lower_h, gs}; // on sym - - Line(528) = {541, 542}; - Line(529) = {542, 543}; - Line(530) = {543, 430}; - Line(531) = {430, 541}; - Line(532) = {541, 431}; - Line(533) = {542, 432}; - Line(534) = {543, 433}; - - // structured parts - Transfinite Line {532,533,534} = N_y_innerPin Using Progression R_y_innerPin; // lines pointing into circle midpoint - Transfinite Line {528,530} = N_x_flow/2; // circle arcs - Transfinite Line {529,531} = N_x_flow; // circle arcs - - Line Loop(424) = {532, 430, -533, -528}; Plane Surface(424) = {424}; - Line Loop(425) = {533, 431, -534, -529}; Plane Surface(425) = {425}; - Line Loop(426) = {531, 528, 529, 530}; Plane Surface(426) = {426}; - - // connecting lines in z-direction - Line(535) = {10, 410}; - Line(536) = {301, 501}; - Line(537) = {11, 411}; - Line(538) = {44, 444}; - Line(539) = {302, 502}; - Line(540) = {12, 412}; - Line(541) = {303, 503}; - Line(542) = {41, 441}; - Line(543) = {13, 413}; - Line(544) = {21, 421}; - Line(545) = {40, 440}; - Line(546) = {321, 521}; - Line(547) = {22, 422}; - Line(548) = {322, 522}; - Line(549) = {20, 20}; - Line(550) = {20, 20}; - Line(551) = {324, 524}; - Line(552) = {323, 523}; - Line(553) = {23, 423}; - Line(554) = {42, 442}; - Line(555) = {24, 424}; - Line(556) = {43, 443}; - Line(557) = {33, 433}; - Line(558) = {343, 543}; - Line(559) = {32, 432}; - Line(560) = {342, 542}; - Line(561) = {30, 430}; - Line(562) = {341, 541}; - Line(563) = {31, 431}; - Line(564) = {45, 445}; - Transfinite Line {535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564} = N_z_solid Using Progression R_z_solid; - - // lineloops and surfaces of solid inner - Line Loop(457) = {440, -538, -40, 537}; Plane Surface(457) = {457}; - Line Loop(458) = {538, 441, -542, -41}; Plane Surface(458) = {458}; - Line Loop(459) = {449, -540, -49, 542}; Plane Surface(459) = {459}; - Line Loop(460) = {537, 410, -540, -10}; Surface(460) = {460}; - Surface Loop(28) = {410, 457, 458, 459, 460, 10}; Volume(28) = {28}; - Line Loop(461) = {542, 450, -545, -50}; Plane Surface(461) = {461}; - Line Loop(462) = {448, -543, -48, 545}; Plane Surface(462) = {462}; - Line Loop(463) = {411, -543, -11, 540}; Surface(463) = {463}; - Surface Loop(29) = {411, 462, 463, 11, 461, 459}; Volume(29) = {29}; - Line Loop(464) = {542, 442, -544, -42}; Plane Surface(464) = {464}; - Line Loop(465) = {451, -545, -51, 547}; Plane Surface(465) = {465}; - Line Loop(466) = {547, -420, -544, 20}; Surface(466) = {466}; - Surface Loop(30) = {412, 464, 466, 465, 12, 461}; Volume(30) = {30}; - Line Loop(467) = {447, -545, -47, 554}; Plane Surface(467) = {467}; - Line Loop(468) = {452, -554, -52, 553}; Plane Surface(468) = {468}; - Line Loop(469) = {421, -553, -21, 547}; Surface(469) = {469}; - Surface Loop(31) = {413, 467, 13, 468, 469, 465}; Volume(31) = {31}; - Line Loop(470) = {453, -556, -53, 554}; Plane Surface(470) = {470}; - Line Loop(471) = {443, -555, -43, 556}; Plane Surface(471) = {471}; - Line Loop(472) = {422, -555, -22, 553}; Surface(472) = {472}; - Line Loop(473) = {454, -559, -54, 556}; Plane Surface(473) = {473}; - Surface Loop(32) = {414, 471, 472, 14, 470, 468}; Volume(32) = {32}; - Line Loop(474) = {446, -554, -46, 557}; Plane Surface(474) = {474}; - Line Loop(475) = {431, -557, -31, 559}; Surface(475) = {475}; - Surface Loop(33) = {415, 474, 15, 475, 473, 470}; Volume(33) = {33}; - Line Loop(476) = {444, -564, -44, 556}; Plane Surface(476) = {476}; - Line Loop(477) = {564, 445, -563, -45}; Plane Surface(477) = {477}; - Line Loop(478) = {430, -559, -30, 563}; Surface(478) = {478}; - Surface Loop(34) = {416, 476, 477, 478, 16, 473}; Volume(34) = {34}; - - Physical Volume("solid_volume") += {28,29,30,31,32,33,34}; - - If (1==1) // pin 1 inside lower block - // pin 1 - Line Loop(427) = {535, -506, -536, -305}; Plane Surface(427) = {427}; - Line Loop(428) = {507, -541, -307, 535}; Plane Surface(428) = {428}; - Line Loop(429) = {536, 505, -537, -306}; Plane Surface(429) = {429}; - Line Loop(430) = {503, -543, -308, 541}; Plane Surface(430) = {430}; - Line Loop(431) = {502, -541, -302, 539}; Plane Surface(431) = {431}; - Line Loop(432) = {501, -539, -301, 536}; Plane Surface(432) = {432}; - Line Loop(433) = {543, -411, -540, 11}; Surface(433) = {433}; - Line Loop(434) = {410, -540, -10, 537}; Surface(434) = {434}; - Line Loop(447) = {539, 504, -540, -318}; Plane Surface(447) = {447}; - - Surface Loop(18) = {34, 427, 428, 419, 431, 432}; Volume(18) = {18}; - Surface Loop(19) = {33, 418, 429, 434, 447, 432}; Volume(19) = {19}; - Surface Loop(20) = {417, 430, 433, 447, 32, 431}; Volume(20) = {20}; - - Physical Volume("solid_volume") += {18,19,20}; - EndIf - - If (1==1) // pin 2 inside lower block - // pin 2 - Line Loop(435) = {544, -523, -546, -333}; Plane Surface(435) = {435}; - Line Loop(436) = {546, -527, -551, 337}; Plane Surface(436) = {436}; - Line Loop(437) = {551, 526, -555, 336}; Plane Surface(437) = {437}; - Line Loop(438) = {520, -548, -320, 546}; Plane Surface(438) = {438}; - Line Loop(439) = {548, 521, -552, -321}; Plane Surface(439) = {439}; - Line Loop(440) = {552, 522, -551, -322}; Plane Surface(440) = {440}; - Line Loop(441) = {524, -547, 334, 548}; Plane Surface(441) = {441}; - Line Loop(442) = {553, -525, -552, -335}; Plane Surface(442) = {442}; - Line Loop(443) = {420, -547, -20, 544}; Surface(443) = {443}; - Line Loop(444) = {547, 421, -553, -21}; Surface(444) = {444}; - Line Loop(445) = {422, -555, -22, 553}; Surface(445) = {445}; - - // surface loops - Surface Loop(21) = {139, 435, 443, 420, 438, 441}; Volume(21) = {21}; - Surface Loop(22) = {439, 421, 441, 442, 444, 142}; Volume(22) = {22}; - Surface Loop(23) = {422, 437, 445, 440, 442, 147}; Volume(23) = {23}; - Surface Loop(24) = {423, 436, 438, 439, 440, 148}; Volume(24) = {24}; - - Physical Volume("solid_volume") += {21,22,23,24}; - EndIf - - If (1==1) // pin 3 inside lower block - Line Loop(448) = {531, -562, 361, 561}; Plane Surface(448) = {448}; - Line Loop(449) = {562, 528, -560, -355}; Plane Surface(449) = {449}; - Line Loop(450) = {529, -558, -356, 560}; Plane Surface(450) = {450}; - Line Loop(451) = {558, 530, -561, 362}; Plane Surface(451) = {451}; - Line Loop(452) = {532, -563, -350, 562}; Plane Surface(452) = {452}; - Line Loop(453) = {533, -559, -351, 560}; Plane Surface(453) = {453}; - Line Loop(454) = {534, -557, -352, 558}; Plane Surface(454) = {454}; - Line Loop(455) = {563, 430, -559, -30}; Surface(455) = {455}; - Line Loop(456) = {431, -557, -31, 559}; Surface(456) = {456}; - - Surface Loop(25) = {426, 448, 451, 450, 449, 156}; Volume(25) = {25}; - Surface Loop(26) = {424, 452, 455, 453, 154, 449}; Volume(26) = {26}; - Surface Loop(27) = {425, 454, 456, 450, 453, 155}; Volume(27) = {27}; - - Physical Volume("solid_volume") += {25,26,27}; - EndIf - - EndIf // Bottom Block solid - - Physical Surface("solid_sym_sides") = {451, 454, 474, 467, 462, 430, 428, 458, 464, 435, 436, 437, 471, 476, 150, 145, 132, 38, 29, 161, 162}; - Physical Surface("solid_pins_top") = {37, 36, 35, 138, 143, 149, 146, 152, 153, 151}; - //Physical Surface("solid_pin1_top") = {37, 36, 35}; - //Physical Surface("solid_pin2_top") = {138, 143, 149, 146}; - //Physical Surface("solid_pin3_top") = {152, 153, 151}; - Physical Surface("solid_bottom_heater") = {416, 424, 425, 415, 414, 426, 413, 421, 422, 423, 420, 412, 411, 410, 418, 417, 419}; - Physical Surface("solid_pin3_outlet") = {159, 160}; - Physical Surface("solid_pin1_inlet") = {28, 27}; - Physical Surface("solid_block_inlet") = {427, 429, 457}; - Physical Surface("solid_block_outlet") = {477, 452, 448}; - -EndIf - -// ------------------------------------------------------------------------- // -// Meshing -Coherence; -Transfinite Surface "*"; -Recombine Surface "*"; -Transfinite Volume "*"; - -If (Do_Meshing == 1) - Mesh 1; Mesh 2; Mesh 3; -EndIf - -// ------------------------------------------------------------------------- // -// Write .su2 meshfile -If (Write_mesh == 1) - - Mesh.Format = 42; // .su2 mesh format, - If (Which_Mesh_Part == 1) - Save "fluid.su2"; - ElseIf (Which_Mesh_Part == 2) - Save "solid.su2"; - Else - Printf("Unvalid Which_Mesh_Part variable for output writing."); - Abort; - EndIf - -EndIf - -// Write .cgns meshfile -//If (Write_mesh == 1) -// -// Mesh.Format = 32; // .cgns mesh format, -// If (Which_Mesh_Part == 1) -// Save "fluid.cgns"; -// ElseIf (Which_Mesh_Part == 2) -// Save "solid.cgns"; -// ElseIf (Which_Mesh_Part == 0) -// Save "fluid_and_solid.cgns"; -// Else -// Printf("Unvalid Which_Mesh_Part variable for output writing."); -// Abort; -// EndIf -// -//EndIf - diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/flow_0.meta b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/flow_0.meta deleted file mode 100644 index bce8e91620d3..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/flow_0.meta +++ /dev/null @@ -1,3 +0,0 @@ -ITER= 1 -INITIAL_BCTHRUST= 4000 -STREAMWISE_PERIODIC_PRESSURE_DROP=99.8798118961395 diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/flow_0.meta b/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/flow_0.meta deleted file mode 100644 index 2e44c828bdcf..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/flow_0.meta +++ /dev/null @@ -1,3 +0,0 @@ -ITER= 1 -INITIAL_BCTHRUST= 4000 -STREAMWISE_PERIODIC_PRESSURE_DROP=208.023676223299 diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/pipeslice.geo b/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/pipeslice.geo deleted file mode 100644 index 4a8d4815963d..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/pipeslice.geo +++ /dev/null @@ -1,113 +0,0 @@ -//-------------------------------------------------------------------------------------// -// T. Kattmann, 13.05.2018, 3D Butterfly mesh in a circular pipe -// Create the mesh by calling this geo file with 'gmsh .geo'. -//-------------------------------------------------------------------------------------// - -// Evoque Meshing Algorithm? -Do_Meshing= 1; // 0=false, 1=true -// Write Mesh files in .su2 format -Write_mesh= 1; // 0=false, 1=true - -//Geometric inputs, ch: channel, Pin center is origin -Radius= 0.5e-2; // Pipe Radius -InnerBox= Radius/2; // Distance to the inner Block of the butterfly mesh - -//Mesh inputs -gridsize = 0.1; // unimportant once everything is structured - -//ch_box -Nbox = 30; // Inner Box points in x direction - -Ncircu = 30; // Outer ring circu. points -Rcircu = 0.9; // Spacing towards wall - -sqrtTwo = Cos(45*Pi/180); - -//-------------------------------------------------------------------------------------// -//Points -// Inner Box -Point(1) = {-InnerBox, -InnerBox, 0, gridsize}; -Point(2) = {-InnerBox, InnerBox, 0, gridsize}; -Point(3) = {InnerBox, InnerBox, 0, gridsize}; -Point(4) = {InnerBox, -InnerBox, 0, gridsize}; - -// Outer Ring -Point(5) = {-Radius*sqrtTwo, -Radius*sqrtTwo, 0, gridsize}; -Point(6) = {-Radius*sqrtTwo, Radius*sqrtTwo, 0, gridsize}; -Point(7) = {Radius*sqrtTwo, Radius*sqrtTwo, 0, gridsize}; -Point(8) = {Radius*sqrtTwo, -Radius*sqrtTwo, 0, gridsize}; - -Point(9) = {0,0,0,gridsize}; // Helper Point for circles - -//-------------------------------------------------------------------------------------// -//Lines -//Inner Box (clockwise) -Line(1) = {1,2}; -Line(2) = {2,3}; -Line(3) = {3,4}; -Line(4) = {4,1}; - -//Walls (clockwise) -Circle(5) = {5, 9, 6}; -Circle(6) = {6, 9, 7}; -Circle(7) = {7, 9, 8}; -Circle(8) = {8, 9, 5}; - -//Connecting lines (outward facing) -Line(9) = {1, 5}; -Line(10) = {2, 6}; -Line(11) = {3, 7}; -Line(12) = {4, 8}; - -//-------------------------------------------------------------------------------------// -//Lineloops and surfaces -// Inner Box (clockwise) -Line Loop(1) = {1,2,3,4}; Plane Surface(1) = {1}; - -// Ring sections (clockwise starting at 9 o'clock) -Line Loop(2) = {5, -10, -1, 9}; Plane Surface(2) = {2}; -Line Loop(3) = {10, 6, -11, -2}; Plane Surface(3) = {3}; -Line Loop(4) = {-3, 11, 7, -12}; Plane Surface(4) = {4}; -Line Loop(5) = {12, 8, -9, -4}; Plane Surface(5) = {5}; - -//make structured mesh with transfinite lines -//radial -Transfinite Line{1, 2, 3, 4, 5, 6, 7, 8} = Nbox; -//circumferential -Transfinite Line{9, 10, 11, 12} = Ncircu Using Progression Rcircu; - -Transfinite Surface{1,2,3,4,5}; -Recombine Surface{1,2,3,4,5}; - -//Extrude 1 mesh layer -Extrude {0, 0, 0.0005} { - Surface{1}; Surface{2}; Surface{3}; Surface{4}; Surface{5}; - Layers{1}; - Recombine; -} -Coherence; - -//Physical groups made with GUI -Physical Surface("inlet") = {4, 1, 5, 3, 2}; -Physical Surface("outlet") = {100, 122, 56, 78, 34}; -Physical Surface("wall") = {69, 95, 113, 43}; -Physical Volume("fluid") = {1, 2, 3, 4, 5}; - -// ----------------------------------------------------------------------------------- // -// Meshing -Transfinite Surface "*"; -Recombine Surface "*"; - -If (Do_Meshing == 1) - Mesh 1; Mesh 2; Mesh 3; -EndIf - -// ----------------------------------------------------------------------------------- // -// Write .su2 meshfile -If (Write_mesh == 1) - - Mesh.Format = 42; // .su2 mesh format, - Save "pipe1cell3D.su2"; - -EndIf - diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/plots.py b/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/plots.py deleted file mode 100755 index 94378c4aa016..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/plots.py +++ /dev/null @@ -1,162 +0,0 @@ -#! /usr/bin/python3 -# --------------------------------------------------------------------------- # -# Kattmann, 16.07.2019 -# This python script provides some plots to test the match between analytical -# and simulated solution for a 3D circular laminar pipe flow, either from -# streamwise periodic simulation or the outlet of a suitable long pipe. -# -# requires: surface_flow.dat (SURFACE_TECPLOT_ASCII) in current directory -# -# output: plots (opened in separate window, not saved) -# -# optional: which plots to show -showLineplot = True -show2Dsurfaceplots = False -show3Dplots = False -# --------------------------------------------------------------------------- # -import numpy as np -import pandas as pd -import matplotlib.pyplot as plt - -from mpl_toolkits.mplot3d import Axes3D -from scipy.spatial import Delaunay -from scipy.interpolate import LinearNDInterpolator - -# --------------------------------------------------------------------------- # -# Import data from surface_flow.dat into pandas dataframe -data = pd.read_csv("surface_flow.dat", nrows=4264, skiprows=3, sep='\t', header=None) -x = data[0][:] -y = data[1][:] -vel_z = data[6][:] - -# Create Delaunay surface triangulation from scatterd dataset -points2D = np.vstack([x,y]).T -tri = Delaunay(points2D) - -# --------------------------------------------------------------------------- # -# Create analytic solution vector on the same points as the imported data -dynanmic_vsicosity = 1.8e-5 -pressure_drop = 1e-3 -domain_length = 5e-4 -radius = 5e-3 - -analytic_sol = -1/(4*dynanmic_vsicosity) * (-pressure_drop/domain_length) * \ - (radius**2 - ((x**2 + y**2)**(0.5))**2 ) - -perc_devi_from_anal = abs(analytic_sol - vel_z) / max(analytic_sol) * 100 -maxvel = max(abs(perc_devi_from_anal)) # get absolute maximum of dataset - -# --------------------------------------------------------------------------- # -# Plot velocity on line from domain midpoint to wall -if showLineplot: - plt.close() - - # interpolator (ip) for simulated and analytical dataset - ip_sim = LinearNDInterpolator(tri, vel_z) - ip_ana = LinearNDInterpolator(tri, analytic_sol) - # line (which lies on the x-axis) where values will be interpolated - n_sample_points = 30 - x_line = np.linspace(0, radius-5e-6, n_sample_points) - y_line = np.zeros(n_sample_points) - ip_pos = np.vstack((x_line,y_line)).T - - ax = plt.axes() - plt.plot(ip_sim(ip_pos), x_line, color='b', marker='', linestyle='--', linewidth=3, label='simulated') - plt.plot(ip_ana(ip_pos), x_line, color='r', marker='', linestyle=':' , linewidth=3, label='analytical') - plt.legend() - plt.title('Velocity profile: analytic vs simulated (interpolated values)') - plt.xlabel('velocity [m/s]') - plt.ylabel('radius [m]') - ax.set_aspect(aspect=max(ip_sim(ip_pos)) / max(x_line)) # make plot square - plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0)) - plt.grid(True, linestyle='--') - plt.show() - -# --------------------------------------------------------------------------- # -# Plot various 2D surface plots of sim. and analy. data -if show2Dsurfaceplots: - plt.close() - - fig, ax = plt.subplots(2,2) - - # 1. analytical solution - ax_tmp = ax[0,0] - - tcf = ax_tmp.tricontourf(x, y, abs(analytic_sol)) - ax_tmp.scatter(x,y, s=0.1, color='black', marker='.') - - ax_tmp.set_title("Analytical solution") - ax_tmp.set_aspect('equal') - fig.colorbar(tcf, ax=ax_tmp) - - # 2. simulated solution - ax_tmp = ax[1,0] - - tcf = ax_tmp.tricontourf(x, y, vel_z) - ax_tmp.scatter(x,y, s=0.1, color='black', marker='.') - - ax_tmp.set_title("Simulated solution") - ax_tmp.set_aspect('equal') - fig.colorbar(tcf, ax=ax_tmp) - - # 3. absolute value deviation between analytic and simulated - ax_tmp = ax[0,1] - - tcf = ax_tmp.tricontourf(x, y, abs(analytic_sol-vel_z), cmap=plt.cm.Greys) - ax_tmp.scatter(x,y, s=0.1, color='black', marker='.') - - ax_tmp.set_title("abs(analytic-simulated)") - ax_tmp.set_aspect('equal') - fig.colorbar(tcf, ax=ax_tmp) - - # 4. percentual deviation scaled by the maximal value - ax_tmp = ax[1,1] - - tcf = ax_tmp.tricontourf(x, y, perc_devi_from_anal, cmap=plt.cm.Greys, vmin=0.0, vmax=maxvel) - ax_tmp.scatter(x,y, s=0.1, color='black', marker='.') - - ax_tmp.set_title("abs(analytic-simulated) / max(analytic) * 100") - ax_tmp.set_aspect('equal') - fig.colorbar(tcf, ax=ax_tmp) - - plt.show() - -# --------------------------------------------------------------------------- # -if show3Dplots: - # Plot 3D surfaces of sim. and analy. data - plt.close() - - # Scatter plot deviation - fig = plt.figure() - ax = fig.gca(projection='3d') - - ax.scatter(x, y, perc_devi_from_anal) - ax.set_xlabel('x [m]') - ax.set_ylabel('y [m]') - ax.set_zlabel('z-Velocity deviation [%]') - - plt.show() - - # Surface plot deviation - fig = plt.figure() - ax = fig.gca(projection='3d') - - surf = ax.plot_trisurf(x, y, perc_devi_from_anal, triangles=tri.simplices, cmap='jet', linewidth=0) - ax.set_xlabel('x [m]') - ax.set_ylabel('y [m]') - ax.set_zlabel('z-Velocity deviation [%]') - fig.colorbar(surf) - - plt.show() - - # Surface plot of velocity - fig = plt.figure() - ax = fig.gca(projection='3d') - - surf = ax.plot_trisurf(x, y, vel_z, triangles=tri.simplices, cmap='jet', linewidth=0) - ax.set_xlabel('x [m]') - ax.set_ylabel('y [m]') - ax.set_zlabel('z-Velocity [m/s]') - fig.colorbar(surf) - - plt.show() diff --git a/TestCases/solid_heat_conduction/periodic_pins/chtPinArray_2d.geo b/TestCases/solid_heat_conduction/periodic_pins/chtPinArray_2d.geo deleted file mode 100644 index b837c196c90a..000000000000 --- a/TestCases/solid_heat_conduction/periodic_pins/chtPinArray_2d.geo +++ /dev/null @@ -1,430 +0,0 @@ -// ------------------------------------------------------------------------- // -// T. Kattmann, 18.06.2019, 2D 2 Zone mesh -// Create the mesh by calling this geo file with 'gmsh .geo'. -// For multizone mesh the zonal meshes have to be created using the first -// option 'Which_Mesh_Part' below and have to be married appropriatley. -// ------------------------------------------------------------------------- // - -// Which domain part should be handled -Which_Mesh_Part= 2; // 0=all, 1=Fluid, 2=Solid, 3=InterfaceOnly -// Add outlet diffusor -OutletDiffusor= 0; // 0=false, 1=true -// Evoque Meshing Algorithm? -Do_Meshing= 1; // 0=false, 1=true -// Write Mesh files in .su2 format -Write_mesh= 1; // 0=false, 1=true -// Mesh Resolution -Mesh_Resolution= 2; // 0=debugRes, 1=Res1, 2=Res2 -// show the FFD corner points -FFD_corner_point= 1; // 0=false, 1=true - -// Free parameters -scale_factor= 1e-3; // scales Point positions from [mm] to [m] with 1e-3 -dist= 6.44 * scale_factor; // distance between pin midpoints, each pin has 6 surrounding pins, i.e. 60 deg between each -r_pin_lower= 2.0 * scale_factor; // lower pin radius -InnerRadiusFactor= 0.3; // Thickness of the pin solid (0.9=small pin wall, 0.1= close to filled circle arc). Requires 0 < value < 1. -// Diffusor inputs are below in the respective section - -// Dependent parameters -rad2deg= Pi/180; // conversion factor as gmsh Cos/Sin functions take radian values -length= 2 * Cos(30*rad2deg)*dist; // domain length (in x-dir) -width= Sin(30*rad2deg)*dist; // domain width (in y-dir) - -Printf("==================================="); -Printf("Free parameters:"); -Printf("-> distance between pins: %g", dist); -Printf("-> lower pin radius: %g", r_pin_lower); -Printf("Dependent parameters"); -Printf("-> length: %g", length); -Printf("-> width: %g", width); -Printf("==================================="); - -// Mesh inputs -gs = 0.5 *scale_factor; // gridsize - -If(Mesh_Resolution==0) // debugRes - // interface meshing parameteres. Also sufficient for fluid domain meshing. - N_x_flow= 10; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. - - N_y_flow = 10; // #gridpoints normal to pin surface, y-direction - R_y_flow= 1.08; // Progression normal to pin surface - - N_z_flow= 20; // #gridpoints in height z-direction - R_z_flow= 0.05; // Bump in height as top and bottom are walls - - // Additional meshing parameters for solid domain - N_y_innerPin= 5; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin - R_y_innerPin= 0.93; // Progression towards interface - N_z_solid= 10; // #points from bottom interface to heater surface - R_z_solid= 1.18; // progression for N_z_solid - -ElseIf(Mesh_Resolution==1) // Res1 - // interface meshing parameteres. Also sufficient for fluid domain meshing. - N_x_flow= 20; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. - - N_y_flow = 40; // #gridpoints normal to pin surface, y-direction - R_y_flow= 1.08; // Progression normal to pin surface - - N_z_flow= 100; // #gridpoints in height z-direction - R_z_flow= 0.05; // Bump in height as top and bottom are walls - - // Additional meshing parameters for solid domain - N_y_innerPin= 30; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin - R_y_innerPin= 0.93; // Progression towards interface - N_z_solid= 20; // #points from bottom interface to heater surface - R_z_solid= 1.18; // progression for N_z_solid - -ElseIf(Mesh_Resolution==2) // Res2 - // interface meshing parameteres. Also sufficient for fluid domain meshing. - N_x_flow= 30; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. - - N_y_flow = 50; // #gridpoints normal to pin surface, y-direction - R_y_flow= 1.08; // Progression normal to pin surface - - N_z_flow= 200; // #gridpoints in height z-direction - R_z_flow= 0.05; // Bump in height as top and bottom are walls - - // Additional meshing parameters for solid domain - N_y_innerPin= 40; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin - R_y_innerPin= 0.91; // Progression towards interface - N_z_solid= 30; // #points from bottom interface to heater surface - R_z_solid= 1.18; // progression for N_z_solid - -EndIf - -// Feasability checks -If (r_pin_lower >= width || - r_pin_lower <= 0) - Printf("Aborting! Bad Inputs"); - Abort; -EndIf - -// Show and print possible FFD corner points -If (FFD_corner_point==1) - boxFactor= 1.3; - - xLo= 0.5*length - boxFactor*r_pin_lower; - xHi= 0.5*length + boxFactor*r_pin_lower; - yLo= 0; - yHi= boxFactor*r_pin_lower; - - // counterclockwise from lowest x&y value - Printf("==================================="); - Printf("FFD corner points:"); - Printf("%g | %g", xLo, yLo); - Printf("%g | %g", xHi, yLo); - Printf("%g | %g", xHi, yHi); - Printf("%g | %g", xLo, yHi); - Printf("==================================="); - - Point(1000) = {xLo, yLo, 0, gs}; - Point(1001) = {xHi, yLo, 0, gs}; - Point(1002) = {xHi, yHi, 0, gs}; - Point(1003) = {xLo, yHi, 0, gs}; - - Line(1000) = {1000,1001}; - Line(1001) = {1001,1002}; - Line(1002) = {1002,1003}; - Line(1003) = {1003,1000}; -EndIf - -// ------------------------------------------------------------------------- // -// CHT Interface, complete description as it is part of fluid and solid -// Id's starting with in the range (1-99) -// Interface only description -If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1 || Which_Mesh_Part == 2 || Which_Mesh_Part == 3) - // Points - // Lower Pin1 - Point(10) = {0, width, 0, gs}; // lower pin1 midpoint - Point(11) = {0, width-r_pin_lower, 0, gs}; // lower pin1 on inlet - Point(12) = {Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower, 0, gs}; // lower pin1 in between - Point(13) = {r_pin_lower, width, 0, gs}; // lower pin1 on sym - Circle(10) = {11,10,12}; // lower pin1 smaller first part - Circle(11) = {12,10,13}; // lower pin1 larger second part - - // Lower Pin2 - Point(20) = {0.5*length, 0, 0, gs}; // pin midpoint - Point(21) = {0.5*length - r_pin_lower, 0, 0, gs}; // lower small x - Point(22) = {length/2 - Sin(30*rad2deg)*r_pin_lower, Cos(30*rad2deg)*r_pin_lower, 0, gs}; // small intermediate - Point(23) = {length/2 + Sin(30*rad2deg)*r_pin_lower, Cos(30*rad2deg)*r_pin_lower, 0, gs}; // large intermediate - Point(24) = {0.5*length + r_pin_lower, 0, 0, gs}; // lower large x - Circle(20) = {21,20,22}; // first segment - Circle(21) = {22,20,23}; // second segment - Circle(22) = {23,20,24}; // third segment - - // lower Pin3 - Point(30) = {length, width, 0, gs}; // midpoint - Point(31) = {length, width-r_pin_lower, 0, gs}; // on outlet - Point(32) = {length-Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower,0, gs}; - Point(33) = {length - r_pin_lower, width, 0, gs}; // on sym - Circle(30) = {31,30,32}; // first segment - Circle(31) = {32,30,33}; // second segment - - // No progression in flow direction on the pin surface - Transfinite Line {11,20,21,22,31} = N_x_flow; - Transfinite Line {10,30} = N_x_flow/2; - - //Physical Tags - If (Which_Mesh_Part==1) - Physical Line("fluid_pin1_interface") = {10, 11}; - Physical Line("fluid_pin2_interface") = {20, 21, 22}; - Physical Line("fluid_pin3_interface") = {30, 31}; - - ElseIf (Which_Mesh_Part==2) - Physical Line("solid_pin1_interface") = {10, 11}; - Physical Line("solid_pin2_interface") = {20, 21, 22}; - Physical Line("solid_pin3_interface") = {30, 31}; - - EndIf - -EndIf - -// ------------------------------------------------------------------------- // -// Fluid only description -If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1) - - // lower additional structured mesh points - Point(40) = {length/4 + Tan(30*rad2deg)*width/2, width, 0, gs}; // first half, large y - Point(41) = {length/4 - Tan(30*rad2deg)*width/2, 0, 0, gs}; // first half, small y - Point(42) = {length*3/4 - Tan(30*rad2deg)*width/2, width, 0, gs}; // second half, large y - Point(43) = {length*3/4 + Tan(30*rad2deg)*width/2, 0, 0, gs}; // second half, small y - Point(44) = {0, 0, 0, gs}; // corner point inlet - Point(45) = {length, 0, 0, gs}; // corner point outlet - - // lower additional structured mesh lines - // outer boundary - Line(40) = {11, 44}; - Line(41) = {44, 41}; - Line(42) = {41, 21}; - Line(43) = {43, 24}; - Line(44) = {43, 45}; - Line(45) = {45, 31}; - Line(46) = {33, 42}; - Line(47) = {42, 40}; - Line(48) = {40, 13}; - // inner lines - Line(49) = {41, 12}; - Line(50) = {41, 40}; - Line(51) = {22, 40}; - Line(52) = {23, 42}; - Line(53) = {42, 43}; - Line(54) = {43, 32}; - - // line loops and surfaces on lower domain interface - Line Loop(10) = {40, 41, 49, -10}; Plane Surface(10) = {10}; - Line Loop(11) = {-49, 50, 48, -11}; Plane Surface(11) = {11}; - Line Loop(12) = {42, 20, 51, -50}; Plane Surface(12) = {12}; - Line Loop(13) = {-51, 21, 52, 47}; Plane Surface(13) = {13}; - Line Loop(14) = {53, 43, -22, 52}; Plane Surface(14) = {14}; - Line Loop(15) = {53, 54, 31, 46}; Plane Surface(15) = {15}; - Line Loop(16) = {44, 45, 30, -54}; Plane Surface(16) = {16}; - - // No progression in flow direction on the pin surface - Transfinite Line {50,47,53} = N_x_flow; - Transfinite Line {41,44} = N_x_flow/2; - // Progression normal to the pin surface - Transfinite Line {40, -49, -48, -42, 51, 52, -43, 46, -54, -45} = N_y_flow Using Progression R_y_flow; - - // Physical tags - Physical Line("fluid_inlet") = {40}; - If(OutletDiffusor==0) Physical Line("fluid_outlet") = {45}; EndIf // - Physical Line("fluid_symmetry") = {41,42,43,44,46,47,48}; - Physical Surface("fluid_surf") = {10,11,12,13,14,15,16}; - -EndIf - -// ------------------------------------------------------------------------- // -// Solid only description -If (Which_Mesh_Part == 0 || Which_Mesh_Part == 2) - - If(1==1) // Pin1 solid - // Solid inner pin 1 and bottom300-er range - // pin 1 - Point(301) = {InnerRadiusFactor*0, width-r_pin_lower*InnerRadiusFactor, 0, gs}; // lower pin1 on inlet - Point(302) = {InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower*InnerRadiusFactor, 0, gs}; // lower pin1 in between - Point(303) = {InnerRadiusFactor*r_pin_lower, width, 0, gs}; // lower pin1 on sym - Circle(301) = {301,10,302}; - Circle(302) = {302,10,303}; - - // pin 1 additional lines - Line(306) = {301, 11}; - Line(307) = {302, 12}; - Line(308) = {303, 13}; - - Curve Loop(17) = {306, 10, -307, -301}; Surface(17) = {17}; - Curve Loop(18) = {302, 308, -11, -307}; Surface(18) = {18}; - - Transfinite Line {302} = N_x_flow; - Transfinite Line {301} = N_x_flow/2; - Transfinite Line {306,307,308} = N_y_innerPin Using Progression R_y_innerPin; - - Physical Line("solid_pin1_inner") = {301,302}; - Physical Line("solid_pin1_walls") = {308}; - Physical Line("solid_pin1_periodic") = {306}; - Physical Surface("solid_surf") = {17,18}; - - EndIf - - If(1==1) // Pin2 solid - // Solid inner half pin 2 and bottome300-er range (copied from interface and solid pin parts) - // Lower Pin2 - Point(320) = {0.5*length, 0, 0, gs}; // pin midpoint - Point(321) = {0.5*length - InnerRadiusFactor*r_pin_lower, InnerRadiusFactor*0, 0, gs}; // lower small x - Point(322) = {length/2 - InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower, 0, gs}; // small intermediate - Point(323) = {length/2 + InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower, 0, gs}; // large intermediate - Point(324) = {0.5*length + InnerRadiusFactor*r_pin_lower, InnerRadiusFactor*0, 0, gs}; // lower large x - Circle(320) = {321,20,322}; // first segment - Circle(321) = {322,20,323}; // second segment - Circle(322) = {323,20,324}; // third segment - - // pin 2 additional connecting lines - Line(333) = {21, 321}; // lower - Line(334) = {22, 322}; - Line(335) = {23, 323}; - Line(336) = {24, 324}; - - Curve Loop(19) = {333, 320, -334, -20}; Surface(19) = {19}; - Curve Loop(20) = {21, 335, -321, -334}; Surface(20) = {20}; - Curve Loop(21) = {322, -336, -22, 335}; Surface(21) = {21}; - - // structured parts - Transfinite Line {-333, -334, -335, -336} = N_y_innerPin Using Progression R_y_innerPin; // lines pointing into circle midpoint - Transfinite Line {320, 321, 322} = N_x_flow; // circle arcs - - Physical Line("solid_pin2_inner") = {320,321,322}; - Physical Line("solid_pin2_walls") = {333, 336}; - Physical Surface("solid_surf") += {19,20,21}; - - EndIf - - If(1==1) // Pin3 solid - // pin 3 structured - // lower Pin3 - Point(341) = {length, width-InnerRadiusFactor*r_pin_lower, 0, gs}; // on outlet - Point(342) = {length-InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, width-InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower,0, gs}; - Point(343) = {length - InnerRadiusFactor*r_pin_lower, width, 0, gs}; // on sym - Circle(350) = {341, 30, 342}; - Circle(351) = {342, 30, 343}; - - // pin 3 additional connecting lines - Line(352) = {341, 31}; - Line(353) = {342, 32}; - Line(354) = {343, 33}; - - Curve Loop(22) = {354, -31, -353, 351}; Surface(22) = {22}; - Curve Loop(23) = {350, 353, -30, -352}; Surface(23) = {23}; - - Transfinite Line {351} = N_x_flow; - Transfinite Line {350} = N_x_flow/2; - Transfinite Line {352,353,354} = N_y_innerPin Using Progression R_y_innerPin; - - Physical Line("solid_pin3_inner") = {351,350}; - Physical Line("solid_pin3_walls") = {354}; - If(OutletDiffusor==0) Physical Line("solid_pin3_periodic") = {352}; EndIf - Physical Surface("solid_surf") += {22,23}; - - EndIf - -EndIf - -// ------------------------------------------------------------------------- // -// Outlet Diffusor description (200er range) -If (OutletDiffusor == 1) - - diffusorLength= 0.005; // length from old to new outlet - diffusorShrinkFactor= 0.8; // (new outlet height)/(old outlet height) - - // CHT Interface definition - If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1 || Which_Mesh_Part == 2 || Which_Mesh_Part == 3) - Point(201) = {length+diffusorLength, (width-r_pin_lower)*diffusorShrinkFactor,0,gs}; // top right - Line(200) = {31,201}; - - Transfinite Line {200} = N_x_flow*2; - - //Physical Tags - If (Which_Mesh_Part==1) - Physical Line("fluid_pin3_interface_diffusor") = {200}; - ElseIf (Which_Mesh_Part==2) - Physical Line("solid_pin3_interface_diffusor") = {200}; - EndIf - - EndIf - - // Fluid Part - If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1) - Point(200) = {length+diffusorLength,0,0,gs}; // bottom right - - Line(201) = {45,200}; - Line(202) = {201,200}; // new outlet - - Curve Loop(24) = {200, 202, -201, 45}; Plane Surface(24) = {24}; - - // make structured - // No progression in flow direction on the pin surface - Transfinite Line {201} = N_x_flow*2; - // Progression normal to the pin surface - Transfinite Line {202} = N_y_flow Using Progression R_y_flow; - - // Physical tags - Physical Line("fluid_outlet") = {202}; - Physical Line("fluid_symmetry") += {201}; - Physical Surface("fluid_surf") += {24}; - - EndIf - - // Solid Part - If (Which_Mesh_Part == 0 || Which_Mesh_Part == 2) - Point(210) = {length+diffusorLength, ((width-r_pin_lower)*diffusorShrinkFactor)+(width-r_pin_lower),0,gs}; // top right - - Line(210) = {341,210}; - Line(211) = {210,201}; - - Curve Loop(25) = {210, 211, -200, -352}; Plane Surface(25) = {25}; - - Transfinite Line {210} = N_x_flow*2; - Transfinite Line {211} = N_y_innerPin Using Progression R_y_innerPin; - - Physical Line("solid_pin3_inner_diffusor") = {210}; - Physical Line("solid_pin3_walls") += {211}; - Physical Surface("solid_surf") += {25}; - - EndIf - -EndIf - -// ------------------------------------------------------------------------- // -// Meshing -Coherence; -Transfinite Surface "*"; -Recombine Surface "*"; -Transfinite Volume "*"; - -If (Do_Meshing == 1) - Mesh 1; Mesh 2; Mesh 3; -EndIf - -// ------------------------------------------------------------------------- // -// Write .su2 meshfile -If (Write_mesh == 1) - - Mesh.Format = 42; // .su2 mesh format, - If (Which_Mesh_Part == 1) - If (OutletDiffusor==0) - Save "fluid.su2"; - Else - Save "fluid_diffusor.su2"; - EndIf - - ElseIf (Which_Mesh_Part == 2) - If (OutletDiffusor==0) - Save "solid.su2"; - Else - Save "solid_diffusor.su2"; - EndIf - - Else - Printf("Unvalid Which_Mesh_Part variable for output writing."); - Abort; - EndIf - -EndIf diff --git a/TestCases/species_transport/passive_transport_validation/rectangle_mixing.geo b/TestCases/species_transport/passive_transport_validation/rectangle_mixing.geo deleted file mode 100644 index 5b1c90ef1811..000000000000 --- a/TestCases/species_transport/passive_transport_validation/rectangle_mixing.geo +++ /dev/null @@ -1,92 +0,0 @@ -// ----------------------------------------------------------------------------------- // -// Tobias Kattmann, 24.09.2021, 2D rectangle for mixing validation testcase -// ----------------------------------------------------------------------------------- // - -// Evoque Meshing Algorithm? -Do_Meshing= 1; // 0=false, 1=true -// Write Mesh files in .su2 format -Write_mesh= 1; // 0=false, 1=true - -// Geometric inputs -length= 10; // downstream direction -height= 5; // crossstream direction, full length -border= 1; // height of gas inlet, height-border= air inlet length - -// Mesh sizing inputs. Note that the #cells+Prgression needs some fiddeling such that mesh size at the border fits. -Nl= 50; // Nodes in 'l'ength direction -Nhg= 25; // Nodes in 'h eight direction of the 'g'as side -Rhg= 0.9; // Progression of gas side [0,1], lower means more agressive -Nha= 40; // Nodes in 'h eight direction of the 'a'ir side -Rha= 0.9; // Progression of air side [0,1], lower means more agressive - -gridsize= 0.1; // Later on not important as structured mesh is achieved - -// ----------------------------------------------------------------------------------- // -// POINTS - -// Starting in the origin, which is the most low-left point, and going clockwise. - -Point(1) = {0, 0, 0, gridsize}; -Point(2) = {0, border, 0, gridsize}; -Point(3) = {0, height, 0, gridsize}; -Point(4) = {length, height, 0, gridsize}; -Point(5) = {length, border, 0, gridsize}; -Point(6) = {length, 0, 0, gridsize}; - -// ----------------------------------------------------------------------------------- // -// LINES - -// gas inlet -Line(1) = {1,2}; -// air inlet -Line(2) = {2,3}; -// top sym -Line(3) = {3,4}; -// air outlet -Line(4) = {4,5}; -// gas outlet -Line(5) = {5,6}; -// bottom sym -Line(6) = {6,1}; -// species border -Line(7) = {2,5}; - -// ----------------------------------------------------------------------------------- // -// SURFACES (and Lineloops) -Curve Loop(1) = {6, 1, 7, 5}; Plane Surface(1) = {1}; // gas box -Curve Loop(2) = {3, 4, -7, 2}; Plane Surface(2) = {2}; // air box - -// make structured mesh with transfinite Lines -// NOTE: The usage of Nwall and the progression has to be tuned again for any changes. -Transfinite Line{3,-6,7} = Nl ; // downstream direction, no progression -Transfinite Line{1,-5} = Nhg Using Progression Rhg; // gas side, progression towards border -Transfinite Line{-2,4} = Nha Using Progression Rha; // air side, progression towards border - -// ----------------------------------------------------------------------------------- // -// PHYSICAL GROUPS - -Physical Line("gas_inlet") = {1}; -Physical Line("air_inlet") = {2}; -Physical Line("outlet") = {4,5}; -Physical Line("top") = {3}; -Physical Line("bottom") = {6}; - -Physical Surface("fluid") = {1,2}; - -// ----------------------------------------------------------------------------------- // -// Meshing -Transfinite Surface "*"; -Recombine Surface "*"; - -If (Do_Meshing == 1) - Mesh 1; Mesh 2; -EndIf - -// ----------------------------------------------------------------------------------- // -// Write .su2 meshfile -If (Write_mesh == 1) - - Mesh.Format = 42; // .su2 mesh format, - Save "rectangle_mixing.su2"; - -EndIf diff --git a/TestCases/species_transport/venturi_primitive_3species/primitiveVenturi.geo b/TestCases/species_transport/venturi_primitive_3species/primitiveVenturi.geo deleted file mode 100644 index dea978f5a48a..000000000000 --- a/TestCases/species_transport/venturi_primitive_3species/primitiveVenturi.geo +++ /dev/null @@ -1,111 +0,0 @@ -// ----------------------------------------------------------------------------------- // -// Tobias Kattmann, 09.09.2021, 2D Venturi Primitive for faster debugging -// ----------------------------------------------------------------------------------- // - -// Evoque Meshing Algorithm? -Do_Meshing= 1; // 0=false, 1=true -// Write Mesh files in .su2 format -Write_mesh= 1; // 0=false, 1=true - -// Geometric inputs -gas_inlet_diameter= 0.015; -air_inlet_diameter= 0.015; -gas_tube_length=0.045; -air_tube_length=0.045; -downstream_length= 0.09; - -// Mesh sizing inputs -Nwall= 30; // Nodes for all spacings -gridsize= 0.1; // Later on not important as structured mesh is achieved - -// ----------------------------------------------------------------------------------- // -// POINTS - -// Starting in the origin, which is the most low-left point, and going clockwise. -// Gas inlet -Point(1) = {0, 0, 0, gridsize}; -Point(2) = {0, gas_inlet_diameter, 0, gridsize}; -// -Point(3) = {gas_tube_length, gas_inlet_diameter, 0, gridsize}; -// Air inlet -Point(4) = {gas_tube_length, gas_inlet_diameter+air_tube_length, 0, gridsize}; -Point(5) = {gas_tube_length+air_inlet_diameter, gas_inlet_diameter+air_tube_length, 0, gridsize}; -// -Point(6) = {gas_tube_length+air_inlet_diameter, gas_inlet_diameter, 0, gridsize}; -// outlet -Point(7) = {gas_tube_length+air_inlet_diameter+downstream_length, gas_inlet_diameter, 0, gridsize}; -Point(8) = {gas_tube_length+air_inlet_diameter+downstream_length, 0, 0, gridsize}; -// -Point(9) = {gas_tube_length+air_inlet_diameter, 0, 0, gridsize}; -Point(10) = {gas_tube_length, 0, 0, gridsize}; - -// ----------------------------------------------------------------------------------- // -// LINES - -// Gas inlet box, clockwise -Line(1) = {1,2}; -Line(2) = {2,3}; -Line(3) = {3,10}; -Line(4) = {10,1}; - -// air inlet box, clockwise -Line(5) = {3,4}; -Line(6) = {4,5}; -Line(7) = {5,6}; -Line(8) = {6,3}; - -// downstream box, clockwise -Line(9) = {6,7}; -Line(10) = {7,8}; -Line(11) = {8,9}; -Line(12) = {9,6}; - -// remaining lower middle box line -Line(13) = {9,10}; - -// ----------------------------------------------------------------------------------- // -// SURFACES (and Lineloops) -Curve Loop(1) = {1, 2, 3, 4}; Plane Surface(1) = {1}; // Gas inlet box -Curve Loop(2) = {5, 6, 7, 8}; Plane Surface(2) = {2}; // air inlet box -Curve Loop(3) = {9, 10, 11, 12}; Plane Surface(3) = {3}; // downstream box -Curve Loop(4) = {8, 3, -13, 12}; Plane Surface(4) = {4}; // middle box - -// make structured mesh with transfinite Lines -// NOTE: The usage of Nwall and the progression has to be tuned again for any changes. -Transfinite Line{1,-3,12,-10} = Nwall Using Progression 0.9; // Spacing to the wall of the long tube, progression towards top wall -Transfinite Line{2,-4} = Nwall Using Progression 0.9; // Downstream spacing of gas inlet, progression towards air inlet - -Transfinite Line{6,-8,-13} = Nwall Using Bump 0.1; // Spacing to the wall of the air inlet tube, progression towards side walls -Transfinite Line{-5,7} = Nwall Using Progression 0.9; // Downstream spacing of air inlet, progression towards gas inlet - -Transfinite Line{-9,11} = Nwall Using Progression 0.9; // Downstream spacing of air inlet, progressio - -// ----------------------------------------------------------------------------------- // -// PHYSICAL GROUPS - -Physical Line("gas_inlet") = {1}; -Physical Line("air_axial_inlet") = {6}; -Physical Line("outlet") = {10}; -Physical Line("axis") = {4,13,11}; -Physical Line("wall") = {2,5,7,9}; - -Physical Surface("fluid") = {1,2,3,4}; - -// ----------------------------------------------------------------------------------- // -// Meshing -Transfinite Surface "*"; -Recombine Surface "*"; - -If (Do_Meshing == 1) - Mesh 1; Mesh 2; -EndIf - -// ----------------------------------------------------------------------------------- // -// Write .su2 meshfile -If (Write_mesh == 1) - - Mesh.Format = 42; // .su2 mesh format, - Save "primitiveVenturi.su2"; - -EndIf - diff --git a/TestCases/turbomachinery/transonic_stator_2D/history b/TestCases/turbomachinery/transonic_stator_2D/history deleted file mode 100644 index ce1122492f1c..000000000000 --- a/TestCases/turbomachinery/transonic_stator_2D/history +++ /dev/null @@ -1,22 +0,0 @@ -"Iteration","Buffet_Metric","TotalPressureLoss_1","KineticEnergyLoss_1","EntropyGen_1","EulerianWork_1","PressureRatio_1","FlowAngleIn_1","FlowAngleOut_1","AbsFlowAngleIn_1","AbsFlowAngleOut_1","MassFlowIn_1","MassFlowOut_1","MachIn_1","MachOut_1","TotalEfficiency_1","TotalStaticEfficiency_1","Res_Flow[0]","Res_Flow[1]","Res_Flow[2]","Res_Flow[3]","Res_Flow[4]","Res_Turb[0]","Res_Turb[1]","CL_airfoil","CD_airfoil","CSF_airfoil","CL/CD_airfoil","CFx_airfoil","CFy_airfoil","CFz_airfoil","CMx_airfoil","CMy_airfoil","CMz_airfoil","Buffet_Metric_airfoil","Linear_Solver_Iterations","CFL_Number","Time(min)" - 0, 0.0500298596, 0.0369565909, 0.0000295143, -1.1234829240, 0.9824255931, -0.0002434194, -74.8649087731, -0.0002434194, -74.8649087731, 1651.1107079070, 1650.9864894499, 0.1711305519, 0.9967558787, 0.0000000000, 0.0000000000, -7.35200770e+00, -2.68945799e+00, -2.26694567e+00, -1.04821396e+00, 0.00000000e+00, -1.1363352934, 5.9056208458, -4.7971264101, 4.1976959918, 0.0000000000, -1.1427998644, 5.9435208733, 2.3038300854, 0.0000000000, 0.0000000000, 0.0000000000, 0.1708586116, 0.1324799764, 5.0000000000, 40.0000000000, 0.0011775573 - 1, 0.0500298824, 0.0369570938, 0.0000295144, -1.1243076350, 0.9824255858, -0.0002434192, -74.8649074803, -0.0002434192, -74.8649074803, 1651.1107083308, 1650.9866121795, 0.1711305520, 0.9967558500, 0.0000000000, 0.0000000000, -6.06646744e+00, -2.24744368e+00, -1.88371577e+00, 4.44211904e-02, 0.00000000e+00, -0.4268169761, 5.5348065118, -4.7971323159, 4.1976795393, 0.0000000000, -1.1428057504, 5.9435207958, 2.3038126053, 0.0000000000, 0.0000000000, 0.0000000000, 0.1708579936, 0.1324799764, 5.0000000000, 40.0000000000, 0.0024096627 - 2, 0.0500300178, 0.0369580498, 0.0000295152, -1.1301107937, 0.9824255435, -0.0002434086, -74.8648896889, -0.0002434086, -74.8648896889, 1651.1107298559, 1650.9884173262, 0.1711305545, 0.9967556385, 0.0000000000, 0.0000000000, -4.91731162e+00, -1.88079762e+00, -1.54408767e+00, 1.17883377e+00, 0.00000000e+00, -0.1353394992, 5.2673589206, -4.7972113666, 4.1975382127, 0.0000000000, -1.1428630601, 5.9435467426, 2.3036527648, 0.0000000000, 0.0000000000, 0.0000000000, 0.1708531841, 0.1324799764, 5.0000000000, 40.0000000000, 0.0035879053 - 3, 0.0500296676, 0.0369587278, 0.0000295165, -1.1422635531, 0.9824256861, -0.0002433521, -74.8648099153, -0.0002433521, -74.8648099153, 1651.1109280703, 1650.9971401984, 0.1711305774, 0.9967551979, 0.0000000000, 0.0000000000, -4.11700039e+00, -1.67245252e+00, -1.30161239e+00, 1.97879310e+00, 0.00000000e+00, 0.0590488942, 5.0423767897, -4.7974445025, 4.1972473642, 0.0000000000, -1.1429977998, 5.9436663427, 2.3032997194, 0.0000000000, 0.0000000000, 0.0000000000, 0.1708453893, 0.1324799764, 5.0000000000, 40.0000000000, 0.0047896634 - 4, 0.0500299983, 0.0369614146, 0.0000295186, -1.1576612592, 0.9824255978, -0.0002435979, -74.8646168879, -0.0002435979, -74.8646168879, 1651.1116983505, 1651.0174574153, 0.1711306642, 0.9967542411, 0.0000000000, 0.0000000000, -3.88148968e+00, -1.51924828e+00, -1.13916943e+00, 2.21377695e+00, 0.00000000e+00, 0.1957587761, 4.8341671148, -4.7978793746, 4.1967628894, 0.0000000000, -1.1432333684, 5.9439092886, 2.3026957270, 0.0000000000, 0.0000000000, 0.0000000000, 0.1708339570, 0.1324799764, 5.0000000000, 40.0000000000, 0.0059916742 - 5, 0.0500337413, 0.0369663085, 0.0000295217, -1.1647835542, 0.9824243054, -0.0002447018, -74.8642900691, -0.0002447018, -74.8642900691, 1651.1136589059, 1651.0497519715, 0.1711308813, 0.9967520994, 0.0000000000, 0.0000000000, -3.69469136e+00, -1.40468251e+00, -1.01554993e+00, 2.40088933e+00, 0.00000000e+00, 0.2783022478, 4.6544556896, -4.7985414074, 4.1960520592, 0.0000000000, -1.1435848125, 5.9442882778, 2.3018013365, 0.0000000000, 0.0000000000, 0.0000000000, 0.1708182881, 0.1324799764, 5.0000000000, 40.0000000000, 0.0071941262 - 6, 0.0500440913, 0.0369707744, 0.0000295260, -1.1498760008, 0.9824206777, -0.0002468503, -74.8638426046, -0.0002468503, -74.8638426046, 1651.1174769682, 1651.0905414300, 0.1711312988, 0.9967477864, 0.0000000000, 0.0000000000, -3.56427879e+00, -1.34370737e+00, -9.39732776e-01, 2.53148168e+00, 0.00000000e+00, 0.3171564765, 4.5563175036, -4.7994215952, 4.1951064089, 0.0000000000, -1.1440524095, 5.9447919523, 2.3006116740, 0.0000000000, 0.0000000000, 0.0000000000, 0.1707986778, 0.1324799764, 5.0000000000, 40.0000000000, 0.0084054864 - 7, 0.0500627666, 0.0369789967, 0.0000295315, -1.1055884145, 0.9824141194, -0.0002495526, -74.8632800414, -0.0002495526, -74.8632800414, 1651.1235684461, 1651.1381577882, 0.1711319580, 0.9967403865, 0.0000000000, 0.0000000000, -3.48261864e+00, -1.32376325e+00, -9.06077320e-01, 2.61327937e+00, 0.00000000e+00, 0.3298069624, 4.5470403966, -4.8004747614, 4.1939491484, 0.0000000000, -1.1446192101, 5.9453857984, 2.2991640008, 0.0000000000, 0.0000000000, 0.0000000000, 0.1707765504, 0.1324799764, 5.0000000000, 40.0000000000, 0.0096183106 - 8, 0.0500896477, 0.0369875409, 0.0000295377, -1.0277961611, 0.9824046909, -0.0002519119, -74.8625519950, -0.0002519119, -74.8625519950, 1651.1317676345, 1651.1981239026, 0.1711328364, 0.9967294130, 0.0000000000, 0.0000000000, -3.43845393e+00, -1.33333979e+00, -9.03376400e-01, 2.65755696e+00, 0.00000000e+00, 0.3316724229, 4.5619497526, -4.8016211530, 4.1926319782, 0.0000000000, -1.1452522373, 5.9460125553, 2.2975341766, 0.0000000000, 0.0000000000, 0.0000000000, 0.1707538727, 0.1324799764, 5.0000000000, 40.0000000000, 0.0108318480 - 9, 0.0501244110, 0.0369938437, 0.0000295427, -0.9033545835, 0.9823925154, -0.0002530847, -74.8615510031, -0.0002530847, -74.8615510031, 1651.1411068755, 1651.2821810604, 0.1711338264, 0.9967147225, 0.0000000000, 0.0000000000, -3.42273739e+00, -1.36012552e+00, -9.21582057e-01, 2.67331101e+00, 0.00000000e+00, 0.3274973479, 4.5643907888, -4.8027624450, 4.1912253228, 0.0000000000, -1.1459089109, 5.9466039145, 2.2958220081, 0.0000000000, 0.0000000000, 0.0000000000, 0.1707326454, 0.1324799764, 5.0000000000, 40.0000000000, 0.0120403913 - 10, 0.0501689981, 0.0369963640, 0.0000295429, -0.6937442271, 0.9823768975, -0.0002525197, -74.8601716394, -0.0002525197, -74.8601716394, 1651.1498307161, 1651.4003551324, 0.1711347378, 0.9966959610, 0.0000000000, 0.0000000000, -3.42920371e+00, -1.39697918e+00, -9.54095864e-01, 2.66673285e+00, 0.00000000e+00, 0.3140312935, 4.5483273828, -4.8038049537, 4.1898033578, 0.0000000000, -1.1465466380, 5.9470972116, 2.2941292391, 0.0000000000, 0.0000000000, 0.0000000000, 0.1707143948, 0.1324799764, 5.0000000000, 40.0000000000, 0.0132707101 - 11, 0.0502291752, 0.0369845097, 0.0000295329, -0.3296147224, 0.9823557774, -0.0002499303, -74.8583955116, -0.0002499303, -74.8583955116, 1651.1556790647, 1651.5508724554, 0.1711353298, 0.9966718965, 0.0000000000, 0.0000000000, -3.44781645e+00, -1.43783658e+00, -9.94510456e-01, 2.64787918e+00, 0.00000000e+00, 0.2886598312, 4.5172879824, -4.8046803745, 4.1884289245, 0.0000000000, -1.1471318867, 5.9474497542, 2.2925382827, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706998412, 0.1324799764, 5.0000000000, 40.0000000000, 0.0144708749 - 12, 0.0503142277, 0.0369567269, 0.0000295071, 0.2791291792, 0.9823258542, -0.0002452120, -74.8563450114, -0.0002452120, -74.8563450114, 1651.1563505017, 1651.7146388031, 0.1711353607, 0.9966400462, 0.0000000000, 0.0000000000, -3.46876305e+00, -1.47957117e+00, -1.03525783e+00, 2.62674742e+00, 0.00000000e+00, 0.2532694530, 4.4749824158, -4.8053648597, 4.1871519574, 0.0000000000, -1.1476452034, 5.9476562114, 2.2911042185, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706892702, 0.1324799764, 5.0000000000, 40.0000000000, 0.0156727420 - 13, 0.0504349729, 0.0369012122, 0.0000294588, 1.2376197041, 0.9822833060, -0.0002384438, -74.8542654415, -0.0002384438, -74.8542654415, 1651.1499707725, 1651.8584743051, 0.1711346365, 0.9965968171, 0.0000000000, 0.0000000000, -3.48396025e+00, -1.51416613e+00, -1.06958168e+00, 2.61155209e+00, 0.00000000e+00, 0.2136050910, 4.4234727860, -4.8058648733, 4.1859978979, 0.0000000000, -1.1480810527, 5.9477313589, 2.2898487425, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706820307, 0.1324799764, 5.0000000000, 40.0000000000, 0.0168713998 - 14, 0.0506013877, 0.0368156906, 0.0000293843, 2.6217835597, 0.9822246403, -0.0002300058, -74.8524271777, -0.0002300058, -74.8524271777, 1651.1353923684, 1651.9470818773, 0.1711330413, 0.9965379273, 0.0000000000, 0.0000000000, -3.49005319e+00, -1.53677174e+00, -1.09391974e+00, 2.60572928e+00, 0.00000000e+00, 0.1765051213, 4.3672886389, -4.8062175821, 4.1849805116, 0.0000000000, -1.1484444357, 5.9477148302, 2.2887720786, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706774267, 0.1324799764, 5.0000000000, 40.0000000000, 0.0180706938 - 15, 0.0508216359, 0.0366981522, 0.0000292825, 4.4787320171, 0.9821470315, -0.0002206526, -74.8509959480, -0.0002206526, -74.8509959480, 1651.1122163929, 1651.9575159022, 0.1711305371, 0.9964589109, 0.0000000000, 0.0000000000, -3.48754963e+00, -1.54885393e+00, -1.10771403e+00, 2.60846507e+00, 0.00000000e+00, 0.1470124287, 4.3081150326, -4.8064735286, 4.1841040222, 0.0000000000, -1.1487461839, 5.9476555642, 2.2878609091, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706748133, 0.1324799764, 5.0000000000, 40.0000000000, 0.0192772880 - 16, 0.0511029686, 0.0365530682, 0.0000291569, 6.8143479382, 0.9820479856, -0.0002113731, -74.8499409215, -0.0002113731, -74.8499409215, 1651.0805533300, 1651.8883516942, 0.1711271378, 0.9963553384, 0.0000000000, 0.0000000000, -3.47815618e+00, -1.55634260e+00, -1.11330894e+00, 2.61803926e+00, 0.00000000e+00, 0.1264236544, 4.2449819429, -4.8066845834, 4.1833676954, 0.0000000000, -1.1489988290, 5.9476020523, 2.2870968033, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706737792, 0.1324799764, 5.0000000000, 40.0000000000, 0.0204759436 - 17, 0.0514537350, 0.0363933077, 0.0000290164, 9.5979939455, 0.9819246109, -0.0002030589, -74.8490260711, -0.0002030589, -74.8490260711, 1651.0406562363, 1651.7592469188, 0.1711228693, 0.9962226985, 0.0000000000, 0.0000000000, -3.46567962e+00, -1.56355031e+00, -1.11544647e+00, 2.63048376e+00, 0.00000000e+00, 0.1125465819, 4.1862799182, -4.8068849702, 4.1827574927, 0.0000000000, -1.1492143589, 5.9475816526, 2.2864548639, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706736211, 0.1324799764, 5.0000000000, 40.0000000000, 0.0216816232 - 18, 0.0518850496, 0.0362365154, 0.0000288761, 12.7603068976, 0.9817730192, -0.0001961898, -74.8478815971, -0.0001961898, -74.8478815971, 1650.9925981658, 1651.6021933029, 0.1711177375, 0.9960561056, 0.0000000000, 0.0000000000, -3.45177316e+00, -1.57264840e+00, -1.11655610e+00, 2.64418274e+00, 0.00000000e+00, 0.1017686437, 4.1334343082, -4.8070997499, 4.1822575154, 0.0000000000, -1.1494030992, 5.9476124772, 2.2859115800, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706738844, 0.1324799764, 5.0000000000, 40.0000000000, 0.0228867300 - 19, 0.0524116316, 0.0361072014, 0.0000287574, 16.2027569474, 0.9815880234, -0.0001907224, -74.8461050013, -0.0001907224, -74.8461050013, 1650.9361295392, 1651.4501640983, 0.1711117135, 0.9958501731, 0.0000000000, 0.0000000000, -3.43671984e+00, -1.58209779e+00, -1.11795813e+00, 2.65951315e+00, 0.00000000e+00, 0.0909885008, 4.0846646576, -4.8073383054, 4.1818468256, 0.0000000000, -1.1495730250, 5.9476961818, 2.2854440670, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706739707, 0.1324799764, 5.0000000000, 40.0000000000, 0.0240868940 - 20, 0.0530487110, 0.0360375477, 0.0000286857, 19.7960346129, 0.9813642443, -0.0001861978, -74.8433760642, -0.0001861978, -74.8433760642, 1650.8707437331, 1651.3268907029, 0.1711047429, 0.9955996232, 0.0000000000, 0.0000000000, -3.42129246e+00, -1.59258951e+00, -1.11918780e+00, 2.67448468e+00, 0.00000000e+00, 0.0783224769, 4.0423744988, -4.8075934222, 4.1814985838, 0.0000000000, -1.1497297741, 5.9478168075, 2.2850295718, 0.0000000000, 0.0000000000, 0.0000000000, 0.1706729390, 0.1324799764, 5.0000000000, 40.0000000000, 0.0252974933 From 4b41461657c82b6fb16a16df1cb2aeb09d50e2eb Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sat, 16 Apr 2022 12:16:24 +0200 Subject: [PATCH 069/110] cleanup of some more files --- .../chtPinArray_2d/BC_HeatTransfer.cfg | 123 +++++ .../chtPinArray_2d/DA_configMaster.cfg | 113 +++++ .../chtPinArray_2d/FD_configMaster.cfg | 127 ++++++ .../chtPinArray_2d/chtPinArray_2d.geo | 429 ------------------ .../chtPinArray_2d/configMaster.cfg | 116 +++++ 5 files changed, 479 insertions(+), 429 deletions(-) create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/BC_HeatTransfer.cfg create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DA_configMaster.cfg create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FD_configMaster.cfg delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/chtPinArray_2d.geo create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configMaster.cfg diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/BC_HeatTransfer.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/BC_HeatTransfer.cfg new file mode 100644 index 000000000000..c1baf59bffc8 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/BC_HeatTransfer.cfg @@ -0,0 +1,123 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Heat Transfer BC Testcase with 2D-pin-setup % +% Author: T. Kattmann % +% Institution: Robert Bosch GmbH % +% Date: 2020.12.15 % +% File Version 7.3.1 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= INC_NAVIER_STOKES +% +KIND_TURB_MODEL= NONE +% +OBJECTIVE_FUNCTION= AVG_TEMPERATURE +OBJECTIVE_WEIGHT= 0.0 +% +OPT_OBJECTIVE= NONE +% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% +% +INC_DENSITY_MODEL= CONSTANT +INC_DENSITY_INIT= 1045.0 +INC_VELOCITY_INIT= ( 0.1, 0.0, 0.0 ) +% +INC_ENERGY_EQUATION = YES +INC_TEMPERATURE_INIT= 338.0 +INC_NONDIM= INITIAL_VALUES +SPECIFIC_HEAT_CP= 3540.0 +% +FREESTREAM_TURBULENCEINTENSITY= 0.05 +FREESTREAM_TURB2LAMVISCRATIO= 10.0 +% +% --------------------------- VISCOSITY MODEL ---------------------------------% +% +VISCOSITY_MODEL= CONSTANT_VISCOSITY +MU_CONSTANT= 0.001385 +% +% --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% +% +% Pr_lam = mu_lam [Pa*s] * c_p [J/(kg*K)] / lambda[W/(m*K)] +% = 1.385e-3 * 3540 / 0.42 +% = 11.7 +CONDUCTIVITY_MODEL= CONSTANT_PRANDTL +PRANDTL_LAM= 11.7 +% +TURBULENT_CONDUCTIVITY_MODEL= CONSTANT_PRANDTL_TURB +PRANDTL_TURB= 0.90 +% +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_SYM= ( fluid_symmetry ) +% +% Note that a heat-transfer coefficient of zero will result in an adiabatic wall, +% equivalent to MARKER_HEATFLUX= ( fluid_pin1_interface, 0.0, ... ). +% In the other extreme of a high heat-transfer coefficient value (like shown below), +% the boundary will degenerate to a MARKER_ISOTHERMAL= (fluid_pin1_interface, 400, ... ). +% With 400 above being the reservoir Temperature (or called Temperature at infinity). +MARKER_HEATTRANSFER= ( fluid_pin1_interface, 100000000.0, 400, \ + fluid_pin2_interface, 100000000.0, 400, \ + fluid_pin3_interface, 100000000.0, 400 ) +% +% Alternative options for non-periodic flow +INC_INLET_TYPE= VELOCITY_INLET +MARKER_INLET= ( fluid_inlet, 338.0, 0.3, 1.0, 0.0, 0.0 ) +% +INC_OUTLET_TYPE= PRESSURE_OUTLET +MARKER_OUTLET= ( fluid_outlet, 0.0 ) +% +% ------------------------ SURFACES IDENTIFICATION ----------------------------% +% +MARKER_MONITORING= ( fluid_pin2_interface ) +% +MARKER_ANALYZE = ( fluid_pin2_interface ) +MARKER_ANALYZE_AVERAGE = AREA +% +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +ITER= 1000 +NUM_METHOD_GRAD= GREEN_GAUSS +CFL_NUMBER= 1e3 +% +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 1e-15 +LINEAR_SOLVER_ITER= 10 +% +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +% +CONV_NUM_METHOD_FLOW= FDS +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= NONE +TIME_DISCRE_FLOW= EULER_IMPLICIT +% +% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% +% +CONV_NUM_METHOD_TURB= SCALAR_UPWIND +MUSCL_TURB= NO +SLOPE_LIMITER_TURB= NONE +TIME_DISCRE_TURB= EULER_IMPLICIT +% +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_RESIDUAL_MINVAL= -26 +CONV_STARTITER= 100000000 +% +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +MESH_FILENAME= fluid.su2 +% +% SURFACE_STATIC_TEMPERATURE had to be removed from SCREEN_OUTPUT for the regression tests +SCREEN_OUTPUT= ( INNER_ITER, RMS_PRESSURE, RMS_VELOCITY-X, RMS_VELOCITY-Y, RMS_TEMPERATURE, TOTAL_HEATFLUX) +SCREEN_WRT_FREQ_INNER= 1 +% +HISTORY_OUTPUT= ( ITER, RMS_RES, STREAMWISE_PERIODIC, FLOW_COEFF, LINSOL, HEAT ) +% +OUTPUT_FILES=(PARAVIEW_MULTIBLOCK) +OUTPUT_WRT_FREQ= 100000 +VOLUME_OUTPUT= (SOLUTION, PRIMITIVE, RESIDUAL) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DA_configMaster.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DA_configMaster.cfg new file mode 100644 index 000000000000..2b7f818c6b55 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DA_configMaster.cfg @@ -0,0 +1,113 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: 2D cylinder array with CHT couplings % +% Author: T. Kattmann % +% Institution: Robert Bosch GmbH % +% Date: 2020.12.15 % +% File Version 7.3.1 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +SOLVER= MULTIPHYSICS +% +CONFIG_LIST= (configFluid.cfg, configSolid.cfg) +% +MARKER_ZONE_INTERFACE= ( fluid_pin1_interface, solid_pin1_interface, fluid_pin2_interface, solid_pin2_interface, fluid_pin3_interface, solid_pin3_interface ) +% +MARKER_CHT_INTERFACE= ( fluid_pin1_interface, solid_pin1_interface, fluid_pin2_interface, solid_pin2_interface, fluid_pin3_interface, solid_pin3_interface ) +% +CONV_RESIDUAL_MINVAL= -26 +% +% Number of total iterations +OUTER_ITER= 3000 +% +%CHT_ROBIN= NO +% +SCREEN_OUTPUT= (OUTER_ITER, BGS_ADJ_PRESSURE[0], BGS_ADJ_TEMPERATURE[0], BGS_ADJ_TEMPERATURE[1]) +SCREEN_WRT_FREQ_OUTER= 100 +% +HISTORY_OUTPUT= ( ITER, BGS_RES[0], BGS_RES[1], RMS_RES[0], RMS_RES[1] ) +% +OUTPUT_FILES= ( RESTART, PARAVIEW_MULTIBLOCK ) +OUTPUT_WRT_FREQ= 1000 +% +MESH_FILENAME= 2D-PinArray_FFD.su2 +MESH_FORMAT= SU2 +% +SOLUTION_ADJ_FILENAME= restart_adj +% +% -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% +% +FFD_TOLERANCE= 1E-10 +FFD_ITERATIONS= 500 +% +% FFD box definition: 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, +% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) +FFD_DEFINITION= (BOX, 0.0029772,0.0,0.0, 0.0081772,0.0,0.0 0.0081772,0.0026,0.0, 0.0029772,0.0026,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0 0.0,0.0,0.0, 0.0,0.0,0.0 ) +% +% FFD box degree: 2D case (x_degree, y_degree, 0) +FFD_DEGREE= (8, 1, 0) +% +% Surface grid continuity at the intersection with the faces of the FFD boxes. +% To keep a particular level of surface continuity, SU2 automatically freezes the right +% number of control point planes (NO_DERIVATIVE, 1ST_DERIVATIVE, 2ND_DERIVATIVE, USER_INPUT) +FFD_CONTINUITY= NO_DERIVATIVE +% +% ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% +% +%DV_KIND= FFD_SETTING +DV_KIND= FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D +% +% Marker of the surface in which we are going apply the shape deformation +MARKER_SYM= ( fluid_symmetry ) +DV_MARKER= ( fluid_pin2_interface, solid_pin2_interface, fluid_symmetry ) +% +% Parameters of the shape deformation +% - FFD_SETTING ( 1.0 ) +% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) +%DV_PARAM= ( 1.0 ) +DV_PARAM= \ +( BOX, 0, 1, 0.0, 1.0);\ +( BOX, 1, 1, 0.0, 1.0);\ +( BOX, 2, 1, 0.0, 1.0);\ +( BOX, 3, 1, 0.0, 1.0);\ +( BOX, 4, 1, 0.0, 1.0);\ +( BOX, 5, 1, 0.0, 1.0);\ +( BOX, 6, 1, 0.0, 1.0);\ +( BOX, 7, 1, 0.0, 1.0);\ +( BOX, 8, 1, 0.0, 1.0) +% +% Value of the shape deformation +%DV_VALUE= 1.0 +DV_VALUE= 1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +% +% ------------------------ GRID DEFORMATION PARAMETERS ------------------------% +% +DEFORM_LINEAR_SOLVER= FGMRES +DEFORM_LINEAR_SOLVER_PREC= ILU +DEFORM_LINEAR_SOLVER_ERROR= 1E-14 +% +DEFORM_NONLINEAR_ITER= 1 +DEFORM_LINEAR_SOLVER_ITER= 1000 +% +DEFORM_CONSOLE_OUTPUT= YES +DEFORM_STIFFNESS_TYPE= WALL_DISTANCE +% +% Deformation coefficient (linear elasticity limits from -1.0 to 0.5, a larger +% value is also possible) +% !!! What is this doing !!! +DEFORM_COEFF = 1E6 +% +DEFINITION_DV= \ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 0, 1, 0.0, 1.0 );\ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 1, 1, 0.0, 1.0 );\ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 2, 1, 0.0, 1.0 );\ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 3, 1, 0.0, 1.0 );\ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 4, 1, 0.0, 1.0 );\ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 5, 1, 0.0, 1.0 );\ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 6, 1, 0.0, 1.0 );\ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 7, 1, 0.0, 1.0 );\ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 8, 1, 0.0, 1.0 ) + +%DEFORM_MESH= YES diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FD_configMaster.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FD_configMaster.cfg new file mode 100644 index 000000000000..686b18465ce6 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FD_configMaster.cfg @@ -0,0 +1,127 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: 2D cylinder array with CHT couplings % +% Author: T. Kattmann % +% Institution: Robert Bosch GmbH % +% Date: 2020.12.15 % +% File Version 7.3.1 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +SOLVER= MULTIPHYSICS +% +CONFIG_LIST= (configFluid.cfg, configSolid.cfg) +% +MARKER_ZONE_INTERFACE= ( fluid_pin1_interface, solid_pin1_interface, fluid_pin2_interface, solid_pin2_interface, fluid_pin3_interface, solid_pin3_interface ) +% +MARKER_CHT_INTERFACE= ( fluid_pin1_interface, solid_pin1_interface, fluid_pin2_interface, solid_pin2_interface, fluid_pin3_interface, solid_pin3_interface ) +% +CONV_RESIDUAL_MINVAL= -26 +% +% FOR FAST RUNING REGRESSION TEST ONLY! +% FOR GADIENT VALIDATION USE OUTER_ITER= 3000! +OUTER_ITER= 101 + +% +%CHT_ROBIN= NO +% +SCREEN_OUTPUT= ( WALL_TIME, OUTER_ITER, BGS_PRESSURE[0], BGS_TEMPERATURE[0], BGS_TEMPERATURE[1], STREAMWISE_MASSFLOW[0], STREAMWISE_DP[0], AVG_TEMPERATURE[1] ) +SCREEN_WRT_FREQ_OUTER= 100 +% +HISTORY_OUTPUT= ( ITER, BGS_RES[0], BGS_RES[1], RMS_RES[0], RMS_RES[1], STREAMWISE_PERIODIC[0], FLOW_COEFF[0], AERO_COEFF[0], HEAT[1] ) +% +OUTPUT_FILES= ( RESTART, PARAVIEW_MULTIBLOCK ) +OUTPUT_WRT_FREQ= 10000 +% +MESH_FILENAME= 2D-PinArray_FFD.su2 +MESH_FORMAT= SU2 +% +% Options that have to be kept for finite_differences.py. Otherwise it won't run. +RESTART_SOL= NO +MARKER_MONITORING= ( NONE ) +SOLUTION_FILENAME= restart +SOLUTION_ADJ_FILENAME= restart_adj +RESTART_FILENAME= restart +CONV_FILENAME= history +TABULAR_FORMAT= CSV +% +% -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% +% +FFD_TOLERANCE= 1E-10 +FFD_ITERATIONS= 500 +% +% FFD box definition: 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, +% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) +FFD_DEFINITION= (BOX, 0.0029772,0.0,0.0, 0.0081772,0.0,0.0 0.0081772,0.0026,0.0, 0.0029772,0.0026,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0 0.0,0.0,0.0, 0.0,0.0,0.0 ) +% +% FFD box degree: 2D case (x_degree, y_degree, 0) +FFD_DEGREE= (8, 1, 0) +% +% Surface grid continuity at the intersection with the faces of the FFD boxes. +% To keep a particular level of surface continuity, SU2 automatically freezes the right +% number of control point planes (NO_DERIVATIVE, 1ST_DERIVATIVE, 2ND_DERIVATIVE, USER_INPUT) +FFD_CONTINUITY= NO_DERIVATIVE +% +% ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% +% +DV_KIND= FFD_SETTING +%DV_KIND= FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D +% +% Marker of the surface in which we are going apply the shape deformation +MARKER_SYM= ( fluid_symmetry ) +DV_MARKER= ( fluid_pin2_interface, solid_pin2_interface, fluid_symmetry ) +% +% Parameters of the shape deformation +% - FFD_SETTING ( 1.0 ) +% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) +DV_PARAM= ( 1.0 ) +%DV_PARAM= \ +%( BOX, 0, 1, 0.0, 1.0);\ +%( BOX, 1, 1, 0.0, 1.0);\ +%( BOX, 2, 1, 0.0, 1.0);\ +%( BOX, 3, 1, 0.0, 1.0);\ +%( BOX, 4, 1, 0.0, 1.0);\ +%( BOX, 5, 1, 0.0, 1.0);\ +%( BOX, 6, 1, 0.0, 1.0);\ +%( BOX, 7, 1, 0.0, 1.0);\ +%( BOX, 8, 1, 0.0, 1.0) +% +% Value of the shape deformation +DV_VALUE= 1.0 +%DV_VALUE= 1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +% +% ------------------------ GRID DEFORMATION PARAMETERS ------------------------% +% +DEFORM_LINEAR_SOLVER= FGMRES +DEFORM_LINEAR_SOLVER_PREC= ILU +DEFORM_LINEAR_SOLVER_ERROR= 1E-14 +% +DEFORM_NONLINEAR_ITER= 1 +DEFORM_LINEAR_SOLVER_ITER= 1000 +% +DEFORM_CONSOLE_OUTPUT= YES +DEFORM_STIFFNESS_TYPE= WALL_DISTANCE +% +% Deformation coefficient (linear elasticity limits from -1.0 to 0.5, a larger +% value is also possible) +% !!! What is this doing !!! +DEFORM_COEFF = 1E6 +% +% For gradient validation uncomment the other DV's! +DEFINITION_DV= \ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 0, 1, 0.0, 1.0 );\ +%( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 1, 1, 0.0, 1.0 );\ +%( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 2, 1, 0.0, 1.0 );\ +%( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 3, 1, 0.0, 1.0 );\ +%( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 4, 1, 0.0, 1.0 );\ +%( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 5, 1, 0.0, 1.0 );\ +%( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 6, 1, 0.0, 1.0 );\ +%( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 7, 1, 0.0, 1.0 );\ +%( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 8, 1, 0.0, 1.0 ) + +%DEFORM_MESH= YES + +OPT_OBJECTIVE= AVG_TOTALTEMP +FIN_DIFF_STEP= 1e-8 +NZONES=2 diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/chtPinArray_2d.geo b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/chtPinArray_2d.geo deleted file mode 100644 index 81db4d00be95..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/chtPinArray_2d.geo +++ /dev/null @@ -1,429 +0,0 @@ -// ------------------------------------------------------------------------- // -// T. Kattmann, 18.06.2019, 2D 2 Zone mesh -// Create the mesh by calling this geo file with 'gmsh .geo'. -// For multizone mesh the zonal meshes have to be created using the first -// option 'Which_Mesh_Part' below and have to be married appropriatley. -// ------------------------------------------------------------------------- // - -// Which domain part should be handled -Which_Mesh_Part= 1; // 0=all, 1=Fluid, 2=Solid, 3=InterfaceOnly -// Add outlet diffusor -OutletDiffusor= 0; // 0=false, 1=true -// Evoque Meshing Algorithm? -Do_Meshing= 1; // 0=false, 1=true -// Write Mesh files in .su2 format -Write_mesh= 1; // 0=false, 1=true -// Mesh Resolution -Mesh_Resolution= 2; // 0=debugRes, 1=Res1, 2=Res2 -// show the FFD corner points -FFD_corner_point= 1; // 0=false, 1=true - -// Free parameters -scale_factor= 1e-3; // scales Point positions from [mm] to [m] with 1e-3 -dist= 6.44 * scale_factor; // distance between pin midpoints, each pin has 6 surrounding pins, i.e. 60 deg between each -r_pin_lower= 2.0 * scale_factor; // lower pin radius -InnerRadiusFactor= 0.3; // Thickness of the pin solid (0.9=small pin wall, 0.1= close to filled circle arc). Requires 0 < value < 1. -// Diffusor inputs are below in the respective section - -// Dependent parameters -rad2deg= Pi/180; // conversion factor as gmsh Cos/Sin functions take radian values -length= 2 * Cos(30*rad2deg)*dist; // domain length (in x-dir) -width= Sin(30*rad2deg)*dist; // domain width (in y-dir) - -Printf("==================================="); -Printf("Free parameters:"); -Printf("-> distance between pins: %g", dist); -Printf("-> lower pin radius: %g", r_pin_lower); -Printf("Dependent parameters"); -Printf("-> length: %g", length); -Printf("-> width: %g", width); -Printf("==================================="); - -// Mesh inputs -gs = 0.5 *scale_factor; // gridsize - -If(Mesh_Resolution==0) // debugRes - // interface meshing parameteres. Also sufficient for fluid domain meshing. - N_x_flow= 10; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. - - N_y_flow = 10; // #gridpoints normal to pin surface, y-direction - R_y_flow= 1.08; // Progression normal to pin surface - - N_z_flow= 20; // #gridpoints in height z-direction - R_z_flow= 0.05; // Bump in height as top and bottom are walls - - // Additional meshing parameters for solid domain - N_y_innerPin= 5; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin - R_y_innerPin= 0.93; // Progression towards interface - N_z_solid= 10; // #points from bottom interface to heater surface - R_z_solid= 1.18; // progression for N_z_solid - -ElseIf(Mesh_Resolution==1) // Res1 - // interface meshing parameteres. Also sufficient for fluid domain meshing. - N_x_flow= 20; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. - - N_y_flow = 40; // #gridpoints normal to pin surface, y-direction - R_y_flow= 1.08; // Progression normal to pin surface - - N_z_flow= 100; // #gridpoints in height z-direction - R_z_flow= 0.05; // Bump in height as top and bottom are walls - - // Additional meshing parameters for solid domain - N_y_innerPin= 30; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin - R_y_innerPin= 0.93; // Progression towards interface - N_z_solid= 20; // #points from bottom interface to heater surface - R_z_solid= 1.18; // progression for N_z_solid - -ElseIf(Mesh_Resolution==2) // Res2 - // interface meshing parameteres. Also sufficient for fluid domain meshing. - N_x_flow= 30; // #gridpoints in flow x-direction on a patch. Also N_x_flow/2 on smaller patches employed. - - N_y_flow = 50; // #gridpoints normal to pin surface, y-direction - R_y_flow= 1.08; // Progression normal to pin surface - - N_z_flow= 200; // #gridpoints in height z-direction - R_z_flow= 0.05; // Bump in height as top and bottom are walls - - // Additional meshing parameters for solid domain - N_y_innerPin= 40; // #gridpoints of the structured first part of the inner Pin in y-direction / normal to the pin - R_y_innerPin= 0.91; // Progression towards interface - N_z_solid= 30; // #points from bottom interface to heater surface - R_z_solid= 1.18; // progression for N_z_solid - -EndIf - -// Feasability checks -If (r_pin_lower >= width || - r_pin_lower <= 0) - Printf("Aborting! Bad Inputs"); - Abort; -EndIf - -// Show and print possible FFD corner points -If (FFD_corner_point==1) - boxFactor= 1.3; - - xLo= 0.5*length - boxFactor*r_pin_lower; - xHi= 0.5*length + boxFactor*r_pin_lower; - yLo= 0; - yHi= boxFactor*r_pin_lower; - - // counterclockwise from lowest x&y value - Printf("==================================="); - Printf("FFD corner points:"); - Printf("%g | %g", xLo, yLo); - Printf("%g | %g", xHi, yLo); - Printf("%g | %g", xHi, yHi); - Printf("%g | %g", xLo, yHi); - Printf("==================================="); - - Point(1000) = {xLo, yLo, 0, gs}; - Point(1001) = {xHi, yLo, 0, gs}; - Point(1002) = {xHi, yHi, 0, gs}; - Point(1003) = {xLo, yHi, 0, gs}; - - Line(1000) = {1000,1001}; - Line(1001) = {1001,1002}; - Line(1002) = {1002,1003}; - Line(1003) = {1003,1000}; -EndIf - -// ------------------------------------------------------------------------- // -// CHT Interface, complete description as it is part of fluid and solid -// Id's starting with in the range (1-99) -// Interface only description -If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1 || Which_Mesh_Part == 2 || Which_Mesh_Part == 3) - // Points - // Lower Pin1 - Point(10) = {0, width, 0, gs}; // lower pin1 midpoint - Point(11) = {0, width-r_pin_lower, 0, gs}; // lower pin1 on inlet - Point(12) = {Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower, 0, gs}; // lower pin1 in between - Point(13) = {r_pin_lower, width, 0, gs}; // lower pin1 on sym - Circle(10) = {11,10,12}; // lower pin1 smaller first part - Circle(11) = {12,10,13}; // lower pin1 larger second part - - // Lower Pin2 - Point(20) = {0.5*length, 0, 0, gs}; // pin midpoint - Point(21) = {0.5*length - r_pin_lower, 0, 0, gs}; // lower small x - Point(22) = {length/2 - Sin(30*rad2deg)*r_pin_lower, Cos(30*rad2deg)*r_pin_lower, 0, gs}; // small intermediate - Point(23) = {length/2 + Sin(30*rad2deg)*r_pin_lower, Cos(30*rad2deg)*r_pin_lower, 0, gs}; // large intermediate - Point(24) = {0.5*length + r_pin_lower, 0, 0, gs}; // lower large x - Circle(20) = {21,20,22}; // first segment - Circle(21) = {22,20,23}; // second segment - Circle(22) = {23,20,24}; // third segment - - // lower Pin3 - Point(30) = {length, width, 0, gs}; // midpoint - Point(31) = {length, width-r_pin_lower, 0, gs}; // on outlet - Point(32) = {length-Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower,0, gs}; - Point(33) = {length - r_pin_lower, width, 0, gs}; // on sym - Circle(30) = {31,30,32}; // first segment - Circle(31) = {32,30,33}; // second segment - - // No progression in flow direction on the pin surface - Transfinite Line {11,20,21,22,31} = N_x_flow; - Transfinite Line {10,30} = N_x_flow/2; - - //Physical Tags - If (Which_Mesh_Part==1) - Physical Line("fluid_pin1_interface") = {10, 11}; - Physical Line("fluid_pin2_interface") = {20, 21, 22}; - Physical Line("fluid_pin3_interface") = {30, 31}; - - ElseIf (Which_Mesh_Part==2) - Physical Line("solid_pin1_interface") = {10, 11}; - Physical Line("solid_pin2_interface") = {20, 21, 22}; - Physical Line("solid_pin3_interface") = {30, 31}; - - EndIf - -EndIf - -// ------------------------------------------------------------------------- // -// Fluid only description -If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1) - - // lower additional structured mesh points - Point(40) = {length/4 + Tan(30*rad2deg)*width/2, width, 0, gs}; // first half, large y - Point(41) = {length/4 - Tan(30*rad2deg)*width/2, 0, 0, gs}; // first half, small y - Point(42) = {length*3/4 - Tan(30*rad2deg)*width/2, width, 0, gs}; // second half, large y - Point(43) = {length*3/4 + Tan(30*rad2deg)*width/2, 0, 0, gs}; // second half, small y - Point(44) = {0, 0, 0, gs}; // corner point inlet - Point(45) = {length, 0, 0, gs}; // corner point outlet - - // lower additional structured mesh lines - // outer boundary - Line(40) = {11, 44}; - Line(41) = {44, 41}; - Line(42) = {41, 21}; - Line(43) = {43, 24}; - Line(44) = {43, 45}; - Line(45) = {45, 31}; - Line(46) = {33, 42}; - Line(47) = {42, 40}; - Line(48) = {40, 13}; - // inner lines - Line(49) = {41, 12}; - Line(50) = {41, 40}; - Line(51) = {22, 40}; - Line(52) = {23, 42}; - Line(53) = {42, 43}; - Line(54) = {43, 32}; - - // line loops and surfaces on lower domain interface - Line Loop(10) = {40, 41, 49, -10}; Plane Surface(10) = {10}; - Line Loop(11) = {-49, 50, 48, -11}; Plane Surface(11) = {11}; - Line Loop(12) = {42, 20, 51, -50}; Plane Surface(12) = {12}; - Line Loop(13) = {-51, 21, 52, 47}; Plane Surface(13) = {13}; - Line Loop(14) = {53, 43, -22, 52}; Plane Surface(14) = {14}; - Line Loop(15) = {53, 54, 31, 46}; Plane Surface(15) = {15}; - Line Loop(16) = {44, 45, 30, -54}; Plane Surface(16) = {16}; - - // No progression in flow direction on the pin surface - Transfinite Line {50,47,53} = N_x_flow; - Transfinite Line {41,44} = N_x_flow/2; - // Progression normal to the pin surface - Transfinite Line {40, -49, -48, -42, 51, 52, -43, 46, -54, -45} = N_y_flow Using Progression R_y_flow; - - // Physical tags - Physical Line("fluid_inlet") = {40}; - If(OutletDiffusor==0) Physical Line("fluid_outlet") = {45}; EndIf // - Physical Line("fluid_symmetry") = {41,42,43,44,46,47,48}; - Physical Surface("fluid_surf") = {10,11,12,13,14,15,16}; - -EndIf - -// ------------------------------------------------------------------------- // -// Solid only description -If (Which_Mesh_Part == 0 || Which_Mesh_Part == 2) - - If(1==1) // Pin1 solid - // Solid inner pin 1 and bottom300-er range - // pin 1 - Point(301) = {InnerRadiusFactor*0, width-r_pin_lower*InnerRadiusFactor, 0, gs}; // lower pin1 on inlet - Point(302) = {InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, width-Cos(30*rad2deg)*r_pin_lower*InnerRadiusFactor, 0, gs}; // lower pin1 in between - Point(303) = {InnerRadiusFactor*r_pin_lower, width, 0, gs}; // lower pin1 on sym - Circle(301) = {301,10,302}; - Circle(302) = {302,10,303}; - - // pin 1 additional lines - Line(306) = {301, 11}; - Line(307) = {302, 12}; - Line(308) = {303, 13}; - - Curve Loop(17) = {306, 10, -307, -301}; Surface(17) = {17}; - Curve Loop(18) = {302, 308, -11, -307}; Surface(18) = {18}; - - Transfinite Line {302} = N_x_flow; - Transfinite Line {301} = N_x_flow/2; - Transfinite Line {306,307,308} = N_y_innerPin Using Progression R_y_innerPin; - - Physical Line("solid_pin1_inner") = {301,302}; - Physical Line("solid_pin1_walls") = {306,308}; - Physical Surface("solid_surf") = {17,18}; - - EndIf - - If(1==1) // Pin2 solid - // Solid inner half pin 2 and bottome300-er range (copied from interface and solid pin parts) - // Lower Pin2 - Point(320) = {0.5*length, 0, 0, gs}; // pin midpoint - Point(321) = {0.5*length - InnerRadiusFactor*r_pin_lower, InnerRadiusFactor*0, 0, gs}; // lower small x - Point(322) = {length/2 - InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower, 0, gs}; // small intermediate - Point(323) = {length/2 + InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower, 0, gs}; // large intermediate - Point(324) = {0.5*length + InnerRadiusFactor*r_pin_lower, InnerRadiusFactor*0, 0, gs}; // lower large x - Circle(320) = {321,20,322}; // first segment - Circle(321) = {322,20,323}; // second segment - Circle(322) = {323,20,324}; // third segment - - // pin 2 additional connecting lines - Line(333) = {21, 321}; // lower - Line(334) = {22, 322}; - Line(335) = {23, 323}; - Line(336) = {24, 324}; - - Curve Loop(19) = {333, 320, -334, -20}; Surface(19) = {19}; - Curve Loop(20) = {21, 335, -321, -334}; Surface(20) = {20}; - Curve Loop(21) = {322, -336, -22, 335}; Surface(21) = {21}; - - // structured parts - Transfinite Line {-333, -334, -335, -336} = N_y_innerPin Using Progression R_y_innerPin; // lines pointing into circle midpoint - Transfinite Line {320, 321, 322} = N_x_flow; // circle arcs - - Physical Line("solid_pin2_inner") = {320,321,322}; - Physical Line("solid_pin2_walls") = {333, 336}; - Physical Surface("solid_surf") += {19,20,21}; - - EndIf - - If(1==1) // Pin3 solid - // pin 3 structured - // lower Pin3 - Point(341) = {length, width-InnerRadiusFactor*r_pin_lower, 0, gs}; // on outlet - Point(342) = {length-InnerRadiusFactor*Sin(30*rad2deg)*r_pin_lower, width-InnerRadiusFactor*Cos(30*rad2deg)*r_pin_lower,0, gs}; - Point(343) = {length - InnerRadiusFactor*r_pin_lower, width, 0, gs}; // on sym - Circle(350) = {341, 30, 342}; - Circle(351) = {342, 30, 343}; - - // pin 3 additional connecting lines - Line(352) = {341, 31}; - Line(353) = {342, 32}; - Line(354) = {343, 33}; - - Curve Loop(22) = {354, -31, -353, 351}; Surface(22) = {22}; - Curve Loop(23) = {350, 353, -30, -352}; Surface(23) = {23}; - - Transfinite Line {351} = N_x_flow; - Transfinite Line {350} = N_x_flow/2; - Transfinite Line {352,353,354} = N_y_innerPin Using Progression R_y_innerPin; - - Physical Line("solid_pin3_inner") = {351,350}; - Physical Line("solid_pin3_walls") = {354}; - If(OutletDiffusor==0) Physical Line("solid_pin3_walls") += {352}; EndIf - Physical Surface("solid_surf") += {22,23}; - - EndIf - -EndIf - -// ------------------------------------------------------------------------- // -// Outlet Diffusor description (200er range) -If (OutletDiffusor == 1) - - diffusorLength= 0.005; // length from old to new outlet - diffusorShrinkFactor= 0.8; // (new outlet height)/(old outlet height) - - // CHT Interface definition - If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1 || Which_Mesh_Part == 2 || Which_Mesh_Part == 3) - Point(201) = {length+diffusorLength, (width-r_pin_lower)*diffusorShrinkFactor,0,gs}; // top right - Line(200) = {31,201}; - - Transfinite Line {200} = N_x_flow*2; - - //Physical Tags - If (Which_Mesh_Part==1) - Physical Line("fluid_pin3_interface_diffusor") = {200}; - ElseIf (Which_Mesh_Part==2) - Physical Line("solid_pin3_interface_diffusor") = {200}; - EndIf - - EndIf - - // Fluid Part - If (Which_Mesh_Part == 0 || Which_Mesh_Part == 1) - Point(200) = {length+diffusorLength,0,0,gs}; // bottom right - - Line(201) = {45,200}; - Line(202) = {201,200}; // new outlet - - Curve Loop(24) = {200, 202, -201, 45}; Plane Surface(24) = {24}; - - // make structured - // No progression in flow direction on the pin surface - Transfinite Line {201} = N_x_flow*2; - // Progression normal to the pin surface - Transfinite Line {202} = N_y_flow Using Progression R_y_flow; - - // Physical tags - Physical Line("fluid_outlet") = {202}; - Physical Line("fluid_symmetry") += {201}; - Physical Surface("fluid_surf") += {24}; - - EndIf - - // Solid Part - If (Which_Mesh_Part == 0 || Which_Mesh_Part == 2) - Point(210) = {length+diffusorLength, ((width-r_pin_lower)*diffusorShrinkFactor)+(width-r_pin_lower),0,gs}; // top right - - Line(210) = {341,210}; - Line(211) = {210,201}; - - Curve Loop(25) = {210, 211, -200, -352}; Plane Surface(25) = {25}; - - Transfinite Line {210} = N_x_flow*2; - Transfinite Line {211} = N_y_innerPin Using Progression R_y_innerPin; - - Physical Line("solid_pin3_inner_diffusor") = {210}; - Physical Line("solid_pin3_walls") += {211}; - Physical Surface("solid_surf") += {25}; - - EndIf - -EndIf - -// ------------------------------------------------------------------------- // -// Meshing -Coherence; -Transfinite Surface "*"; -Recombine Surface "*"; -Transfinite Volume "*"; - -If (Do_Meshing == 1) - Mesh 1; Mesh 2; Mesh 3; -EndIf - -// ------------------------------------------------------------------------- // -// Write .su2 meshfile -If (Write_mesh == 1) - - Mesh.Format = 42; // .su2 mesh format, - If (Which_Mesh_Part == 1) - If (OutletDiffusor==0) - Save "fluid.su2"; - Else - Save "fluid_diffusor.su2"; - EndIf - - ElseIf (Which_Mesh_Part == 2) - If (OutletDiffusor==0) - Save "solid.su2"; - Else - Save "solid_diffusor.su2"; - EndIf - - Else - Printf("Unvalid Which_Mesh_Part variable for output writing."); - Abort; - EndIf - -EndIf diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configMaster.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configMaster.cfg new file mode 100644 index 000000000000..7feb2415bc09 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configMaster.cfg @@ -0,0 +1,116 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: 2D cylinder array with CHT couplings % +% Author: T. Kattmann % +% Institution: Robert Bosch GmbH % +% Date: 2020.12.15 % +% File Version 7.3.1 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +SOLVER= MULTIPHYSICS +% +CONFIG_LIST= (configFluid.cfg, configSolid.cfg) +% +MARKER_ZONE_INTERFACE= ( fluid_pin1_interface, solid_pin1_interface, fluid_pin2_interface, solid_pin2_interface, fluid_pin3_interface, solid_pin3_interface ) +% +MARKER_CHT_INTERFACE= ( fluid_pin1_interface, solid_pin1_interface, fluid_pin2_interface, solid_pin2_interface, fluid_pin3_interface, solid_pin3_interface ) +% +CONV_RESIDUAL_MINVAL= -26 +% +% Number of total iterations +OUTER_ITER= 4000 +% +%CHT_ROBIN= NO +% +SCREEN_OUTPUT= ( OUTER_ITER, BGS_PRESSURE[0], BGS_TEMPERATURE[0], BGS_TEMPERATURE[1], STREAMWISE_MASSFLOW[0], STREAMWISE_DP[0], AVG_TEMPERATURE[1], SURFACE_MASSFLOW[0] ) +SCREEN_WRT_FREQ_OUTER= 100 +% +HISTORY_OUTPUT= ( ITER, BGS_RES[0], BGS_RES[1], RMS_RES[0], RMS_RES[1], STREAMWISE_PERIODIC[0], FLOW_COEFF[0], FLOW_COEFF_SURF[0], HEAT[1], LINSOL[0], LINSOL[1], HEAT[0] ) +% +OUTPUT_FILES= ( RESTART, PARAVIEW_MULTIBLOCK ) +OUTPUT_WRT_FREQ= 1000 +% +MESH_FILENAME= 2D-PinArray_FFD.su2 +MESH_FORMAT= SU2 +% +% -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% +% +FFD_TOLERANCE= 1E-10 +FFD_ITERATIONS= 500 +% +% FFD box definition: 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, +% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) +FFD_DEFINITION= (BOX, 0.0029772,0.0,0.0, 0.0081772,0.0,0.0 0.0081772,0.0026,0.0, 0.0029772,0.0026,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0 0.0,0.0,0.0, 0.0,0.0,0.0 ) +% +% FFD box degree: 2D case (x_degree, y_degree, 0) +FFD_DEGREE= (8, 1, 0) +% +% Surface grid continuity at the intersection with the faces of the FFD boxes. +% To keep a particular level of surface continuity, SU2 automatically freezes the right +% number of control point planes (NO_DERIVATIVE, 1ST_DERIVATIVE, 2ND_DERIVATIVE, USER_INPUT) +FFD_CONTINUITY= NO_DERIVATIVE +% +% ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% +% +% Config options for writing the FFD-box into the mesh. +% Comment these options if they appear elsewhere in the .cfg file. +%DV_KIND= FFD_SETTING +%DV_PARAM= ( 1.0 ) +%DV_VALUE= 1.0 +%MESH_FILENAME= 2D-PinArray.su2 +%MESH_OUT_FILENAME= 2D-PinArray_FFD.su2 +MARKER_SYM= ( fluid_symmetry ) + +DV_KIND= FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D +% +% Marker of the surface in which we are going apply the shape deformation +DV_MARKER= ( fluid_pin2_interface, solid_pin2_interface, fluid_symmetry ) +% +% Parameters of the shape deformation +% - FFD_SETTING ( 1.0 ) +% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) +DV_PARAM= \ +( BOX, 0, 1, 0.0, 1.0);\ +( BOX, 1, 1, 0.0, 1.0);\ +( BOX, 2, 1, 0.0, 1.0);\ +( BOX, 3, 1, 0.0, 1.0);\ +( BOX, 4, 1, 0.0, 1.0);\ +( BOX, 5, 1, 0.0, 1.0);\ +( BOX, 6, 1, 0.0, 1.0);\ +( BOX, 7, 1, 0.0, 1.0);\ +( BOX, 8, 1, 0.0, 1.0) +% +% Value of the shape deformation +DV_VALUE= 1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +% +% ------------------------ GRID DEFORMATION PARAMETERS ------------------------% +% +DEFORM_LINEAR_SOLVER= FGMRES +DEFORM_LINEAR_SOLVER_PREC= ILU +DEFORM_LINEAR_SOLVER_ERROR= 1E-14 +% +DEFORM_NONLINEAR_ITER= 1 +DEFORM_LINEAR_SOLVER_ITER= 1000 +% +DEFORM_CONSOLE_OUTPUT= YES +DEFORM_STIFFNESS_TYPE= WALL_DISTANCE +% +% Deformation coefficient (linear elasticity limits from -1.0 to 0.5, a larger +% value is also possible) +% !!! What is this doing !!! +DEFORM_COEFF = 1E6 +% +DEFINITION_DV= \ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 0, 1, 0.0, 1.0 );\ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 1, 1, 0.0, 1.0 );\ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 2, 1, 0.0, 1.0 );\ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 3, 1, 0.0, 1.0 );\ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 4, 1, 0.0, 1.0 );\ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 5, 1, 0.0, 1.0 );\ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 6, 1, 0.0, 1.0 );\ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 7, 1, 0.0, 1.0 );\ +( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 8, 1, 0.0, 1.0 ) + +%DEFORM_MESH= YES From 7adf0d9ab97d414135c72dd12c59318aa9623aae Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sat, 16 Apr 2022 12:44:26 +0200 Subject: [PATCH 070/110] fix rank in cconfig --- Common/include/CConfig.hpp | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index bf17813cba67..9b4300ec973c 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -9652,25 +9652,23 @@ class CConfig { const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::KL) != sst_options_end; const bool sst_uq = (std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end || using_uq); - if(rank==MASTER_NODE){ - // Parse base version - if (sst_1994 && sst_2003) { - SU2_MPI::Error("Two versions (1994 and 2003m) selected for SST Options. Please choose only one.", CURRENT_FUNCTION); - } else if (sst_2003) { - /*--- sst-2003m model is sst2003 + sstm ---*/ - if(rank==MASTER_NODE) cout << "Currently only the SST-2003m (modified) has been implemented. " << endl; - SSTParsedOptions.version = SST_OPTIONS::V2003m; - } else if (sst_1994){ - /* --- Add warning to switch to SST-2003m --- */ - if(rank==MASTER_NODE) - cout << "warning: the current SST-1994 model is inconsistent with literature. We recommend to use the SST-2003m model." << endl - << "In the future, the 2003m model will become the default SST model. " << endl; - SSTParsedOptions.version = SST_OPTIONS::V1994; - } else { - /* use the most recent model as the default*/ - if (rank==MASTER_NODE) cout << "SST_OPTIONS not found! using default SST-V1994. " << endl; - SSTParsedOptions.version = SST_OPTIONS::V1994; - } + // Parse base version + if (sst_1994 && sst_2003) { + SU2_MPI::Error("Two versions (1994 and 2003m) selected for SST Options. Please choose only one.", CURRENT_FUNCTION); + } else if (sst_2003) { + /*--- sst-2003m model is sst2003 + sstm ---*/ + if(rank==MASTER_NODE) cout << "Currently only the SST-2003m (modified) has been implemented. " << endl; + SSTParsedOptions.version = SST_OPTIONS::V2003m; + } else if (sst_1994){ + /* --- Add warning to switch to SST-2003m --- */ + if(rank==MASTER_NODE) + cout << "warning: the current SST-1994 model is inconsistent with literature. We recommend to use the SST-2003m model." << endl + << "In the future, the 2003m model will become the default SST model. " << endl; + SSTParsedOptions.version = SST_OPTIONS::V1994; + } else { + /* use the most recent model as the default*/ + if (rank==MASTER_NODE) cout << "SST_OPTIONS not found! using default SST-V1994. " << endl; + SSTParsedOptions.version = SST_OPTIONS::V1994; } // Parse production modifications From 7f4c663781b01bbb82ad90310cb389689a0b597d Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sat, 16 Apr 2022 18:41:40 +0200 Subject: [PATCH 071/110] cleanup of some more files --- .../chtPinArray_2d/configFluid.cfg | 127 ++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configFluid.cfg diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configFluid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configFluid.cfg new file mode 100644 index 000000000000..a16f3c630601 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configFluid.cfg @@ -0,0 +1,127 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Unit Cell flow around pin array (fluid) % +% Author: T. Kattmann % +% Institution: Robert Bosch GmbH % +% Date: 2020.12.15 % +% File Version 7.3.1 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= INC_RANS +% +KIND_TURB_MODEL= SST +% +OBJECTIVE_FUNCTION= AVG_TEMPERATURE +OBJECTIVE_WEIGHT= 0.0 +% +OPT_OBJECTIVE= NONE +% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% +% +INC_DENSITY_MODEL= CONSTANT +INC_DENSITY_INIT= 1045.0 +INC_VELOCITY_INIT= ( 0.1, 0.0, 0.0 ) +% +INC_ENERGY_EQUATION = YES +INC_TEMPERATURE_INIT= 338.0 +INC_NONDIM= DIMENSIONAL +SPECIFIC_HEAT_CP= 3540.0 +% +FREESTREAM_TURBULENCEINTENSITY= 0.05 +FREESTREAM_TURB2LAMVISCRATIO= 10.0 +% +% --------------------------- VISCOSITY MODEL ---------------------------------% +% +VISCOSITY_MODEL= CONSTANT_VISCOSITY +MU_CONSTANT= 0.001385 +% +% --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% +% +% Pr_lam = mu_lam [Pa*s] * c_p [J/(kg*K)] / lambda[W/(m*K)] +% = 1.385e-3 * 3540 / 0.42 +% = 11.7 +CONDUCTIVITY_MODEL= CONSTANT_PRANDTL +PRANDTL_LAM= 11.7 +% +TURBULENT_CONDUCTIVITY_MODEL= CONSTANT_PRANDTL_TURB +PRANDTL_TURB= 0.90 +% +% --------------------- STREAMWISE PERIODICITY DEFINITION ---------------------% +% +KIND_STREAMWISE_PERIODIC= PRESSURE_DROP +STREAMWISE_PERIODIC_PRESSURE_DROP= 208.023676 +%STREAMWISE_PERIODIC_MASSFLOW= 0.85 +%INC_OUTLET_DAMPING= 0.001 +% +STREAMWISE_PERIODIC_TEMPERATURE= NO +% +% inner pin length 0.00376991 m = (0.00322-0.00262)*2*pi +% with 5e5 W/m that is Q = 1884.96 +STREAMWISE_PERIODIC_OUTLET_HEAT= -1884.96 +% +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_SYM= ( fluid_symmetry ) +MARKER_PERIODIC= ( fluid_inlet, fluid_outlet, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0111544,0.0,0.0 ) +% +% Alternative to periodic simulation with velocity inlet and pressure outlet +%MARKER_HEATFLUX= ( fluid_pin1_interface, 5e5, \ +% fluid_pin2_interface, 5e5, \ +% fluid_pin3_interface, 5e5 ) +% +% Alternative options for non-periodic flow +%INC_INLET_TYPE= VELOCITY_INLET +%MARKER_INLET= ( fluid_inlet, 338.0, 0.75, 1.0, 0.0, 0.0 ) +% Test vals to hinder outlet backflow +%MARKER_INLET= ( fluid_inlet, 338.0, 0.3, 1.0, 0.0, 0.0 ) +% +%INC_OUTLET_TYPE= PRESSURE_OUTLET +%MARKER_OUTLET= ( fluid_outlet, 0.0 ) +% +% ------------------------ SURFACES IDENTIFICATION ----------------------------% +% +MARKER_MONITORING= ( NONE ) +% +MARKER_ANALYZE = ( fluid_outlet, fluid_inlet ) +MARKER_ANALYZE_AVERAGE = MASSFLUX +% +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +%ITER= 3500 +NUM_METHOD_GRAD= GREEN_GAUSS +CFL_NUMBER= 1e3 +% +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 1e-15 +LINEAR_SOLVER_ITER= 10 +% +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +% +CONV_NUM_METHOD_FLOW= FDS +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= NONE +TIME_DISCRE_FLOW= EULER_IMPLICIT +% +% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% +% +CONV_NUM_METHOD_TURB= SCALAR_UPWIND +MUSCL_TURB= NO +SLOPE_LIMITER_TURB= NONE +TIME_DISCRE_TURB= EULER_IMPLICIT +% +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_RESIDUAL_MINVAL= -26 +CONV_STARTITER= 100000000 +% +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +%MESH_FILENAME= fluid.su2 +% +HISTORY_OUTPUT= ( ITER, RMS_RES, STREAMWISE_PERIODIC, FLOW_COEFF, LINSOL, HEAT ) From 888a7386616ca645613f21349e19107aa9b214bd Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sat, 16 Apr 2022 22:12:35 +0200 Subject: [PATCH 072/110] cleanup of some more files --- .../chtPinArray_2d/configSolid.cfg | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configSolid.cfg diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configSolid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configSolid.cfg new file mode 100644 index 000000000000..8bffc3fc9dd5 --- /dev/null +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configSolid.cfg @@ -0,0 +1,69 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Unit Cell flow around pin array (solid) % +% Author: T. Kattmann % +% Institution: Robert Bosch GmbH % +% Date: 2020.12.15 % +% File Version 7.3.1 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= HEAT_EQUATION +% +OBJECTIVE_FUNCTION= AVG_TEMPERATURE +OBJECTIVE_WEIGHT= 1.0 +% +OPT_OBJECTIVE= AVG_TOTALTEMP +% +% ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% +% +INC_NONDIM= DIMENSIONAL +FREESTREAM_TEMPERATURE= 345.0 +MATERIAL_DENSITY= 2719 +SPECIFIC_HEAT_CP = 871.0 +THERMAL_CONDUCTIVITY_CONSTANT= 200 +% +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_HEATFLUX= (solid_pin1_inner, 5e5, \ + solid_pin2_inner, 5e5, \ + solid_pin3_inner, 5e5, \ + solid_pin1_walls, 0.0, \ + solid_pin2_walls, 0.0, \ + solid_pin3_walls, 0.0) +% +%MARKER_ISOTHERMAL= (solid_pin1_inner, 300, solid_pin2_inner, 300, solid_pin3_inner, 300, solid_pin1_walls, 300, solid_pin2_walls, 300, solid_pin3_walls, 300) +% +% ------------------------ SURFACES IDENTIFICATION ----------------------------% +% +MARKER_MONITORING = ( solid_pin2_inner ) +% +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= GREEN_GAUSS +CFL_NUMBER= 1e4 +% +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 1E-15 +LINEAR_SOLVER_ITER= 20 +% +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_RESIDUAL_MINVAL= -20 +CONV_STARTITER= 10000000000 +% +% -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% +% +TIME_DISCRE_HEAT= EULER_IMPLICIT +% +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +%MESH_FILENAME= solid.su2 +% +HISTORY_OUTPUT= (ITER, RMS_RES, HEAT, LINSOL) From dd2f15a29d56b7f659bb154090bd6436da8d1572 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sun, 17 Apr 2022 21:54:45 +0200 Subject: [PATCH 073/110] cleanup of some more files --- .../chtPinArray_2d/FINDIFF/configFluid.cfg | 127 ------------------ .../chtPinArray_2d/FINDIFF/configSolid.cfg | 69 ---------- 2 files changed, 196 deletions(-) delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/configFluid.cfg delete mode 100644 TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/configSolid.cfg diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/configFluid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/configFluid.cfg deleted file mode 100644 index 2ea0a0b9ba86..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/configFluid.cfg +++ /dev/null @@ -1,127 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SU2 configuration file % -% Case description: Unit Cell flow around pin array (fluid) % -% Author: T. Kattmann % -% Institution: Robert Bosch GmbH % -% Date: 2020.12.15 % -% File Version 7.3.0 "Blackbird" % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -SOLVER= INC_RANS -% -KIND_TURB_MODEL= SST -% -OBJECTIVE_FUNCTION= AVG_TEMPERATURE -OBJECTIVE_WEIGHT= 0.0 -% -OPT_OBJECTIVE= NONE -% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% -% -INC_DENSITY_MODEL= CONSTANT -INC_DENSITY_INIT= 1045.0 -INC_VELOCITY_INIT= ( 0.1, 0.0, 0.0 ) -% -INC_ENERGY_EQUATION = YES -INC_TEMPERATURE_INIT= 338.0 -INC_NONDIM= DIMENSIONAL -SPECIFIC_HEAT_CP= 3540.0 -% -FREESTREAM_TURBULENCEINTENSITY= 0.05 -FREESTREAM_TURB2LAMVISCRATIO= 10.0 -% -% --------------------------- VISCOSITY MODEL ---------------------------------% -% -VISCOSITY_MODEL= CONSTANT_VISCOSITY -MU_CONSTANT= 0.001385 -% -% --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% -% -% Pr_lam = mu_lam [Pa*s] * c_p [J/(kg*K)] / lambda[W/(m*K)] -% = 1.385e-3 * 3540 / 0.42 -% = 11.7 -CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -PRANDTL_LAM= 11.7 -% -TURBULENT_CONDUCTIVITY_MODEL= CONSTANT_PRANDTL_TURB -PRANDTL_TURB= 0.90 -% -% --------------------- STREAMWISE PERIODICITY DEFINITION ---------------------% -% -KIND_STREAMWISE_PERIODIC= PRESSURE_DROP -STREAMWISE_PERIODIC_PRESSURE_DROP= 208.023676 -%STREAMWISE_PERIODIC_MASSFLOW= 0.85 -%INC_OUTLET_DAMPING= 0.001 -% -STREAMWISE_PERIODIC_TEMPERATURE= NO -% -% inner pin length 0.00376991 m = (0.00322-0.00262)*2*pi -% with 5e5 W/m that is Q = 1884.96 -STREAMWISE_PERIODIC_OUTLET_HEAT= -1884.96 -% -% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% -% -MARKER_SYM= ( fluid_symmetry ) -MARKER_PERIODIC= ( fluid_inlet, fluid_outlet, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0111544,0.0,0.0 ) -% -% Alternative to periodic simulation with velocity inlet and pressure outlet -%MARKER_HEATFLUX= ( fluid_pin1_interface, 5e5, \ -% fluid_pin2_interface, 5e5, \ -% fluid_pin3_interface, 5e5 ) -% -% Alternative options for non-periodic flow -%INC_INLET_TYPE= VELOCITY_INLET -%MARKER_INLET= ( fluid_inlet, 338.0, 0.75, 1.0, 0.0, 0.0 ) -% Test vals to hinder outlet backflow -%MARKER_INLET= ( fluid_inlet, 338.0, 0.3, 1.0, 0.0, 0.0 ) -% -%INC_OUTLET_TYPE= PRESSURE_OUTLET -%MARKER_OUTLET= ( fluid_outlet, 0.0 ) -% -% ------------------------ SURFACES IDENTIFICATION ----------------------------% -% -MARKER_MONITORING= ( NONE ) -% -MARKER_ANALYZE = ( fluid_outlet, fluid_inlet ) -MARKER_ANALYZE_AVERAGE = MASSFLUX -% -% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% -% -%ITER= 3500 -NUM_METHOD_GRAD= GREEN_GAUSS -CFL_NUMBER= 1e3 -% -% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% -% -LINEAR_SOLVER= FGMRES -LINEAR_SOLVER_PREC= ILU -LINEAR_SOLVER_ERROR= 1e-15 -LINEAR_SOLVER_ITER= 10 -% -% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% -% -CONV_NUM_METHOD_FLOW= FDS -MUSCL_FLOW= YES -SLOPE_LIMITER_FLOW= NONE -TIME_DISCRE_FLOW= EULER_IMPLICIT -% -% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% -% -CONV_NUM_METHOD_TURB= SCALAR_UPWIND -MUSCL_TURB= NO -SLOPE_LIMITER_TURB= NONE -TIME_DISCRE_TURB= EULER_IMPLICIT -% -% --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -CONV_RESIDUAL_MINVAL= -26 -CONV_STARTITER= 100000000 -% -% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% -%MESH_FILENAME= fluid.su2 -% -HISTORY_OUTPUT= ( ITER, RMS_RES, STREAMWISE_PERIODIC, FLOW_COEFF, LINSOL, HEAT ) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/configSolid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/configSolid.cfg deleted file mode 100644 index e586892b5cb8..000000000000 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FINDIFF/configSolid.cfg +++ /dev/null @@ -1,69 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SU2 configuration file % -% Case description: Unit Cell flow around pin array (solid) % -% Author: T. Kattmann % -% Institution: Robert Bosch GmbH % -% Date: 2020.12.15 % -% File Version 7.3.0 "Blackbird" % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -SOLVER= HEAT_EQUATION -% -OBJECTIVE_FUNCTION= AVG_TEMPERATURE -OBJECTIVE_WEIGHT= 1.0 -% -OPT_OBJECTIVE= AVG_TOTALTEMP -% -% ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% -% -INC_NONDIM= DIMENSIONAL -FREESTREAM_TEMPERATURE= 345.0 -MATERIAL_DENSITY= 2719 -SPECIFIC_HEAT_CP = 871.0 -THERMAL_CONDUCTIVITY_CONSTANT= 200 -% -% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% -% -MARKER_HEATFLUX= (solid_pin1_inner, 5e5, \ - solid_pin2_inner, 5e5, \ - solid_pin3_inner, 5e5, \ - solid_pin1_walls, 0.0, \ - solid_pin2_walls, 0.0, \ - solid_pin3_walls, 0.0) -% -%MARKER_ISOTHERMAL= (solid_pin1_inner, 300, solid_pin2_inner, 300, solid_pin3_inner, 300, solid_pin1_walls, 300, solid_pin2_walls, 300, solid_pin3_walls, 300) -% -% ------------------------ SURFACES IDENTIFICATION ----------------------------% -% -MARKER_MONITORING = ( solid_pin2_inner ) -% -% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% -% -NUM_METHOD_GRAD= GREEN_GAUSS -CFL_NUMBER= 1e4 -% -% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% -% -LINEAR_SOLVER= FGMRES -LINEAR_SOLVER_PREC= ILU -LINEAR_SOLVER_ERROR= 1E-15 -LINEAR_SOLVER_ITER= 20 -% -% --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -CONV_RESIDUAL_MINVAL= -20 -CONV_STARTITER= 10000000000 -% -% -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% -% -TIME_DISCRE_HEAT= EULER_IMPLICIT -% -% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% -%MESH_FILENAME= solid.su2 -% -HISTORY_OUTPUT= (ITER, RMS_RES, HEAT, LINSOL) From 808816f5071902c4d233c3ba30e14f9f116ce9f5 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Tue, 19 Apr 2022 22:38:00 +0200 Subject: [PATCH 074/110] change sst_sust option --- Common/include/CConfig.hpp | 58 +-------------- Common/include/option_structure.hpp | 70 +++++++++++++++++-- Common/src/CConfig.cpp | 14 ++-- SU2_CFD/src/drivers/CDriver.cpp | 1 - SU2_CFD/src/output/CFlowOutput.cpp | 6 +- .../src/output/output_structure_legacy.cpp | 12 ++-- 6 files changed, 79 insertions(+), 82 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 9b4300ec973c..d9dcb7cd6b0d 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -9631,61 +9631,5 @@ class CConfig { * \return SST option data structure. */ SST_ParsedOptions GetSSTParsedOptions(void) const {return sstParsedOptions; } - - /*! - * \brief function to parse SST options. - * \param[in] SST_Options - Selected SST option from config. - * \param[in] nSST_Options - Number of options selected. - */ - SST_ParsedOptions ParseSSTOptions(const SST_OPTIONS *SST_Options, unsigned short nSST_Options){ - SST_ParsedOptions SSTParsedOptions; - const auto sst_options_end = SST_Options + nSST_Options; - - const bool sst_1994 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994) != sst_options_end; - const bool sst_2003 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003) != sst_options_end; - - /* when V2003 is selected, we automatically select sst_m as well */ - const bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::MODIFIED) != sst_options_end || sst_2003; - - const bool sst_sust = std::find(SST_Options, sst_options_end, SST_OPTIONS::SUST) != sst_options_end || Kind_Turb_Model==TURB_MODEL::SST_SUST; - const bool sst_v = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; - const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::KL) != sst_options_end; - const bool sst_uq = (std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end || using_uq); - - // Parse base version - if (sst_1994 && sst_2003) { - SU2_MPI::Error("Two versions (1994 and 2003m) selected for SST Options. Please choose only one.", CURRENT_FUNCTION); - } else if (sst_2003) { - /*--- sst-2003m model is sst2003 + sstm ---*/ - if(rank==MASTER_NODE) cout << "Currently only the SST-2003m (modified) has been implemented. " << endl; - SSTParsedOptions.version = SST_OPTIONS::V2003m; - } else if (sst_1994){ - /* --- Add warning to switch to SST-2003m --- */ - if(rank==MASTER_NODE) - cout << "warning: the current SST-1994 model is inconsistent with literature. We recommend to use the SST-2003m model." << endl - << "In the future, the 2003m model will become the default SST model. " << endl; - SSTParsedOptions.version = SST_OPTIONS::V1994; - } else { - /* use the most recent model as the default*/ - if (rank==MASTER_NODE) cout << "SST_OPTIONS not found! using default SST-V1994. " << endl; - SSTParsedOptions.version = SST_OPTIONS::V1994; - } - - // Parse production modifications - if ((sst_v + sst_kl + sst_uq) > 1) { - SU2_MPI::Error("Please select only one SST production term modifier (V, KL, UQ).", CURRENT_FUNCTION); - } else if (sst_v) { - SSTParsedOptions.production = SST_OPTIONS::VORTICITY; - } else if (sst_kl) { - SSTParsedOptions.production = SST_OPTIONS::KL; - } else if (sst_uq) { - SSTParsedOptions.production = SST_OPTIONS::UNCERTAINTY; - } - - // Parse boolean options - SSTParsedOptions.sust = sst_sust; - SSTParsedOptions.modified = sst_m; - SSTParsedOptions.uq = sst_uq; - return SSTParsedOptions; - } + }; diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index c0a230870af2..79590bab21fd 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -38,6 +38,8 @@ #include #include +using namespace std; + /*! * \class CEmptyMap * \brief We use this dummy class instead of std::map when @@ -917,7 +919,6 @@ enum class TURB_MODEL { SA_COMP, /*!< \brief Kind of Turbulent model (Spalart-Allmaras Compressibility Correction). */ SA_E_COMP, /*!< \brief Kind of Turbulent model (Spalart-Allmaras Edwards with Compressibility Correction). */ SST, /*!< \brief Kind of Turbulence model (Menter SST). */ - SST_SUST /*!< \brief Kind of Turbulence model (Menter SST with sustaining terms for free-stream preservation). */ }; static const MapType Turb_Model_Map = { MakePair("NONE", TURB_MODEL::NONE) @@ -927,7 +928,6 @@ static const MapType Turb_Model_Map = { MakePair("SA_COMP", TURB_MODEL::SA_COMP) MakePair("SA_E_COMP", TURB_MODEL::SA_E_COMP) MakePair("SST", TURB_MODEL::SST) - MakePair("SST_SUST", TURB_MODEL::SST_SUST) }; /*! @@ -951,7 +951,7 @@ inline TURB_FAMILY TurbModelFamily(TURB_MODEL model) { case TURB_MODEL::SA_COMP: case TURB_MODEL::SA_E_COMP: return TURB_FAMILY::SA; - case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: + case TURB_MODEL::SST: return TURB_FAMILY::KW; } return TURB_FAMILY::NONE; @@ -976,8 +976,8 @@ static const MapType SST_Options_Map = { MakePair("NONE", SST_OPTIONS::NONE) MakePair("V1994m", SST_OPTIONS::V1994m) MakePair("V2003m", SST_OPTIONS::V2003m) - MakePair("V1994", SST_OPTIONS::V1994) - MakePair("V2003", SST_OPTIONS::V2003) + //MakePair("V1994", SST_OPTIONS::V1994) + //MakePair("V2003", SST_OPTIONS::V2003) //MakePair("MODIFIED", SST_OPTIONS::MODIFIED) MakePair("SUSTAINING", SST_OPTIONS::SUST) MakePair("VORTICITY", SST_OPTIONS::VORTICITY) @@ -2370,6 +2370,66 @@ class COptionBase { } }; + /*! + * \brief function to parse SST options. + * \param[in] SST_Options - Selected SST option from config. + * \param[in] nSST_Options - Number of options selected. + */ + inline SST_ParsedOptions ParseSSTOptions(const SST_OPTIONS *SST_Options, unsigned short nSST_Options, int rank){ + SST_ParsedOptions SSTParsedOptions; + const auto sst_options_end = SST_Options + nSST_Options; + + const bool sst_1994 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994) != sst_options_end; + const bool sst_2003 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003) != sst_options_end; + + /* when V2003 is selected, we automatically select sst_m as well */ + const bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::MODIFIED) != sst_options_end || sst_2003; + + const bool sst_sust = std::find(SST_Options, sst_options_end, SST_OPTIONS::SUST) != sst_options_end; + + const bool sst_v = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; + const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::KL) != sst_options_end; + + //const bool sst_uq = (std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end || using_uq); + const bool sst_uq = std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end; + + // Parse base version + if (sst_1994 && sst_2003) { + SU2_MPI::Error("Two versions (1994 and 2003m) selected for SST Options. Please choose only one.", CURRENT_FUNCTION); + } else if (sst_2003) { + /*--- sst-2003m model is sst2003 + sstm ---*/ + if(rank==MASTER_NODE) cout << "Currently only the SST-2003m (modified) has been implemented. " << endl; + SSTParsedOptions.version = SST_OPTIONS::V2003m; + } else if (sst_1994){ + /* --- Add warning to switch to SST-2003m --- */ + if(rank==MASTER_NODE) + cout << "warning: the current SST-1994 model is inconsistent with literature. We recommend to use the SST-2003m model." << endl + << "In the future, the 2003m model will become the default SST model. " << endl; + SSTParsedOptions.version = SST_OPTIONS::V1994; + } else { + /* use the most recent model as the default*/ + if (rank==MASTER_NODE) cout << "SST_OPTIONS not found! using default SST-V1994. " << endl; + SSTParsedOptions.version = SST_OPTIONS::V1994; + } + + // Parse production modifications + if ((sst_v + sst_kl + sst_uq) > 1) { + SU2_MPI::Error("Please select only one SST production term modifier (V, KL, UQ).", CURRENT_FUNCTION); + } else if (sst_v) { + SSTParsedOptions.production = SST_OPTIONS::VORTICITY; + } else if (sst_kl) { + SSTParsedOptions.production = SST_OPTIONS::KL; + } else if (sst_uq) { + SSTParsedOptions.production = SST_OPTIONS::UNCERTAINTY; + } + + // Parse boolean options + SSTParsedOptions.sust = sst_sust; + SSTParsedOptions.modified = sst_m; + SSTParsedOptions.uq = sst_uq; + return SSTParsedOptions; + } + #ifdef ENABLE_MAPS #include "option_structure.inl" #endif diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 74a5474f51f8..6a35675c6e25 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -3400,15 +3400,9 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i /*--- Postprocess SST_OPTIONS into structure. ---*/ if (Kind_Turb_Model==TURB_MODEL::SST){ - sstParsedOptions = ParseSSTOptions(SST_Options, nSST_Options); + sstParsedOptions = ParseSSTOptions(SST_Options, nSST_Options, rank); } - /*--- -We still support the old SST_SUST keyword, but internally we convert everything --*/ - if (Kind_Turb_Model == TURB_MODEL::SST_SUST){ - cout << "Warning! the SST_SUST keyword will become obsolete. Use the SST model with SST_OPTIONS= (SST_SUSTAINING)" << endl; - Kind_Turb_Model = TURB_MODEL::SST; - } - /*--- Check if turbulence model can be used for AXISYMMETRIC case---*/ if (Axisymmetric && Kind_Turb_Model != TURB_MODEL::NONE && Kind_Turb_Model != TURB_MODEL::SST){ SU2_MPI::Error("Axisymmetry is currently only supported for KIND_TURB_MODEL chosen as SST", CURRENT_FUNCTION); @@ -4689,7 +4683,7 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i /* --- Throw error if UQ used for any turbulence model other that SST --- */ - if (Kind_Solver == MAIN_SOLVER::RANS && Kind_Turb_Model != TURB_MODEL::SST && Kind_Turb_Model != TURB_MODEL::SST_SUST && using_uq){ + if (Kind_Solver == MAIN_SOLVER::RANS && Kind_Turb_Model != TURB_MODEL::SST && using_uq){ SU2_MPI::Error("UQ capabilities only implemented for NAVIER_STOKES solver SST turbulence model", CURRENT_FUNCTION); } @@ -5881,8 +5875,8 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { case TURB_MODEL::SA_E: cout << "Edwards Spalart Allmaras" << endl; break; case TURB_MODEL::SA_COMP: cout << "Compressibility Correction Spalart Allmaras" << endl; break; case TURB_MODEL::SA_E_COMP: cout << "Compressibility Correction Edwards Spalart Allmaras" << endl; break; - case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: - cout << "Menter's SST" << endl; + case TURB_MODEL::SST: + cout << "Menter's SST" << endl; if (sstParsedOptions.sust) cout << "Menter's SST with sustaining terms" << endl; break; } diff --git a/SU2_CFD/src/drivers/CDriver.cpp b/SU2_CFD/src/drivers/CDriver.cpp index 2a24ced729db..f945e9df1830 100644 --- a/SU2_CFD/src/drivers/CDriver.cpp +++ b/SU2_CFD/src/drivers/CDriver.cpp @@ -1240,7 +1240,6 @@ void CDriver::InstantiateTurbulentNumerics(unsigned short nVar_Turb, int offset, case TURB_MODEL::SA_COMP: comp_spalart_allmaras = true; break; case TURB_MODEL::SA_E_COMP: e_comp_spalart_allmaras = true; break; case TURB_MODEL::SST: menter_sst = true; break; - case TURB_MODEL::SST_SUST: menter_sst = true; break; } /*--- If the Menter SST model is used, store the constants of the model and determine the diff --git a/SU2_CFD/src/output/CFlowOutput.cpp b/SU2_CFD/src/output/CFlowOutput.cpp index b093289cbc6b..99bca4bd7a66 100644 --- a/SU2_CFD/src/output/CFlowOutput.cpp +++ b/SU2_CFD/src/output/CFlowOutput.cpp @@ -2096,11 +2096,13 @@ void CFlowOutput::WriteForcesBreakdown(const CConfig* config, const CSolver* flo case TURB_MODEL::SA_E_COMP: file << "Compressibility Correction Edwards Spalart Allmaras\n"; break; - case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: + case TURB_MODEL::SST: file << "Menter's SST\n"; // add the submodels here //file << "Menter's SST with sustaining terms\n"; - break; + if (config->GetSSTParsedOptions().sust) + cout << "Menter's SST with sustaining terms" << endl; + break; } break; default: diff --git a/SU2_CFD/src/output/output_structure_legacy.cpp b/SU2_CFD/src/output/output_structure_legacy.cpp index cec12dc8fdec..e11a09a861af 100644 --- a/SU2_CFD/src/output/output_structure_legacy.cpp +++ b/SU2_CFD/src/output/output_structure_legacy.cpp @@ -479,7 +479,7 @@ void COutputLegacy::SetConvHistory_Header(ofstream *ConvHist_file, CConfig *conf case TURB_MODEL::SA:case TURB_MODEL::SA_NEG:case TURB_MODEL::SA_E: case TURB_MODEL::SA_COMP: case TURB_MODEL::SA_E_COMP: SPRINTF (turb_resid, ",\"Res_Turb[0]\""); break; - case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: + case TURB_MODEL::SST: SPRINTF (turb_resid, ",\"Res_Turb[0]\",\"Res_Turb[1]\""); break; default: break; @@ -488,7 +488,7 @@ void COutputLegacy::SetConvHistory_Header(ofstream *ConvHist_file, CConfig *conf case TURB_MODEL::SA:case TURB_MODEL::SA_NEG:case TURB_MODEL::SA_E: case TURB_MODEL::SA_COMP: case TURB_MODEL::SA_E_COMP: SPRINTF (adj_turb_resid, ",\"Res_AdjTurb[0]\""); break; - case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: + case TURB_MODEL::SST: SPRINTF (adj_turb_resid, ",\"Res_AdjTurb[0]\",\"Res_AdjTurb[1]\""); break; default: break; @@ -863,7 +863,7 @@ void COutputLegacy::SetConvHistory_Body(ofstream *ConvHist_file, if (turbulent) { switch (config[val_iZone]->GetKind_Turb_Model()) { case TURB_MODEL::SA: case TURB_MODEL::SA_NEG: case TURB_MODEL::SA_E: case TURB_MODEL::SA_E_COMP: case TURB_MODEL::SA_COMP: nVar_Turb = 1; break; - case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: nVar_Turb = 2; break; + case TURB_MODEL::SST: nVar_Turb = 2; break; default: break; } } @@ -885,7 +885,7 @@ void COutputLegacy::SetConvHistory_Body(ofstream *ConvHist_file, if (turbulent) { switch (config[val_iZone]->GetKind_Turb_Model()) { case TURB_MODEL::SA: case TURB_MODEL::SA_NEG: case TURB_MODEL::SA_E: case TURB_MODEL::SA_E_COMP: case TURB_MODEL::SA_COMP: nVar_AdjTurb = 1; break; - case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: nVar_AdjTurb = 2; break; + case TURB_MODEL::SST: nVar_AdjTurb = 2; break; default: break; } } @@ -1783,7 +1783,7 @@ void COutputLegacy::SetConvHistory_Body(ofstream *ConvHist_file, switch (config[val_iZone]->GetKind_Turb_Model()) { case TURB_MODEL::SA: case TURB_MODEL::SA_NEG: case TURB_MODEL::SA_E: case TURB_MODEL::SA_E_COMP: case TURB_MODEL::SA_COMP: cout << " Res[nu]"; break; - case TURB_MODEL::SST: case TURB_MODEL::SST_SUST: cout << " Res[kine]" << " Res[omega]"; break; + case TURB_MODEL::SST: cout << " Res[kine]" << " Res[omega]"; break; default: break; } @@ -2825,8 +2825,6 @@ void COutputLegacy::SpecialOutput_ForcesBreakdown(CSolver *****solver, CGeometry case TURB_MODEL::SA_COMP: Breakdown_file << "Compressibility Correction Spalart Allmaras" << "\n"; break; case TURB_MODEL::SA_E_COMP: Breakdown_file << "Compressibility Correction Edwards Spalart Allmaras" << "\n"; break; case TURB_MODEL::SST: Breakdown_file << "Menter's TURB_MODEL::SST" << "\n"; break; - // nijso: add the SST submodels here - case TURB_MODEL::SST_SUST: Breakdown_file << "Menter's TURB_MODEL::SST with sustaining terms" << "\n"; break; default: break; } break; From 8c02c31a30fcd017b2cbcb279c4fa15f59eb261a Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Tue, 19 Apr 2022 16:54:45 -0700 Subject: [PATCH 075/110] fix RAE2822 SST Sust regression --- TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg b/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg index 8e1005e01bf3..0cb34894e8d2 100644 --- a/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg +++ b/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg @@ -18,7 +18,7 @@ SOLVER= RANS % % Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -SST_OPTIONS=(V1994, SUSTAINING) +SST_OPTIONS=(V1994m, SUSTAINING) % % Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT From 7f4dd00a194d06263a425e36df90532cb750f14e Mon Sep 17 00:00:00 2001 From: bigfooted Date: Wed, 20 Apr 2022 08:46:36 +0200 Subject: [PATCH 076/110] change uq option --- Common/include/option_structure.hpp | 15 ++++++--------- Common/src/CConfig.cpp | 8 +++----- .../include/numerics/turbulent/turb_sources.hpp | 2 +- SU2_PY/compute_uncertainty.py | 2 +- TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg | 2 +- .../rans_uq/naca0012/turb_NACA0012_uq_1c.cfg | 7 ++++--- .../rans_uq/naca0012/turb_NACA0012_uq_2c.cfg | 6 +++--- .../rans_uq/naca0012/turb_NACA0012_uq_3c.cfg | 6 +++--- .../rans_uq/naca0012/turb_NACA0012_uq_p1c1.cfg | 6 +++--- .../rans_uq/naca0012/turb_NACA0012_uq_p1c2.cfg | 6 +++--- config_template.cfg | 3 --- 11 files changed, 28 insertions(+), 35 deletions(-) diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 79590bab21fd..29b859737f7c 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -94,8 +94,8 @@ const unsigned int INST_0 = 0; /*!< \brief Definition of the first instance per const su2double STANDARD_GRAVITY = 9.80665; /*!< \brief Acceleration due to gravity at surface of earth. */ const su2double UNIVERSAL_GAS_CONSTANT = 8.3144598; /*!< \brief Universal gas constant in J/(mol*K) */ -const su2double BOLTZMANN_CONSTANT = 1.3806503E-23; /*! \brief Boltzmann's constant [J K^-1] */ -const su2double AVOGAD_CONSTANT = 6.0221415E26; /*!< \brief Avogardro's constant, number of particles in one kmole. */ +const su2double BOLTZMANN_CONSTANT = 1.3806503E-23; /*!< \brief Boltzmann's constant [J K^-1] */ +const su2double AVOGAD_CONSTANT = 6.0221415E26; /*!< \brief Avogadro's constant, number of particles in one kmole. */ const su2double EPS = 1.0E-16; /*!< \brief Error scale. */ const su2double TURB_EPS = 1.0E-16; /*!< \brief Turbulent Error scale. */ @@ -970,7 +970,7 @@ enum class SST_OPTIONS { SUST, /*!< \brief Menter k-w SST model with sustaining terms. */ VORTICITY, /*!< \brief Menter k-w SST model with vorticity production terms. */ KL, /*!< \brief Menter k-w SST model with Kato-Launder production terms. */ - UNCERTAINTY, /*!< \brief Menter k-w SST model with uncertainty quantification modifications. */ + UQ, /*!< \brief Menter k-w SST model with uncertainty quantification modifications. */ }; static const MapType SST_Options_Map = { MakePair("NONE", SST_OPTIONS::NONE) @@ -982,15 +982,13 @@ static const MapType SST_Options_Map = { MakePair("SUSTAINING", SST_OPTIONS::SUST) MakePair("VORTICITY", SST_OPTIONS::VORTICITY) MakePair("KATO-LAUNDER", SST_OPTIONS::KL) - MakePair("UNCERTAINTY", SST_OPTIONS::UNCERTAINTY) + MakePair("UQ", SST_OPTIONS::UQ) }; /*! * \brief Structure containing parsed SST options. */ struct SST_ParsedOptions { - //std::string sst_string = "Menter's k-w SST"; /*!< \brief Initial string for SST problems. */ - SST_OPTIONS version; /*!< \brief Enum SST base model. */ SST_OPTIONS production; /*!< \brief Enum for production corrections/modifiers for SST model. */ bool sust; /*!< \brief Bool for SST model with sustaining terms. */ @@ -2390,8 +2388,7 @@ class COptionBase { const bool sst_v = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::KL) != sst_options_end; - //const bool sst_uq = (std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end || using_uq); - const bool sst_uq = std::find(SST_Options, sst_options_end, SST_OPTIONS::UNCERTAINTY) != sst_options_end; + const bool sst_uq = std::find(SST_Options, sst_options_end, SST_OPTIONS::UQ) != sst_options_end; // Parse base version if (sst_1994 && sst_2003) { @@ -2420,7 +2417,7 @@ class COptionBase { } else if (sst_kl) { SSTParsedOptions.production = SST_OPTIONS::KL; } else if (sst_uq) { - SSTParsedOptions.production = SST_OPTIONS::UNCERTAINTY; + SSTParsedOptions.production = SST_OPTIONS::UQ; } // Parse boolean options diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 6a35675c6e25..89c53600d25a 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -2832,9 +2832,6 @@ void CConfig::SetConfig_Options() { /* DESCRIPTION: Volume solution files */ addEnumListOption("OUTPUT_FILES", nVolumeOutputFiles, VolumeOutputFiles, Output_Map); - /* DESCRIPTION: Using Uncertainty Quantification with SST Turbulence Model */ - addBoolOption("USING_UQ", using_uq, false); - /* DESCRIPTION: Parameter to perturb eigenvalues */ addDoubleOption("UQ_DELTA_B", uq_delta_b, 1.0); @@ -3401,6 +3398,7 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i /*--- Postprocess SST_OPTIONS into structure. ---*/ if (Kind_Turb_Model==TURB_MODEL::SST){ sstParsedOptions = ParseSSTOptions(SST_Options, nSST_Options, rank); + using_uq = sstParsedOptions.uq; } /*--- Check if turbulence model can be used for AXISYMMETRIC case---*/ @@ -4683,7 +4681,7 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i /* --- Throw error if UQ used for any turbulence model other that SST --- */ - if (Kind_Solver == MAIN_SOLVER::RANS && Kind_Turb_Model != TURB_MODEL::SST && using_uq){ + if (Kind_Solver == MAIN_SOLVER::RANS && Kind_Turb_Model != TURB_MODEL::SST && sstParsedOptions.uq){ SU2_MPI::Error("UQ capabilities only implemented for NAVIER_STOKES solver SST turbulence model", CURRENT_FUNCTION); } @@ -5890,7 +5888,7 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { case SA_ZDES: cout << "Delayed Detached Eddy Simulation (DDES) with Vorticity-based SGS" << endl; break; case SA_EDDES: cout << "Delayed Detached Eddy Simulation (DDES) with Shear-layer Adapted SGS" << endl; break; } - if (using_uq){ + if (sstParsedOptions.uq){ cout << "Perturbing Reynold's Stress Matrix towards "<< eig_val_comp << " component turbulence"<< endl; if (uq_permute) cout << "Permuting eigenvectors" << endl; } diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 06723e1819de..80d1da3c081c 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -733,7 +733,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double StrainMag = StrainMag_i; su2double P_Base = StrainMag; //Base production term for SST1994 and SST2003 - if (using_uq) { + if (sstParsedOptions.uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); StrainMag = PerturbedStrainMag(ScalarVar_i[0]); diff --git a/SU2_PY/compute_uncertainty.py b/SU2_PY/compute_uncertainty.py index 547d7d3a5377..41e72d568723 100755 --- a/SU2_PY/compute_uncertainty.py +++ b/SU2_PY/compute_uncertainty.py @@ -62,7 +62,7 @@ def main(): # prepare config config.NUMBER_PART = options.partitions - config.USING_UQ = 'YES' + config.SST_OPTIONS = 'UQ' config.UQ_DELTA_B = options.beta_delta config.UQ_URLX = options.urlx config.UQ_PERMUTE = 'NO' diff --git a/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg b/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg index 8e1005e01bf3..e3aae722d82e 100644 --- a/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg +++ b/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg @@ -18,7 +18,7 @@ SOLVER= RANS % % Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -SST_OPTIONS=(V1994, SUSTAINING) +SST_OPTIONS=(SUSTAINING) % % Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT diff --git a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_1c.cfg b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_1c.cfg index 83347008ed34..f822cef30cec 100644 --- a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_1c.cfg +++ b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_1c.cfg @@ -20,6 +20,9 @@ SOLVER= RANS % Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST % +% Using uncertainty quantification module. +SST_OPTIONS= (UQ) +% % Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT % @@ -44,9 +47,7 @@ REYNOLDS_LENGTH= 1.0 % ------------------- UNCERTAINTY QUANTIFICATION DEFINITION -------------------% % -% Using uncertainty quantification module (YES, NO). Only available with SST -USING_UQ= YES -% + % Eigenvalue perturbation definition (1, 2, or 3) UQ_COMPONENT= 1 % diff --git a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_2c.cfg b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_2c.cfg index 10da2565eb6c..1e92f63a59fe 100644 --- a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_2c.cfg +++ b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_2c.cfg @@ -20,6 +20,9 @@ SOLVER= RANS % Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST % +% Using uncertainty quantification module. +SST_OPTIONS= (UQ) +% % Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT % @@ -44,9 +47,6 @@ REYNOLDS_LENGTH= 1.0 % ------------------- UNCERTAINTY QUANTIFICATION DEFINITION -------------------% % -% Using uncertainty quantification module (YES, NO). Only available with SST -USING_UQ= YES -% % Eigenvalue perturbation definition (1, 2, or 3) UQ_COMPONENT= 2 % diff --git a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_3c.cfg b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_3c.cfg index 34fd6d66ffab..253c7bfbd403 100644 --- a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_3c.cfg +++ b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_3c.cfg @@ -20,6 +20,9 @@ SOLVER= RANS % Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST % +% Using uncertainty quantification module. +SST_OPTIONS= (UQ) +% % Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT % @@ -44,9 +47,6 @@ REYNOLDS_LENGTH= 1.0 % ------------------- UNCERTAINTY QUANTIFICATION DEFINITION -------------------% % -% Using uncertainty quantification module (YES, NO). Only available with SST -USING_UQ= YES -% % Eigenvalue perturbation definition (1, 2, or 3) UQ_COMPONENT= 3 % diff --git a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c1.cfg b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c1.cfg index b6ce33eff8f4..88dedcb73258 100644 --- a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c1.cfg +++ b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c1.cfg @@ -20,6 +20,9 @@ SOLVER= RANS % Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST % +% Using uncertainty quantification module. +SST_OPTIONS= (UQ) +% % Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT % @@ -44,9 +47,6 @@ REYNOLDS_LENGTH= 1.0 % ------------------- UNCERTAINTY QUANTIFICATION DEFINITION -------------------% % -% Using uncertainty quantification module (YES, NO). Only available with SST -USING_UQ= YES -% % Eigenvalue perturbation definition (1, 2, or 3) UQ_COMPONENT= 1 % diff --git a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c2.cfg b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c2.cfg index 3242e5d34430..9949804e2e36 100644 --- a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c2.cfg +++ b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c2.cfg @@ -20,6 +20,9 @@ SOLVER= RANS % Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST % +% Using uncertainty quantification module. +SST_OPTIONS= (UQ) +% % Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT % @@ -44,9 +47,6 @@ REYNOLDS_LENGTH= 1.0 % ------------------- UNCERTAINTY QUANTIFICATION DEFINITION -------------------% % -% Using uncertainty quantification module (YES, NO). Only available with SST -USING_UQ= YES -% % Eigenvalue perturbation definition (1, 2, or 3) UQ_COMPONENT= 2 % diff --git a/config_template.cfg b/config_template.cfg index 0eb9e72fd8e4..c93c6eb58c35 100644 --- a/config_template.cfg +++ b/config_template.cfg @@ -1539,9 +1539,6 @@ FFD_BSPLINE_ORDER= 2, 2, 2 % % ------------------- UNCERTAINTY QUANTIFICATION DEFINITION -------------------% % -% Using uncertainty quantification module (YES, NO). Only available with SST -USING_UQ= NO -% % Eigenvalue perturbation definition (1, 2, or 3) UQ_COMPONENT= 1 % From c94264bfaca87ecbdf288aaea2ce10923ec30b39 Mon Sep 17 00:00:00 2001 From: nbe0dev Date: Wed, 20 Apr 2022 11:22:16 +0200 Subject: [PATCH 077/110] fix using_uq for SA --- Common/include/CConfig.hpp | 2 +- Common/src/CConfig.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index d9dcb7cd6b0d..c653e0b5e6f7 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -1139,7 +1139,7 @@ class CConfig { nHistoryOutput, nVolumeOutput; /*!< \brief Number of variables printed to the history file. */ bool Multizone_Residual; /*!< \brief Determines if memory should be allocated for the multizone residual. */ - bool using_uq; /*!< \brief Using uncertainty quantification with SST model */ + bool using_uq=false; /*!< \brief Using uncertainty quantification with SST model */ su2double uq_delta_b; /*!< \brief Parameter used to perturb eigenvalues of Reynolds Stress Matrix */ unsigned short eig_val_comp; /*!< \brief Parameter used to determine type of eigenvalue perturbation */ su2double uq_urlx; /*!< \brief Under-relaxation factor */ diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 89c53600d25a..66e82fb40282 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -4681,7 +4681,7 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i /* --- Throw error if UQ used for any turbulence model other that SST --- */ - if (Kind_Solver == MAIN_SOLVER::RANS && Kind_Turb_Model != TURB_MODEL::SST && sstParsedOptions.uq){ + if (Kind_Solver == MAIN_SOLVER::RANS && Kind_Turb_Model != TURB_MODEL::SST && using_uq){ SU2_MPI::Error("UQ capabilities only implemented for NAVIER_STOKES solver SST turbulence model", CURRENT_FUNCTION); } From d74d5fe9692bbe5e0316eb731887b545e9db023d Mon Sep 17 00:00:00 2001 From: bigfooted Date: Thu, 21 Apr 2022 08:59:47 +0200 Subject: [PATCH 078/110] some cleanup of modified vs unmodified sst1994 and sst2003 --- Common/include/option_structure.hpp | 29 +++++++------ .../numerics/turbulent/turb_sources.hpp | 41 ++++++------------- 2 files changed, 30 insertions(+), 40 deletions(-) diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 29b859737f7c..174eee3cbf3b 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -2377,36 +2377,41 @@ class COptionBase { SST_ParsedOptions SSTParsedOptions; const auto sst_options_end = SST_Options + nSST_Options; - const bool sst_1994 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994) != sst_options_end; - const bool sst_2003 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003) != sst_options_end; + const bool sst_1994 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994) != sst_options_end || + std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994m) != sst_options_end; + const bool sst_2003 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003) != sst_options_end || + std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003m) != sst_options_end; - /* when V2003 is selected, we automatically select sst_m as well */ - const bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::MODIFIED) != sst_options_end || sst_2003; + /* when V2003m or V1994m is selected, we automatically select sst_m as well */ + bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::MODIFIED) != sst_options_end || + std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994m) != sst_options_end || + std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003m) != sst_options_end; const bool sst_sust = std::find(SST_Options, sst_options_end, SST_OPTIONS::SUST) != sst_options_end; - const bool sst_v = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::KL) != sst_options_end; - const bool sst_uq = std::find(SST_Options, sst_options_end, SST_OPTIONS::UQ) != sst_options_end; // Parse base version if (sst_1994 && sst_2003) { - SU2_MPI::Error("Two versions (1994 and 2003m) selected for SST Options. Please choose only one.", CURRENT_FUNCTION); + SU2_MPI::Error("Two versions (1994 and 2003) selected for SST Options. Please choose only one.", CURRENT_FUNCTION); } else if (sst_2003) { /*--- sst-2003m model is sst2003 + sstm ---*/ - if(rank==MASTER_NODE) cout << "Currently only the SST-2003m (modified) has been implemented. " << endl; - SSTParsedOptions.version = SST_OPTIONS::V2003m; + if(rank==MASTER_NODE) cout << "Note: currently only the SST-2003m (modified) has been implemented. " << endl; + SSTParsedOptions.version = SST_OPTIONS::V2003; + sst_m = true; } else if (sst_1994){ /* --- Add warning to switch to SST-2003m --- */ if(rank==MASTER_NODE) - cout << "warning: the current SST-1994 model is inconsistent with literature. We recommend to use the SST-2003m model." << endl + cout << "warning: the current SST-1994m model is inconsistent with literature. We recommend to use the SST-2003m model." << endl << "In the future, the 2003m model will become the default SST model. " << endl; SSTParsedOptions.version = SST_OPTIONS::V1994; + sst_m = true; } else { /* use the most recent model as the default*/ - if (rank==MASTER_NODE) cout << "SST_OPTIONS not found! using default SST-V1994. " << endl; - SSTParsedOptions.version = SST_OPTIONS::V1994; + if (rank==MASTER_NODE) cout << "SST_OPTIONS not found! using default SST-V1994m. " << endl; + SSTParsedOptions.version = SST_OPTIONS::V1994; + sst_m = true; } // Parse production modifications diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 80d1da3c081c..078e48d66d61 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -721,7 +721,6 @@ class CSourcePieceWise_TurbSST final : public CNumerics { const su2double beta_blended = F1_i * beta_1 + (1.0 - F1_i) * beta_2; if (dist_i > 1e-10) { - /*--- Production ---*/ su2double diverg = 0.0; for (unsigned short iDim = 0; iDim < nDim; iDim++) @@ -742,56 +741,44 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double pk = Eddy_Viscosity_i * pow(P_Base, 2); - if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { + // if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { /* in case of unmodified, we add the divergence terms */ if (sstParsedOptions.version == SST_OPTIONS::V1994) { /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ - //pk -= (Eddy_Viscosity*2.0/3.0*diverg*diverg + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); pk = pk - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - } else { - /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ - pk -= (Eddy_Viscosity_i*(2.0 / 3.0 * diverg * diverg) + 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg); - } - } + } + // } - //pk = pk - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; pk = min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]); pk = max(0.0, pk); su2double zeta; if (sstParsedOptions.version == SST_OPTIONS::V1994){ - /*--- no production limiter on w-equation for SST1994 ---*/ zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); /*--- ---*/ - //pw = (alfa_blended * Density_i) * pw; } else { - /*--- production limiter on w-equation for SST2003 ---*/ zeta = max(ScalarVar_i[1], StrainMag_i * F2_i / a1); - //pw = (alfa_blended * Density_i) * max(0.0, min(pw, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0])); } su2double pw = pow(StrainMag, 2); - if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { + // if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { /* in case of unmodified, we add the divergence terms */ if (sstParsedOptions.version == SST_OPTIONS::V1994) { /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ - /* --- note that mu_t = rho*a1*k/zeta and we can make this term independent of k ---*/ - // the correct production with the additional divergence term - // pw -= (alfa_blended*Density_i * (2.0 / 3.0 * diverg*diverg) + 2.0 / 3.0 * zeta * diverg); - /*--- the tke term only ---*/ pw = pw - 2.0 / 3.0 * zeta * diverg; - } else { - /* Note that we have to make the stress tensor tau_ij consistent everywhere when we neglect (or not) the divergence */ - pw = pw - (2.0 / 3.0 * diverg * diverg + 2.0 / 3.0 * zeta * diverg); - } - } - - //su2double pw = pow(StrainMag, 2); - //pw = pw - 2.0 / 3.0 * zeta * diverg; + } + // } + + pw = (alfa_blended * Density_i) * max(pw,0.0); + if (sstParsedOptions.version == SST_OPTIONS::V2003){ + /*--- Production limiter only for V2003---*/ + pw = min(pw, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]); + } + /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is obtained again. This is in contrast to the version in literature @@ -827,8 +814,6 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Implicit part ---*/ Jacobian_i[0][0] = -beta_star * ScalarVar_i[1] * Volume; - // I think should be this, - //Jacobian_i[0][0] = (1.0/zeta) -beta_star * ScalarVar_i[1] * Volume; Jacobian_i[0][1] = -beta_star * ScalarVar_i[0] * Volume; Jacobian_i[1][0] = 0.0; Jacobian_i[1][1] = -2.0 * beta_blended * ScalarVar_i[1] * Volume; From e9f135f2b236933e0c9b8f185c73bafe51f7ac53 Mon Sep 17 00:00:00 2001 From: nbe0dev Date: Thu, 21 Apr 2022 12:03:00 +0200 Subject: [PATCH 079/110] modify modified modifier --- .../numerics/turbulent/turb_sources.hpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 078e48d66d61..3896331be323 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -741,13 +741,16 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double pk = Eddy_Viscosity_i * pow(P_Base, 2); - // if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { - /* in case of unmodified, we add the divergence terms */ + /*--- note that we currently only have the 1994m and 2003m modified versions, + where we neglect the divergence terms. Due to an inconsistency, we still + have a divergence in the current 1994m model ---*/ + if (sstParsedOptions.modified) { + /* in case of unmodified, we add the divergence terms */ if (sstParsedOptions.version == SST_OPTIONS::V1994) { - /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ + /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS ADDED ---*/ pk = pk - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; } - // } + } pk = min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]); pk = max(0.0, pk); @@ -763,13 +766,13 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double pw = pow(StrainMag, 2); - // if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { - /* in case of unmodified, we add the divergence terms */ + if (sstParsedOptions.modified){ + /* in case of unmodified, we add the divergence terms */ if (sstParsedOptions.version == SST_OPTIONS::V1994) { - /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ + /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS ADDED ---*/ pw = pw - 2.0 / 3.0 * zeta * diverg; } - // } + } pw = (alfa_blended * Density_i) * max(pw,0.0); From 576bfd0402bea8f36b291518a30a030b56b892a9 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sun, 24 Apr 2022 08:52:03 +0200 Subject: [PATCH 080/110] remove using_uq boolean --- Common/include/CConfig.hpp | 6 ++---- Common/src/CConfig.cpp | 3 +-- SU2_CFD/include/numerics/CNumerics.hpp | 2 +- SU2_CFD/src/numerics/CNumerics.cpp | 6 ++---- SU2_CFD/src/numerics/flow/flow_diffusion.cpp | 8 ++++---- 5 files changed, 10 insertions(+), 15 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index c653e0b5e6f7..aca1aa5a2be1 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -577,7 +577,6 @@ class CConfig { SPECIES_MODEL Kind_Species_Model; /*!< \brief Species model definition. */ TURB_SGS_MODEL Kind_SGS_Model; /*!< \brief LES SGS model definition. */ TURB_TRANS_MODEL Kind_Trans_Model; /*!< \brief Transition model definition. */ - SST_ParsedOptions sstParsedOptions; /*!< \brief boolean options struct for the turbulence model definition */ unsigned short Kind_ActDisk, Kind_Engine_Inflow, *Kind_Data_Riemann, *Kind_Data_Giles; /*!< \brief Kind of inlet boundary treatment. */ @@ -1138,8 +1137,7 @@ class CConfig { unsigned short nScreenOutput, /*!< \brief Number of screen output variables (max: 6). */ nHistoryOutput, nVolumeOutput; /*!< \brief Number of variables printed to the history file. */ bool Multizone_Residual; /*!< \brief Determines if memory should be allocated for the multizone residual. */ - - bool using_uq=false; /*!< \brief Using uncertainty quantification with SST model */ + SST_ParsedOptions sstParsedOptions; /*!< \brief additional parameters for the SST turbulence model */ su2double uq_delta_b; /*!< \brief Parameter used to perturb eigenvalues of Reynolds Stress Matrix */ unsigned short eig_val_comp; /*!< \brief Parameter used to determine type of eigenvalue perturbation */ su2double uq_urlx; /*!< \brief Under-relaxation factor */ @@ -8982,7 +8980,7 @@ class CConfig { * \brief Get information about using UQ methodology * \return TRUE means that UQ methodology of eigenspace perturbation will be used */ - bool GetUsing_UQ(void) const { return using_uq; } + bool GetUsing_UQ(void) const { return sstParsedOptions.uq; } /*! * \brief Get the amount of eigenvalue perturbation to be done diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 66e82fb40282..1c97da17b4ad 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -3398,7 +3398,6 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i /*--- Postprocess SST_OPTIONS into structure. ---*/ if (Kind_Turb_Model==TURB_MODEL::SST){ sstParsedOptions = ParseSSTOptions(SST_Options, nSST_Options, rank); - using_uq = sstParsedOptions.uq; } /*--- Check if turbulence model can be used for AXISYMMETRIC case---*/ @@ -4681,7 +4680,7 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i /* --- Throw error if UQ used for any turbulence model other that SST --- */ - if (Kind_Solver == MAIN_SOLVER::RANS && Kind_Turb_Model != TURB_MODEL::SST && using_uq){ + if (Kind_Solver == MAIN_SOLVER::RANS && Kind_Turb_Model != TURB_MODEL::SST && sstParsedOptions.uq){ SU2_MPI::Error("UQ capabilities only implemented for NAVIER_STOKES solver SST turbulence model", CURRENT_FUNCTION); } diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index 16adc07a6ec4..a76e72c0daed 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -181,7 +181,7 @@ class CNumerics { roughness_j = 0.0; /*!< \brief Roughness of the wall nearest to point j. */ su2double MeanPerturbedRSM[3][3];/*!< \brief Perturbed Reynolds stress tensor */ - bool using_uq; /*!< \brief Flag for UQ methodology */ + SST_ParsedOptions sstParsedOptions; /*!< \brief additional options for the SST turbulence model */ unsigned short Eig_Val_Comp; /*!< \brief Component towards which perturbation is perfromed */ su2double uq_delta_b; /*!< \brief Magnitude of perturbation */ su2double uq_urlx; /*!< \brief Under-relaxation factor for numerical stability */ diff --git a/SU2_CFD/src/numerics/CNumerics.cpp b/SU2_CFD/src/numerics/CNumerics.cpp index 17dd415f78d5..6f2589811eaa 100644 --- a/SU2_CFD/src/numerics/CNumerics.cpp +++ b/SU2_CFD/src/numerics/CNumerics.cpp @@ -36,9 +36,7 @@ CNumerics::CNumerics(void) { Proj_Flux_Tensor = nullptr; tau = nullptr; - - using_uq = false; - + nemo = false; } @@ -69,7 +67,7 @@ CNumerics::CNumerics(unsigned short val_nDim, unsigned short val_nVar, Dissipation_ij = 1.0; /* --- Initializing variables for the UQ methodology --- */ - using_uq = config->GetUsing_UQ(); + sstParsedOptions = config->GetSSTParsedOptions(); Eig_Val_Comp = config->GetEig_Val_Comp(); uq_delta_b = config->GetUQ_Delta_B(); uq_urlx = config->GetUQ_URLX(); diff --git a/SU2_CFD/src/numerics/flow/flow_diffusion.cpp b/SU2_CFD/src/numerics/flow/flow_diffusion.cpp index 4d9c4e32f135..0ea4d1116b0e 100644 --- a/SU2_CFD/src/numerics/flow/flow_diffusion.cpp +++ b/SU2_CFD/src/numerics/flow/flow_diffusion.cpp @@ -130,7 +130,7 @@ void CAvgGrad_Base::SetStressTensor(const su2double *val_primvar, * for the turbulent part of tau. Otherwise both the laminar and turbulent * parts of tau can be computed with the total viscosity. --- */ - if (using_uq){ + if (sstParsedOptions.uq){ // laminar part ComputeStressTensor(nDim, tau, val_gradprimvar+1, val_laminar_viscosity); // add turbulent part which was perturbed @@ -426,7 +426,7 @@ CNumerics::ResidualType<> CAvgGrad_Flow::ComputeResidual(const CConfig* config) /*--- If using UQ methodology, set Reynolds Stress tensor and perform perturbation ---*/ - if (using_uq){ + if (sstParsedOptions.uq){ ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, Mean_GradPrimVar+1, Mean_PrimVar[nDim+2], Mean_Eddy_Viscosity, Mean_turb_ke, MeanPerturbedRSM); @@ -611,7 +611,7 @@ CNumerics::ResidualType<> CAvgGradInc_Flow::ComputeResidual(const CConfig* confi /*--- If using UQ methodology, set Reynolds Stress tensor and perform perturbation ---*/ - if (using_uq){ + if (sstParsedOptions.uq){ ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, Mean_GradPrimVar+1, Mean_PrimVar[nDim+2], Mean_Eddy_Viscosity, Mean_turb_ke, MeanPerturbedRSM); @@ -941,7 +941,7 @@ CNumerics::ResidualType<> CGeneralAvgGrad_Flow::ComputeResidual(const CConfig* c /*--- If using UQ methodology, set Reynolds Stress tensor and perform perturbation ---*/ - if (using_uq){ + if (sstParsedOptions.uq){ ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, Mean_GradPrimVar+1, Mean_PrimVar[nDim+2], Mean_Eddy_Viscosity, Mean_turb_ke, MeanPerturbedRSM); From 98a3736012ff8d16391735dc50fb84583cc85f76 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sun, 24 Apr 2022 19:51:51 +0200 Subject: [PATCH 081/110] move sst.uq output message to within sst --- Common/src/CConfig.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 0dc55868cf28..9f1d48923381 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -4675,12 +4675,6 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i Finite_Difference_Mode = false; - /* --- Throw error if UQ used for any turbulence model other that SST --- */ - - if (Kind_Solver == MAIN_SOLVER::RANS && Kind_Turb_Model != TURB_MODEL::SST && sstParsedOptions.uq){ - SU2_MPI::Error("UQ capabilities only implemented for NAVIER_STOKES solver SST turbulence model", CURRENT_FUNCTION); - } - /*--- If there are not design variables defined in the file ---*/ if (nDV == 0) { @@ -5872,6 +5866,10 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { case TURB_MODEL::SST: cout << "Menter's SST" << endl; if (sstParsedOptions.sust) cout << "Menter's SST with sustaining terms" << endl; + if (sstParsedOptions.uq){ + cout << "Perturbing Reynold's Stress Matrix towards "<< eig_val_comp << " component turbulence"<< endl; + if (uq_permute) cout << "Permuting eigenvectors" << endl; + } break; } if (QCR) cout << "Using Quadratic Constitutive Relation, 2000 version (QCR2000)" << endl; @@ -5884,10 +5882,6 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { case SA_ZDES: cout << "Delayed Detached Eddy Simulation (DDES) with Vorticity-based SGS" << endl; break; case SA_EDDES: cout << "Delayed Detached Eddy Simulation (DDES) with Shear-layer Adapted SGS" << endl; break; } - if (sstParsedOptions.uq){ - cout << "Perturbing Reynold's Stress Matrix towards "<< eig_val_comp << " component turbulence"<< endl; - if (uq_permute) cout << "Permuting eigenvectors" << endl; - } break; case MAIN_SOLVER::NEMO_EULER: if (Kind_Regime == ENUM_REGIME::COMPRESSIBLE) cout << "Compressible two-temperature thermochemical non-equilibrium Euler equations." << endl; From 8be782addbdcce4c3112b15a4f26a898a7692797 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Sun, 24 Apr 2022 22:37:43 +0200 Subject: [PATCH 082/110] default false to sstoption booleans --- Common/include/option_structure.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 174eee3cbf3b..e7fcb05fa4b6 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -991,9 +991,9 @@ static const MapType SST_Options_Map = { struct SST_ParsedOptions { SST_OPTIONS version; /*!< \brief Enum SST base model. */ SST_OPTIONS production; /*!< \brief Enum for production corrections/modifiers for SST model. */ - bool sust; /*!< \brief Bool for SST model with sustaining terms. */ - bool uq; /*!< \brief Bool for using uncertainty quantification */ - bool modified; /*!< \brief Bool for modified (m) SST model. */ + bool sust=false; /*!< \brief Bool for SST model with sustaining terms. */ + bool uq=false; /*!< \brief Bool for using uncertainty quantification */ + bool modified=false; /*!< \brief Bool for modified (m) SST model. */ }; /*! From 4dfb8c8a602b6ac5a30b501d367b13379e8fcb78 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Tue, 26 Apr 2022 23:25:59 +0200 Subject: [PATCH 083/110] fixed and checked v2003 model (production limiter) --- Common/src/CConfig.cpp | 17 +++++++--- .../numerics/turbulent/turb_sources.hpp | 31 ++++++++++--------- SU2_CFD/src/solvers/CAdjNSSolver.cpp | 2 +- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 1 + 4 files changed, 31 insertions(+), 20 deletions(-) diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 9f1d48923381..3743698a14d0 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -5864,11 +5864,20 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { case TURB_MODEL::SA_COMP: cout << "Compressibility Correction Spalart Allmaras" << endl; break; case TURB_MODEL::SA_E_COMP: cout << "Compressibility Correction Edwards Spalart Allmaras" << endl; break; case TURB_MODEL::SST: - cout << "Menter's SST" << endl; - if (sstParsedOptions.sust) cout << "Menter's SST with sustaining terms" << endl; + cout << "Menter's k-omega SST" << endl; + if (sstParsedOptions.version == SST_OPTIONS::V1994) + cout << " version 1994" << endl; + else + cout << " version 2003" << endl; + if (sstParsedOptions.modified) + cout << " modified" <GetNodes()->GetEnthalpy(iPoint); /*--- Turbulent kinetic energy ---*/ - + /* Nijso says: This does not seem to be consistent with the primal treatment. */ if (config->GetKind_Turb_Model() == TURB_MODEL::SST) val_turb_ke = solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0); else diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index 3979fa373d19..a4d08eecd4d6 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -244,6 +244,7 @@ void CTurbSSTSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai if (sstParsedOptions.version == SST_OPTIONS::V1994){ P_Base = VorticityMag; } else { + /*--- SST V2003 ---*/ P_Base = StrainMag; } From 3ad907384e629b98901ff15bb2df840bdbcd24ce Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 2 May 2022 15:09:11 +0200 Subject: [PATCH 084/110] added rans naca0012 regression case --- .../include/variables/CTurbSSTVariable.hpp | 3 +- SU2_CFD/src/variables/CTurbSSTVariable.cpp | 8 +- .../rans/naca0012/turb_NACA0012_sst_2003m.cfg | 250 ++++++++++++++++++ TestCases/serial_regression.py | 12 + 4 files changed, 266 insertions(+), 7 deletions(-) create mode 100644 TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg diff --git a/SU2_CFD/include/variables/CTurbSSTVariable.hpp b/SU2_CFD/include/variables/CTurbSSTVariable.hpp index 40e45636b7b8..9ea564954248 100644 --- a/SU2_CFD/include/variables/CTurbSSTVariable.hpp +++ b/SU2_CFD/include/variables/CTurbSSTVariable.hpp @@ -40,6 +40,7 @@ class CTurbSSTVariable final : public CTurbVariable { protected: su2double sigma_om2; su2double beta_star; + su2double prodLimConst; VectorType F1; VectorType F2; /*!< \brief Menter blending function for blending of k-w and k-eps. */ VectorType CDkw; /*!< \brief Cross-diffusion. */ @@ -53,7 +54,7 @@ class CTurbSSTVariable final : public CTurbVariable { * \param[in] npoint - Number of points/nodes/vertices in the domain. * \param[in] ndim - Number of dimensions of the problem. * \param[in] nvar - Number of variables of the problem. - * \param[in] constants - + * \param[in] constants - sst model constants * \param[in] config - Definition of the particular problem. */ CTurbSSTVariable(su2double kine, su2double omega, su2double mut, unsigned long npoint, diff --git a/SU2_CFD/src/variables/CTurbSSTVariable.cpp b/SU2_CFD/src/variables/CTurbSSTVariable.cpp index 9f4c4e674ce7..6f513735eff2 100644 --- a/SU2_CFD/src/variables/CTurbSSTVariable.cpp +++ b/SU2_CFD/src/variables/CTurbSSTVariable.cpp @@ -44,6 +44,7 @@ CTurbSSTVariable::CTurbSSTVariable(su2double kine, su2double omega, su2double mu sigma_om2 = constants[3]; beta_star = constants[6]; + prodLimConst = constants[10]; F1.resize(nPoint) = su2double(1.0); F2.resize(nPoint) = su2double(0.0); @@ -68,12 +69,7 @@ void CTurbSSTVariable::SetBlendingFunc(unsigned long iPoint, su2double val_visco for (unsigned long iDim = 0; iDim < nDim; iDim++) CDkw(iPoint) += Gradient(iPoint,0,iDim)*Gradient(iPoint,1,iDim); CDkw(iPoint) *= 2.0*val_density*sigma_om2/Solution(iPoint,1); - if (sstParsedOptions.version == SST_OPTIONS::V1994){ - CDkw(iPoint) = max(CDkw(iPoint), pow(10.0, -20.0)); - } else { - /* SST-2003 */ - CDkw(iPoint) = max(CDkw(iPoint), pow(10.0, -10.0)); - } + CDkw(iPoint) = max(CDkw(iPoint), pow(10.0, -prodLimConst)); /*--- F1 ---*/ diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg new file mode 100644 index 000000000000..f9b4d40fce3d --- /dev/null +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg @@ -0,0 +1,250 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: 2D NACA 0012 Airfoil Validation Case (compressible) % +% http://turbmodels.larc.nasa.gov/naca0012_val_sa.html % +% Author: Thomas D. Economon % +% Institution: Stanford University % +% Date: Feb 18th, 2013 % +% File Version 7.3.1 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +% Physical governing equations (EULER, NAVIER_STOKES, +% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, +% POISSON_EQUATION) +SOLVER= RANS +% +% Specify turbulent model (NONE, SA, SA_NEG, SST) +KIND_TURB_MODEL= SST +SST_OPTIONs= V2003m +% +% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) +MATH_PROBLEM= DIRECT +% +% Restart solution (NO, YES) +RESTART_SOL= YES +% +% Read binary restart files (YES, NO) +READ_BINARY_RESTART= NO +% + +% -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% +% +% Mach number (non-dimensional, based on the free-stream values) +MACH_NUMBER= 0.15 +% +% Angle of attack (degrees, only for compressible flows) +AOA= 10.0 +% +% Free-stream temperature (288.15 K by default) +FREESTREAM_TEMPERATURE= 300.0 +% +% Reynolds number (non-dimensional, based on the free-stream values) +REYNOLDS_NUMBER= 6.0E6 +% +% Reynolds length (1 m by default) +REYNOLDS_LENGTH= 1.0 + +% ---------------------- REFERENCE VALUE DEFINITION ---------------------------% +% +% Reference origin for moment computation +REF_ORIGIN_MOMENT_X = 0.25 +REF_ORIGIN_MOMENT_Y = 0.00 +REF_ORIGIN_MOMENT_Z = 0.00 +% +% Reference length for pitching, rolling, and yawing non-dimensional moment +REF_LENGTH= 1.0 +% +% Reference area for force coefficients (0 implies automatic calculation) +REF_AREA= 1.0 +% +% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, +% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) +REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE + +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +% Navier-Stokes wall boundary marker(s) (NONE = no marker) +MARKER_HEATFLUX= ( airfoil, 0.0 ) +% +% Farfield boundary marker(s) (NONE = no marker) +MARKER_FAR= ( farfield ) +% +% Marker(s) of the surface to be plotted or designed +MARKER_PLOTTING= ( airfoil ) +% +% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated +MARKER_MONITORING= ( airfoil ) + +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES +NUM_METHOD_GRAD_RECON= LEAST_SQUARES +% +% Courant-Friedrichs-Lewy condition of the finest grid +CFL_NUMBER= 1000.0 +% +% Max Delta time +MAX_DELTA_TIME= 1E10 +% +% Adaptive CFL number (NO, YES) +CFL_ADAPT= NO +% +% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, +% CFL max value ) +CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) +% +% Number of total iterations +ITER= 99999 + +% ----------------------- SLOPE LIMITER DEFINITION ----------------------------% +% +% Coefficient for the limiter +VENKAT_LIMITER_COEFF= 0.03 +% +% Freeze the value of the limiter after a number of iterations +LIMITER_ITER= 99999 + +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) +LINEAR_SOLVER= FGMRES +% +% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) +LINEAR_SOLVER_PREC= ILU +% +% Minimum error of the linear solver for implicit formulations +LINEAR_SOLVER_ERROR= 1E-10 +% +% Max number of iterations of the linear solver for the implicit formulation +LINEAR_SOLVER_ITER= 20 + +% -------------------------- MULTIGRID PARAMETERS -----------------------------% +% +% Multi-Grid Levels (0 = no multi-grid) +MGLEVEL= 0 +% +% Multigrid pre-smoothing level +MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1, 1 ) +% +% Multigrid post-smoothing level +MG_POST_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) +% +% Jacobi implicit smoothing of the correction +MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) +% +% Damping factor for the residual restriction +MG_DAMP_RESTRICTION= 0.75 +% +% Damping factor for the correction prolongation +MG_DAMP_PROLONGATION= 0.75 + +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +% +% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, +% TURKEL_PREC, MSW) +CONV_NUM_METHOD_FLOW= ROE +USE_VECTORIZATION= YES +% +% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) +MUSCL_FLOW= YES +% +% Slope limiter (VENKATAKRISHNAN, MINMOD) +SLOPE_LIMITER_FLOW= NONE +% +% 2nd and 4th order artificial dissipation coefficients +JST_SENSOR_COEFF= ( 0.5, 0.02 ) +% +% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) +TIME_DISCRE_FLOW= EULER_IMPLICIT + +% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% +% +% Convective numerical method (SCALAR_UPWIND) +CONV_NUM_METHOD_TURB= SCALAR_UPWIND +% +% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. +% Required for 2nd order upwind schemes (NO, YES) +MUSCL_TURB= NO +% +% Slope limiter (VENKATAKRISHNAN, MINMOD) +SLOPE_LIMITER_TURB= NONE +% +% Time discretization (EULER_IMPLICIT) +TIME_DISCRE_TURB= EULER_IMPLICIT +% +% Reduction factor of the CFL coefficient in the turbulence problem +CFL_REDUCTION_TURB= 1.0 + +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +% Convergence field +CONV_FIELD= RMS_DENSITY +% +% Min value of the residual (log10 of the residual) +CONV_RESIDUAL_MINVAL= -12 +% +% Start convergence criteria at iteration number +CONV_STARTITER= 10 +% +% Number of elements to apply the criteria +CONV_CAUCHY_ELEMS= 100 +% +% Epsilon to control the series convergence +CONV_CAUCHY_EPS= 1E-6 +% + +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +% Mesh input file +MESH_FILENAME= n0012_225-65.su2 +% +% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FORMAT= SU2 +% +% Mesh output file +MESH_OUT_FILENAME= mesh_out.su2 +% +% Restart flow input file +SOLUTION_FILENAME= solution_flow_sst.dat +% +% Restart adjoint input file +SOLUTION_ADJ_FILENAME= solution_adj.dat +% +TABULAR_FORMAT= CSV +% +% Output file convergence history (w/o extension) +CONV_FILENAME= history +% +% Output file restart flow +RESTART_FILENAME= restart_flow.dat +% +% Output file restart adjoint +RESTART_ADJ_FILENAME= restart_adj.dat +% +% Output file flow (w/o extension) variables +VOLUME_FILENAME= flow +% +% Output file adjoint (w/o extension) variables +VOLUME_ADJ_FILENAME= adjoint +% +% Output objective function gradient (using continuous adjoint) +GRAD_OBJFUNC_FILENAME= of_grad.dat +% +% Output file surface flow coefficient (w/o extension) +SURFACE_FILENAME= surface_flow +% +% Output file surface adjoint coefficient (w/o extension) +SURFACE_ADJ_FILENAME= surface_adjoint +% +% Writing solution file frequency +OUTPUT_WRT_FREQ= 10000 +% +% +% Screen output fields +SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG, LINSOL_RESIDUAL) +OUTPUT_FILES= (RESTART_ASCII, PARAVIEW, SURFACE_PARAVIEW) diff --git a/TestCases/serial_regression.py b/TestCases/serial_regression.py index 46d4034b7c97..246861a06e94 100644 --- a/TestCases/serial_regression.py +++ b/TestCases/serial_regression.py @@ -374,6 +374,18 @@ def main(): turb_naca0012_sst.tol = 0.00001 test_list.append(turb_naca0012_sst) + # NACA0012 (SST V2003m, FUN3D results for finest grid: CL=1.0840, CD=0.01253) + turb_naca0012_sst_2003m = TestCase('turb_naca0012_sst_2003m') + turb_naca0012_sst_2003m.cfg_dir = "rans/naca0012" + turb_naca0012_sst_2003m.cfg_file = "turb_NACA0012_sst_2003m.cfg" + turb_naca0012_sst_2003m.test_iter = 10 + turb_naca0012_sst_2003m.test_vals = [-7.698435, -10.060146, -3.421602, 1.049412, 0.019691, -2.193389] + turb_naca0012_sst_2003m.su2_exec = "SU2_CFD" + turb_naca0012_sst_2003m.new_output = True + turb_naca0012_sst_2003m.timeout = 3200 + turb_naca0012_sst_2003m.tol = 0.00001 + test_list.append(turb_naca0012_sst_2003m) + # NACA0012 (SST_SUST, FUN3D results for finest grid: CL=1.0840, CD=0.01253) turb_naca0012_sst_sust = TestCase('turb_naca0012_sst_sust') turb_naca0012_sst_sust.cfg_dir = "rans/naca0012" From 9b2b9ce61a1a1596925c0a60d76acb352d302ed4 Mon Sep 17 00:00:00 2001 From: Nijso Date: Wed, 4 May 2022 09:38:58 +0200 Subject: [PATCH 085/110] Update Common/include/option_structure.hpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- Common/include/option_structure.hpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index e7fcb05fa4b6..871060f54f94 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -38,8 +38,6 @@ #include #include -using namespace std; - /*! * \class CEmptyMap * \brief We use this dummy class instead of std::map when From 17a5e69cb797e1071e28a9ea2d5ac506622fc78f Mon Sep 17 00:00:00 2001 From: Nijso Date: Wed, 4 May 2022 09:39:10 +0200 Subject: [PATCH 086/110] Update Common/include/option_structure.hpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- Common/include/option_structure.hpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 871060f54f94..1d787ea8c510 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -976,7 +976,6 @@ static const MapType SST_Options_Map = { MakePair("V2003m", SST_OPTIONS::V2003m) //MakePair("V1994", SST_OPTIONS::V1994) //MakePair("V2003", SST_OPTIONS::V2003) - //MakePair("MODIFIED", SST_OPTIONS::MODIFIED) MakePair("SUSTAINING", SST_OPTIONS::SUST) MakePair("VORTICITY", SST_OPTIONS::VORTICITY) MakePair("KATO-LAUNDER", SST_OPTIONS::KL) From 35dbc34e86680e215be4cbae358be8ca355fecb7 Mon Sep 17 00:00:00 2001 From: Nijso Date: Wed, 4 May 2022 09:41:31 +0200 Subject: [PATCH 087/110] Update Common/include/option_structure.hpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- Common/include/option_structure.hpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 1d787ea8c510..a132cb169d64 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -964,7 +964,6 @@ enum class SST_OPTIONS { V2003, /*!< \brief 2003 Menter k-w SST model. */ V1994m, /*!< \brief 1994m Menter k-w SST model. */ V2003m, /*!< \brief 2003m Menter k-w SST model. */ - MODIFIED, /*!< \brief Modified k-w SST model. */ SUST, /*!< \brief Menter k-w SST model with sustaining terms. */ VORTICITY, /*!< \brief Menter k-w SST model with vorticity production terms. */ KL, /*!< \brief Menter k-w SST model with Kato-Launder production terms. */ From 958ec0d7c6bb679cf647b66ad301daffd579be17 Mon Sep 17 00:00:00 2001 From: nbe0dev Date: Wed, 4 May 2022 15:58:43 +0200 Subject: [PATCH 088/110] add SST_SUST is deprecated message --- Common/include/option_structure.hpp | 11 +++++------ Common/src/CConfig.cpp | 11 +++++++++-- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index a132cb169d64..567dded49b72 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -2379,8 +2379,7 @@ class COptionBase { std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003m) != sst_options_end; /* when V2003m or V1994m is selected, we automatically select sst_m as well */ - bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::MODIFIED) != sst_options_end || - std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994m) != sst_options_end || + bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994m) != sst_options_end || std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003m) != sst_options_end; const bool sst_sust = std::find(SST_Options, sst_options_end, SST_OPTIONS::SUST) != sst_options_end; @@ -2393,19 +2392,19 @@ class COptionBase { SU2_MPI::Error("Two versions (1994 and 2003) selected for SST Options. Please choose only one.", CURRENT_FUNCTION); } else if (sst_2003) { /*--- sst-2003m model is sst2003 + sstm ---*/ - if(rank==MASTER_NODE) cout << "Note: currently only the SST-2003m (modified) has been implemented. " << endl; + if(rank==MASTER_NODE) std::cout << "Note: currently only the SST-2003m (modified) has been implemented. " << std::endl; SSTParsedOptions.version = SST_OPTIONS::V2003; sst_m = true; } else if (sst_1994){ /* --- Add warning to switch to SST-2003m --- */ if(rank==MASTER_NODE) - cout << "warning: the current SST-1994m model is inconsistent with literature. We recommend to use the SST-2003m model." << endl - << "In the future, the 2003m model will become the default SST model. " << endl; + std::cout << "warning: the current SST-1994m model is inconsistent with literature. We recommend to use the SST-2003m model." << std::endl + << "In the future, the 2003m model will become the default SST model. " << std::endl; SSTParsedOptions.version = SST_OPTIONS::V1994; sst_m = true; } else { /* use the most recent model as the default*/ - if (rank==MASTER_NODE) cout << "SST_OPTIONS not found! using default SST-V1994m. " << endl; + if (rank==MASTER_NODE) std::cout << "SST_OPTIONS not found! using default SST-V1994m. " << std::endl; SSTParsedOptions.version = SST_OPTIONS::V1994; sst_m = true; } diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 3743698a14d0..07a7c83fe73e 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -2896,7 +2896,7 @@ void CConfig::SetConfig_Parsing(char case_filename[MAX_STRING_SIZE]) { } -void CConfig::SetConfig_Parsing(istream& config_buffer){ +void CConfig::SetConfig_Parsing(istream& config_buffer){ string text_line, option_name; vector option_value; @@ -2944,7 +2944,6 @@ void CConfig::SetConfig_Parsing(istream& config_buffer){ } if (TokenizeString(text_line, option_name, option_value)) { - /*--- See if it's a python option ---*/ if (option_map.find(option_name) == option_map.end()) { @@ -3054,6 +3053,14 @@ void CConfig::SetConfig_Parsing(istream& config_buffer){ string out = option_map[option_name]->SetValue(option_value); if (out.compare("") != 0) { + string newString; + + /*--- valid option, but deprecated value ---*/ + if ((!option_name.compare("KIND_TURB_MODEL")) && (option_value[0]=="SST_SUST")) + newString.append("Option KIND_TURB_MODEL=SST_SUST is deprecated. Use KIND_TURB_MODEL=SST, SST_OPTIONS=SUSTAINING instead.\n"); + + errorString.append(newString); + errorString.append(out); errorString.append("\n"); err_count++; From 7a5ecc82f019406a50bf8b4591d03586de72fee8 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Wed, 4 May 2022 11:28:15 -0700 Subject: [PATCH 089/110] cleanup --- Common/include/option_structure.hpp | 150 ++++++++++++++-------------- Common/src/CConfig.cpp | 43 ++++---- 2 files changed, 98 insertions(+), 95 deletions(-) diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index e7fcb05fa4b6..afb1fe643d48 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -38,8 +38,6 @@ #include #include -using namespace std; - /*! * \class CEmptyMap * \brief We use this dummy class instead of std::map when @@ -964,11 +962,10 @@ enum class SST_OPTIONS { NONE, /*!< \brief No SST Turb model. */ V1994, /*!< \brief 1994 Menter k-w SST model. */ V2003, /*!< \brief 2003 Menter k-w SST model. */ - V1994m, /*!< \brief 1994m Menter k-w SST model. */ - V2003m, /*!< \brief 2003m Menter k-w SST model. */ - MODIFIED, /*!< \brief Modified k-w SST model. */ + V1994m, /*!< \brief 1994m Menter k-w SST model. */ + V2003m, /*!< \brief 2003m Menter k-w SST model. */ SUST, /*!< \brief Menter k-w SST model with sustaining terms. */ - VORTICITY, /*!< \brief Menter k-w SST model with vorticity production terms. */ + V, /*!< \brief Menter k-w SST model with vorticity production terms. */ KL, /*!< \brief Menter k-w SST model with Kato-Launder production terms. */ UQ, /*!< \brief Menter k-w SST model with uncertainty quantification modifications. */ }; @@ -976,11 +973,11 @@ static const MapType SST_Options_Map = { MakePair("NONE", SST_OPTIONS::NONE) MakePair("V1994m", SST_OPTIONS::V1994m) MakePair("V2003m", SST_OPTIONS::V2003m) + /// TODO: For now we do not support "unmodified" versions of SST. //MakePair("V1994", SST_OPTIONS::V1994) //MakePair("V2003", SST_OPTIONS::V2003) - //MakePair("MODIFIED", SST_OPTIONS::MODIFIED) MakePair("SUSTAINING", SST_OPTIONS::SUST) - MakePair("VORTICITY", SST_OPTIONS::VORTICITY) + MakePair("VORTICITY", SST_OPTIONS::V) MakePair("KATO-LAUNDER", SST_OPTIONS::KL) MakePair("UQ", SST_OPTIONS::UQ) }; @@ -989,13 +986,76 @@ static const MapType SST_Options_Map = { * \brief Structure containing parsed SST options. */ struct SST_ParsedOptions { - SST_OPTIONS version; /*!< \brief Enum SST base model. */ - SST_OPTIONS production; /*!< \brief Enum for production corrections/modifiers for SST model. */ - bool sust=false; /*!< \brief Bool for SST model with sustaining terms. */ - bool uq=false; /*!< \brief Bool for using uncertainty quantification */ - bool modified=false; /*!< \brief Bool for modified (m) SST model. */ + SST_OPTIONS version = SST_OPTIONS::V1994; /*!< \brief Enum SST base model. */ + SST_OPTIONS production = SST_OPTIONS::NONE; /*!< \brief Enum for production corrections/modifiers for SST model. */ + bool sust = false; /*!< \brief Bool for SST model with sustaining terms. */ + bool uq = false; /*!< \brief Bool for using uncertainty quantification. */ + bool modified = false; /*!< \brief Bool for modified (m) SST model. */ }; +/*! + * \brief Function to parse SST options. + * \param[in] SST_Options - Selected SST option from config. + * \param[in] nSST_Options - Number of options selected. + * \param[in] rank - MPI rank. + */ +inline SST_ParsedOptions ParseSSTOptions(const SST_OPTIONS *SST_Options, unsigned short nSST_Options, int rank) { + SST_ParsedOptions SSTParsedOptions; + + auto IsPresent = [&](SST_OPTIONS option) { + const auto sst_options_end = SST_Options + nSST_Options; + return std::find(SST_Options, sst_options_end, option) != sst_options_end; + }; + + const bool found_1994 = IsPresent(SST_OPTIONS::V1994); + const bool found_2003 = IsPresent(SST_OPTIONS::V2003); + const bool found_1994m = IsPresent(SST_OPTIONS::V1994m); + const bool found_2003m = IsPresent(SST_OPTIONS::V2003m); + + const bool default_version = !found_1994 && !found_1994m && !found_2003 && !found_2003m; + + const bool sst_1994 = found_1994 || found_1994m || default_version; + const bool sst_2003 = found_2003 || found_2003m; + + /*--- When V2003m or V1994m is selected, we automatically select sst_m. ---*/ + const bool sst_m = found_1994m || found_2003m || default_version; + + const bool sst_sust = IsPresent(SST_OPTIONS::SUST); + const bool sst_v = IsPresent(SST_OPTIONS::V); + const bool sst_kl = IsPresent(SST_OPTIONS::KL); + const bool sst_uq = IsPresent(SST_OPTIONS::UQ); + + if (sst_1994 && sst_2003) { + SU2_MPI::Error("Two versions (1994 and 2003) selected for SST_OPTIONS. Please choose only one.", CURRENT_FUNCTION); + } else if (sst_2003) { + SSTParsedOptions.version = SST_OPTIONS::V2003; + } else { + SSTParsedOptions.version = SST_OPTIONS::V1994; + + if (rank==MASTER_NODE) { + std::cout << + "WARNING: The current SST-1994m model is inconsistent with literature. We recommend using the SST-2003m model.\n" + "In SU2 v8 the 2003m model will become default, and the inconsistency will be fixed." << std::endl; + } + } + + // Parse production modifications + if ((int(sst_v) + int(sst_kl) + int(sst_uq)) > 1) { + SU2_MPI::Error("Please select only one SST production term modifier (VORTICITY, KATO-LAUNDER, or UQ).", CURRENT_FUNCTION); + } else if (sst_v) { + SSTParsedOptions.production = SST_OPTIONS::V; + } else if (sst_kl) { + SSTParsedOptions.production = SST_OPTIONS::KL; + } else if (sst_uq) { + SSTParsedOptions.production = SST_OPTIONS::UQ; + } + + SSTParsedOptions.sust = sst_sust; + SSTParsedOptions.modified = sst_m; + SSTParsedOptions.uq = sst_uq; + return SSTParsedOptions; +} + /*! * \brief Types of transition models */ @@ -2368,70 +2428,6 @@ class COptionBase { } }; - /*! - * \brief function to parse SST options. - * \param[in] SST_Options - Selected SST option from config. - * \param[in] nSST_Options - Number of options selected. - */ - inline SST_ParsedOptions ParseSSTOptions(const SST_OPTIONS *SST_Options, unsigned short nSST_Options, int rank){ - SST_ParsedOptions SSTParsedOptions; - const auto sst_options_end = SST_Options + nSST_Options; - - const bool sst_1994 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994) != sst_options_end || - std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994m) != sst_options_end; - const bool sst_2003 = std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003) != sst_options_end || - std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003m) != sst_options_end; - - /* when V2003m or V1994m is selected, we automatically select sst_m as well */ - bool sst_m = std::find(SST_Options, sst_options_end, SST_OPTIONS::MODIFIED) != sst_options_end || - std::find(SST_Options, sst_options_end, SST_OPTIONS::V1994m) != sst_options_end || - std::find(SST_Options, sst_options_end, SST_OPTIONS::V2003m) != sst_options_end; - - const bool sst_sust = std::find(SST_Options, sst_options_end, SST_OPTIONS::SUST) != sst_options_end; - const bool sst_v = std::find(SST_Options, sst_options_end, SST_OPTIONS::VORTICITY) != sst_options_end; - const bool sst_kl = std::find(SST_Options, sst_options_end, SST_OPTIONS::KL) != sst_options_end; - const bool sst_uq = std::find(SST_Options, sst_options_end, SST_OPTIONS::UQ) != sst_options_end; - - // Parse base version - if (sst_1994 && sst_2003) { - SU2_MPI::Error("Two versions (1994 and 2003) selected for SST Options. Please choose only one.", CURRENT_FUNCTION); - } else if (sst_2003) { - /*--- sst-2003m model is sst2003 + sstm ---*/ - if(rank==MASTER_NODE) cout << "Note: currently only the SST-2003m (modified) has been implemented. " << endl; - SSTParsedOptions.version = SST_OPTIONS::V2003; - sst_m = true; - } else if (sst_1994){ - /* --- Add warning to switch to SST-2003m --- */ - if(rank==MASTER_NODE) - cout << "warning: the current SST-1994m model is inconsistent with literature. We recommend to use the SST-2003m model." << endl - << "In the future, the 2003m model will become the default SST model. " << endl; - SSTParsedOptions.version = SST_OPTIONS::V1994; - sst_m = true; - } else { - /* use the most recent model as the default*/ - if (rank==MASTER_NODE) cout << "SST_OPTIONS not found! using default SST-V1994m. " << endl; - SSTParsedOptions.version = SST_OPTIONS::V1994; - sst_m = true; - } - - // Parse production modifications - if ((sst_v + sst_kl + sst_uq) > 1) { - SU2_MPI::Error("Please select only one SST production term modifier (V, KL, UQ).", CURRENT_FUNCTION); - } else if (sst_v) { - SSTParsedOptions.production = SST_OPTIONS::VORTICITY; - } else if (sst_kl) { - SSTParsedOptions.production = SST_OPTIONS::KL; - } else if (sst_uq) { - SSTParsedOptions.production = SST_OPTIONS::UQ; - } - - // Parse boolean options - SSTParsedOptions.sust = sst_sust; - SSTParsedOptions.modified = sst_m; - SSTParsedOptions.uq = sst_uq; - return SSTParsedOptions; - } - #ifdef ENABLE_MAPS #include "option_structure.inl" #endif diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 3743698a14d0..250217a3a410 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -3398,7 +3398,7 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i /*--- Postprocess SST_OPTIONS into structure. ---*/ if (Kind_Turb_Model==TURB_MODEL::SST){ sstParsedOptions = ParseSSTOptions(SST_Options, nSST_Options, rank); - } + } /*--- Check if turbulence model can be used for AXISYMMETRIC case---*/ if (Axisymmetric && Kind_Turb_Model != TURB_MODEL::NONE && Kind_Turb_Model != TURB_MODEL::SST){ @@ -5863,23 +5863,30 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { case TURB_MODEL::SA_E: cout << "Edwards Spalart Allmaras" << endl; break; case TURB_MODEL::SA_COMP: cout << "Compressibility Correction Spalart Allmaras" << endl; break; case TURB_MODEL::SA_E_COMP: cout << "Compressibility Correction Edwards Spalart Allmaras" << endl; break; - case TURB_MODEL::SST: - cout << "Menter's k-omega SST" << endl; - if (sstParsedOptions.version == SST_OPTIONS::V1994) - cout << " version 1994" << endl; - else - cout << " version 2003" << endl; - if (sstParsedOptions.modified) - cout << " modified" < Date: Wed, 4 May 2022 14:25:45 -0700 Subject: [PATCH 090/110] re-add V and KL options --- .../numerics/turbulent/turb_sources.hpp | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index a9d7572549db..a801aa5f4097 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -732,11 +732,25 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double StrainMag = StrainMag_i; su2double P_Base = StrainMag; //Base production term for SST1994 and SST2003 - if (sstParsedOptions.uq) { - ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), + /*--- Apply production term modifications ---*/ + switch (sstParsedOptions.production) { + case SST_OPTIONS::UQ: + ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); - StrainMag = PerturbedStrainMag(ScalarVar_i[0]); - P_Base = PerturbedStrainMag(ScalarVar_i[0]); + StrainMag = PerturbedStrainMag(ScalarVar_i[0]); + P_Base = PerturbedStrainMag(ScalarVar_i[0]); + break; + + case SST_OPTIONS::VORTICITY: + P_Base = VorticityMag; + break; + + case SST_OPTIONS::KL: + P_Base = sqrt(StrainMag*VorticityMag); + break; + + default: + P_Base = StrainMag; } su2double pk = Eddy_Viscosity_i * pow(P_Base, 2); From 1ea2106703b5b459537a9a676e9b9936f6df7390 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Wed, 4 May 2022 15:58:13 -0700 Subject: [PATCH 091/110] fix vorticity sst, add regressions for V and KL --- .../numerics/turbulent/turb_sources.hpp | 2 +- TestCases/parallel_regression.py | 23 ++++ .../naca0012/turb_NACA0012_sst_1994-KLm.cfg | 118 ++++++++++++++++++ .../naca0012/turb_NACA0012_sst_2003-Vm.cfg | 118 ++++++++++++++++++ 4 files changed, 260 insertions(+), 1 deletion(-) create mode 100644 TestCases/rans/naca0012/turb_NACA0012_sst_1994-KLm.cfg create mode 100644 TestCases/rans/naca0012/turb_NACA0012_sst_2003-Vm.cfg diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index a801aa5f4097..0b473d0c0d90 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -741,7 +741,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { P_Base = PerturbedStrainMag(ScalarVar_i[0]); break; - case SST_OPTIONS::VORTICITY: + case SST_OPTIONS::V: P_Base = VorticityMag; break; diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 48531d44519c..8d55edd3469d 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -392,6 +392,29 @@ def main(): turb_naca0012_sst_sust.tol = 0.00001 test_list.append(turb_naca0012_sst_sust) + # NACA0012 (SST, 2003m, Vorticity) + turb_naca0012_sst_2003_Vm = TestCase('turb_naca0012_sst_2003_Vm') + turb_naca0012_sst_2003_Vm.cfg_dir = "rans/naca0012" + turb_naca0012_sst_2003_Vm.cfg_file = "turb_NACA0012_sst_2003-Vm.cfg" + turb_naca0012_sst_2003_Vm.test_iter = 10 + turb_naca0012_sst_2003_Vm.test_vals = [-11.370785, -12.641676, -5.748419, 1.005233, 0.019017, -2.057144] + turb_naca0012_sst_2003_Vm.su2_exec = "parallel_computation.py -f" + turb_naca0012_sst_2003_Vm.timeout = 3200 + turb_naca0012_sst_2003_Vm.tol = 0.00001 + test_list.append(turb_naca0012_sst_sust2003_Vm) + + # NACA0012 (SST, 1994m Kato-Launder) + turb_naca0012_sst_1994_KLm = TestCase('turb_naca0012_sst_1994_KLm') + turb_naca0012_sst_1994_KLm.cfg_dir = "rans/naca0012" + turb_naca0012_sst_1994_KLm.cfg_file = "turb_NACA0012_sst_1994-KLm.cfg" + turb_naca0012_sst_1994_KLm.test_iter = 10 + turb_naca0012_sst_1994_KLm.test_vals = [-11.370785, -12.641676, -5.748419, 1.005233, 0.019017, -2.057144] + turb_naca0012_sst_1994_KLm.su2_exec = "parallel_computation.py -f" + turb_naca0012_sst_1994_KLm.timeout = 3200 + turb_naca0012_sst_1994_KLm.tol = 0.00001 + test_list.append(turb_naca0012_sst_) + + # NACA0012 (SST, fixed values for turbulence quantities) turb_naca0012_sst_fixedvalues = TestCase('turb_naca0012_sst_fixedvalues') turb_naca0012_sst_fixedvalues.cfg_dir = "rans/naca0012" diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_1994-KLm.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_1994-KLm.cfg new file mode 100644 index 000000000000..68f18a5ab3a0 --- /dev/null +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_1994-KLm.cfg @@ -0,0 +1,118 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: 2D NACA 0012 Airfoil Validation Case (compressible) % +% SST-1994-KLm implementation % +% File Version 7.3.1 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= RANS +KIND_TURB_MODEL= SST +SST_OPTIONS= (V1994m ,KATO-LAUNDER) +MATH_PROBLEM= DIRECT +RESTART_SOL= YES +READ_BINARY_RESTART= NO + +% -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% +% +MACH_NUMBER= 0.15 +AOA= 10.0 +FREESTREAM_TEMPERATURE= 300.0 +REYNOLDS_NUMBER= 6.0E6 +REYNOLDS_LENGTH= 1.0 + +% ---------------------- REFERENCE VALUE DEFINITION ---------------------------% +% +REF_ORIGIN_MOMENT_X = 0.25 +REF_ORIGIN_MOMENT_Y = 0.00 +REF_ORIGIN_MOMENT_Z = 0.00 +REF_LENGTH= 1.0 +REF_AREA= 1.0 +REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE + +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_HEATFLUX= ( airfoil, 0.0 ) +MARKER_FAR= ( farfield ) +MARKER_PLOTTING= ( airfoil ) +MARKER_MONITORING= ( airfoil ) + +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES +NUM_METHOD_GRAD_RECON= LEAST_SQUARES +CFL_NUMBER= 1000.0 +MAX_DELTA_TIME= 1E10 +CFL_ADAPT= NO +CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) +ITER= 99999 + +% ----------------------- SLOPE LIMITER DEFINITION ----------------------------% +% +VENKAT_LIMITER_COEFF= 0.03 +LIMITER_ITER= 99999 + +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 1E-10 +LINEAR_SOLVER_ITER= 20 + +% -------------------------- MULTIGRID PARAMETERS -----------------------------% +% +MGLEVEL= 0 +MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1, 1 ) +MG_POST_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) +MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) +MG_DAMP_RESTRICTION= 0.75 +MG_DAMP_PROLONGATION= 0.75 + +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +% +CONV_NUM_METHOD_FLOW= ROE +USE_VECTORIZATION= YES +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= NONE +JST_SENSOR_COEFF= ( 0.5, 0.02 ) +TIME_DISCRE_FLOW= EULER_IMPLICIT + +% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% +% +CONV_NUM_METHOD_TURB= SCALAR_UPWIND +MUSCL_TURB= NO +SLOPE_LIMITER_TURB= NONE +TIME_DISCRE_TURB= EULER_IMPLICIT +CFL_REDUCTION_TURB= 1.0 + +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_FIELD= RMS_DENSITY +CONV_RESIDUAL_MINVAL= -12 +CONV_STARTITER= 10 +CONV_CAUCHY_ELEMS= 100 +CONV_CAUCHY_EPS= 1E-6 + +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +MESH_FILENAME= n0012_225-65.su2 +MESH_FORMAT= SU2 +MESH_OUT_FILENAME= mesh_out.su2 +SOLUTION_FILENAME= solution_flow_sst.dat +SOLUTION_ADJ_FILENAME= solution_adj.dat +TABULAR_FORMAT= CSV +CONV_FILENAME= history +RESTART_FILENAME= restart_flow.dat +RESTART_ADJ_FILENAME= restart_adj.dat +VOLUME_FILENAME= flow +VOLUME_ADJ_FILENAME= adjoint +GRAD_OBJFUNC_FILENAME= of_grad.dat +SURFACE_FILENAME= surface_flow +SURFACE_ADJ_FILENAME= surface_adjoint +OUTPUT_WRT_FREQ= 10000 +SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG, LINSOL_RESIDUAL) +OUTPUT_FILES= (RESTART_ASCII, PARAVIEW, SURFACE_PARAVIEW) + diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_2003-Vm.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_2003-Vm.cfg new file mode 100644 index 000000000000..2dcf75c67826 --- /dev/null +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_2003-Vm.cfg @@ -0,0 +1,118 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: 2D NACA 0012 Airfoil Validation Case (compressible) % +% SST-2003-Vm implementation % +% File Version 7.3.1 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= RANS +KIND_TURB_MODEL= SST +SST_OPTIONS= (V2003m ,VORTICITY) +MATH_PROBLEM= DIRECT +RESTART_SOL= YES +READ_BINARY_RESTART= NO + +% -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% +% +MACH_NUMBER= 0.15 +AOA= 10.0 +FREESTREAM_TEMPERATURE= 300.0 +REYNOLDS_NUMBER= 6.0E6 +REYNOLDS_LENGTH= 1.0 + +% ---------------------- REFERENCE VALUE DEFINITION ---------------------------% +% +REF_ORIGIN_MOMENT_X = 0.25 +REF_ORIGIN_MOMENT_Y = 0.00 +REF_ORIGIN_MOMENT_Z = 0.00 +REF_LENGTH= 1.0 +REF_AREA= 1.0 +REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE + +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_HEATFLUX= ( airfoil, 0.0 ) +MARKER_FAR= ( farfield ) +MARKER_PLOTTING= ( airfoil ) +MARKER_MONITORING= ( airfoil ) + +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES +NUM_METHOD_GRAD_RECON= LEAST_SQUARES +CFL_NUMBER= 1000.0 +MAX_DELTA_TIME= 1E10 +CFL_ADAPT= NO +CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) +ITER= 99999 + +% ----------------------- SLOPE LIMITER DEFINITION ----------------------------% +% +VENKAT_LIMITER_COEFF= 0.03 +LIMITER_ITER= 99999 + +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 1E-10 +LINEAR_SOLVER_ITER= 20 + +% -------------------------- MULTIGRID PARAMETERS -----------------------------% +% +MGLEVEL= 0 +MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1, 1 ) +MG_POST_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) +MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) +MG_DAMP_RESTRICTION= 0.75 +MG_DAMP_PROLONGATION= 0.75 + +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +% +CONV_NUM_METHOD_FLOW= ROE +USE_VECTORIZATION= YES +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= NONE +JST_SENSOR_COEFF= ( 0.5, 0.02 ) +TIME_DISCRE_FLOW= EULER_IMPLICIT + +% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% +% +CONV_NUM_METHOD_TURB= SCALAR_UPWIND +MUSCL_TURB= NO +SLOPE_LIMITER_TURB= NONE +TIME_DISCRE_TURB= EULER_IMPLICIT +CFL_REDUCTION_TURB= 1.0 + +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_FIELD= RMS_DENSITY +CONV_RESIDUAL_MINVAL= -12 +CONV_STARTITER= 10 +CONV_CAUCHY_ELEMS= 100 +CONV_CAUCHY_EPS= 1E-6 + +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +MESH_FILENAME= n0012_225-65.su2 +MESH_FORMAT= SU2 +MESH_OUT_FILENAME= mesh_out.su2 +SOLUTION_FILENAME= solution_flow_sst.dat +SOLUTION_ADJ_FILENAME= solution_adj.dat +TABULAR_FORMAT= CSV +CONV_FILENAME= history +RESTART_FILENAME= restart_flow.dat +RESTART_ADJ_FILENAME= restart_adj.dat +VOLUME_FILENAME= flow +VOLUME_ADJ_FILENAME= adjoint +GRAD_OBJFUNC_FILENAME= of_grad.dat +SURFACE_FILENAME= surface_flow +SURFACE_ADJ_FILENAME= surface_adjoint +OUTPUT_WRT_FREQ= 10000 +SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG, LINSOL_RESIDUAL) +OUTPUT_FILES= (RESTART_ASCII, PARAVIEW, SURFACE_PARAVIEW) + From 7c2a65ce3548c2a9c33de1da9d568c60b78a6647 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Wed, 4 May 2022 19:00:25 -0700 Subject: [PATCH 092/110] cleanup --- Common/src/CConfig.cpp | 10 ++---- .../numerics/turbulent/turb_sources.hpp | 36 +++++++------------ SU2_CFD/src/numerics/flow/flow_diffusion.cpp | 8 ++--- 3 files changed, 20 insertions(+), 34 deletions(-) diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 68e6770ddbea..b03edf579d4d 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -2896,7 +2896,7 @@ void CConfig::SetConfig_Parsing(char case_filename[MAX_STRING_SIZE]) { } -void CConfig::SetConfig_Parsing(istream& config_buffer){ +void CConfig::SetConfig_Parsing(istream& config_buffer){ string text_line, option_name; vector option_value; @@ -3053,14 +3053,10 @@ void CConfig::SetConfig_Parsing(istream& config_buffer){ string out = option_map[option_name]->SetValue(option_value); if (out.compare("") != 0) { - string newString; - /*--- valid option, but deprecated value ---*/ if ((!option_name.compare("KIND_TURB_MODEL")) && (option_value[0]=="SST_SUST")) - newString.append("Option KIND_TURB_MODEL=SST_SUST is deprecated. Use KIND_TURB_MODEL=SST, SST_OPTIONS=SUSTAINING instead.\n"); + errorString.append("Option KIND_TURB_MODEL=SST_SUST is deprecated. Use KIND_TURB_MODEL=SST, SST_OPTIONS=SUSTAINING instead.\n"); - errorString.append(newString); - errorString.append(out); errorString.append("\n"); err_count++; @@ -3403,7 +3399,7 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i } /*--- Postprocess SST_OPTIONS into structure. ---*/ - if (Kind_Turb_Model==TURB_MODEL::SST){ + if (Kind_Turb_Model==TURB_MODEL::SST) { sstParsedOptions = ParseSSTOptions(SST_Options, nSST_Options, rank); } diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index a801aa5f4097..7757e8be4b95 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -565,7 +565,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Closure constants ---*/ const su2double sigma_k_1, sigma_k_2, sigma_w_1, sigma_w_2, beta_1, beta_2, beta_star, a1, alfa_1, alfa_2; const su2double ProdLimConstant; - SST_ParsedOptions sstParsedOptions; + /*--- Ambient values for SST-SUST. ---*/ const su2double kAmb, omegaAmb; @@ -655,9 +655,6 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- "Allocate" the Jacobian using the static buffer. ---*/ Jacobian_i[0] = Jacobian_Buffer; Jacobian_i[1] = Jacobian_Buffer + 2; - - sstParsedOptions = config->GetSSTParsedOptions(); - } /*! @@ -730,7 +727,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); su2double StrainMag = StrainMag_i; - su2double P_Base = StrainMag; //Base production term for SST1994 and SST2003 + su2double P_Base = StrainMag; // Base production term for SST-1994 and SST-2003 /*--- Apply production term modifications ---*/ switch (sstParsedOptions.production) { @@ -741,7 +738,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { P_Base = PerturbedStrainMag(ScalarVar_i[0]); break; - case SST_OPTIONS::VORTICITY: + case SST_OPTIONS::V: P_Base = VorticityMag; break; @@ -755,14 +752,10 @@ class CSourcePieceWise_TurbSST final : public CNumerics { su2double pk = Eddy_Viscosity_i * pow(P_Base, 2); - // if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { - /* in case of unmodified, we add the divergence terms */ - if (sstParsedOptions.version == SST_OPTIONS::V1994) { - /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ - /*--- Note that we only keep this divergence term for the 1994v and 2003v model (vorticity)---*/ - pk = pk - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; - } - // } + if (sstParsedOptions.version == SST_OPTIONS::V1994) { + /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ + pk = pk - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + } /*--- production limiter ---*/ pk = min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]); @@ -777,17 +770,14 @@ class CSourcePieceWise_TurbSST final : public CNumerics { zeta = max(ScalarVar_i[1], StrainMag_i * F2_i / a1); } - su2double pw = pow(StrainMag, 2); + su2double pw = pow(StrainMag, 2); - // if (sstParsedOptions.version != SST_OPTIONS::MODIFIED) { - /* in case of unmodified, we add the divergence terms */ - if (sstParsedOptions.version == SST_OPTIONS::V1994) { - /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ - pw = pw - 2.0 / 3.0 * zeta * diverg; - } - // } + if (sstParsedOptions.version == SST_OPTIONS::V1994) { + /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ + pw = pw - 2.0 / 3.0 * zeta * diverg; + } - /*--- Pw = alfa/nu_t * P = alfa/(mu_t/rho) * (mu_t*S*S)---*/ + /*--- Pw = alfa/nu_t * P = alfa/(mu_t/rho) * (mu_t*S*S) ---*/ if (sstParsedOptions.version == SST_OPTIONS::V1994){ pw = (alfa_blended * Density_i) * max(pw,0.0); } else { diff --git a/SU2_CFD/src/numerics/flow/flow_diffusion.cpp b/SU2_CFD/src/numerics/flow/flow_diffusion.cpp index 0ea4d1116b0e..789e24231189 100644 --- a/SU2_CFD/src/numerics/flow/flow_diffusion.cpp +++ b/SU2_CFD/src/numerics/flow/flow_diffusion.cpp @@ -130,7 +130,7 @@ void CAvgGrad_Base::SetStressTensor(const su2double *val_primvar, * for the turbulent part of tau. Otherwise both the laminar and turbulent * parts of tau can be computed with the total viscosity. --- */ - if (sstParsedOptions.uq){ + if (sstParsedOptions.uq) { // laminar part ComputeStressTensor(nDim, tau, val_gradprimvar+1, val_laminar_viscosity); // add turbulent part which was perturbed @@ -426,7 +426,7 @@ CNumerics::ResidualType<> CAvgGrad_Flow::ComputeResidual(const CConfig* config) /*--- If using UQ methodology, set Reynolds Stress tensor and perform perturbation ---*/ - if (sstParsedOptions.uq){ + if (sstParsedOptions.uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, Mean_GradPrimVar+1, Mean_PrimVar[nDim+2], Mean_Eddy_Viscosity, Mean_turb_ke, MeanPerturbedRSM); @@ -611,7 +611,7 @@ CNumerics::ResidualType<> CAvgGradInc_Flow::ComputeResidual(const CConfig* confi /*--- If using UQ methodology, set Reynolds Stress tensor and perform perturbation ---*/ - if (sstParsedOptions.uq){ + if (sstParsedOptions.uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, Mean_GradPrimVar+1, Mean_PrimVar[nDim+2], Mean_Eddy_Viscosity, Mean_turb_ke, MeanPerturbedRSM); @@ -941,7 +941,7 @@ CNumerics::ResidualType<> CGeneralAvgGrad_Flow::ComputeResidual(const CConfig* c /*--- If using UQ methodology, set Reynolds Stress tensor and perform perturbation ---*/ - if (sstParsedOptions.uq){ + if (sstParsedOptions.uq) { ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, Mean_GradPrimVar+1, Mean_PrimVar[nDim+2], Mean_Eddy_Viscosity, Mean_turb_ke, MeanPerturbedRSM); From d6ff7c8afb43cc2f27d5882c1ad76ac2b62cec26 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Thu, 5 May 2022 13:29:54 -0700 Subject: [PATCH 093/110] fix regression files....need proper values --- TestCases/parallel_regression.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 8d55edd3469d..5cba9f3e7c1b 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -401,7 +401,7 @@ def main(): turb_naca0012_sst_2003_Vm.su2_exec = "parallel_computation.py -f" turb_naca0012_sst_2003_Vm.timeout = 3200 turb_naca0012_sst_2003_Vm.tol = 0.00001 - test_list.append(turb_naca0012_sst_sust2003_Vm) + test_list.append(turb_naca0012_sst_2003_Vm) # NACA0012 (SST, 1994m Kato-Launder) turb_naca0012_sst_1994_KLm = TestCase('turb_naca0012_sst_1994_KLm') From f21b7a0503e7165a70edd810c18815e7416ee686 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Thu, 5 May 2022 13:48:53 -0700 Subject: [PATCH 094/110] again --- TestCases/parallel_regression.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 5cba9f3e7c1b..a5982435384c 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -412,7 +412,7 @@ def main(): turb_naca0012_sst_1994_KLm.su2_exec = "parallel_computation.py -f" turb_naca0012_sst_1994_KLm.timeout = 3200 turb_naca0012_sst_1994_KLm.tol = 0.00001 - test_list.append(turb_naca0012_sst_) + test_list.append(turb_naca0012_sst_1994_KLm) # NACA0012 (SST, fixed values for turbulence quantities) From 8b85d97ae8e596d647e58892529849f0b4fda89f Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Thu, 5 May 2022 14:34:12 -0700 Subject: [PATCH 095/110] update regression values --- TestCases/parallel_regression.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index a5982435384c..bd0dbf828d82 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -397,7 +397,7 @@ def main(): turb_naca0012_sst_2003_Vm.cfg_dir = "rans/naca0012" turb_naca0012_sst_2003_Vm.cfg_file = "turb_NACA0012_sst_2003-Vm.cfg" turb_naca0012_sst_2003_Vm.test_iter = 10 - turb_naca0012_sst_2003_Vm.test_vals = [-11.370785, -12.641676, -5.748419, 1.005233, 0.019017, -2.057144] + turb_naca0012_sst_2003_Vm.test_vals = [-7.634562, -9.908551, -3.263757, 1.047597, 0.019811, -2.085445] turb_naca0012_sst_2003_Vm.su2_exec = "parallel_computation.py -f" turb_naca0012_sst_2003_Vm.timeout = 3200 turb_naca0012_sst_2003_Vm.tol = 0.00001 @@ -408,7 +408,7 @@ def main(): turb_naca0012_sst_1994_KLm.cfg_dir = "rans/naca0012" turb_naca0012_sst_1994_KLm.cfg_file = "turb_NACA0012_sst_1994-KLm.cfg" turb_naca0012_sst_1994_KLm.test_iter = 10 - turb_naca0012_sst_1994_KLm.test_vals = [-11.370785, -12.641676, -5.748419, 1.005233, 0.019017, -2.057144] + turb_naca0012_sst_1994_KLm.test_vals = [-8.648410, -10.723737, -3.872430, 1.049156, 0.019214, -1.559073] turb_naca0012_sst_1994_KLm.su2_exec = "parallel_computation.py -f" turb_naca0012_sst_1994_KLm.timeout = 3200 turb_naca0012_sst_1994_KLm.tol = 0.00001 From c0efb3105b6a8ff6067469c52514e676c11774b8 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Thu, 5 May 2022 14:42:29 -0700 Subject: [PATCH 096/110] cleanup sources --- .../numerics/turbulent/turb_sources.hpp | 54 ++++++------------- 1 file changed, 17 insertions(+), 37 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 7757e8be4b95..eaebd6ddc8cc 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -726,15 +726,13 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- If using UQ methodolgy, calculate production using perturbed Reynolds stress matrix ---*/ const su2double VorticityMag = GeometryToolbox::Norm(3, Vorticity_i); - su2double StrainMag = StrainMag_i; - su2double P_Base = StrainMag; // Base production term for SST-1994 and SST-2003 + su2double P_Base = 0; /*--- Apply production term modifications ---*/ switch (sstParsedOptions.production) { case SST_OPTIONS::UQ: ComputePerturbedRSM(nDim, Eig_Val_Comp, uq_permute, uq_delta_b, uq_urlx, PrimVar_Grad_i + idx.Velocity(), Density_i, Eddy_Viscosity_i, ScalarVar_i[0], MeanPerturbedRSM); - StrainMag = PerturbedStrainMag(ScalarVar_i[0]); P_Base = PerturbedStrainMag(ScalarVar_i[0]); break; @@ -743,49 +741,32 @@ class CSourcePieceWise_TurbSST final : public CNumerics { break; case SST_OPTIONS::KL: - P_Base = sqrt(StrainMag*VorticityMag); + P_Base = sqrt(StrainMag_i*VorticityMag); break; default: - P_Base = StrainMag; - } - - su2double pk = Eddy_Viscosity_i * pow(P_Base, 2); - - if (sstParsedOptions.version == SST_OPTIONS::V1994) { - /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ - pk = pk - 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; + /*--- Base production term for SST-1994 and SST-2003 ---*/ + P_Base = StrainMag_i; + break; } - /*--- production limiter ---*/ - pk = min(pk, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]); - pk = max(0.0, pk); + /*--- Production limiter. ---*/ + const su2double prod_limit = ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]; - su2double zeta; - - if (sstParsedOptions.version == SST_OPTIONS::V1994){ - zeta = max(ScalarVar_i[1], VorticityMag * F2_i / a1); - /*--- ---*/ - } else { - zeta = max(ScalarVar_i[1], StrainMag_i * F2_i / a1); - } - - su2double pw = pow(StrainMag, 2); + su2double P = Eddy_Viscosity_i * pow(P_Base, 2); if (sstParsedOptions.version == SST_OPTIONS::V1994) { - /*--- INTRODUCE THE SST-V1994 BUG WHERE DIVERGENCE TERM IS MISSING ---*/ - pw = pw - 2.0 / 3.0 * zeta * diverg; + /*--- INTRODUCE THE SST-V1994m BUG WHERE DIVERGENCE TERM IS MISSING ---*/ + P -= 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; } + su2double pk = max(0.0, min(pk, prod_limit)); - /*--- Pw = alfa/nu_t * P = alfa/(mu_t/rho) * (mu_t*S*S) ---*/ - if (sstParsedOptions.version == SST_OPTIONS::V1994){ - pw = (alfa_blended * Density_i) * max(pw,0.0); - } else { - /*--- Production limiter only for V2003---*/ - pw = Eddy_Viscosity_i * pw; - pw = min(pw, ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]); - pw = (alfa_blended*Density_i/Eddy_Viscosity_i)*pw; - } + const auto& eddy_visc_var = sstParsedOptions.version == SST_OPTIONS::V1994 ? VorticityMag : StrainMag_i; + const su2double zeta = max(ScalarVar_i[1], eddy_visc_var * F2_i / a1); + + /*--- Production limiter only for V2003---*/ + const auto& pw_base = sstParsedOptions.version == SST_OPTIONS::V1994 ? P : pk; + su2double pw = (alfa_blended * Density_i / Eddy_Viscosity_i) * pw_base; /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is @@ -793,7 +774,6 @@ class CSourcePieceWise_TurbSST final : public CNumerics { where the sustaining terms are simply added. This latter approach could lead to problems for very big values of the free-stream turbulence intensity. ---*/ - if (sstParsedOptions.sust) { const su2double sust_k = beta_star * Density_i * kAmb * omegaAmb; const su2double sust_w = beta_blended * Density_i * omegaAmb * omegaAmb; From 5dd09c905e6a3a2d7fd7801bd23aee8231a08c81 Mon Sep 17 00:00:00 2001 From: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> Date: Thu, 5 May 2022 16:36:06 -0700 Subject: [PATCH 097/110] Update SU2_CFD/include/numerics/turbulent/turb_sources.hpp --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index eaebd6ddc8cc..d2cf912b3fb9 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -759,7 +759,8 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- INTRODUCE THE SST-V1994m BUG WHERE DIVERGENCE TERM IS MISSING ---*/ P -= 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; } - su2double pk = max(0.0, min(pk, prod_limit)); + P = max(0, P); + su2double pk = min(P, prod_limit); const auto& eddy_visc_var = sstParsedOptions.version == SST_OPTIONS::V1994 ? VorticityMag : StrainMag_i; const su2double zeta = max(ScalarVar_i[1], eddy_visc_var * F2_i / a1); From 7728a57a0bd939a74065edc762bd5e83adfb5581 Mon Sep 17 00:00:00 2001 From: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> Date: Thu, 5 May 2022 16:55:56 -0700 Subject: [PATCH 098/110] Update SU2_CFD/include/numerics/turbulent/turb_sources.hpp --- SU2_CFD/include/numerics/turbulent/turb_sources.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index d2cf912b3fb9..6f0790cb1616 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -759,7 +759,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- INTRODUCE THE SST-V1994m BUG WHERE DIVERGENCE TERM IS MISSING ---*/ P -= 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; } - P = max(0, P); + P = max(0.0, P); su2double pk = min(P, prod_limit); const auto& eddy_visc_var = sstParsedOptions.version == SST_OPTIONS::V1994 ? VorticityMag : StrainMag_i; From 90d11073e74c2e3499461cc69ec5706050267b56 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Fri, 6 May 2022 08:21:27 -0700 Subject: [PATCH 099/110] cleanup, try to recover old residuals --- .../numerics/turbulent/turb_sources.hpp | 22 ++++++----- .../include/variables/CTurbSSTVariable.hpp | 4 +- SU2_CFD/include/variables/CVariable.hpp | 2 +- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 38 +++++++------------ SU2_CFD/src/variables/CTurbSSTVariable.cpp | 6 +-- 5 files changed, 33 insertions(+), 39 deletions(-) diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 6f0790cb1616..9fb9b2985371 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -564,7 +564,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { /*--- Closure constants ---*/ const su2double sigma_k_1, sigma_k_2, sigma_w_1, sigma_w_2, beta_1, beta_2, beta_star, a1, alfa_1, alfa_2; - const su2double ProdLimConstant; + const su2double prod_lim_const; /*--- Ambient values for SST-SUST. ---*/ const su2double kAmb, omegaAmb; @@ -649,7 +649,7 @@ class CSourcePieceWise_TurbSST final : public CNumerics { a1(constants[7]), alfa_1(constants[8]), alfa_2(constants[9]), - ProdLimConstant(constants[10]), + prod_lim_const(constants[10]), kAmb(val_kine_Inf), omegaAmb(val_omega_Inf) { /*--- "Allocate" the Jacobian using the static buffer. ---*/ @@ -751,23 +751,27 @@ class CSourcePieceWise_TurbSST final : public CNumerics { } /*--- Production limiter. ---*/ - const su2double prod_limit = ProdLimConstant * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]; + const su2double prod_limit = prod_lim_const * beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0]; su2double P = Eddy_Viscosity_i * pow(P_Base, 2); if (sstParsedOptions.version == SST_OPTIONS::V1994) { - /*--- INTRODUCE THE SST-V1994m BUG WHERE DIVERGENCE TERM IS MISSING ---*/ + /*--- INTRODUCE THE SST-V1994m BUG WHERE DIVERGENCE TERM WILL BE REMOVED ---*/ P -= 2.0 / 3.0 * Density_i * ScalarVar_i[0] * diverg; } - P = max(0.0, P); - su2double pk = min(P, prod_limit); + su2double pk = max(0.0, min(P, prod_limit)); const auto& eddy_visc_var = sstParsedOptions.version == SST_OPTIONS::V1994 ? VorticityMag : StrainMag_i; const su2double zeta = max(ScalarVar_i[1], eddy_visc_var * F2_i / a1); - /*--- Production limiter only for V2003---*/ - const auto& pw_base = sstParsedOptions.version == SST_OPTIONS::V1994 ? P : pk; - su2double pw = (alfa_blended * Density_i / Eddy_Viscosity_i) * pw_base; + /*--- Production limiter only for V2003, recompute for V1994. ---*/ + su2double pw; + if (sstParsedOptions.version == SST_OPTIONS::V1994) { + /*--- INTRODUCE THE SST-V1994m BUG WHERE DIVERGENCE TERM WILL BE REMOVED ---*/ + pw = alfa_blended * Density_i * max(pow(P_Base, 2) - 2.0 / 3.0 * zeta * diverg, 0.0); + } else { + pw = (alfa_blended * Density_i / Eddy_Viscosity_i) * pk; + } /*--- Sustaining terms, if desired. Note that if the production terms are larger equal than the sustaining terms, the original formulation is diff --git a/SU2_CFD/include/variables/CTurbSSTVariable.hpp b/SU2_CFD/include/variables/CTurbSSTVariable.hpp index 9ea564954248..f01ba994b4b4 100644 --- a/SU2_CFD/include/variables/CTurbSSTVariable.hpp +++ b/SU2_CFD/include/variables/CTurbSSTVariable.hpp @@ -40,7 +40,7 @@ class CTurbSSTVariable final : public CTurbVariable { protected: su2double sigma_om2; su2double beta_star; - su2double prodLimConst; + su2double prod_lim_const; VectorType F1; VectorType F2; /*!< \brief Menter blending function for blending of k-w and k-eps. */ VectorType CDkw; /*!< \brief Cross-diffusion. */ @@ -71,7 +71,7 @@ class CTurbSSTVariable final : public CTurbVariable { * \param[in] val_dist - Value of the distance to the wall. * \param[in] val_density - Value of the density. */ - void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density, CConfig *config) override; + void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density) override; /*! * \brief Get the first blending function. diff --git a/SU2_CFD/include/variables/CVariable.hpp b/SU2_CFD/include/variables/CVariable.hpp index be314ff6a23f..7fd92478541e 100644 --- a/SU2_CFD/include/variables/CVariable.hpp +++ b/SU2_CFD/include/variables/CVariable.hpp @@ -1678,7 +1678,7 @@ class CVariable { * \param[in] val_density - Value of the density. * \param[in] val_dist - Value of the distance to the wall. */ - inline virtual void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density, CConfig *config) {} + inline virtual void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density) {} /*! * \brief Get the first blending function of the SST model. diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index a4d08eecd4d6..4cf38b2354f5 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -110,7 +110,7 @@ CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned sh constants[9] = constants[5]/constants[6] - constants[3]*0.41*0.41/sqrt(constants[6]); //alfa_2 constants[10] = 20.0; // production limiter constant } else { - /* SST-V2003 */ + /* SST-V2003 */ constants[8] = 5.0 / 9.0; constants[9] = 0.44; constants[10] = 10.0; // production limiter constant @@ -218,40 +218,30 @@ void CTurbSSTSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai auto* flowNodes = su2staticcast_p(solver_container[FLOW_SOL]->GetNodes()); SU2_OMP_FOR_STAT(omp_chunk_size) - for (unsigned long iPoint = 0; iPoint < nPoint; iPoint ++) { + for (unsigned long iPoint = 0; iPoint < nPoint; iPoint++) { /*--- Compute blending functions and cross diffusion ---*/ - su2double rho = flowNodes->GetDensity(iPoint); - su2double mu = flowNodes->GetLaminarViscosity(iPoint); + const su2double rho = flowNodes->GetDensity(iPoint); + const su2double mu = flowNodes->GetLaminarViscosity(iPoint); - su2double dist = geometry->nodes->GetWall_Distance(iPoint); + const su2double dist = geometry->nodes->GetWall_Distance(iPoint); - su2double VorticityMag = GeometryToolbox::Norm(3, flowNodes->GetVorticity(iPoint)); - VorticityMag = max(VorticityMag, 1e-12); // safety against division by zero - su2double StrainMag = max(nodes->GetStrainMag(iPoint), 1e-12); - nodes->SetBlendingFunc(iPoint, mu, dist, rho, config); + const su2double VorticityMag = max(GeometryToolbox::Norm(3, flowNodes->GetVorticity(iPoint)), 1e-12); + const su2double StrainMag = max(nodes->GetStrainMag(iPoint), 1e-12); + nodes->SetBlendingFunc(iPoint, mu, dist, rho); - su2double F2 = nodes->GetF2blending(iPoint); + const su2double F2 = nodes->GetF2blending(iPoint); /*--- Compute the eddy viscosity ---*/ - su2double kine = nodes->GetSolution(iPoint,0); - su2double omega = nodes->GetSolution(iPoint,1); + const su2double kine = nodes->GetSolution(iPoint,0); + const su2double omega = nodes->GetSolution(iPoint,1); - su2double P_Base; + const auto& eddy_visc_var = sstParsedOptions.version == SST_OPTIONS::V1994 ? VorticityMag : StrainMag; + const su2double muT = max(0.0, rho * a1 * kine / max(a1 * omega, eddy_visc_var * F2)); - if (sstParsedOptions.version == SST_OPTIONS::V1994){ - P_Base = VorticityMag; - } else { - /*--- SST V2003 ---*/ - P_Base = StrainMag; - } - - su2double zeta = min(1.0/omega, a1/(P_Base*F2)); - su2double muT = max(rho*kine*zeta,0.0); - - nodes->SetmuT(iPoint,muT); + nodes->SetmuT(iPoint, muT); } END_SU2_OMP_FOR diff --git a/SU2_CFD/src/variables/CTurbSSTVariable.cpp b/SU2_CFD/src/variables/CTurbSSTVariable.cpp index 6f513735eff2..9662e21a7934 100644 --- a/SU2_CFD/src/variables/CTurbSSTVariable.cpp +++ b/SU2_CFD/src/variables/CTurbSSTVariable.cpp @@ -44,7 +44,7 @@ CTurbSSTVariable::CTurbSSTVariable(su2double kine, su2double omega, su2double mu sigma_om2 = constants[3]; beta_star = constants[6]; - prodLimConst = constants[10]; + prod_lim_const = constants[10]; F1.resize(nPoint) = su2double(1.0); F2.resize(nPoint) = su2double(0.0); @@ -54,7 +54,7 @@ CTurbSSTVariable::CTurbSSTVariable(su2double kine, su2double omega, su2double mu } void CTurbSSTVariable::SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, - su2double val_dist, su2double val_density, CConfig *config) { + su2double val_dist, su2double val_density) { su2double arg2, arg2A, arg2B, arg1; AD::StartPreacc(); @@ -69,7 +69,7 @@ void CTurbSSTVariable::SetBlendingFunc(unsigned long iPoint, su2double val_visco for (unsigned long iDim = 0; iDim < nDim; iDim++) CDkw(iPoint) += Gradient(iPoint,0,iDim)*Gradient(iPoint,1,iDim); CDkw(iPoint) *= 2.0*val_density*sigma_om2/Solution(iPoint,1); - CDkw(iPoint) = max(CDkw(iPoint), pow(10.0, -prodLimConst)); + CDkw(iPoint) = max(CDkw(iPoint), pow(10.0, -prod_lim_const)); /*--- F1 ---*/ From f61026be64f28a45c8b996f9b2324e3d0650cf6c Mon Sep 17 00:00:00 2001 From: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> Date: Mon, 9 May 2022 18:28:56 -0700 Subject: [PATCH 100/110] test reason for changes --- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index 4cf38b2354f5..1b743f36d880 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -239,7 +239,9 @@ void CTurbSSTSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai const su2double omega = nodes->GetSolution(iPoint,1); const auto& eddy_visc_var = sstParsedOptions.version == SST_OPTIONS::V1994 ? VorticityMag : StrainMag; - const su2double muT = max(0.0, rho * a1 * kine / max(a1 * omega, eddy_visc_var * F2)); + // const su2double muT = max(0.0, rho * a1 * kine / max(a1 * omega, eddy_visc_var * F2)); + su2double zeta = min(1.0 / omega, a1 / (eddy_visc_var * F2)); + su2double muT = max(rho * kine * zeta, 0.0); nodes->SetmuT(iPoint, muT); From 780fb5454ca82c165e5eaa6289435cf938e00c95 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Tue, 10 May 2022 11:41:07 -0700 Subject: [PATCH 101/110] update tests, minor cleanup --- Common/include/CConfig.hpp | 10 ++-------- SU2_CFD/include/numerics/CNumerics.hpp | 2 +- .../numerics_simd/flow/diffusion/viscous_fluxes.hpp | 2 +- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 4 +--- .../chtPinArray_2d/of_grad_findiff.csv.ref | 2 +- TestCases/parallel_regression.py | 8 ++++---- TestCases/serial_regression.py | 2 +- 7 files changed, 11 insertions(+), 19 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index aca1aa5a2be1..5b71ac804c1c 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -701,7 +701,7 @@ class CConfig { unsigned short nConfig_Files; /*!< \brief Number of config files for multiphysics problems. */ string *Config_Filenames; /*!< \brief List of names for configuration files. */ - SST_OPTIONS *SST_Options; /*!< \brief List of modifications/corrections/versions of SST turbulence model.*/ + SST_OPTIONS *SST_Options; /*!< \brief List of modifications/corrections/versions of SST turbulence model.*/ unsigned short nSST_Options; /*!< \brief number of SST options specified. */ WALL_FUNCTIONS *Kind_WallFunctions; /*!< \brief The kind of wall function to use for the corresponding markers. */ unsigned short **IntInfo_WallFunctions; /*!< \brief Additional integer information for the wall function markers. */ @@ -8976,12 +8976,6 @@ class CConfig { */ bool GetPrintInlet_InterpolatedData(void) const { return PrintInlet_InterpolatedData; } - /*! - * \brief Get information about using UQ methodology - * \return TRUE means that UQ methodology of eigenspace perturbation will be used - */ - bool GetUsing_UQ(void) const { return sstParsedOptions.uq; } - /*! * \brief Get the amount of eigenvalue perturbation to be done * \return Value of the uq_delta_b parameter @@ -9629,5 +9623,5 @@ class CConfig { * \return SST option data structure. */ SST_ParsedOptions GetSSTParsedOptions(void) const {return sstParsedOptions; } - + }; diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index a76e72c0daed..1933e5006658 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -180,7 +180,7 @@ class CNumerics { su2double roughness_i = 0.0, /*!< \brief Roughness of the wall nearest to point i. */ roughness_j = 0.0; /*!< \brief Roughness of the wall nearest to point j. */ - su2double MeanPerturbedRSM[3][3];/*!< \brief Perturbed Reynolds stress tensor */ + su2double MeanPerturbedRSM[3][3]; /*!< \brief Perturbed Reynolds stress tensor */ SST_ParsedOptions sstParsedOptions; /*!< \brief additional options for the SST turbulence model */ unsigned short Eig_Val_Comp; /*!< \brief Component towards which perturbation is perfromed */ su2double uq_delta_b; /*!< \brief Magnitude of perturbation */ diff --git a/SU2_CFD/include/numerics_simd/flow/diffusion/viscous_fluxes.hpp b/SU2_CFD/include/numerics_simd/flow/diffusion/viscous_fluxes.hpp index b408ef9bd8de..d0a73ea43faa 100644 --- a/SU2_CFD/include/numerics_simd/flow/diffusion/viscous_fluxes.hpp +++ b/SU2_CFD/include/numerics_simd/flow/diffusion/viscous_fluxes.hpp @@ -101,7 +101,7 @@ class CCompressibleViscousFluxBase : public CNumericsSIMD { correct(iMesh == MESH_0), useSA_QCR(config.GetQCR()), wallFun(config.GetWall_Functions()), - uq(config.GetUsing_UQ()), + uq(config.GetSSTParsedOptions().uq), uq_permute(config.GetUQ_Permute()), uq_eigval_comp(config.GetEig_Val_Comp()), uq_delta_b(config.GetUQ_Delta_B()), diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index 1b743f36d880..4cf38b2354f5 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -239,9 +239,7 @@ void CTurbSSTSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai const su2double omega = nodes->GetSolution(iPoint,1); const auto& eddy_visc_var = sstParsedOptions.version == SST_OPTIONS::V1994 ? VorticityMag : StrainMag; - // const su2double muT = max(0.0, rho * a1 * kine / max(a1 * omega, eddy_visc_var * F2)); - su2double zeta = min(1.0 / omega, a1 / (eddy_visc_var * F2)); - su2double muT = max(rho * kine * zeta, 0.0); + const su2double muT = max(0.0, rho * a1 * kine / max(a1 * omega, eddy_visc_var * F2)); nodes->SetmuT(iPoint, muT); diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/of_grad_findiff.csv.ref b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/of_grad_findiff.csv.ref index 8c4cf0f978ca..04470d97ccd5 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/of_grad_findiff.csv.ref +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/of_grad_findiff.csv.ref @@ -1,2 +1,2 @@ "VARIABLE" , "AVG_DENSITY[0]", "AVG_ENTHALPY[0]", "AVG_NORMALVEL[0]", "DRAG[0]" , "EFFICIENCY[0]" , "FORCE_X[0]" , "FORCE_Y[0]" , "FORCE_Z[0]" , "LIFT[0]" , "MOMENT_X[0]" , "MOMENT_Y[0]" , "MOMENT_Z[0]" , "SIDEFORCE[0]" , "SURFACE_MACH[0]", "SURFACE_MASSFLOW[0]", "SURFACE_MOM_DISTORTION[0]", "SURFACE_PRESSURE_DROP[0]", "SURFACE_SECONDARY[0]", "SURFACE_SECOND_OVER_UNIFORM[0]", "SURFACE_STATIC_PRESSURE[0]", "SURFACE_STATIC_TEMPERATURE[0]", "SURFACE_TOTAL_PRESSURE[0]", "SURFACE_TOTAL_TEMPERATURE[0]", "SURFACE_UNIFORMITY[0]", "AVG_TEMPERATURE[1]", "MAXIMUM_HEATFLUX[1]", "TOTAL_HEATFLUX[1]", "FINDIFF_STEP" -0 , 0.0 , -100000.01639127731, 1.1102999999850092e-08, 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , -0.04999999997368221, -4.4410000000756306e-08, -2.0599999983605954 , 0.0 , 2.12000000054946 , 3.709999998879887 , 330.00000030369847 , -39.999997625272954 , 315.0000011942211 , -39.999997625272954 , -1.400000004814217 , -129.99999512430804, 0.0 , -509.99999530176865, 1e-08 +0 , 0.0 , -100000.01639127731, -3.330700000025998e-08, 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , -0.04999999997368221, -1.1109999995104307e-08, -2.0599999983605954 , 0.0 , 2.12000000054946 , 3.709999998879887 , 330.00000030369847 , -39.999997625272954 , 315.0000011942211 , -39.999997625272954 , -1.400000004814217 , -129.99999512430804, 0.0 , -509.99999530176865, 1e-08 diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index bd0dbf828d82..adc7714b9dc3 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -397,7 +397,7 @@ def main(): turb_naca0012_sst_2003_Vm.cfg_dir = "rans/naca0012" turb_naca0012_sst_2003_Vm.cfg_file = "turb_NACA0012_sst_2003-Vm.cfg" turb_naca0012_sst_2003_Vm.test_iter = 10 - turb_naca0012_sst_2003_Vm.test_vals = [-7.634562, -9.908551, -3.263757, 1.047597, 0.019811, -2.085445] + turb_naca0012_sst_2003_Vm.test_vals = [-7.672926, -10.025010, -3.365892, 1.048735, 0.019723, -2.052543] turb_naca0012_sst_2003_Vm.su2_exec = "parallel_computation.py -f" turb_naca0012_sst_2003_Vm.timeout = 3200 turb_naca0012_sst_2003_Vm.tol = 0.00001 @@ -408,7 +408,7 @@ def main(): turb_naca0012_sst_1994_KLm.cfg_dir = "rans/naca0012" turb_naca0012_sst_1994_KLm.cfg_file = "turb_NACA0012_sst_1994-KLm.cfg" turb_naca0012_sst_1994_KLm.test_iter = 10 - turb_naca0012_sst_1994_KLm.test_vals = [-8.648410, -10.723737, -3.872430, 1.049156, 0.019214, -1.559073] + turb_naca0012_sst_1994_KLm.test_vals = [-8.567268, -10.798763, -3.990577, 1.049274, 0.019199, -1.809017] turb_naca0012_sst_1994_KLm.su2_exec = "parallel_computation.py -f" turb_naca0012_sst_1994_KLm.timeout = 3200 turb_naca0012_sst_1994_KLm.tol = 0.00001 @@ -910,7 +910,7 @@ def main(): turb_naca0012_1c.cfg_dir = "rans_uq/naca0012" turb_naca0012_1c.cfg_file = "turb_NACA0012_uq_1c.cfg" turb_naca0012_1c.test_iter = 10 - turb_naca0012_1c.test_vals = [-4.976520, 1.141381, 0.460006, -0.078852] + turb_naca0012_1c.test_vals = [-4.976246, 1.141479, 0.459999, -0.078853] turb_naca0012_1c.su2_exec = "parallel_computation.py -f" turb_naca0012_1c.timeout = 1600 turb_naca0012_1c.tol = 0.00001 @@ -1463,7 +1463,7 @@ def main(): sp_pinArray_3d_cht_mf_hf_tp.cfg_dir = "incomp_navierstokes/streamwise_periodic/chtPinArray_3d" sp_pinArray_3d_cht_mf_hf_tp.cfg_file = "configMaster.cfg" sp_pinArray_3d_cht_mf_hf_tp.test_iter = 30 - sp_pinArray_3d_cht_mf_hf_tp.test_vals = [-13.380430, -7.476945, -7.025285, -0.009675, 99.879812, 4.1920e+02] + sp_pinArray_3d_cht_mf_hf_tp.test_vals = [-13.374306, -7.476945, -7.025285, -0.009675, 99.879812, 419.200000] sp_pinArray_3d_cht_mf_hf_tp.su2_exec = "mpirun -n 2 SU2_CFD" sp_pinArray_3d_cht_mf_hf_tp.timeout = 1600 sp_pinArray_3d_cht_mf_hf_tp.tol = 0.00001 diff --git a/TestCases/serial_regression.py b/TestCases/serial_regression.py index 246861a06e94..6f4de1f0c489 100644 --- a/TestCases/serial_regression.py +++ b/TestCases/serial_regression.py @@ -888,7 +888,7 @@ def main(): turb_naca0012_1c.cfg_dir = "rans_uq/naca0012" turb_naca0012_1c.cfg_file = "turb_NACA0012_uq_1c.cfg" turb_naca0012_1c.test_iter = 10 - turb_naca0012_1c.test_vals = [-4.985899, 1.137425, 0.375998, -0.078790] + turb_naca0012_1c.test_vals = [-4.985899, 1.137425, 0.375986, -0.078795] turb_naca0012_1c.su2_exec = "SU2_CFD" turb_naca0012_1c.new_output = True turb_naca0012_1c.timeout = 1600 From 031740f73a0ff4ddcb9a4f945103b107ebef691a Mon Sep 17 00:00:00 2001 From: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> Date: Sun, 15 May 2022 17:59:54 +0100 Subject: [PATCH 102/110] Apply suggestions from code review Co-authored-by: TobiKattmann <31306376+TobiKattmann@users.noreply.github.com> --- Common/include/CConfig.hpp | 2 +- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 5b71ac804c1c..ceb316482ac5 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -9622,6 +9622,6 @@ class CConfig { * \brief Get parsed SST option data structure. * \return SST option data structure. */ - SST_ParsedOptions GetSSTParsedOptions(void) const {return sstParsedOptions; } + SST_ParsedOptions GetSSTParsedOptions() const { return sstParsedOptions; } }; diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index 4cf38b2354f5..ac6092f4219b 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -111,8 +111,8 @@ CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned sh constants[10] = 20.0; // production limiter constant } else { /* SST-V2003 */ - constants[8] = 5.0 / 9.0; - constants[9] = 0.44; + constants[8] = 5.0 / 9.0; //gamma_1 + constants[9] = 0.44; //gamma_2 constants[10] = 10.0; // production limiter constant } /*--- Initialize lower and upper limits---*/ From 2752d7b27911b30177fdefd836370caa6eee5f2d Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 15 May 2022 18:23:24 +0100 Subject: [PATCH 103/110] cleanup config --- .../rans/naca0012/turb_NACA0012_sst_2003m.cfg | 156 +----------------- 1 file changed, 1 insertion(+), 155 deletions(-) diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg index f9b4d40fce3d..36a34fa86715 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg @@ -1,250 +1,96 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % -% SU2 configuration file % -% Case description: 2D NACA 0012 Airfoil Validation Case (compressible) % -% http://turbmodels.larc.nasa.gov/naca0012_val_sa.html % -% Author: Thomas D. Economon % -% Institution: Stanford University % -% Date: Feb 18th, 2013 % +% SU2 configuration file, NACA0012 RANS SST-2003m % % File Version 7.3.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST SST_OPTIONs= V2003m -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) -MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO -% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.15 -% -% Angle of attack (degrees, only for compressible flows) AOA= 10.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.0E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES NUM_METHOD_GRAD_RECON= LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1000.0 -% -% Max Delta time MAX_DELTA_TIME= 1E10 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 99999 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-10 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 - -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1, 1 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE USE_VECTORIZATION= YES -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% 2nd and 4th order artificial dissipation coefficients -JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) -SLOPE_LIMITER_TURB= NONE -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem -CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Convergence field CONV_FIELD= RMS_DENSITY -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria -CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence -CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= n0012_225-65.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow_sst.dat -% -% Restart adjoint input file -SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint -RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables -VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) -GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) -SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 10000 % -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG, LINSOL_RESIDUAL) -OUTPUT_FILES= (RESTART_ASCII, PARAVIEW, SURFACE_PARAVIEW) From 1cc18baa7c3ffb6cfe04542d163f1422cb874cb6 Mon Sep 17 00:00:00 2001 From: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> Date: Sun, 15 May 2022 18:24:43 +0100 Subject: [PATCH 104/110] Update config_template.cfg --- config_template.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config_template.cfg b/config_template.cfg index 9e0ff8433232..78e2778b6fc5 100644 --- a/config_template.cfg +++ b/config_template.cfg @@ -21,7 +21,7 @@ SOLVER= EULER % Specify turbulence model (NONE, SA, SA_NEG, SST, SA_E, SA_COMP, SA_E_COMP) KIND_TURB_MODEL= NONE % -% Specify versions/corrections to SST model (NONE, V2003m, V1994, VORTICITY, SUSTAINING, UQ) +% Specify versions/corrections to SST model (V2003m, V1994m, VORTICITY, KATO_LAUNDER, UQ, SUSTAINING) SST_OPTIONS= NONE % % Transition model (NONE, BC) From c890e0affc866237d43ab892d1a44d84b89cee2c Mon Sep 17 00:00:00 2001 From: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> Date: Sun, 15 May 2022 18:29:12 +0100 Subject: [PATCH 105/110] Apply suggestions from code review --- TestCases/rans/naca0012/turb_NACA0012_sst_1994-KLm.cfg | 9 --------- TestCases/rans/naca0012/turb_NACA0012_sst_2003-Vm.cfg | 9 --------- TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg | 1 - 3 files changed, 19 deletions(-) diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_1994-KLm.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_1994-KLm.cfg index 68f18a5ab3a0..21a6b8eb1caa 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_1994-KLm.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_1994-KLm.cfg @@ -62,15 +62,6 @@ LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-10 LINEAR_SOLVER_ITER= 20 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -MGLEVEL= 0 -MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1, 1 ) -MG_POST_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -MG_DAMP_RESTRICTION= 0.75 -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= ROE diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_2003-Vm.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_2003-Vm.cfg index 2dcf75c67826..9664b5d71db6 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_2003-Vm.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_2003-Vm.cfg @@ -62,15 +62,6 @@ LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-10 LINEAR_SOLVER_ITER= 20 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -MGLEVEL= 0 -MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1, 1 ) -MG_POST_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -MG_DAMP_RESTRICTION= 0.75 -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= ROE diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg index 36a34fa86715..2049ae930bff 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg @@ -58,7 +58,6 @@ LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-10 LINEAR_SOLVER_ITER= 20 -MGLEVEL= 0 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % From 5c8485872031f2d0c0bd343be8af18503dc2f341 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Mon, 16 May 2022 23:00:56 +0200 Subject: [PATCH 106/110] additional vanv regression --- TestCases/vandv.py | 16 ++ .../rans/bump_in_channel/turb_bump_sst.cfg | 220 ++++++++++++++++ .../rans/flatplate/turb_flatplate_sst.cfg | 248 ++++++++++++++++++ 3 files changed, 484 insertions(+) create mode 100644 TestCases/vandv/rans/bump_in_channel/turb_bump_sst.cfg create mode 100644 TestCases/vandv/rans/flatplate/turb_flatplate_sst.cfg diff --git a/TestCases/vandv.py b/TestCases/vandv.py index 251811245519..d4dde139620f 100644 --- a/TestCases/vandv.py +++ b/TestCases/vandv.py @@ -48,6 +48,22 @@ def main(): p30n30.test_vals = [-10.642687, -10.303442, -10.496806, -10.253229, -13.517216, 0.050962, 2.828563, 1.317849, -0.215792] test_list.append(p30n30) + # flat plate - sst-v1994m + flatplate_sst1994m = TestCase('flatplate_sst1994m') + flatplate_sst1994m.cfg_dir = "vandv/rans/flatplate" + flatplate_sst1994m.cfg_file = "turb_flatplate_sst.cfg" + flatplate_sst1994m.test_iter = 20 + flatplate_sst1994m.test_vals = [-3.929386, -3.061217, 3.958147, 0.001080, 0.003899] + test_list.append(flatplate_sst1994m) + + # bump in channel - sst-v1994m + bump_sst1994m = TestCase('bump_sst1994m') + bump_sst1994m.cfg_dir = "vandv/rans/bump_in_channel" + bump_sst1994m.cfg_file = "turb_bump_sst.cfg" + bump_sst1994m.test_iter = 20 + bump_sst1994m.test_vals = [-4.295705, -1.571766, 2.662294, 0.024496, 0.004525] + test_list.append(bump_sst1994m) + ################# ### RUN TESTS ### ################# diff --git a/TestCases/vandv/rans/bump_in_channel/turb_bump_sst.cfg b/TestCases/vandv/rans/bump_in_channel/turb_bump_sst.cfg new file mode 100644 index 000000000000..b34cef7f2310 --- /dev/null +++ b/TestCases/vandv/rans/bump_in_channel/turb_bump_sst.cfg @@ -0,0 +1,220 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: 2D Turbulent Bump-in-Channel Verification Case % +% Author: Thomas D. Economon % +% Date: 2019.10.24 % +% File Version 7.0.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +% Physical governing equations (EULER, NAVIER_STOKES, +% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, +% POISSON_EQUATION) +SOLVER= RANS +% +% Specify turbulent model (NONE, SA, SA_NEG, SST) +KIND_TURB_MODEL= SST +%SST_OPTIONS= V2003m +% +% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) +MATH_PROBLEM= DIRECT +% +% Restart solution (NO, YES) +RESTART_SOL= NO +% -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% +% +% Mach number (non-dimensional, based on the free-stream values) +MACH_NUMBER= 0.2 +% +% Angle of attack (degrees, only for compressible flows) +AOA= 0.0 +% +% Side-slip angle (degrees, only for compressible flows) +SIDESLIP_ANGLE= 0.0 +% +% Free-stream temperature (288.15 K, 518.67 R by default) +FREESTREAM_TEMPERATURE= 300.0 +% +% Reynolds number (non-dimensional, based on the free-stream values) +REYNOLDS_NUMBER= 3.0E6 +% +% Reynolds length (1 m, 1 inch by default) +REYNOLDS_LENGTH= 1.0 +% +% Free-stream turbulence intensity for the SST model +FREESTREAM_TURBULENCEINTENSITY = 0.0003872980998351247 +% +% Free-strem turbulence to laminar viscosity ratio for the SST model +FREESTREAM_TURB2LAMVISCRATIO = 0.009 + +% ---------------------- REFERENCE VALUE DEFINITION ---------------------------% +% +% Reference origin for moment computation +REF_ORIGIN_MOMENT_X = 0.00 +REF_ORIGIN_MOMENT_Y = 0.00 +REF_ORIGIN_MOMENT_Z = 0.00 +% +% Reference length for pitching, rolling, and yawing non-dimensional moment +REF_LENGTH= 1.5 +% +% Reference area for force coefficients (0 implies automatic calculation) +REF_AREA= 1.5 + +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +% Navier-Stokes wall boundary marker(s) (NONE = no marker) +MARKER_HEATFLUX= ( bump, 0.0 ) +% +% Farfield boundary marker(s) (NONE = no marker) +MARKER_SYM= ( lower_upstream, lower_downstream, upper ) +% +% Velocity inlet marker +MARKER_INLET= ( inlet, 302.4, 70614.866784, 1.0, 0.0, 0.0 ) +% +% Pressure outlet marker +MARKER_OUTLET= ( outlet, 68672.8 ) +% +% Marker(s) of the surface to be plotted or designed +MARKER_PLOTTING= ( bump ) +% +% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated +MARKER_MONITORING= ( bump ) + +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES +NUM_METHOD_GRAD_RECON= LEAST_SQUARES +% +% Courant-Friedrichs-Lewy condition of the finest grid +CFL_NUMBER= 1e3 +% +% Adaptive CFL number (NO, YES) +CFL_ADAPT= NO +% +% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, +% CFL max value ) +CFL_ADAPT_PARAM= ( 0.1, 1.2, 1e3, 1e5 ) +% +% Number of total iterations +ITER= 99999 + +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +% Linear solver for implicit formulations (BCGSTAB, FGMRES) +LINEAR_SOLVER= FGMRES +% +% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) +LINEAR_SOLVER_PREC= ILU +% +% Linael solver ILU preconditioner fill-in level (0 by default) +LINEAR_SOLVER_ILU_FILL_IN= 0 +% +% Minimum error of the linear solver for implicit formulations +LINEAR_SOLVER_ERROR= 1E-10 +% +% Max number of iterations of the linear solver for the implicit formulation +LINEAR_SOLVER_ITER= 25 + +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +% +% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, +% TURKEL_PREC, MSW) +CONV_NUM_METHOD_FLOW= ROE +% +% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. +% Required for 2nd order upwind schemes (NO, YES) +MUSCL_FLOW= YES +% +% Slope limiter (VENKATAKRISHNAN, MINMOD) +SLOPE_LIMITER_FLOW= NONE +% +% Coefficient for the limiter +VENKAT_LIMITER_COEFF= 0.05 +% +% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) +TIME_DISCRE_FLOW= EULER_IMPLICIT + +% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% +% +% Convective numerical method (SCALAR_UPWIND) +CONV_NUM_METHOD_TURB= SCALAR_UPWIND +% +% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. +% Required for 2nd order upwind schemes (NO, YES) +MUSCL_TURB= NO +% +% Slope limiter (VENKATAKRISHNAN, MINMOD) +SLOPE_LIMITER_TURB= VENKATAKRISHNAN +% +% Time discretization (EULER_IMPLICIT) +TIME_DISCRE_TURB= EULER_IMPLICIT + +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +% Field used to assess convergence of the solver +CONV_FIELD= RMS_DENSITY +% +% Min value of the residual (log10 of the residual) +CONV_RESIDUAL_MINVAL= -13 + +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +% Mesh input file +MESH_FILENAME= mesh_bump_2d_0089x041.cgns +%MESH_FILENAME= mesh_bump_2d_0177x081.cgns +%MESH_FILENAME= mesh_bump_2d_0353x161.cgns +%MESH_FILENAME= mesh_bump_2d_0705x321.cgns +%MESH_FILENAME= mesh_bump_2d_1409x641.cgns +% +% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FORMAT= CGNS +% +% Mesh output file +MESH_OUT_FILENAME= mesh_out.su2 +% +% Restart flow input file +SOLUTION_FILENAME= solution_flow.dat +% +% Restart adjoint input file +SOLUTION_ADJ_FILENAME= solution_adj.dat +% +% Output file convergence history (w/o extension) +CONV_FILENAME= history +% +% Output file restart flow +RESTART_FILENAME= restart_flow.dat +% +% Output file restart adjoint +RESTART_ADJ_FILENAME= restart_adj.dat +% +% Output file flow (w/o extension) variables +VOLUME_FILENAME= flow +% +% Output file adjoint (w/o extension) variables +VOLUME_ADJ_FILENAME= adjoint +% +% Output objective function gradient (using continuous adjoint) +GRAD_OBJFUNC_FILENAME= of_grad.dat +% +% Output file surface flow coefficient (w/o extension) +SURFACE_FILENAME= surface_flow +% +% Output file surface adjoint coefficient (w/o extension) +SURFACE_ADJ_FILENAME= surface_adjoint +% +% Quanties printed to screen with each iterations of the solver +SCREEN_OUTPUT= INNER_ITER WALL_TIME RMS_DENSITY RMS_TKE RMS_DISSIPATION LIFT DRAG +% +% Selection of output files to be written +OUTPUT_FILES= RESTART PARAVIEW SURFACE_PARAVIEW SURFACE_CSV RESTART_ASCII +% +% Iteration frequency with which to write output files +OUTPUT_WRT_FREQ = 10000 +% +% Selection of quantities to be written to the history file +HISTORY_OUTPUT= ITER RMS_RES AERO_COEFF + diff --git a/TestCases/vandv/rans/flatplate/turb_flatplate_sst.cfg b/TestCases/vandv/rans/flatplate/turb_flatplate_sst.cfg new file mode 100644 index 000000000000..cf89ea964fcd --- /dev/null +++ b/TestCases/vandv/rans/flatplate/turb_flatplate_sst.cfg @@ -0,0 +1,248 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Turbulent flow over flat plate with zero pressure gradient % +% Author: Thomas D. Economon % +% Date: 2019.10.17 % +% File Version 7.0.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +% Physical governing equations (EULER, NAVIER_STOKES, +% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, +% POISSON_EQUATION) +SOLVER= RANS +% +% If Navier-Stokes, kind of turbulent model (NONE, SA, SST) +KIND_TURB_MODEL= SST +%SST_OPTIONS= V2003m +% +% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) +MATH_PROBLEM= DIRECT +% +% Restart solution (NO, YES) +RESTART_SOL= NO + +% ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% +% +% Mach number (non-dimensional, based on the free-stream values) +MACH_NUMBER= 0.2 +% +% Angle of attack (degrees) +AOA= 0.0 +% +% Side-slip angle (degrees) +SIDESLIP_ANGLE= 0.0 +% +% Free-stream temperature (288.15 K by default) +FREESTREAM_TEMPERATURE= 300.0 +% +% Reynolds number (non-dimensional, based on the free-stream values) +REYNOLDS_NUMBER= 5000000.0 +% +% Reynolds length (in meters) +REYNOLDS_LENGTH= 1.0 +% +% Free-stream turbulence intensity for the SST model +FREESTREAM_TURBULENCEINTENSITY = 0.00038729 +% +% Free-strem turbulence to laminar viscosity ratio for the SST model +FREESTREAM_TURB2LAMVISCRATIO = 0.009 + +% ---------------------- REFERENCE VALUE DEFINITION ---------------------------% +% +% Reference origin for moment computation +REF_ORIGIN_MOMENT_X = 0.25 +REF_ORIGIN_MOMENT_Y = 0.00 +REF_ORIGIN_MOMENT_Z = 0.00 +% +% Reference length for pitching, rolling, and yawing non-dimensional moment +REF_LENGTH= 1.0 +% +% Reference area for force coefficients (0 implies automatic calculation) +REF_AREA= 2.0 + +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +% Navier-Stokes wall boundary marker(s) (NONE = no marker) +MARKER_HEATFLUX= ( wall, 0.0 ) +% +% Far-field boundary marker(s) (NONE = no marker) +MARKER_FAR= ( farfield ) +% +% Inlet boundary marker(s) (NONE = no marker) +% Format: ( inlet marker, total temperature, total pressure, flow_direction_x, +% flow_direction_y, flow_direction_z, ... ) +MARKER_INLET= ( inlet, 302.4, 117691.7874, 1.0, 0.0, 0.0 ) +% +% Outlet boundary marker(s) (NONE = no marker) +% Format: ( outlet marker, back pressure, ... ) +MARKER_OUTLET= ( outlet, 114455.0 ) +% +% Symmetry boundary marker(s) (NONE = no marker) +MARKER_SYM= ( symmetry ) +% +% Marker(s) of the surface to be plotted or designed +MARKER_PLOTTING= ( wall ) +% +% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated +MARKER_MONITORING= ( wall ) + +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, +% WEIGHTED_LEAST_SQUARES) +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES +% +% Courant-Friedrichs-Lewy condition of the finest grid +CFL_NUMBER= 400.0 +% +% Adaptive CFL number (NO, YES) +CFL_ADAPT= NO +% +% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, +% CFL max value ) +CFL_ADAPT_PARAM= ( 0.1, 1.2, 10.0, 1e3 ) +% +% Runge-Kutta alpha coefficients +RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) +% +% Number of total iterations +ITER= 99999 + +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +% Linear solver or smoother for implicit formulations: +% BCGSTAB, FGMRES, RESTARTED_FGMRES, CONJUGATE_GRADIENT (self-adjoint problems only), SMOOTHER. +LINEAR_SOLVER= FGMRES +% +% Preconditioner of the Krylov linear solver or type of smoother (ILU, LU_SGS, LINELET, JACOBI) +LINEAR_SOLVER_PREC= ILU +% +% Linear solver ILU preconditioner fill-in level (0 by default) +LINEAR_SOLVER_ILU_FILL_IN= 0 +% +% Minimum error of the linear solver for implicit formulations +LINEAR_SOLVER_ERROR= 1E-15 +% +% Max number of iterations of the linear solver for the implicit formulation +LINEAR_SOLVER_ITER= 25 + +% ----------------------- SLOPE LIMITER DEFINITION ----------------------------% +% +% Coefficient for the limiter +VENKAT_LIMITER_COEFF= 0.1 +% +% Coefficient for the sharp edges limiter +ADJ_SHARP_LIMITER_COEFF= 3.0 +% +% Reference coefficient (sensitivity) for detecting sharp edges. +REF_SHARP_EDGES= 3.0 +% +% Remove sharp edges from the sensitivity evaluation (NO, YES) +SENS_REMOVE_SHARP= NO + +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +% +% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, +% TURKEL_PREC, MSW) +CONV_NUM_METHOD_FLOW= ROE +% +% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. +% Required for 2nd order upwind schemes (NO, YES) +MUSCL_FLOW= YES +% +% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, +% BARTH_JESPERSEN, VAN_ALBADA_EDGE) +SLOPE_LIMITER_FLOW= NONE +% +% 2nd and 4th order artificial dissipation coefficients +JST_SENSOR_COEFF= ( 0.5, 0.02 ) +% +% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) +TIME_DISCRE_FLOW= EULER_IMPLICIT + +% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% +% +% Convective numerical method (SCALAR_UPWIND) +CONV_NUM_METHOD_TURB= SCALAR_UPWIND +% +% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. +% Required for 2nd order upwind schemes (NO, YES) +MUSCL_TURB= NO +% +% Slope limiter (VENKATAKRISHNAN, MINMOD) +SLOPE_LIMITER_TURB= VENKATAKRISHNAN +% +% Time discretization (EULER_IMPLICIT) +TIME_DISCRE_TURB= EULER_IMPLICIT + +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +% Field used to assess convergence of the solver +CONV_FIELD= RMS_DENSITY +% +% Min value of the residual (log10 of the residual) +CONV_RESIDUAL_MINVAL= -13 + +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +% Mesh input file +MESH_FILENAME= mesh_flatplate_turb_035x025.su2 +%MESH_FILENAME= mesh_flatplate_turb_069x049.su2 +%MESH_FILENAME= mesh_flatplate_turb_137x097.su2 +%MESH_FILENAME= mesh_flatplate_turb_273x193.su2 +%MESH_FILENAME= mesh_flatplate_turb_545x385.su2 +% +% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FORMAT= SU2 +% +% Mesh output file +MESH_OUT_FILENAME= mesh_out.su2 +% +% Restart flow input file +SOLUTION_FILENAME= solution_flow.dat +% +% Restart adjoint input file +SOLUTION_ADJ_FILENAME= solution_adj.dat +% +% Output file format (PARAVIEW, TECPLOT, SLT) +TABULAR_FORMAT= CSV +% +% Output file convergence history (w/o extension) +CONV_FILENAME= history +% +% Output file restart flow +RESTART_FILENAME= restart_flow.dat +% +% Output file restart adjoint +RESTART_ADJ_FILENAME= restart_adj.dat +% +% Output file flow (w/o extension) variables +VOLUME_FILENAME= flow +% +% Output file adjoint (w/o extension) variables +VOLUME_ADJ_FILENAME= adjoint +% +% Output objective function gradient (using continuous adjoint) +GRAD_OBJFUNC_FILENAME= of_grad.dat +% +% Output file surface flow coefficient (w/o extension) +SURFACE_FILENAME= surface_flow +% +% Output file surface adjoint coefficient (w/o extension) +SURFACE_ADJ_FILENAME= surface_adjoint +% +% Quanties printed to screen with each iterations of the solver +SCREEN_OUTPUT= INNER_ITER WALL_TIME RMS_DENSITY RMS_TKE RMS_DISSIPATION LIFT DRAG +% +% Selection of output files to be written +OUTPUT_FILES= RESTART PARAVIEW SURFACE_PARAVIEW SURFACE_CSV +% +% Iteration frequency with which to write output files +OUTPUT_WRT_FREQ = 10000 +% +% Selection of quantities to be written to the history file +HISTORY_OUTPUT= ITER RMS_RES AERO_COEFF From b08defb2ee043151e2ca26b8c10e0d30dc6abbc3 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Tue, 17 May 2022 07:38:46 +0200 Subject: [PATCH 107/110] cleanup of vanv and fix unrelated spelling errors --- SU2_CFD/include/numerics/CNumerics.hpp | 2 +- .../include/numerics/NEMO/NEMO_sources.hpp | 2 +- .../include/numerics/NEMO/convection/roe.hpp | 2 +- .../continuous_adjoint/adj_convection.hpp | 2 +- .../continuous_adjoint/adj_diffusion.hpp | 2 +- .../continuous_adjoint/adj_sources.hpp | 2 +- .../numerics/flow/convection/centered.hpp | 2 +- .../include/numerics/flow/convection/fvs.hpp | 2 +- .../include/numerics/flow/convection/roe.hpp | 2 +- .../include/numerics/flow/flow_diffusion.hpp | 2 +- .../include/numerics/flow/flow_sources.hpp | 2 +- SU2_CFD/include/numerics/heat.hpp | 2 +- .../numerics/scalar/scalar_convection.hpp | 2 +- .../numerics/scalar/scalar_sources.hpp | 2 +- .../numerics/species/species_convection.hpp | 2 +- .../numerics/species/species_sources.hpp | 2 +- SU2_CFD/include/numerics/transition.hpp | 2 +- .../numerics/turbulent/turb_convection.hpp | 2 +- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 2 +- .../rans/bump_in_channel/turb_bump_sst.cfg | 164 +-------------- .../rans/flatplate/turb_flatplate_sst.cfg | 188 +----------------- 21 files changed, 31 insertions(+), 359 deletions(-) diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index 1933e5006658..3d2dbd7dde5b 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -1,6 +1,6 @@ /*! * \file CNumerics.hpp - * \brief Delaration of the base numerics class, the + * \brief Declaration of the base numerics class, the * implementation is in the CNumerics.cpp file. * \author F. Palacios, T. Economon * \version 7.3.1 "Blackbird" diff --git a/SU2_CFD/include/numerics/NEMO/NEMO_sources.hpp b/SU2_CFD/include/numerics/NEMO/NEMO_sources.hpp index 2d78b0f1a54e..b3f31a53fc33 100644 --- a/SU2_CFD/include/numerics/NEMO/NEMO_sources.hpp +++ b/SU2_CFD/include/numerics/NEMO/NEMO_sources.hpp @@ -1,6 +1,6 @@ /*! * \file NEMO_sources.hpp - * \brief Delarations of numerics classes for source-term integration. + * \brief Declarations of numerics classes for source-term integration. * \author C. Garbacz, W. Maier, S. Copeland. * \version 7.3.1 "Blackbird" * diff --git a/SU2_CFD/include/numerics/NEMO/convection/roe.hpp b/SU2_CFD/include/numerics/NEMO/convection/roe.hpp index 3b99d96d3830..032cf7f4f594 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/roe.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/roe.hpp @@ -1,6 +1,6 @@ /*! * \file roe.hpp - * \brief Delarations of numerics classes for Roe-type schemes in NEMO. + * \brief Declarations of numerics classes for Roe-type schemes in NEMO. * \author S.R. Copeland, W. Maier, C. Garbacz * \version 7.3.1 "Blackbird" * diff --git a/SU2_CFD/include/numerics/continuous_adjoint/adj_convection.hpp b/SU2_CFD/include/numerics/continuous_adjoint/adj_convection.hpp index faa25d5dd6bd..21ad7fdef41d 100644 --- a/SU2_CFD/include/numerics/continuous_adjoint/adj_convection.hpp +++ b/SU2_CFD/include/numerics/continuous_adjoint/adj_convection.hpp @@ -1,6 +1,6 @@ /*! * \file adj_convection.hpp - * \brief Delarations of numerics classes for continuous adjoint + * \brief Declarations of numerics classes for continuous adjoint * convective discretization. Implemented in adj_convection.cpp. * \author F. Palacios, T. Economon * \version 7.3.1 "Blackbird" diff --git a/SU2_CFD/include/numerics/continuous_adjoint/adj_diffusion.hpp b/SU2_CFD/include/numerics/continuous_adjoint/adj_diffusion.hpp index 63901c78d8b4..3056084ad98d 100644 --- a/SU2_CFD/include/numerics/continuous_adjoint/adj_diffusion.hpp +++ b/SU2_CFD/include/numerics/continuous_adjoint/adj_diffusion.hpp @@ -1,6 +1,6 @@ /*! * \file adj_diffusion.hpp - * \brief Delarations of numerics classes for continuous adjoint + * \brief Declarations of numerics classes for continuous adjoint * diffusion discretization. Implemented in adj_diffusion.cpp. * \author F. Palacios, T. Economon * \version 7.3.1 "Blackbird" diff --git a/SU2_CFD/include/numerics/continuous_adjoint/adj_sources.hpp b/SU2_CFD/include/numerics/continuous_adjoint/adj_sources.hpp index 150e2fad3fc5..ef72d41f402b 100644 --- a/SU2_CFD/include/numerics/continuous_adjoint/adj_sources.hpp +++ b/SU2_CFD/include/numerics/continuous_adjoint/adj_sources.hpp @@ -1,6 +1,6 @@ /*! * \file adj_sources.hpp - * \brief Delarations of numerics classes for continuous adjoint + * \brief Declarations of numerics classes for continuous adjoint * source term integration. Implemented in adj_sources.cpp. * \author F. Palacios, T. Economon * \version 7.3.1 "Blackbird" diff --git a/SU2_CFD/include/numerics/flow/convection/centered.hpp b/SU2_CFD/include/numerics/flow/convection/centered.hpp index 21d84bf929f2..03ff9ba32291 100644 --- a/SU2_CFD/include/numerics/flow/convection/centered.hpp +++ b/SU2_CFD/include/numerics/flow/convection/centered.hpp @@ -1,6 +1,6 @@ /*! * \file centered.hpp - * \brief Delaration of numerics classes for centered schemes, + * \brief Declaration of numerics classes for centered schemes, * the implementation is in centered.cpp. * \author F. Palacios, T. Economon * \version 7.3.1 "Blackbird" diff --git a/SU2_CFD/include/numerics/flow/convection/fvs.hpp b/SU2_CFD/include/numerics/flow/convection/fvs.hpp index de5c0be1a992..53ab59c8378f 100644 --- a/SU2_CFD/include/numerics/flow/convection/fvs.hpp +++ b/SU2_CFD/include/numerics/flow/convection/fvs.hpp @@ -1,6 +1,6 @@ /*! * \file fvs.hpp - * \brief Delarations of classes for Flux-Vector-Spliting schemes, + * \brief Declarations of classes for Flux-Vector-Spliting schemes, * the implementations are in fvs.cpp. * \author F. Palacios, T. Economon * \version 7.3.1 "Blackbird" diff --git a/SU2_CFD/include/numerics/flow/convection/roe.hpp b/SU2_CFD/include/numerics/flow/convection/roe.hpp index 10fdf40c7d2d..541d26e0746d 100644 --- a/SU2_CFD/include/numerics/flow/convection/roe.hpp +++ b/SU2_CFD/include/numerics/flow/convection/roe.hpp @@ -1,6 +1,6 @@ /*! * \file roe.hpp - * \brief Delarations of numerics classes for Roe-type schemes, + * \brief Declarations of numerics classes for Roe-type schemes, * implemented in roe.cpp. * \author F. Palacios, T. Economon * \version 7.3.1 "Blackbird" diff --git a/SU2_CFD/include/numerics/flow/flow_diffusion.hpp b/SU2_CFD/include/numerics/flow/flow_diffusion.hpp index 0cf74e90ebea..8a20fdf40124 100644 --- a/SU2_CFD/include/numerics/flow/flow_diffusion.hpp +++ b/SU2_CFD/include/numerics/flow/flow_diffusion.hpp @@ -1,6 +1,6 @@ /*! * \file flow_diffusion.hpp - * \brief Delarations of numerics classes for viscous flux computation. + * \brief Declarations of numerics classes for viscous flux computation. * \author F. Palacios, T. Economon * \version 7.3.1 "Blackbird" * diff --git a/SU2_CFD/include/numerics/flow/flow_sources.hpp b/SU2_CFD/include/numerics/flow/flow_sources.hpp index 7bdfbde7a732..8ca0accf23d7 100644 --- a/SU2_CFD/include/numerics/flow/flow_sources.hpp +++ b/SU2_CFD/include/numerics/flow/flow_sources.hpp @@ -1,6 +1,6 @@ /*! * \file flow_sources.hpp - * \brief Delarations of numerics classes for source-term integration. + * \brief Declarations of numerics classes for source-term integration. * \author F. Palacios, T. Economon * \version 7.3.1 "Blackbird" * diff --git a/SU2_CFD/include/numerics/heat.hpp b/SU2_CFD/include/numerics/heat.hpp index 12e215021852..a7b2dd8cf78e 100644 --- a/SU2_CFD/include/numerics/heat.hpp +++ b/SU2_CFD/include/numerics/heat.hpp @@ -1,6 +1,6 @@ /*! * \file heat.hpp - * \brief Delarations of numerics classes for heat transfer problems. + * \brief Declarations of numerics classes for heat transfer problems. * \author F. Palacios, T. Economon * \version 7.3.1 "Blackbird" * diff --git a/SU2_CFD/include/numerics/scalar/scalar_convection.hpp b/SU2_CFD/include/numerics/scalar/scalar_convection.hpp index 5a982e2adc93..99c9314adbf5 100644 --- a/SU2_CFD/include/numerics/scalar/scalar_convection.hpp +++ b/SU2_CFD/include/numerics/scalar/scalar_convection.hpp @@ -1,6 +1,6 @@ /*! * \file scalar_convection.hpp - * \brief Delarations of numerics classes for discretization of + * \brief Declarations of numerics classes for discretization of * convective fluxes in scalar problems. * \author F. Palacios, T. Economon * \version 7.3.1 "Blackbird" diff --git a/SU2_CFD/include/numerics/scalar/scalar_sources.hpp b/SU2_CFD/include/numerics/scalar/scalar_sources.hpp index a7ea39c15370..73164b955c99 100644 --- a/SU2_CFD/include/numerics/scalar/scalar_sources.hpp +++ b/SU2_CFD/include/numerics/scalar/scalar_sources.hpp @@ -1,6 +1,6 @@ /*! * \file scalar_sources.hpp - * \brief Delarations of numerics classes for integration of source terms in scalar problems. + * \brief Declarations of numerics classes for integration of source terms in scalar problems. * \version 7.3.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io diff --git a/SU2_CFD/include/numerics/species/species_convection.hpp b/SU2_CFD/include/numerics/species/species_convection.hpp index 9344921139de..506dd163963a 100644 --- a/SU2_CFD/include/numerics/species/species_convection.hpp +++ b/SU2_CFD/include/numerics/species/species_convection.hpp @@ -1,6 +1,6 @@ /*! * \file species_convection.hpp - * \brief Delarations of numerics classes for discretization of + * \brief Declarations of numerics classes for discretization of * convective fluxes in species problems. * \author T. Kattmann * \version 7.3.1 "Blackbird" diff --git a/SU2_CFD/include/numerics/species/species_sources.hpp b/SU2_CFD/include/numerics/species/species_sources.hpp index c160844ad68a..08fe32b02949 100644 --- a/SU2_CFD/include/numerics/species/species_sources.hpp +++ b/SU2_CFD/include/numerics/species/species_sources.hpp @@ -1,6 +1,6 @@ /*! * \file species_sources.hpp - * \brief Delarations of numerics classes for integration of source + * \brief Declarations of numerics classes for integration of source * terms in species problems. * \author T. Kattmann * \version 7.3.1 "Blackbird" diff --git a/SU2_CFD/include/numerics/transition.hpp b/SU2_CFD/include/numerics/transition.hpp index 34dc0fb9e5b0..2e2681a0afba 100644 --- a/SU2_CFD/include/numerics/transition.hpp +++ b/SU2_CFD/include/numerics/transition.hpp @@ -1,6 +1,6 @@ /*! * \file transition.hpp - * \brief Delarations of numerics classes for transition problems. + * \brief Declarations of numerics classes for transition problems. * \author F. Palacios, T. Economon * \version 7.3.1 "Blackbird" * diff --git a/SU2_CFD/include/numerics/turbulent/turb_convection.hpp b/SU2_CFD/include/numerics/turbulent/turb_convection.hpp index 913ef24a7c31..47279c0181e0 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_convection.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_convection.hpp @@ -1,6 +1,6 @@ /*! * \file turb_convection.hpp - * \brief Delarations of numerics classes for discretization of + * \brief Declarations of numerics classes for discretization of * convective fluxes in turbulence problems. * \author F. Palacios, T. Economon * \version 7.3.1 "Blackbird" diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index ac6092f4219b..a09fad577ee1 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -1,6 +1,6 @@ /*! * \file CTurbSSTSolver.cpp - * \brief Main subrotuines of CTurbSSTSolver class + * \brief Main subroutines of CTurbSSTSolver class * \author F. Palacios, A. Bueno * \version 7.3.1 "Blackbird" * diff --git a/TestCases/vandv/rans/bump_in_channel/turb_bump_sst.cfg b/TestCases/vandv/rans/bump_in_channel/turb_bump_sst.cfg index b34cef7f2310..3c4094dfd395 100644 --- a/TestCases/vandv/rans/bump_in_channel/turb_bump_sst.cfg +++ b/TestCases/vandv/rans/bump_in_channel/turb_bump_sst.cfg @@ -1,220 +1,68 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SU2 configuration file % -% Case description: 2D Turbulent Bump-in-Channel Verification Case % -% Author: Thomas D. Economon % -% Date: 2019.10.24 % -% File Version 7.0.0 "Blackbird" % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST %SST_OPTIONS= V2003m -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) -RESTART_SOL= NO +RESTART_SOL= YES % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% -% -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.2 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K, 518.67 R by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 3.0E6 -% -% Reynolds length (1 m, 1 inch by default) REYNOLDS_LENGTH= 1.0 -% -% Free-stream turbulence intensity for the SST model -FREESTREAM_TURBULENCEINTENSITY = 0.0003872980998351247 -% -% Free-strem turbulence to laminar viscosity ratio for the SST model -FREESTREAM_TURB2LAMVISCRATIO = 0.009 - +FREESTREAM_TURBULENCEINTENSITY= 0.0003872980998351247 +FREESTREAM_TURB2LAMVISCRATIO= 0.009 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% -% -% Reference origin for moment computation -REF_ORIGIN_MOMENT_X = 0.00 -REF_ORIGIN_MOMENT_Y = 0.00 -REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment +REF_ORIGIN_MOMENT_X= 0.00 +REF_ORIGIN_MOMENT_Y= 0.00 +REF_ORIGIN_MOMENT_Z= 0.00 REF_LENGTH= 1.5 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.5 - % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% -% -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( bump, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_SYM= ( lower_upstream, lower_downstream, upper ) -% -% Velocity inlet marker MARKER_INLET= ( inlet, 302.4, 70614.866784, 1.0, 0.0, 0.0 ) -% -% Pressure outlet marker MARKER_OUTLET= ( outlet, 68672.8 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( bump ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( bump ) - % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% -% -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES NUM_METHOD_GRAD_RECON= LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1e3 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) -CFL_ADAPT_PARAM= ( 0.1, 1.2, 1e3, 1e5 ) -% -% Number of total iterations ITER= 99999 - % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% -% -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= ILU -% -% Linael solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-10 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 25 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% -% -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT - % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% -% -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT - % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Field used to assess convergence of the solver CONV_FIELD= RMS_DENSITY -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -13 - % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% -% Mesh input file MESH_FILENAME= mesh_bump_2d_0089x041.cgns -%MESH_FILENAME= mesh_bump_2d_0177x081.cgns -%MESH_FILENAME= mesh_bump_2d_0353x161.cgns -%MESH_FILENAME= mesh_bump_2d_0705x321.cgns -%MESH_FILENAME= mesh_bump_2d_1409x641.cgns -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= CGNS -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file -SOLUTION_ADJ_FILENAME= solution_adj.dat -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint -RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables -VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) -GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) -SURFACE_ADJ_FILENAME= surface_adjoint -% -% Quanties printed to screen with each iterations of the solver SCREEN_OUTPUT= INNER_ITER WALL_TIME RMS_DENSITY RMS_TKE RMS_DISSIPATION LIFT DRAG -% -% Selection of output files to be written OUTPUT_FILES= RESTART PARAVIEW SURFACE_PARAVIEW SURFACE_CSV RESTART_ASCII -% -% Iteration frequency with which to write output files OUTPUT_WRT_FREQ = 10000 -% -% Selection of quantities to be written to the history file HISTORY_OUTPUT= ITER RMS_RES AERO_COEFF diff --git a/TestCases/vandv/rans/flatplate/turb_flatplate_sst.cfg b/TestCases/vandv/rans/flatplate/turb_flatplate_sst.cfg index cf89ea964fcd..bafb044a09f5 100644 --- a/TestCases/vandv/rans/flatplate/turb_flatplate_sst.cfg +++ b/TestCases/vandv/rans/flatplate/turb_flatplate_sst.cfg @@ -1,248 +1,72 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SU2 configuration file % -% Case description: Turbulent flow over flat plate with zero pressure gradient % -% Author: Thomas D. Economon % -% Date: 2019.10.17 % -% File Version 7.0.0 "Blackbird" % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% If Navier-Stokes, kind of turbulent model (NONE, SA, SST) KIND_TURB_MODEL= SST %SST_OPTIONS= V2003m -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) -RESTART_SOL= NO - +RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% -% -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.2 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 5000000.0 -% -% Reynolds length (in meters) REYNOLDS_LENGTH= 1.0 -% -% Free-stream turbulence intensity for the SST model -FREESTREAM_TURBULENCEINTENSITY = 0.00038729 -% -% Free-strem turbulence to laminar viscosity ratio for the SST model -FREESTREAM_TURB2LAMVISCRATIO = 0.009 - +FREESTREAM_TURBULENCEINTENSITY= 0.00038729 +FREESTREAM_TURB2LAMVISCRATIO= 0.009 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% -% -% Reference origin for moment computation -REF_ORIGIN_MOMENT_X = 0.25 -REF_ORIGIN_MOMENT_Y = 0.00 -REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment +REF_ORIGIN_MOMENT_X= 0.25 +REF_ORIGIN_MOMENT_Y= 0.00 +REF_ORIGIN_MOMENT_Z= 0.00 REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 2.0 - % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% -% -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( wall, 0.0 ) -% -% Far-field boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Inlet boundary marker(s) (NONE = no marker) -% Format: ( inlet marker, total temperature, total pressure, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) MARKER_INLET= ( inlet, 302.4, 117691.7874, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure, ... ) MARKER_OUTLET= ( outlet, 114455.0 ) -% -% Symmetry boundary marker(s) (NONE = no marker) MARKER_SYM= ( symmetry ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( wall ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( wall ) - % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% -% -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 400.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) -CFL_ADAPT_PARAM= ( 0.1, 1.2, 10.0, 1e3 ) -% -% Runge-Kutta alpha coefficients -RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 99999 - % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% -% -% Linear solver or smoother for implicit formulations: -% BCGSTAB, FGMRES, RESTARTED_FGMRES, CONJUGATE_GRADIENT (self-adjoint problems only), SMOOTHER. LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver or type of smoother (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 25 - % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.1 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% -% -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% 2nd and 4th order artificial dissipation coefficients -JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT - % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% -% -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT - % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Field used to assess convergence of the solver CONV_FIELD= RMS_DENSITY -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -13 - % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% -% Mesh input file MESH_FILENAME= mesh_flatplate_turb_035x025.su2 -%MESH_FILENAME= mesh_flatplate_turb_069x049.su2 -%MESH_FILENAME= mesh_flatplate_turb_137x097.su2 -%MESH_FILENAME= mesh_flatplate_turb_273x193.su2 -%MESH_FILENAME= mesh_flatplate_turb_545x385.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file -SOLUTION_ADJ_FILENAME= solution_adj.dat -% -% Output file format (PARAVIEW, TECPLOT, SLT) TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint -RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables -VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) -GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) -SURFACE_ADJ_FILENAME= surface_adjoint -% -% Quanties printed to screen with each iterations of the solver SCREEN_OUTPUT= INNER_ITER WALL_TIME RMS_DENSITY RMS_TKE RMS_DISSIPATION LIFT DRAG -% -% Selection of output files to be written OUTPUT_FILES= RESTART PARAVIEW SURFACE_PARAVIEW SURFACE_CSV -% -% Iteration frequency with which to write output files OUTPUT_WRT_FREQ = 10000 -% -% Selection of quantities to be written to the history file HISTORY_OUTPUT= ITER RMS_RES AERO_COEFF From e12028754847af6447f6175d6fa8784553ae11b7 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Thu, 19 May 2022 22:15:25 +0200 Subject: [PATCH 108/110] fix wrong vandv solution files --- TestCases/vandv.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/TestCases/vandv.py b/TestCases/vandv.py index d4dde139620f..0bb309921976 100644 --- a/TestCases/vandv.py +++ b/TestCases/vandv.py @@ -52,16 +52,16 @@ def main(): flatplate_sst1994m = TestCase('flatplate_sst1994m') flatplate_sst1994m.cfg_dir = "vandv/rans/flatplate" flatplate_sst1994m.cfg_file = "turb_flatplate_sst.cfg" - flatplate_sst1994m.test_iter = 20 - flatplate_sst1994m.test_vals = [-3.929386, -3.061217, 3.958147, 0.001080, 0.003899] + flatplate_sst1994m.test_iter = 5 + flatplate_sst1994m.test_vals = [-13.022890, -10.035602, -5.142343, -0.002535, 0.002809] test_list.append(flatplate_sst1994m) # bump in channel - sst-v1994m bump_sst1994m = TestCase('bump_sst1994m') bump_sst1994m.cfg_dir = "vandv/rans/bump_in_channel" bump_sst1994m.cfg_file = "turb_bump_sst.cfg" - bump_sst1994m.test_iter = 20 - bump_sst1994m.test_vals = [-4.295705, -1.571766, 2.662294, 0.024496, 0.004525] + bump_sst1994m.test_iter = 5 + bump_sst1994m.test_vals = [-13.069231, -10.325335, -5.558904, 0.024576, 0.004967] test_list.append(bump_sst1994m) ################# From 95ab0e33fb6590eee5e086d79a512b92da1770c6 Mon Sep 17 00:00:00 2001 From: bigfooted Date: Thu, 19 May 2022 23:45:48 +0200 Subject: [PATCH 109/110] fix last digit of VandV regression --- TestCases/vandv.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TestCases/vandv.py b/TestCases/vandv.py index 0bb309921976..7b5082f248ad 100644 --- a/TestCases/vandv.py +++ b/TestCases/vandv.py @@ -61,7 +61,7 @@ def main(): bump_sst1994m.cfg_dir = "vandv/rans/bump_in_channel" bump_sst1994m.cfg_file = "turb_bump_sst.cfg" bump_sst1994m.test_iter = 5 - bump_sst1994m.test_vals = [-13.069231, -10.325335, -5.558904, 0.024576, 0.004967] + bump_sst1994m.test_vals = [-13.069139, -10.325333, -5.558903, 0.024576, 0.004967] test_list.append(bump_sst1994m) ################# From e819a8864bc7add1479f1a3b56d5f00cfb3526ad Mon Sep 17 00:00:00 2001 From: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> Date: Sat, 21 May 2022 10:09:22 +0100 Subject: [PATCH 110/110] Update SU2_CFD/src/solvers/CAdjNSSolver.cpp Co-authored-by: Wally Maier --- SU2_CFD/src/solvers/CAdjNSSolver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/src/solvers/CAdjNSSolver.cpp b/SU2_CFD/src/solvers/CAdjNSSolver.cpp index 1af17f043b56..be10e5cb2755 100644 --- a/SU2_CFD/src/solvers/CAdjNSSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjNSSolver.cpp @@ -773,7 +773,7 @@ void CAdjNSSolver::Viscous_Sensitivity(CGeometry *geometry, CSolver **solver_con Enthalpy = solver_container[FLOW_SOL]->GetNodes()->GetEnthalpy(iPoint); /*--- Turbulent kinetic energy ---*/ - /* Nijso says: This does not seem to be consistent with the primal treatment. */ + /// TODO: This does not seem to be consistent with the primal treatment. if (config->GetKind_Turb_Model() == TURB_MODEL::SST) val_turb_ke = solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0); else