Skip to content
Open
Show file tree
Hide file tree
Changes from 67 commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
388f85a
- Added computation of desired grid size for Scale Resolving Simulati…
Sep 15, 2023
41cb27e
- Added a more complex SAS model named SAS_COMPLICATED
Sep 15, 2023
a6be2cf
- Fixed getting coordinates of points
Sep 15, 2023
d1f4db6
- Added output of laplacian
Sep 19, 2023
35958b8
- Fixed missing variable initialization for CTurbSAVariable
Sep 19, 2023
09e977f
- Added DES implementations to SST: DDES, Improved DDES (IDDES), Simp…
Oct 5, 2023
8c8e89d
- Added SST DDES in config
Oct 5, 2023
71ac9c4
- Added Debug quantities
Oct 10, 2023
5b5fc30
- Added division by 0 protection
Oct 17, 2023
ef50283
- Added computation of LESIQ to Output
Oct 21, 2023
91c742e
Merge branch 'develop' into feature_SST_IDDES
rois1995 Oct 22, 2023
6c86a19
Merge 'origin/feature_SAS' into feature_SST_IDDES
Oct 23, 2023
48a9f3d
- modified codi
Oct 23, 2023
ae33b05
- Modified Velocity Laplacian (vector -> Matrix)
Oct 27, 2023
6443070
- Added outputs log for SST-DDES
Sep 20, 2024
caf0d41
Merge remote-tracking branch 'origin/develop' into feature_SST_IDDES
Sep 20, 2024
a584526
- update externals
Sep 20, 2024
0f3a832
Merge remote-tracking branch 'origin/develop' into feature_SST_IDDES
Oct 30, 2024
710e1dc
Fix SAS Babu implementation
Oct 30, 2024
e4f28d4
- Fixed compilation error
Oct 30, 2024
068ac21
- Moved output functions not to brake the restart
Feb 6, 2025
cbe79f7
- Added limiting to eddy viscosity (needed?)
Feb 7, 2025
d770fa1
Update SU2_CFD/include/numerics/CNumerics.hpp
rois1995 Feb 7, 2025
4dda141
Update SU2_CFD/include/numerics/CNumerics.hpp
rois1995 Feb 7, 2025
84d65bf
- change grid size computation to account for 2D
Feb 7, 2025
5337229
- Added output of debug variables to SAS
Feb 7, 2025
0806d21
- Fixed bug that always activates SAS Babu
Feb 10, 2025
0cab1ef
- Modified the C_S constant in Lvk limiter
Feb 12, 2025
ad86192
Changed computation of Laplacian
Feb 26, 2025
dcbacc8
- slight changes to functions calls
Mar 4, 2025
33c6664
Merge remote-tracking branch 'origin/develop' into feature_SST_IDDES
Mar 4, 2025
a5702d8
- align externals and submodules to develop
Mar 7, 2025
ab6bedb
-fixed compilation errors
Mar 7, 2025
e5080a1
- Solve declaration hids variable
Mar 7, 2025
c2fd653
- SRS Grid size output (fix?)
Mar 7, 2025
d377903
Merge remote-tracking branch 'origin/develop' into feature_SST_IDDES
Mar 10, 2025
d037e59
- Added SLA DDES formulation to SST
Mar 18, 2025
d9f329e
Merge remote-tracking branch 'origin/develop' into feature_SST_IDDES
Mar 18, 2025
0adcb7e
- compilation erorr
Mar 19, 2025
d50b123
- Fix memory leak
Mar 19, 2025
34a0271
- fixed formatting error
Mar 19, 2025
04dfcd3
Merge remote-tracking branch 'origin/develop' into feature_SST_IDDES
Mar 25, 2025
a60fb13
Merge remote-tracking branch 'origin/develop' into feature_SST_IDDES
Mar 28, 2025
95ccc73
- update externals
Mar 28, 2025
de45d5f
- update externals and subprojects
Mar 28, 2025
d172607
- Try changes to SA-EDDES
Mar 31, 2025
e5a916c
- Fix bug in SST-EDDES
Apr 1, 2025
c723a13
- Set debug quantities
Apr 1, 2025
d051f0b
- try fix
Apr 1, 2025
c840256
- Fix output
Apr 1, 2025
9b997d7
- Fix output
Apr 7, 2025
8f3efae
- Added come outputs
Jun 10, 2025
f716218
- minor fix
Jun 10, 2025
28490fd
Merge remote-tracking branch 'origin/develop' into feature_SST_IDDES
Jul 7, 2025
ff56f36
Merge remote-tracking branch 'origin/develop' into feature_SST_IDDES
Sep 18, 2025
707afa4
update meson and ninja
Sep 18, 2025
b249f2c
Merge remote-tracking branch 'origin/develop' into HEAD
Oct 2, 2025
f10c465
Removed SAS implementation (not working)
Oct 2, 2025
37a866f
- Removed debug quantities
Oct 2, 2025
ac2078c
- Re-introduced the virtual function
Oct 2, 2025
0c8d49a
- Fixed some notation
Oct 2, 2025
86db90b
- Fix compilation issues
Oct 2, 2025
d4564da
- Fixed variable inputs
Oct 3, 2025
177276a
- Fixed some thread sanitizer problems
Oct 3, 2025
e260cc4
- Removed unused functions
Oct 3, 2025
7e57afe
- Fixed some notation
Oct 3, 2025
f193796
- Added SST-EDDES formulation for unstructured grids
Oct 30, 2025
c5e1dee
Merge remote-tracking branch 'origin/develop' into feature_SST_IDDES
Oct 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 16 additions & 5 deletions Common/include/option_structure.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1062,7 +1062,6 @@ inline SST_ParsedOptions ParseSSTOptions(const SST_OPTIONS *SST_Options, unsigne
const bool sst_compWilcox = IsPresent(SST_OPTIONS::COMP_Wilcox);
const bool sst_compSarkar = IsPresent(SST_OPTIONS::COMP_Sarkar);
const bool sst_dll = IsPresent(SST_OPTIONS::DLL);

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) {
Expand Down Expand Up @@ -1473,17 +1472,29 @@ static const MapType<std::string, WINDOW_FUNCTION> Window_Map = {
*/
enum ENUM_HYBRIDRANSLES {
NO_HYBRIDRANSLES = 0, /*!< \brief No turbulence model. */
SA_DES = 1, /*!< \brief Kind of Hybrid RANS/LES (SA - Detached Eddy Simulation (DES)). */
SA_DDES = 2, /*!< \brief Kind of Hybrid RANS/LES (SA - Delayed DES (DDES) with Delta_max SGS ). */
SA_ZDES = 3, /*!< \brief Kind of Hybrid RANS/LES (SA - Delayed DES (DDES) with Vorticity based SGS like Zonal DES). */
SA_EDDES = 4 /*!< \brief Kind of Hybrid RANS/LES (SA - Delayed DES (DDES) with Shear Layer Adapted SGS: Enhanced DDES). */
SA_DES = 1, /*!< \brief Kind of Hybrid RANS/LES (SA - Detached Eddy Simulation (DES)). */
SA_DDES = 2, /*!< \brief Kind of Hybrid RANS/LES (SA - Delayed DES (DDES) with Delta_max SGS ). */
SA_ZDES = 3, /*!< \brief Kind of Hybrid RANS/LES (SA - Delayed DES (DDES) with Vorticity based SGS like Zonal DES). */
SA_EDDES = 4, /*!< \brief Kind of Hybrid RANS/LES (SA - Delayed DES (DDES) with Shear Layer Adapted SGS: Enhanced DDES). */
SA_EDDES_UNSTR = 5, /*!< \brief Kind of Hybrid RANS/LES (SA - Delayed DES (DDES) with Shear Layer Adapted SGS: Enhanced DDES and for Unstructured grids). */
SST_DDES = 6, /*!< \brief Kind of Hybrid RANS/LES (SST - Delayed DES (DDES): DDES). */
SST_IDDES = 7, /*!< \brief Kind of Hybrid RANS/LES (SST - Delayed DES (DDES): Improved DDES). */
SST_SIDDES = 8, /*!< \brief Kind of Hybrid RANS/LES (SST - Delayed DES (DDES): Simplified Improved DDES). */
SST_EDDES = 9, /*!< \brief Kind of Hybrid RANS/LES (SST - Delayed DES (DDES): Enhanced (SLA) DDES). */
SST_EDDES_UNSTR = 10 /*!< \brief Kind of Hybrid RANS/LES (SST - Delayed DES (DDES): Enhanced (SLA) DDES). */
};
static const MapType<std::string, ENUM_HYBRIDRANSLES> HybridRANSLES_Map = {
MakePair("NONE", NO_HYBRIDRANSLES)
MakePair("SA_DES", SA_DES)
MakePair("SA_DDES", SA_DDES)
MakePair("SA_ZDES", SA_ZDES)
MakePair("SA_EDDES", SA_EDDES)
MakePair("SA_EDDES_UNSTR", SA_EDDES_UNSTR)
MakePair("SST_DDES", SST_DDES)
MakePair("SST_IDDES", SST_IDDES)
MakePair("SST_SIDDES", SST_SIDDES)
MakePair("SST_EDDES", SST_EDDES)
MakePair("SST_EDDES_UNSTR", SST_EDDES_UNSTR)
};

/*!
Expand Down
12 changes: 8 additions & 4 deletions Common/src/CConfig.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6442,10 +6442,14 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) {
cout << "Hybrid RANS/LES: ";
switch (Kind_HybridRANSLES) {
case NO_HYBRIDRANSLES: cout << "No Hybrid RANS/LES" << endl; break;
case SA_DES: cout << "Detached Eddy Simulation (DES97) " << endl; break;
case SA_DDES: cout << "Delayed Detached Eddy Simulation (DDES) with Standard SGS" << endl; break;
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;
case SA_DES: cout << "Detached Eddy Simulation (DES97) " << endl; break;
case SA_DDES: cout << "Delayed Detached Eddy Simulation (DDES) with Standard SGS" << endl; break;
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;
case SA_EDDES_UNSTR: cout << "Delayed Detached Eddy Simulation (DDES) with Shear-layer Adapted SGS (modified for Unstructured grids)" << endl; break;
case SST_DDES: cout << "Delayed Detached Eddy Simulation (DDES)" << endl; break;
case SST_IDDES: cout << "Improved Delayed Detached Eddy Simulation (IDDES)" << endl; break;
case SST_SIDDES: cout << "Simplified Improved Delayed Detached Eddy Simulation (SIDDES)" << endl; break;
}
break;
case MAIN_SOLVER::NEMO_EULER:
Expand Down
11 changes: 11 additions & 0 deletions SU2_CFD/include/numerics/CNumerics.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ class CNumerics {
const su2double
*TurbPsi_i, /*!< \brief Vector of adjoint turbulent variables at point i. */
*TurbPsi_j; /*!< \brief Vector of adjoint turbulent variables at point j. */
su2double lengthScale_i, lengthScale_j; /*!< \brief length scale for SST */
CMatrixView<const su2double>
ConsVar_Grad_i, /*!< \brief Gradient of conservative variables at point i. */
ConsVar_Grad_j, /*!< \brief Gradient of conservative variables at point j. */
Expand Down Expand Up @@ -827,6 +828,16 @@ class CNumerics {
dist_j = val_dist_j;
}

/*!
* \brief Set the value of the length scale for SST.
* \param[in] val_lengthScale_i - Value of of the length scale for SST from point i.
* \param[in] val_lengthScale_j - Value of of the length scale for SST from point j.
*/
void SetLengthScale(su2double val_lengthScale_i, su2double val_lengthScale_j) {
lengthScale_i = val_lengthScale_i;
lengthScale_j = val_lengthScale_j;
}

/*!
* \brief Set the value of the roughness from the nearest wall.
* \param[in] val_dist_i - Value of of the roughness of the nearest wall from point i
Expand Down
7 changes: 5 additions & 2 deletions SU2_CFD/include/numerics/turbulent/turb_sources.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -885,14 +885,17 @@ class CSourcePieceWise_TurbSST final : public CNumerics {
}

if (sstParsedOptions.production == SST_OPTIONS::COMP_Sarkar) {
const su2double Dilatation_Sarkar = -0.15 * pk * Mt + 0.2 * beta_star * (1.0 +zetaFMt) * Density_i * ScalarVar_i[1] * ScalarVar_i[0] * Mt * Mt;
const su2double Dilatation_Sarkar = -0.15 * pk * Mt + 0.2 * beta_star * (1.0 +zetaFMt) * Density_i * ScalarVar_i[1] * ScalarVar_i[0] * pow(Mt, 2);
pk += Dilatation_Sarkar;
}

/*--- Dissipation ---*/

su2double dk = beta_star * Density_i * ScalarVar_i[1] * ScalarVar_i[0] * (1.0 + zetaFMt);
su2double dw = beta_blended * Density_i * ScalarVar_i[1] * ScalarVar_i[1] * (1.0 - 0.09/beta_blended * zetaFMt);
if (config->GetKind_HybridRANSLES() != NO_HYBRIDRANSLES)
dk = Density_i * sqrt(pow(ScalarVar_i[0], 3)) / lengthScale_i;

su2double dw = beta_blended * Density_i * pow(ScalarVar_i[1], 2) * (1.0 - 0.09/beta_blended * zetaFMt);

/*--- LM model coupling with production and dissipation term for k transport equation---*/
if (config->GetKind_Trans_Model() == TURB_TRANS_MODEL::LM) {
Expand Down
11 changes: 11 additions & 0 deletions SU2_CFD/include/solvers/CTurbSSTSolver.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,17 @@ class CTurbSSTSolver final : public CTurbSolver {
*/
void ComputeUnderRelaxationFactor(const CConfig *config);


/*!
* \brief A virtual member.
* \param[in] solver - Solver container
* \param[in] geometry - Geometrical definition.
* \param[in] config - Definition of the particular problem.
*/
void SetDES_LengthScale(CSolver** solver,
CGeometry *geometry,
CConfig *config);

public:
/*!
* \brief Constructor.
Expand Down
29 changes: 0 additions & 29 deletions SU2_CFD/include/variables/CTurbSAVariable.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,6 @@
class CTurbSAVariable final : public CTurbVariable {

private:
VectorType DES_LengthScale;
VectorType Vortex_Tilting;

public:
/*!
Expand All @@ -60,31 +58,4 @@ class CTurbSAVariable final : public CTurbVariable {
*/
~CTurbSAVariable() override = default;

/*!
* \brief Get the DES length scale
* \param[in] iPoint - Point index.
* \return Value of the DES length Scale.
*/
inline su2double GetDES_LengthScale(unsigned long iPoint) const override { return DES_LengthScale(iPoint); }

/*!
* \brief Set the DES Length Scale.
* \param[in] iPoint - Point index.
*/
inline void SetDES_LengthScale(unsigned long iPoint, su2double val_des_lengthscale) override { DES_LengthScale(iPoint) = val_des_lengthscale; }

/*!
* \brief Set the vortex tilting measure for computation of the EDDES length scale
* \param[in] iPoint - Point index.
*/
void SetVortex_Tilting(unsigned long iPoint, CMatrixView<const su2double>,
const su2double* Vorticity, su2double LaminarViscosity) override;

/*!
* \brief Get the vortex tilting measure for computation of the EDDES length scale
* \param[in] iPoint - Point index.
* \return Value of the DES length Scale
*/
inline su2double GetVortex_Tilting(unsigned long iPoint) const override { return Vortex_Tilting(iPoint); }

};
34 changes: 31 additions & 3 deletions SU2_CFD/include/variables/CTurbVariable.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,14 @@
*/
class CTurbVariable : public CScalarVariable {
protected:
VectorType muT; /*!< \brief Eddy viscosity. */
VectorType muT; /*!< \brief Eddy viscosity. */
VectorType DES_LengthScale; /*!< \brief DES Length scale. */

public:
static constexpr size_t MAXNVAR = 2;
VectorType turb_index;
VectorType intermittency; /*!< \brief Value of the intermittency for the trans. model. */
VectorType turb_index; /*!< \brief Value of the turbulence index for transition simulations. */
VectorType intermittency; /*!< \brief Value of the intermittency for the transition model. */
VectorType Vortex_Tilting; /*!< \brief Value of the vortex tilting measure for EDDES models. */

/*!
* \brief Constructor of the class.
Expand Down Expand Up @@ -100,6 +102,32 @@ class CTurbVariable : public CScalarVariable {
*/
inline void SetIntermittency(unsigned long iPoint, su2double val_intermittency) final { intermittency(iPoint) = val_intermittency; }

/*!
* \brief Get the DES length scale
* \param[in] iPoint - Point index.
* \return Value of the DES length Scale.
*/
inline su2double GetDES_LengthScale(unsigned long iPoint) const override { return DES_LengthScale(iPoint); }

/*!
* \brief Set the DES Length Scale.
* \param[in] iPoint - Point index.
*/
inline void SetDES_LengthScale(unsigned long iPoint, su2double val_des_lengthscale) override { DES_LengthScale(iPoint) = val_des_lengthscale; }

/*!
* \brief Set the vortex tilting measure for computation of the EDDES length scale
* \param[in] iPoint - Point index.
*/
void SetVortex_Tilting(unsigned long iPoint, su2double **Strain,
const su2double* Vorticity, su2double LaminarViscosity) override;

/*!
* \brief Get the vortex tilting measure for computation of the EDDES length scale
* \param[in] iPoint - Point index.
* \return Value of the DES length Scale
*/
inline su2double GetVortex_Tilting(unsigned long iPoint) const override { return Vortex_Tilting(iPoint); }
/*!
* \brief Set the Diffusion Coefficients of TKE and omega equations.
* \param[in] iPoint - Point index.
Expand Down
2 changes: 1 addition & 1 deletion SU2_CFD/include/variables/CVariable.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2235,7 +2235,7 @@ class CVariable {

inline virtual su2double GetTau_Wall(unsigned long iPoint) const { return 0.0; }

inline virtual void SetVortex_Tilting(unsigned long iPoint, CMatrixView<const su2double> PrimGrad_Flow,
inline virtual void SetVortex_Tilting(unsigned long iPoint, su2double **Strain,
const su2double* Vorticity, su2double LaminarViscosity) {}

inline virtual su2double GetVortex_Tilting(unsigned long iPoint) const { return 0.0; }
Expand Down
58 changes: 57 additions & 1 deletion SU2_CFD/src/output/CFlowOutput.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1483,6 +1483,9 @@ void CFlowOutput::SetVolumeOutputFieldsScalarMisc(const CConfig* config) {
if (config->GetKind_HybridRANSLES() != NO_HYBRIDRANSLES) {
AddVolumeOutput("DES_LENGTHSCALE", "DES_LengthScale", "DDES", "DES length scale value");
AddVolumeOutput("WALL_DISTANCE", "Wall_Distance", "DDES", "Wall distance value");
AddVolumeOutput("LESIQ", "LESIQ", "DDES", "LESIQ index for SRS simulations");
if (config->GetKind_Turb_Model() == TURB_MODEL::SST)
AddVolumeOutput("SRS_GRID_SIZE", "Srs_grid_size", "DDES", "desired grid size for Scale Resolving Simulations");
}

if (config->GetViscous()) {
Expand All @@ -1494,6 +1497,27 @@ void CFlowOutput::SetVolumeOutputFieldsScalarMisc(const CConfig* config) {
AddVolumeOutput("VORTICITY", "Vorticity", "VORTEX_IDENTIFICATION", "Value of the vorticity");
}
AddVolumeOutput("Q_CRITERION", "Q_Criterion", "VORTEX_IDENTIFICATION", "Value of the Q-Criterion");
if (config->GetKind_HybridRANSLES() == NO_HYBRIDRANSLES) {
AddVolumeOutput("WALL_DISTANCE", "Wall_Distance", "DEBUG", "Wall distance value");
}
AddVolumeOutput("GRAD_VEL_XX", "Grad_Vel_xx", "VELOCITY_GRADIENT", "X-Gradient of U");
AddVolumeOutput("GRAD_VEL_XY", "Grad_Vel_xy", "VELOCITY_GRADIENT", "Y-Gradient of U");
AddVolumeOutput("GRAD_VEL_YX", "Grad_Vel_yx", "VELOCITY_GRADIENT", "X-Gradient of U");
AddVolumeOutput("GRAD_VEL_YY", "Grad_Vel_yy", "VELOCITY_GRADIENT", "Y-Gradient of V");
if (nDim == 3) {
AddVolumeOutput("GRAD_VEL_XZ", "Grad_Vel_xz", "VELOCITY_GRADIENT", "Z-Gradient of U");
AddVolumeOutput("GRAD_VEL_YZ", "Grad_Vel_yz", "VELOCITY_GRADIENT", "Z-Gradient of V");
AddVolumeOutput("GRAD_VEL_ZX", "Grad_Vel_zx", "VELOCITY_GRADIENT", "X-Gradient of W");
AddVolumeOutput("GRAD_VEL_ZY", "Grad_Vel_zy", "VELOCITY_GRADIENT", "Y-Gradient of W");
AddVolumeOutput("GRAD_VEL_ZZ", "Grad_Vel_zz", "VELOCITY_GRADIENT", "Z-Gradient of W");
}

if (config->GetKind_Turb_Model() == TURB_MODEL::SST){
AddVolumeOutput("CDkw", "CDkw", "SST_QUANTITIES", "Cross-Diffusion term");
AddVolumeOutput("F1", "F1", "SST_QUANTITIES", "F1 blending function");
AddVolumeOutput("F2", "F2", "SST_QUANTITIES", "F2 blending function");
}

}

// Timestep info
Expand All @@ -1519,14 +1543,35 @@ void CFlowOutput::LoadVolumeDataScalar(const CConfig* config, const CSolver* con
SetVolumeOutputValue("CFL", iPoint, Node_Flow->GetLocalCFL(iPoint));

if (config->GetViscous()) {
const auto VelGrad = Node_Flow->GetVelocityGradient(iPoint);
if (nDim == 3){
SetVolumeOutputValue("VORTICITY_X", iPoint, Node_Flow->GetVorticity(iPoint)[0]);
SetVolumeOutputValue("VORTICITY_Y", iPoint, Node_Flow->GetVorticity(iPoint)[1]);
SetVolumeOutputValue("VORTICITY_Z", iPoint, Node_Flow->GetVorticity(iPoint)[2]);
} else {
SetVolumeOutputValue("VORTICITY", iPoint, Node_Flow->GetVorticity(iPoint)[2]);
}
SetVolumeOutputValue("Q_CRITERION", iPoint, GetQCriterion(Node_Flow->GetVelocityGradient(iPoint)));
SetVolumeOutputValue("Q_CRITERION", iPoint, GetQCriterion(VelGrad));
SetVolumeOutputValue("WALL_DISTANCE", iPoint, Node_Geo->GetWall_Distance(iPoint));

SetVolumeOutputValue("GRAD_VEL_XX", iPoint, VelGrad(0,0));
SetVolumeOutputValue("GRAD_VEL_XY", iPoint, VelGrad(0,1));
SetVolumeOutputValue("GRAD_VEL_YX", iPoint, VelGrad(1,0));
SetVolumeOutputValue("GRAD_VEL_YY", iPoint, VelGrad(1,1));
if (nDim == 3) {
SetVolumeOutputValue("GRAD_VEL_XZ", iPoint, VelGrad(0,2));
SetVolumeOutputValue("GRAD_VEL_YZ", iPoint, VelGrad(1,2));
SetVolumeOutputValue("GRAD_VEL_ZX", iPoint, VelGrad(2,0));
SetVolumeOutputValue("GRAD_VEL_ZY", iPoint, VelGrad(2,1));
SetVolumeOutputValue("GRAD_VEL_ZZ", iPoint, VelGrad(2,2));
}

if (config->GetKind_Turb_Model() == TURB_MODEL::SST){
SetVolumeOutputValue("CDkw", iPoint, Node_Turb->GetCrossDiff(iPoint));
SetVolumeOutputValue("F1", iPoint, Node_Turb->GetF1blending(iPoint));
SetVolumeOutputValue("F2", iPoint, Node_Turb->GetF2blending(iPoint));
}

}

const bool limiter = (config->GetKind_SlopeLimit_Turb() != LIMITER::NONE);
Expand Down Expand Up @@ -1582,6 +1627,17 @@ void CFlowOutput::LoadVolumeDataScalar(const CConfig* config, const CSolver* con
if (config->GetKind_HybridRANSLES() != NO_HYBRIDRANSLES) {
SetVolumeOutputValue("DES_LENGTHSCALE", iPoint, Node_Flow->GetDES_LengthScale(iPoint));
SetVolumeOutputValue("WALL_DISTANCE", iPoint, Node_Geo->GetWall_Distance(iPoint));
const su2double mut = Node_Flow->GetEddyViscosity(iPoint);
const su2double mu = Node_Flow->GetLaminarViscosity(iPoint);
const su2double LESIQ = 1.0/(1.0+0.05*pow((mut+mu)/mu, 0.53));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are the constant here also used somewhere else? It would be good to avoid repeating hard-coded constants

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They are used just here

SetVolumeOutputValue("LESIQ", iPoint, LESIQ);
if (config->GetKind_Turb_Model() == TURB_MODEL::SST) {
const su2double betaStar = 0.09; // constants[6]
const su2double RANSLength = sqrt(Node_Flow->GetSolution(iPoint, 0)) / max(1e-20, (betaStar * Node_Flow->GetSolution(iPoint, 1)));
const su2double RatioL = 0.1; // TODO:: it should be less or equal than 0.2 - 0.1. Should be taken as input from config?
const su2double SRSGridSize = RANSLength * RatioL;
SetVolumeOutputValue("SRS_GRID_SIZE", iPoint, SRSGridSize);
}
}

switch (config->GetKind_Species_Model()) {
Expand Down
4 changes: 2 additions & 2 deletions SU2_CFD/src/solvers/CSolver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -968,7 +968,7 @@ void CSolver::InitiatePeriodicComms(CGeometry *geometry,
}

break;

default:
SU2_MPI::Error("Unrecognized quantity for periodic communication.",
CURRENT_FUNCTION);
Expand Down Expand Up @@ -1290,7 +1290,7 @@ void CSolver::CompletePeriodicComms(CGeometry *geometry,
limiter(iPoint, iVar) = min(limiter(iPoint, iVar), bufDRecv[buf_offset+iVar]);

break;

default:

SU2_MPI::Error("Unrecognized quantity for periodic communication.",
Expand Down
Loading
Loading