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))
{