Index: Riskeer/Piping/src/Riskeer.Piping.Service/PipingCalculationValidationHelper.cs =================================================================== diff -u -r035ae373244436236249855ead56f3563013babe -r478522c24a11b1b503d2527401c81ff32ac3bb8a --- Riskeer/Piping/src/Riskeer.Piping.Service/PipingCalculationValidationHelper.cs (.../PipingCalculationValidationHelper.cs) (revision 035ae373244436236249855ead56f3563013babe) +++ Riskeer/Piping/src/Riskeer.Piping.Service/PipingCalculationValidationHelper.cs (.../PipingCalculationValidationHelper.cs) (revision 478522c24a11b1b503d2527401c81ff32ac3bb8a) @@ -157,15 +157,14 @@ validationResults.Add(Resources.PipingCalculationService_ValidateInput_Cannot_determine_thickness_aquifer_layer); } - double surfaceLevel = input.SurfaceLine.GetZAtL(input.ExitPointL); - - validationResults.AddRange(ValidateAquiferLayers(input, surfaceLevel)); - validationResults.AddRange(ValidateCoverageLayers(input, surfaceLevel)); + validationResults.AddRange(ValidateAquiferLayers(input)); + validationResults.AddRange(ValidateCoverageLayers(input)); return validationResults; } - private static IEnumerable ValidateAquiferLayers(PipingInput input, double surfaceLevel) + private static IEnumerable ValidateAquiferLayers(PipingInput input) { + double surfaceLevel = input.SurfaceLine.GetZAtL(input.ExitPointL); PipingSoilProfile pipingSoilProfile = input.StochasticSoilProfile.SoilProfile; if (!pipingSoilProfile.GetConsecutiveAquiferLayersBelowLevel(surfaceLevel).Any()) @@ -188,20 +187,14 @@ } } - private static IEnumerable ValidateCoverageLayers(PipingInput input, double surfaceLevel) + private static IEnumerable ValidateCoverageLayers(PipingInput input) { - PipingSoilProfile pipingSoilProfile = input.StochasticSoilProfile.SoilProfile; - - if (pipingSoilProfile.GetConsecutiveCoverageLayersBelowLevel(surfaceLevel).Any()) + if (!double.IsNaN(DerivedPipingInput.GetThicknessCoverageLayer(input).Mean)) { - LogNormalDistribution thicknessCoverageLayer = DerivedPipingInput.GetThicknessCoverageLayer(input); - if (!double.IsNaN(thicknessCoverageLayer.Mean)) + LogNormalDistribution saturatedVolumicWeightOfCoverageLayer = DerivedPipingInput.GetSaturatedVolumicWeightOfCoverageLayer(input); + if (IsInvalidDistributionValue(saturatedVolumicWeightOfCoverageLayer.Mean) || IsInvalidDistributionValue(saturatedVolumicWeightOfCoverageLayer.StandardDeviation)) { - LogNormalDistribution saturatedVolumicWeightOfCoverageLayer = DerivedPipingInput.GetSaturatedVolumicWeightOfCoverageLayer(input); - if (IsInvalidDistributionValue(saturatedVolumicWeightOfCoverageLayer.Mean) || IsInvalidDistributionValue(saturatedVolumicWeightOfCoverageLayer.StandardDeviation)) - { - yield return Resources.PipingCalculationService_ValidateInput_Cannot_derive_SaturatedVolumicWeight; - } + yield return Resources.PipingCalculationService_ValidateInput_Cannot_derive_SaturatedVolumicWeight; } } } Index: Riskeer/Piping/src/Riskeer.Piping.Service/Probabilistic/ProbabilisticPipingCalculationService.cs =================================================================== diff -u -ra86a2e37a181d25316ef411dbfb167bdaed023c0 -r478522c24a11b1b503d2527401c81ff32ac3bb8a --- Riskeer/Piping/src/Riskeer.Piping.Service/Probabilistic/ProbabilisticPipingCalculationService.cs (.../ProbabilisticPipingCalculationService.cs) (revision a86a2e37a181d25316ef411dbfb167bdaed023c0) +++ Riskeer/Piping/src/Riskeer.Piping.Service/Probabilistic/ProbabilisticPipingCalculationService.cs (.../ProbabilisticPipingCalculationService.cs) (revision 478522c24a11b1b503d2527401c81ff32ac3bb8a) @@ -41,7 +41,6 @@ using Riskeer.HydraRing.Calculation.Exceptions; using Riskeer.Piping.Data; using Riskeer.Piping.Data.Probabilistic; -using Riskeer.Piping.Primitives; using Riskeer.Piping.Service.Properties; using RiskeerCommonServiceResources = Riskeer.Common.Service.Properties.Resources; using HydraRingGeneralResult = Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints.GeneralResult; @@ -543,19 +542,12 @@ private static IEnumerable ValidateCoverageLayers(PipingInput input, GeneralPipingInput generalInput) { - double surfaceLevel = input.SurfaceLine.GetZAtL(input.ExitPointL); - PipingSoilProfile pipingSoilProfile = input.StochasticSoilProfile.SoilProfile; - - if (pipingSoilProfile.GetConsecutiveCoverageLayersBelowLevel(surfaceLevel).Any()) + if (!double.IsNaN(DerivedPipingInput.GetThicknessCoverageLayer(input).Mean)) { - LogNormalDistribution thicknessCoverageLayer = DerivedPipingInput.GetThicknessCoverageLayer(input); - if (!double.IsNaN(thicknessCoverageLayer.Mean)) + LogNormalDistribution saturatedVolumicWeightOfCoverageLayer = DerivedPipingInput.GetSaturatedVolumicWeightOfCoverageLayer(input); + if (saturatedVolumicWeightOfCoverageLayer.Shift < generalInput.WaterVolumetricWeight) { - LogNormalDistribution saturatedVolumicWeightOfCoverageLayer = DerivedPipingInput.GetSaturatedVolumicWeightOfCoverageLayer(input); - if (saturatedVolumicWeightOfCoverageLayer.Shift < generalInput.WaterVolumetricWeight) - { - yield return Resources.ProbabilisticPipingCalculationService_ValidateInput_SaturatedVolumicWeightCoverageLayer_shift_must_be_larger_than_WaterVolumetricWeight; - } + yield return Resources.ProbabilisticPipingCalculationService_ValidateInput_SaturatedVolumicWeightCoverageLayer_shift_must_be_larger_than_WaterVolumetricWeight; } } } Index: Riskeer/Piping/src/Riskeer.Piping.Service/SemiProbabilistic/SemiProbabilisticPipingCalculationService.cs =================================================================== diff -u -red76b02d82d6dac1f59d15a9905dbc230cf72110 -r478522c24a11b1b503d2527401c81ff32ac3bb8a --- Riskeer/Piping/src/Riskeer.Piping.Service/SemiProbabilistic/SemiProbabilisticPipingCalculationService.cs (.../SemiProbabilisticPipingCalculationService.cs) (revision ed76b02d82d6dac1f59d15a9905dbc230cf72110) +++ Riskeer/Piping/src/Riskeer.Piping.Service/SemiProbabilistic/SemiProbabilisticPipingCalculationService.cs (.../SemiProbabilisticPipingCalculationService.cs) (revision 478522c24a11b1b503d2527401c81ff32ac3bb8a) @@ -23,14 +23,12 @@ using System.Collections.Generic; using System.Linq; using Core.Common.Base.Data; -using Riskeer.Common.Data.Probabilistics; using Riskeer.Common.Service; using Riskeer.Common.Service.ValidationRules; using Riskeer.Piping.Data; using Riskeer.Piping.Data.SemiProbabilistic; using Riskeer.Piping.KernelWrapper; using Riskeer.Piping.KernelWrapper.SubCalculator; -using Riskeer.Piping.Primitives; using Riskeer.Piping.Service.Properties; using RiskeerCommonFormsResources = Riskeer.Common.Forms.Properties.Resources; using RiskeerCommonServiceResources = Riskeer.Common.Service.Properties.Resources; @@ -228,19 +226,12 @@ private static IEnumerable ValidateCoverageLayers(PipingInput input, GeneralPipingInput generalInput) { - double surfaceLevel = input.SurfaceLine.GetZAtL(input.ExitPointL); - PipingSoilProfile pipingSoilProfile = input.StochasticSoilProfile.SoilProfile; - - if (pipingSoilProfile.GetConsecutiveCoverageLayersBelowLevel(surfaceLevel).Any()) + if (!double.IsNaN(DerivedPipingInput.GetThicknessCoverageLayer(input).Mean)) { - LogNormalDistribution thicknessCoverageLayer = DerivedPipingInput.GetThicknessCoverageLayer(input); - if (!double.IsNaN(thicknessCoverageLayer.Mean)) + RoundedDouble saturatedVolumicWeightOfCoverageLayer = SemiProbabilisticPipingDesignVariableFactory.GetSaturatedVolumicWeightOfCoverageLayer(input).GetDesignValue(); + if (!double.IsNaN(saturatedVolumicWeightOfCoverageLayer) && saturatedVolumicWeightOfCoverageLayer < generalInput.WaterVolumetricWeight) { - RoundedDouble saturatedVolumicWeightOfCoverageLayer = SemiProbabilisticPipingDesignVariableFactory.GetSaturatedVolumicWeightOfCoverageLayer(input).GetDesignValue(); - if (!double.IsNaN(saturatedVolumicWeightOfCoverageLayer) && saturatedVolumicWeightOfCoverageLayer < generalInput.WaterVolumetricWeight) - { - yield return Resources.SemiProbabilisticPipingCalculationService_ValidateInput_SaturatedVolumicWeightCoverageLayer_must_be_larger_than_WaterVolumetricWeight; - } + yield return Resources.SemiProbabilisticPipingCalculationService_ValidateInput_SaturatedVolumicWeightCoverageLayer_must_be_larger_than_WaterVolumetricWeight; } } }