Skip to content

Commit 4899ed6

Browse files
committed
Fix bug where species MUSCL and limiter were not working at all.
1 parent 6949b66 commit 4899ed6

2 files changed

Lines changed: 17 additions & 5 deletions

File tree

SU2_CFD/include/solvers/CScalarSolver.inl

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,17 @@ void CScalarSolver<VariableType>::Upwind_Residual(CGeometry* geometry, CSolver**
130130
CNumerics** numerics_container, CConfig* config,
131131
unsigned short iMesh) {
132132
const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT);
133-
const bool muscl = config->GetMUSCL_Turb();
134-
const bool limiter = (config->GetKind_SlopeLimit_Turb() != NO_LIMITER);
133+
134+
bool muscl;
135+
bool limiter;
136+
if (SolverName == "SA" || SolverName == "K-W SST") {
137+
muscl = config->GetMUSCL_Turb();
138+
limiter = (config->GetKind_SlopeLimit_Turb() != NO_LIMITER);
139+
}
140+
else if (SolverName == "SPECIES") {
141+
muscl = config->GetMUSCL_Species();
142+
limiter = (config->GetKind_SlopeLimit_Species() != NO_LIMITER);
143+
}
135144

136145
/*--- Only reconstruct flow variables if MUSCL is on for flow (requires upwind) and turbulence. ---*/
137146
const bool musclFlow = config->GetMUSCL_Flow() && muscl && (config->GetKind_ConvNumScheme_Flow() == SPACE_UPWIND);

SU2_CFD/src/output/CFlowOutput.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -954,8 +954,10 @@ void CFlowOutput::SetVolumeOutputFields_ScalarLimiter(const CConfig* config) {
954954
}
955955

956956
if (config->GetKind_Species_Model() != SPECIES_MODEL::NONE) {
957-
for (unsigned short iVar = 0; iVar < config->GetnSpecies(); iVar++)
958-
AddVolumeOutput("LIMITER_SPECIES_" + std::to_string(iVar), "Limiter_Species_" + std::to_string(iVar), "LIMITER", "Limiter value of the transported species " + std::to_string(iVar));
957+
if (config->GetKind_SlopeLimit_Species() != NO_LIMITER) {
958+
for (unsigned short iVar = 0; iVar < config->GetnSpecies(); iVar++)
959+
AddVolumeOutput("LIMITER_SPECIES_" + std::to_string(iVar), "Limiter_Species_" + std::to_string(iVar), "LIMITER", "Limiter value of the transported species " + std::to_string(iVar));
960+
}
959961
}
960962

961963
if (config->GetKind_Turb_Model() != TURB_MODEL::NONE) {
@@ -1047,7 +1049,8 @@ void CFlowOutput::LoadVolumeData_Scalar(const CConfig* config, const CSolver* co
10471049
for (unsigned short iVar = 0; iVar < config->GetnSpecies(); iVar++) {
10481050
SetVolumeOutputValue("SPECIES_" + std::to_string(iVar), iPoint, Node_Species->GetSolution(iPoint, iVar));
10491051
SetVolumeOutputValue("RES_SPECIES_" + std::to_string(iVar), iPoint, solver[SPECIES_SOL]->LinSysRes(iPoint, iVar));
1050-
SetVolumeOutputValue("LIMITER_SPECIES_" + std::to_string(iVar), iPoint, Node_Species->GetLimiter(iPoint, iVar));
1052+
if (config->GetKind_SlopeLimit_Species() != NO_LIMITER)
1053+
SetVolumeOutputValue("LIMITER_SPECIES_" + std::to_string(iVar), iPoint, Node_Species->GetLimiter(iPoint, iVar));
10511054
}
10521055
}
10531056
}

0 commit comments

Comments
 (0)