Index: Demo/Ringtoets/src/Demo.Ringtoets/Resources/DR6.soil =================================================================== diff -u -re7e22e69b16b23c89c063f18444c82aa818dc176 -ra7b3472fa86591b26a0bd03b4ad1b1461d1bfa88 Binary files differ Index: Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingCalculator.cs =================================================================== diff -u -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 -ra7b3472fa86591b26a0bd03b4ad1b1461d1bfa88 --- Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingCalculator.cs (.../PipingCalculator.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) +++ Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingCalculator.cs (.../PipingCalculator.cs) (revision a7b3472fa86591b26a0bd03b4ad1b1461d1bfa88) @@ -95,18 +95,23 @@ List soilProfileValidationResults = ValidateSoilProfile(); List surfaceLineValidationResults = ValidateSurfaceLine(); List upliftCalculatorValidationResults = new List(); + List pipingProfilePropertyCalculatorValidationResults = new List(); + List heaveCalculatorValidationResults = new List(); + List sellmeijerCalculatorValidationResults = new List(); if (soilProfileValidationResults.Count == 0 && surfaceLineValidationResults.Count == 0) { upliftCalculatorValidationResults = ValidateUpliftCalculator(); + pipingProfilePropertyCalculatorValidationResults = CreatePipingProfilePropertyCalculator().Validate(); + heaveCalculatorValidationResults = CreateHeaveCalculator().Validate(); + sellmeijerCalculatorValidationResults = CreateSellmeijerCalculator().Validate(); } - List heaveCalculatorValidationResults = CreateHeaveCalculator().Validate(); - List sellmeijerCalculatorValidationResults = CreateSellmeijerCalculator().Validate(); return upliftCalculatorValidationResults .Concat(surfaceLineValidationResults) .Concat(soilProfileValidationResults) .Concat(heaveCalculatorValidationResults) .Concat(sellmeijerCalculatorValidationResults) + .Concat(pipingProfilePropertyCalculatorValidationResults) .Distinct() .ToList(); } @@ -283,6 +288,7 @@ calculator.PhiPolder = input.PhreaticLevelExit; calculator.RExit = input.DampingFactorExit; calculator.HExit = input.PhreaticLevelExit; + calculator.BottomLevelAquitardAboveExitPointZ = GetBottomAquitardLayerAboveExitPointZ(); return calculator; } @@ -321,9 +327,27 @@ calculator.DAquifer = input.ThicknessAquiferLayer; calculator.D70Mean = input.MeanDiameter70; calculator.BeddingAngle = input.BeddingAngle; + calculator.BottomLevelAquitardAboveExitPointZ = GetBottomAquitardLayerAboveExitPointZ(); return calculator; } + private double GetBottomAquitardLayerAboveExitPointZ() + { + var pipingProfilePropertyCalculator = CreatePipingProfilePropertyCalculator(); + pipingProfilePropertyCalculator.Calculate(); + var bottomAquitardLayerAboveExitPointZ = pipingProfilePropertyCalculator.BottomAquitardLayerAboveExitPointZ; + return bottomAquitardLayerAboveExitPointZ; + } + + private IPipingProfilePropertyCalculator CreatePipingProfilePropertyCalculator() + { + var calculator = factory.CreatePipingProfilePropertyCalculator(); + calculator.SoilProfile = PipingProfileCreator.Create(input.SoilProfile); + calculator.SurfaceLine = PipingSurfaceLineCreator.Create(input.SurfaceLine); + calculator.ExitPointX = input.ExitPointXCoordinate; + return calculator; + } + /// /// Determines the effective stress for a one layer profile. /// Index: Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationServiceTest.cs =================================================================== diff -u -r5c3100dd1adc2171c0f232849e8840432005f5ff -ra7b3472fa86591b26a0bd03b4ad1b1461d1bfa88 --- Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationServiceTest.cs (.../PipingCalculationServiceTest.cs) (revision 5c3100dd1adc2171c0f232849e8840432005f5ff) +++ Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationServiceTest.cs (.../PipingCalculationServiceTest.cs) (revision a7b3472fa86591b26a0bd03b4ad1b1461d1bfa88) @@ -601,7 +601,7 @@ var profile = new PipingSoilProfile(string.Empty, 0.0, new[] { - new PipingSoilLayer(10.5) + new PipingSoilLayer(10.56) { IsAquifer = false, BelowPhreaticLevelDeviation = belowPhreaticLevelDeviation, @@ -668,7 +668,7 @@ var profile = new PipingSoilProfile(string.Empty, 0.0, new[] { - new PipingSoilLayer(10.5) + new PipingSoilLayer(10.56) { IsAquifer = false, BelowPhreaticLevelDeviation = random.GetFromRange(1e-6, 5.0),