Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometrySurface.cs =================================================================== diff -u -r7044 -r7045 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometrySurface.cs (.../GeometrySurface.cs) (revision 7044) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometrySurface.cs (.../GeometrySurface.cs) (revision 7045) @@ -178,14 +178,20 @@ const double stopCriteriumOffset = 1e-8; double offset = initialOffset; Point2D point = null; - var geometryPointString = DetermineTopGeometrySurface(); + GeometryPointString geometryPointString = DetermineTopGeometrySurface(); geometryPointString.SortPointsByXAscending(); while (point == null && offset > stopCriteriumOffset) { // Just keep looking by halving the offset until found. point = FindValidTestPoint(geometryPointString, offset); offset /= 2.0; } + + // if no valid point is found (this can happen in case of very thin layer), try using the centroid of the outer loop + if (point == null && InnerLoops.Count == 0) + { + point = Routines2D.ComputeCentroid(geometryPointString.Points); + } return point; }