Skip to content

Commit 38c0d54

Browse files
committed
limiter muscl logic of turb solvers, edgeNumerics leak
1 parent 964ab92 commit 38c0d54

3 files changed

Lines changed: 15 additions & 15 deletions

File tree

SU2_CFD/include/solvers/CFVMFlowSolverBase.inl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -495,6 +495,7 @@ CFVMFlowSolverBase<V, R>::~CFVMFlowSolverBase() {
495495
}
496496

497497
delete nodes;
498+
delete edgeNumerics;
498499
}
499500

500501
template <class V, ENUM_REGIME R>

SU2_CFD/src/solvers/CTurbSASolver.cpp

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -243,12 +243,10 @@ CTurbSASolver::~CTurbSASolver(void) {
243243
void CTurbSASolver::Preprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config,
244244
unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output) {
245245

246-
bool limiter_turb = (config->GetKind_SlopeLimit_Turb() != NO_LIMITER) &&
247-
(config->GetInnerIter() <= config->GetLimiterIter());
248-
unsigned short kind_hybridRANSLES = config->GetKind_HybridRANSLES();
249-
const su2double* const* PrimGrad_Flow = nullptr;
250-
const su2double* Vorticity = nullptr;
251-
su2double Laminar_Viscosity = 0.0;
246+
const bool muscl = config->GetMUSCL_Turb();
247+
const bool limiter = (config->GetKind_SlopeLimit_Turb() != NO_LIMITER) &&
248+
(config->GetInnerIter() <= config->GetLimiterIter());
249+
const auto kind_hybridRANSLES = config->GetKind_HybridRANSLES();
252250

253251
/*--- Clear residual and system matrix, not needed for
254252
* reducer strategy as we write over the entire matrix. ---*/
@@ -259,7 +257,7 @@ void CTurbSASolver::Preprocessing(CGeometry *geometry, CSolver **solver_containe
259257

260258
/*--- Upwind second order reconstruction and gradients ---*/
261259

262-
if (config->GetReconstructionGradientRequired()) {
260+
if (config->GetReconstructionGradientRequired() && muscl) {
263261
if (config->GetKind_Gradient_Method_Recon() == GREEN_GAUSS)
264262
SetSolution_Gradient_GG(geometry, config, true);
265263
if (config->GetKind_Gradient_Method_Recon() == LEAST_SQUARES)
@@ -274,7 +272,7 @@ void CTurbSASolver::Preprocessing(CGeometry *geometry, CSolver **solver_containe
274272
if (config->GetKind_Gradient_Method() == WEIGHTED_LEAST_SQUARES)
275273
SetSolution_Gradient_LS(geometry, config);
276274

277-
if (limiter_turb) SetSolution_Limiter(geometry, config);
275+
if (limiter && muscl) SetSolution_Limiter(geometry, config);
278276

279277
if (kind_hybridRANSLES != NO_HYBRIDRANSLES) {
280278

@@ -283,9 +281,9 @@ void CTurbSASolver::Preprocessing(CGeometry *geometry, CSolver **solver_containe
283281
if (kind_hybridRANSLES == SA_EDDES){
284282
SU2_OMP_FOR_STAT(omp_chunk_size)
285283
for (unsigned long iPoint = 0; iPoint < nPoint; iPoint++){
286-
Vorticity = solver_container[FLOW_SOL]->GetNodes()->GetVorticity(iPoint);
287-
PrimGrad_Flow = solver_container[FLOW_SOL]->GetNodes()->GetGradient_Primitive(iPoint);
288-
Laminar_Viscosity = solver_container[FLOW_SOL]->GetNodes()->GetLaminarViscosity(iPoint);
284+
auto Vorticity = solver_container[FLOW_SOL]->GetNodes()->GetVorticity(iPoint);
285+
auto PrimGrad_Flow = solver_container[FLOW_SOL]->GetNodes()->GetGradient_Primitive(iPoint);
286+
auto Laminar_Viscosity = solver_container[FLOW_SOL]->GetNodes()->GetLaminarViscosity(iPoint);
289287
nodes->SetVortex_Tilting(iPoint, PrimGrad_Flow, Vorticity, Laminar_Viscosity);
290288
}
291289
}

SU2_CFD/src/solvers/CTurbSSTSolver.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -242,8 +242,9 @@ CTurbSSTSolver::~CTurbSSTSolver(void) {
242242
void CTurbSSTSolver::Preprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config,
243243
unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output) {
244244

245-
const bool limiter_turb = (config->GetKind_SlopeLimit_Turb() != NO_LIMITER) &&
246-
(config->GetInnerIter() <= config->GetLimiterIter());
245+
const bool muscl = config->GetMUSCL_Turb();
246+
const bool limiter = (config->GetKind_SlopeLimit_Turb() != NO_LIMITER) &&
247+
(config->GetInnerIter() <= config->GetLimiterIter());
247248

248249
/*--- Clear residual and system matrix, not needed for
249250
* reducer strategy as we write over the entire matrix. ---*/
@@ -254,7 +255,7 @@ void CTurbSSTSolver::Preprocessing(CGeometry *geometry, CSolver **solver_contain
254255

255256
/*--- Upwind second order reconstruction and gradients ---*/
256257

257-
if (config->GetReconstructionGradientRequired()) {
258+
if (config->GetReconstructionGradientRequired() && muscl) {
258259
if (config->GetKind_Gradient_Method_Recon() == GREEN_GAUSS)
259260
SetSolution_Gradient_GG(geometry, config, true);
260261
if (config->GetKind_Gradient_Method_Recon() == LEAST_SQUARES)
@@ -269,7 +270,7 @@ void CTurbSSTSolver::Preprocessing(CGeometry *geometry, CSolver **solver_contain
269270
if (config->GetKind_Gradient_Method() == WEIGHTED_LEAST_SQUARES)
270271
SetSolution_Gradient_LS(geometry, config);
271272

272-
if (limiter_turb) SetSolution_Limiter(geometry, config);
273+
if (limiter && muscl) SetSolution_Limiter(geometry, config);
273274

274275
}
275276

0 commit comments

Comments
 (0)