@@ -2516,10 +2516,8 @@ void CFVMFlowSolverBase<V, FlowRegime>::Friction_Forces(const CGeometry* geometr
25162516
25172517 for (iVertex = 0 ; iVertex < geometry->nVertex [iMarker]; iVertex++) {
25182518 iPoint = geometry->vertex [iMarker][iVertex]->GetNode ();
2519- iPointNormal = geometry->vertex [iMarker][iVertex]->GetNormal_Neighbor ();
25202519
25212520 Coord = geometry->nodes ->GetCoord (iPoint);
2522- Coord_Normal = geometry->nodes ->GetCoord (iPointNormal);
25232521
25242522 Normal = geometry->vertex [iMarker][iVertex]->GetNormal ();
25252523
@@ -2585,13 +2583,15 @@ void CFVMFlowSolverBase<V, FlowRegime>::Friction_Forces(const CGeometry* geometr
25852583 CSkinFriction[iMarker](iVertex,iDim) = TauTangent[iDim] * factorFric;
25862584 }
25872585
2588- WallDistMod = GeometryToolbox::Distance (nDim, Coord, Coord_Normal);
2589-
25902586 /* --- Compute non-dimensional velocity and y+ ---*/
25912587
25922588 FrictionVel = sqrt (fabs (WallShearStress[iMarker][iVertex]) / Density);
2593-
2594- if (!wallfunctions) {
2589+
2590+ if (!wallfunctions && (MGLevel == MESH_0 || geometry->nodes ->GetDomain (iPoint))) {
2591+ // for CMultiGridGeometry, the normal neighbor of halo nodes in not set
2592+ iPointNormal = geometry->vertex [iMarker][iVertex]->GetNormal_Neighbor ();
2593+ Coord_Normal = geometry->nodes ->GetCoord (iPointNormal);
2594+ WallDistMod = GeometryToolbox::Distance (nDim, Coord, Coord_Normal);
25952595 YPlus[iMarker][iVertex] = WallDistMod * FrictionVel / (Viscosity / Density);
25962596 }
25972597
@@ -2628,7 +2628,7 @@ void CFVMFlowSolverBase<V, FlowRegime>::Friction_Forces(const CGeometry* geometr
26282628 HeatFlux[iMarker][iVertex] = thermal_conductivity_tr*dTn + thermal_conductivity_ve*dTven;
26292629 }
26302630
2631- /* --- Note that y+, and heat are computed at the
2631+ /* --- Note that heat is computed at the
26322632 halo cells (for visualization purposes), but not the forces ---*/
26332633
26342634 if ((geometry->nodes ->GetDomain (iPoint)) && (Monitoring == YES)) {
0 commit comments