diff --git a/applications/utilities/mesh/generation/CV3DMesher/CV3D.C b/applications/utilities/mesh/generation/CV3DMesher/CV3D.C index da9cc442e1..f4c4a7155c 100644 --- a/applications/utilities/mesh/generation/CV3DMesher/CV3D.C +++ b/applications/utilities/mesh/generation/CV3DMesher/CV3D.C @@ -164,7 +164,12 @@ void Foam::CV3D::insertGrid() { for (int k=0; k& edgeLabels ) const; + void smoothEdge + ( + List& edgePoints, + List& edgeDistances, + const label edgeI + ) const; + //- Insert point-pairs at the nearest points on the surface to the // control vertex of dual-cells which intersect the boundary in order // to provide a boundary-layer mesh. diff --git a/applications/utilities/mesh/generation/CV3DMesher/insertSurfaceNearestPointPairs.C b/applications/utilities/mesh/generation/CV3DMesher/insertSurfaceNearestPointPairs.C index c569ef300f..41caf8db1b 100644 --- a/applications/utilities/mesh/generation/CV3DMesher/insertSurfaceNearestPointPairs.C +++ b/applications/utilities/mesh/generation/CV3DMesher/insertSurfaceNearestPointPairs.C @@ -194,235 +194,469 @@ void Foam::CV3D::smoothEdgePositions edgeDistances.transfer(copyEdgeDistances); } + // Create a List to hold each edge, process them individually, then + // recombine the edges into a single list. + + List > edgePointIndividualLists(edgeLabelJumps.size()); + + List > edgeDistanceIndividualLists(edgeLabelJumps.size()); + + List