Skip to content

Commit 4f3e0af

Browse files
Fix inconsistent mass flow rate for axisymmetry (#1780)
* merge with develop * small rewrite * Apply suggestions from code review Co-authored-by: Pedro Gomes <[email protected]>
1 parent 399b73b commit 4f3e0af

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

SU2_CFD/src/solvers/CIncEulerSolver.cpp

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2831,7 +2831,7 @@ void CIncEulerSolver::GetOutlet_Properties(CGeometry *geometry, CConfig *config,
28312831
unsigned short iDim, iMarker;
28322832
unsigned long iVertex, iPoint;
28332833
su2double *V_outlet = nullptr, Velocity[3], MassFlow,
2834-
Velocity2, Density, Area, AxiFactor;
2834+
Velocity2, Density, Area;
28352835
unsigned short iMarker_Outlet, nMarker_Outlet;
28362836
string Inlet_TagBound, Outlet_TagBound;
28372837
su2double Vector[MAXNDIM] = {0.0};
@@ -2886,14 +2886,18 @@ void CIncEulerSolver::GetOutlet_Properties(CGeometry *geometry, CConfig *config,
28862886

28872887
geometry->vertex[iMarker][iVertex]->GetNormal(Vector);
28882888

2889+
su2double AxiFactor = 1.0;
28892890
if (axisymmetric) {
2890-
if (geometry->nodes->GetCoord(iPoint, 1) != 0.0)
2891+
if (geometry->nodes->GetCoord(iPoint, 1) > EPS)
28912892
AxiFactor = 2.0*PI_NUMBER*geometry->nodes->GetCoord(iPoint, 1);
2892-
else
2893-
AxiFactor = 1.0;
2894-
} else {
2895-
AxiFactor = 1.0;
2896-
}
2893+
else {
2894+
for (const auto jPoint : geometry->nodes->GetPoints(iPoint)) {
2895+
if (geometry->nodes->GetVertex(jPoint,iMarker) >= 0) {
2896+
AxiFactor = PI_NUMBER * geometry->nodes->GetCoord(jPoint, 1);
2897+
}
2898+
}
2899+
}
2900+
}
28972901

28982902
Density = V_outlet[prim_idx.Density()];
28992903

0 commit comments

Comments
 (0)