Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/PlLinesCreator/SoilProfileValidator.cs =================================================================== diff -u -r5835 -r5836 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/PlLinesCreator/SoilProfileValidator.cs (.../SoilProfileValidator.cs) (revision 5835) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/PlLinesCreator/SoilProfileValidator.cs (.../SoilProfileValidator.cs) (revision 5836) @@ -99,9 +99,7 @@ return; } - bool isValid = !SoilProfile2DHelper.IsAquitardPresentWithAquiferInnerLoop(SoilProfile2D); - isValid = isValid && !SoilProfile2DHelper.IsAtLeastOneIsolatedInBetweenAquiferPresent(SoilProfile2D); - if (!isValid) + if (SoilProfile2DHelper.IsAtLeastOneIsolatedInBetweenAquiferPresent(SoilProfile2D)) { throw new PlLinesCreatorException(Resources.SoilProfileValidator_General + string.Format(Resources.SoilProfileValidator_DiscontinuousAquiferPresent, SoilProfile2D.Name)); Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/SoilProfile2DHelper.cs =================================================================== diff -u -r5835 -r5836 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/SoilProfile2DHelper.cs (.../SoilProfile2DHelper.cs) (revision 5835) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/SoilProfile2DHelper.cs (.../SoilProfile2DHelper.cs) (revision 5836) @@ -68,8 +68,18 @@ return count > 0; } + /// + /// Check if at least one isolated in-between aquifer is present. + /// + /// + /// True if an isolated in between aquifer is present, otherwise false. public static bool IsAtLeastOneIsolatedInBetweenAquiferPresent(SoilProfile2D soilProfile) { + if (IsAquitardPresentWithAquiferInnerLoop(soilProfile)) + { + return true; + } + SoilProfile2D soilProfileWithoutInnerLoops = CreateSoilProfileWithoutInnerLoops(soilProfile); double[] xCoordinates = DetermineAllXCoordinatesOfSoilProfile(soilProfileWithoutInnerLoops); var previousCount = 0; @@ -133,7 +143,7 @@ return previousCount - currentCount == 1 && !currentCrossSection.Layers[0].IsAquifer; } - public static bool IsAquitardPresentWithAquiferInnerLoop(SoilProfile2D soilProfile2D) + private static bool IsAquitardPresentWithAquiferInnerLoop(SoilProfile2D soilProfile2D) { foreach (GeometrySurface surface in soilProfile2D.Geometry.Surfaces.Where(surface => surface.InnerLoops.Count > 0)) {