Index: Demo/Ringtoets/test/Demo.Ringtoets.Test/Commands/AddNewDemoDikeAssessmentSectionCommandTest.cs =================================================================== diff -u -ra8d92ed8a79b45075e5e3a388da73d0ea40a25e3 -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Demo/Ringtoets/test/Demo.Ringtoets.Test/Commands/AddNewDemoDikeAssessmentSectionCommandTest.cs (.../AddNewDemoDikeAssessmentSectionCommandTest.cs) (revision a8d92ed8a79b45075e5e3a388da73d0ea40a25e3) +++ Demo/Ringtoets/test/Demo.Ringtoets.Test/Commands/AddNewDemoDikeAssessmentSectionCommandTest.cs (.../AddNewDemoDikeAssessmentSectionCommandTest.cs) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -135,9 +135,9 @@ PipingCalculationService.Calculate(calculation); Assert.IsTrue(calculation.HasOutput); Assert.AreEqual(99.0, calculation.Output.HeaveFactorOfSafety, 1e-3); - Assert.AreEqual(1.148, calculation.Output.HeaveZValue, 1e-3); + Assert.AreEqual(0.531, calculation.Output.HeaveZValue, 1e-3); Assert.AreEqual(99.0, calculation.Output.UpliftFactorOfSafety, 1e-3); - Assert.AreEqual(4.968, calculation.Output.UpliftZValue, 1e-3); + Assert.AreEqual(5.751, calculation.Output.UpliftZValue, 1e-3); Assert.AreEqual(-0.366, calculation.Output.SellmeijerFactorOfSafety, 1e-3); Assert.AreEqual(4.253, calculation.Output.SellmeijerZValue, 1e-3); } @@ -150,7 +150,6 @@ Assert.AreEqual(10.0, inputParameters.WaterVolumetricWeight, 1e-3); Assert.AreEqual(0.0, inputParameters.AssessmentLevel, 1e-3); Assert.AreEqual(0.0, inputParameters.PiezometricHeadExit, 1e-3); - Assert.AreEqual(0.0, inputParameters.PiezometricHeadPolder, 1e-3); Assert.AreEqual(0.3, inputParameters.SellmeijerReductionFactor, 1e-3); Assert.AreEqual(16.5, inputParameters.SandParticlesVolumicWeight, 1e-3); Assert.AreEqual(0.25, inputParameters.WhitesDragCoefficient, 1e-3); Index: Ringtoets/Piping/src/Ringtoets.Piping.Calculation/PipingCalculator.cs =================================================================== diff -u -r1069905ff1d4bb81d6acff6c130a4bed0b041b58 -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Ringtoets/Piping/src/Ringtoets.Piping.Calculation/PipingCalculator.cs (.../PipingCalculator.cs) (revision 1069905ff1d4bb81d6acff6c130a4bed0b041b58) +++ Ringtoets/Piping/src/Ringtoets.Piping.Calculation/PipingCalculator.cs (.../PipingCalculator.cs) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -96,7 +96,7 @@ { upliftCalculatorValidationResults = ValidateUpliftCalculator(); } - List heaveCalculatorValidationResults = CreateHeaveCalculator(CalculatePiezometricHeadAtExit()).Validate(); + List heaveCalculatorValidationResults = CreateHeaveCalculator().Validate(); List sellmeijerCalculatorValidationResults = CreateSellmeijerCalculator().Validate(); return upliftCalculatorValidationResults @@ -203,7 +203,7 @@ { try { - return CreateUpliftCalculator(CalculatePiezometricHeadAtExit()).Validate(); + return CreateUpliftCalculator().Validate(); } catch (Exception exception) { @@ -236,7 +236,7 @@ private IHeaveCalculator CalculateHeave() { - var heaveCalculator = CreateHeaveCalculator(CalculatePiezometricHeadAtExit()); + var heaveCalculator = CreateHeaveCalculator(); try { @@ -252,7 +252,7 @@ private IUpliftCalculator CalculateUplift() { - IUpliftCalculator upliftCalculator = CreateUpliftCalculator(CalculatePiezometricHeadAtExit()); + IUpliftCalculator upliftCalculator = CreateUpliftCalculator(); try { @@ -270,19 +270,19 @@ return upliftCalculator; } - private IHeaveCalculator CreateHeaveCalculator(double phiExit) + private IHeaveCalculator CreateHeaveCalculator() { var calculator = factory.CreateHeaveCalculator(); calculator.Ich = input.CriticalHeaveGradient; - calculator.PhiExit = phiExit; + calculator.PhiExit = input.PiezometricHeadExit; calculator.DTotal = input.ThicknessCoverageLayer; calculator.PhiPolder = input.PhreaticLevelExit; calculator.RExit = input.DampingFactorExit; calculator.HExit = input.PhreaticLevelExit; return calculator; } - private IUpliftCalculator CreateUpliftCalculator(double phiExit) + private IUpliftCalculator CreateUpliftCalculator() { var effectiveStress = DetermineEffectiveStressForOneLayerProfile(input.ThicknessCoverageLayer, input.SaturatedVolumicWeightOfCoverageLayer, input.WaterVolumetricWeight); @@ -291,7 +291,7 @@ calculator.ModelFactorUplift = input.UpliftModelFactor; calculator.EffectiveStress = effectiveStress; calculator.HRiver = input.AssessmentLevel; - calculator.PhiExit = phiExit; + calculator.PhiExit = input.PiezometricHeadExit; calculator.RExit = input.DampingFactorExit; calculator.HExit = input.PhreaticLevelExit; calculator.PhiPolder = input.PhreaticLevelExit; Index: Ringtoets/Piping/src/Ringtoets.Piping.Calculation/PipingCalculatorInput.cs =================================================================== diff -u -r1069905ff1d4bb81d6acff6c130a4bed0b041b58 -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Ringtoets/Piping/src/Ringtoets.Piping.Calculation/PipingCalculatorInput.cs (.../PipingCalculatorInput.cs) (revision 1069905ff1d4bb81d6acff6c130a4bed0b041b58) +++ Ringtoets/Piping/src/Ringtoets.Piping.Calculation/PipingCalculatorInput.cs (.../PipingCalculatorInput.cs) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -34,7 +34,6 @@ private readonly double piezometricHeadExit; private readonly double dampingFactorExit; private readonly double phreaticLevelExit; - private readonly double piezometricHeadPolder; private readonly double criticalHeaveGradient; private readonly double thicknessCoverageLayer; private readonly double sellmeijerModelFactor; @@ -65,7 +64,6 @@ /// The piezometric head at the exit point. [m] /// The damping factor at the exit point. /// The phreatic level at the exit point. [m] - /// The piezometric head in the hinterland. [m] /// The critical exit gradient for heave. /// The total thickness of the coverage layer at the exit point. [m] /// The calculation value used to account for uncertainty in the model for Sellmeijer. @@ -83,7 +81,7 @@ /// The x coordinate of the exit point. [m] /// The surface line. /// The profile which contains a 1 dimensional definition of soil layers with properties. - public PipingCalculatorInput(double waterVolumetricWeight, double saturatedVolumicWeightOfCoverageLayer, double upliftModelFactor, double assessmentLevel, double piezometricHeadExit, double dampingFactorExit, double phreaticLevelExit, double piezometricHeadPolder, double criticalHeaveGradient, double thicknessCoverageLayer, double sellmeijerModelFactor, double sellmeijerReductionFactor, double seepageLength, double sandParticlesVolumicWeight, double whitesDragCoefficient, double diameter70, double darcyPermeability, double waterKinematicViscosity, double gravity, double thicknessAquiferLayer, double meanDiameter70, double beddingAngle, double exitPointXCoordinate, RingtoetsPipingSurfaceLine surfaceLine, PipingSoilProfile soilProfile) + public PipingCalculatorInput(double waterVolumetricWeight, double saturatedVolumicWeightOfCoverageLayer, double upliftModelFactor, double assessmentLevel, double piezometricHeadExit, double dampingFactorExit, double phreaticLevelExit, double criticalHeaveGradient, double thicknessCoverageLayer, double sellmeijerModelFactor, double sellmeijerReductionFactor, double seepageLength, double sandParticlesVolumicWeight, double whitesDragCoefficient, double diameter70, double darcyPermeability, double waterKinematicViscosity, double gravity, double thicknessAquiferLayer, double meanDiameter70, double beddingAngle, double exitPointXCoordinate, RingtoetsPipingSurfaceLine surfaceLine, PipingSoilProfile soilProfile) { this.waterVolumetricWeight = waterVolumetricWeight; this.saturatedVolumicWeightOfCoverageLayer = saturatedVolumicWeightOfCoverageLayer; @@ -92,7 +90,6 @@ this.piezometricHeadExit = piezometricHeadExit; this.dampingFactorExit = dampingFactorExit; this.phreaticLevelExit = phreaticLevelExit; - this.piezometricHeadPolder = piezometricHeadPolder; this.criticalHeaveGradient = criticalHeaveGradient; this.thicknessCoverageLayer = thicknessCoverageLayer; this.sellmeijerModelFactor = sellmeijerModelFactor; @@ -185,18 +182,6 @@ } /// - /// Gets the piezometric head in the hinterland. - /// [m] - /// - public double PiezometricHeadPolder - { - get - { - return piezometricHeadPolder; - } - } - - /// /// Gets the critical exit gradient for heave. /// public double CriticalHeaveGradient Index: Ringtoets/Piping/src/Ringtoets.Piping.Calculation/PipingSemiProbabilisticDesignValueFactory.cs =================================================================== diff -u -r4512af7782ee31b36941bb280b54d9da2953dd71 -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Ringtoets/Piping/src/Ringtoets.Piping.Calculation/PipingSemiProbabilisticDesignValueFactory.cs (.../PipingSemiProbabilisticDesignValueFactory.cs) (revision 4512af7782ee31b36941bb280b54d9da2953dd71) +++ Ringtoets/Piping/src/Ringtoets.Piping.Calculation/PipingSemiProbabilisticDesignValueFactory.cs (.../PipingSemiProbabilisticDesignValueFactory.cs) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -32,6 +32,14 @@ #region General parameters /// + /// Creates the design variable for . + /// + public static DesignVariable GetSaturatedVolumicWeightOfCoverageLayer(PipingInput parameters) + { + return CreateDesignVariable(parameters.SaturatedVolumicWeightOfCoverageLayer, 0.05); + } + + /// /// Creates the design variable for . /// public static DesignVariable GetThicknessCoverageLayer(PipingInput parameters) Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInput.cs =================================================================== diff -u -r28efef3cbb613e85c8ea893493e2618de2236f0b -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInput.cs (.../PipingInput.cs) (revision 28efef3cbb613e85c8ea893493e2618de2236f0b) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInput.cs (.../PipingInput.cs) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -72,6 +72,12 @@ Mean = (RoundedDouble)double.NaN, StandardDeviation = (RoundedDouble)0.5 }; + SaturatedVolumicWeightOfCoverageLayer = new ShiftedLognormalDistribution(2) + { + Shift = 10, + Mean = (RoundedDouble) 17.5, + StandardDeviation = (RoundedDouble)0 + }; SeepageLength = new LognormalDistribution(2) { Mean = (RoundedDouble)double.NaN, @@ -158,12 +164,6 @@ public double PiezometricHeadExit { get; set; } /// - /// Gets or sets the piezometric head in the hinterland. - /// [m] - /// - public double PiezometricHeadPolder { get; set; } - - /// /// Gets or sets the surface line. /// public RingtoetsPipingSurfaceLine SurfaceLine { get; set; } @@ -317,7 +317,7 @@ { SeepageLength.Mean = ExitPointL - EntryPointL; } - catch (ArgumentOutOfRangeException e) + catch (ArgumentOutOfRangeException) { SeepageLength.Mean = (RoundedDouble)double.NaN; } @@ -369,6 +369,11 @@ /// public LognormalDistribution DampingFactorExit { get; set; } + /// + /// Gets or sets the volumic weight of the saturated coverage layer. + /// + public ShiftedLognormalDistribution SaturatedVolumicWeightOfCoverageLayer { get; set; } + #endregion } } \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -ra887863a3992744a394591e17072811eb9478ebc -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision a887863a3992744a394591e17072811eb9478ebc) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.18444 +// Runtime Version:4.0.30319.34209 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -939,24 +939,6 @@ } /// - /// Looks up a localized string similar to Stijghoogte in achterland.. - /// - public static string PipingInput_PiezometricHeadPolder_Description { - get { - return ResourceManager.GetString("PipingInput_PiezometricHeadPolder_Description", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Stijghoogte in achterland [m+NAP]. - /// - public static string PipingInput_PiezometricHeadPolder_DisplayName { - get { - return ResourceManager.GetString("PipingInput_PiezometricHeadPolder_DisplayName", resourceCulture); - } - } - - /// /// Looks up a localized string similar to De horizontale afstand tussen intrede- en uittredepunt die het kwelwater ondergronds aflegt voordat het weer aan de oppervlakte komt.. /// public static string PipingInput_SeepageLength_Description { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx =================================================================== diff -u -ra887863a3992744a394591e17072811eb9478ebc -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx (.../Resources.resx) (revision a887863a3992744a394591e17072811eb9478ebc) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx (.../Resources.resx) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -184,12 +184,6 @@ Stijghoogte bij uittredepunt [m+NAP] - - Stijghoogte in achterland. - - - Stijghoogte in achterland [m+NAP] - Piping Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingInputContextProperties.cs =================================================================== diff -u -r93b256575fba3e4068baadeeb62140533336371a -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingInputContextProperties.cs (.../PipingInputContextProperties.cs) (revision 93b256575fba3e4068baadeeb62140533336371a) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingInputContextProperties.cs (.../PipingInputContextProperties.cs) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -69,19 +69,6 @@ return data.AvailableHydraulicBoundaryLocations; } - private double PiezometricHeadPolder - { - get - { - return data.WrappedData.PiezometricHeadPolder; - } - set - { - data.WrappedData.PiezometricHeadPolder = value; - data.WrappedData.NotifyObservers(); - } - } - private RoundedDouble AssessmentLevel { get @@ -244,21 +231,6 @@ } } - [ResourcesCategory(typeof(Resources), "Categories_Heave")] - [ResourcesDisplayName(typeof(Resources), "PipingInput_PiezometricHeadPolder_DisplayName")] - [ResourcesDescription(typeof(Resources), "PipingInput_PiezometricHeadPolder_Description")] - public double PiezometricHeadPolderHeave - { - get - { - return PiezometricHeadPolder; - } - set - { - PiezometricHeadPolder = value; - } - } - [TypeConverter(typeof(LognormalDistributionDesignVariableTypeConverter))] [ResourcesCategory(typeof(Resources), "Categories_Heave")] [ResourcesDisplayName(typeof(Resources), "PipingInput_DampingFactorExit_DisplayName")] @@ -385,21 +357,6 @@ } } - [ResourcesCategory(typeof(Resources), "Categories_Uplift")] - [ResourcesDisplayName(typeof(Resources), "PipingInput_PiezometricHeadPolder_DisplayName")] - [ResourcesDescription(typeof(Resources), "PipingInput_PiezometricHeadPolder_Description")] - public double PiezometricHeadPolderUplift - { - get - { - return PiezometricHeadPolder; - } - set - { - PiezometricHeadPolder = value; - } - } - #endregion #region Sellmeijer Index: Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationService.cs =================================================================== diff -u -r1069905ff1d4bb81d6acff6c130a4bed0b041b58 -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationService.cs (.../PipingCalculationService.cs) (revision 1069905ff1d4bb81d6acff6c130a4bed0b041b58) +++ Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationService.cs (.../PipingCalculationService.cs) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -123,13 +123,12 @@ { return new PipingCalculatorInput( inputParameters.WaterVolumetricWeight, - inputParameters.WaterVolumetricWeight, + PipingSemiProbabilisticDesignValueFactory.GetSaturatedVolumicWeightOfCoverageLayer(inputParameters).GetDesignValue(), inputParameters.UpliftModelFactor, inputParameters.AssessmentLevel, inputParameters.PiezometricHeadExit, PipingSemiProbabilisticDesignValueFactory.GetDampingFactorExit(inputParameters).GetDesignValue(), PipingSemiProbabilisticDesignValueFactory.GetPhreaticLevelExit(inputParameters).GetDesignValue(), - inputParameters.PiezometricHeadPolder, inputParameters.CriticalHeaveGradient, PipingSemiProbabilisticDesignValueFactory.GetThicknessCoverageLayer(inputParameters).GetDesignValue(), inputParameters.SellmeijerModelFactor, Index: Ringtoets/Piping/test/Ringtoets.Piping.Calculation.Test/PipingCalculatorInputTest.cs =================================================================== diff -u -r1069905ff1d4bb81d6acff6c130a4bed0b041b58 -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Ringtoets/Piping/test/Ringtoets.Piping.Calculation.Test/PipingCalculatorInputTest.cs (.../PipingCalculatorInputTest.cs) (revision 1069905ff1d4bb81d6acff6c130a4bed0b041b58) +++ Ringtoets/Piping/test/Ringtoets.Piping.Calculation.Test/PipingCalculatorInputTest.cs (.../PipingCalculatorInputTest.cs) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -20,7 +20,6 @@ double phiExitValue = random.NextDouble(); double rExitValue = random.NextDouble(); double hExitValue = random.NextDouble(); - double phiPolderValue = random.NextDouble(); double ichValue = random.NextDouble(); double dTotalValue = random.NextDouble(); double sellmeijerModelFactorValue = random.NextDouble(); @@ -53,7 +52,6 @@ phiExitValue, rExitValue, hExitValue, - phiPolderValue, ichValue, dTotalValue, sellmeijerModelFactorValue, @@ -79,7 +77,6 @@ Assert.AreEqual(phiExitValue, input.PiezometricHeadExit); Assert.AreEqual(rExitValue, input.DampingFactorExit); Assert.AreEqual(hExitValue, input.PhreaticLevelExit); - Assert.AreEqual(phiPolderValue, input.PiezometricHeadPolder); Assert.AreEqual(ichValue, input.CriticalHeaveGradient); Assert.AreEqual(dTotalValue, input.ThicknessCoverageLayer); Assert.AreEqual(sellmeijerModelFactorValue, input.SellmeijerModelFactor); Index: Ringtoets/Piping/test/Ringtoets.Piping.Calculation.Test/PipingCalculatorTest.cs =================================================================== diff -u -r1069905ff1d4bb81d6acff6c130a4bed0b041b58 -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Ringtoets/Piping/test/Ringtoets.Piping.Calculation.Test/PipingCalculatorTest.cs (.../PipingCalculatorTest.cs) (revision 1069905ff1d4bb81d6acff6c130a4bed0b041b58) +++ Ringtoets/Piping/test/Ringtoets.Piping.Calculation.Test/PipingCalculatorTest.cs (.../PipingCalculatorTest.cs) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -140,8 +140,8 @@ // Setup PipingCalculatorInput input = new TestPipingInput { - PhreaticLevelExit = level, - AssessmentLevel = (RoundedDouble) level + PiezometricHeadExit = level, + PhreaticLevelExit = level }.AsRealInput(); var calculation = new PipingCalculator(input, new PipingSubCalculatorFactory()); @@ -170,10 +170,8 @@ List validationMessages = calculation.Validate(); // Assert - Assert.AreEqual(4, validationMessages.Count); + Assert.AreEqual(2, validationMessages.Count); Assert.AreEqual(2, validationMessages.Count(message => message.Contains("Rexit"))); - Assert.AreEqual(1, validationMessages.Count(message => message.Contains("PhiExit - HExit"))); - Assert.AreEqual(1, validationMessages.Count(message => message.Contains("phiExit - hExit"))); } [Test] Index: Ringtoets/Piping/test/Ringtoets.Piping.Calculation.Test/PipingSemiProbabilisticDesignValueFactoryTest.cs =================================================================== diff -u -r1c01ea681887e96b5b80fb7d23680a4eeac9bd50 -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Ringtoets/Piping/test/Ringtoets.Piping.Calculation.Test/PipingSemiProbabilisticDesignValueFactoryTest.cs (.../PipingSemiProbabilisticDesignValueFactoryTest.cs) (revision 1c01ea681887e96b5b80fb7d23680a4eeac9bd50) +++ Ringtoets/Piping/test/Ringtoets.Piping.Calculation.Test/PipingSemiProbabilisticDesignValueFactoryTest.cs (.../PipingSemiProbabilisticDesignValueFactoryTest.cs) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -24,6 +24,20 @@ } [Test] + public void GetSaturatedVolumicWeightOfCoverageLayer_ValidPipingCalculation_CreateDesignVariableForThicknessCoverageLayer() + { + // Setup + var inputParameters = new PipingInput(new GeneralPipingInput()); + + // Call + var saturatedVolumicWeightOfCoverageLayer = PipingSemiProbabilisticDesignValueFactory.GetSaturatedVolumicWeightOfCoverageLayer(inputParameters); + + // Assert + Assert.AreSame(inputParameters.SaturatedVolumicWeightOfCoverageLayer, saturatedVolumicWeightOfCoverageLayer.Distribution); + Assert.AreEqual(0.05, saturatedVolumicWeightOfCoverageLayer.Percentile); + } + + [Test] public void GetPhreaticLevelExit_ValidPipingCalculation_CreateDesignVariableForPhreaticLevelExit() { // Setup Index: Ringtoets/Piping/test/Ringtoets.Piping.Calculation.TestUtil/TestPipingInput.cs =================================================================== diff -u -r1069905ff1d4bb81d6acff6c130a4bed0b041b58 -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Ringtoets/Piping/test/Ringtoets.Piping.Calculation.TestUtil/TestPipingInput.cs (.../TestPipingInput.cs) (revision 1069905ff1d4bb81d6acff6c130a4bed0b041b58) +++ Ringtoets/Piping/test/Ringtoets.Piping.Calculation.TestUtil/TestPipingInput.cs (.../TestPipingInput.cs) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -16,7 +16,6 @@ public double PiezometricHeadExit; public double DampingFactorExit; public double PhreaticLevelExit; - public double PiezometricHeadPolder; public double CriticalHeaveGradient; public double ThicknessCoverageLayer; public double SellmeijerModelFactor; @@ -47,7 +46,6 @@ PiezometricHeadExit = NextIncrementalDouble(); PhreaticLevelExit = NextIncrementalDouble(); DampingFactorExit = NextIncrementalDouble(); - PiezometricHeadPolder = NextIncrementalDouble(); CriticalHeaveGradient = NextIncrementalDouble(); ThicknessCoverageLayer = NextIncrementalDouble(); SellmeijerModelFactor = NextIncrementalDouble(); @@ -113,7 +111,6 @@ PiezometricHeadExit, DampingFactorExit, PhreaticLevelExit, - PiezometricHeadPolder, CriticalHeaveGradient, ThicknessCoverageLayer, SellmeijerModelFactor, Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs =================================================================== diff -u -r28efef3cbb613e85c8ea893493e2618de2236f0b -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs (.../PipingInputTest.cs) (revision 28efef3cbb613e85c8ea893493e2618de2236f0b) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs (.../PipingInputTest.cs) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -57,7 +57,6 @@ Assert.AreEqual(3, inputParameters.DarcyPermeability.StandardDeviation.NumberOfDecimalPlaces); Assert.AreEqual(0, inputParameters.PiezometricHeadExit); - Assert.AreEqual(0, inputParameters.PiezometricHeadPolder); Assert.IsNull(inputParameters.SurfaceLine); Assert.IsNull(inputParameters.SoilProfile); Assert.IsNull(inputParameters.HydraulicBoundaryLocation); @@ -80,6 +79,12 @@ Assert.AreEqual(0.5, inputParameters.ThicknessCoverageLayer.StandardDeviation.Value); Assert.AreEqual(2, inputParameters.ThicknessCoverageLayer.StandardDeviation.NumberOfDecimalPlaces); + Assert.IsInstanceOf(inputParameters.SaturatedVolumicWeightOfCoverageLayer); + Assert.AreEqual(17.5, inputParameters.SaturatedVolumicWeightOfCoverageLayer.Mean.Value); + Assert.AreEqual(2, inputParameters.SaturatedVolumicWeightOfCoverageLayer.Mean.NumberOfDecimalPlaces); + Assert.AreEqual(0, inputParameters.SaturatedVolumicWeightOfCoverageLayer.StandardDeviation.Value); + Assert.AreEqual(2, inputParameters.SaturatedVolumicWeightOfCoverageLayer.StandardDeviation.NumberOfDecimalPlaces); + Assert.IsInstanceOf(inputParameters.ThicknessAquiferLayer); Assert.IsNaN(inputParameters.ThicknessAquiferLayer.Mean); Assert.AreEqual(2, inputParameters.ThicknessAquiferLayer.Mean.NumberOfDecimalPlaces); Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/PipingCalculationFactory.cs =================================================================== diff -u -r93b256575fba3e4068baadeeb62140533336371a -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/PipingCalculationFactory.cs (.../PipingCalculationFactory.cs) (revision 93b256575fba3e4068baadeeb62140533336371a) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/PipingCalculationFactory.cs (.../PipingCalculationFactory.cs) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -65,7 +65,6 @@ }, ExitPointL = (RoundedDouble)1.0, PiezometricHeadExit = 1.0, - PiezometricHeadPolder = 1.0, PhreaticLevelExit = { Mean = (RoundedDouble)2.0 Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingInputContextPropertiesTest.cs =================================================================== diff -u -r93b256575fba3e4068baadeeb62140533336371a -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingInputContextPropertiesTest.cs (.../PipingInputContextPropertiesTest.cs) (revision 93b256575fba3e4068baadeeb62140533336371a) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingInputContextPropertiesTest.cs (.../PipingInputContextPropertiesTest.cs) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -82,8 +82,6 @@ Assert.AreEqual(inputParameters.PiezometricHeadExit, properties.PiezometricHeadExitHeave); Assert.AreEqual(inputParameters.PiezometricHeadExit, properties.PiezometricHeadExitUplift); - Assert.AreEqual(inputParameters.PiezometricHeadPolder, properties.PiezometricHeadPolderHeave); - Assert.AreEqual(inputParameters.PiezometricHeadPolder, properties.PiezometricHeadPolderUplift); Assert.AreEqual(inputParameters.AssessmentLevel, properties.AssessmentLevelSellmeijer); Assert.AreEqual(inputParameters.AssessmentLevel, properties.AssessmentLevelUplift); @@ -136,7 +134,7 @@ var mocks = new MockRepository(); var assessmentSectionMock = mocks.StrictMock(); var projectObserver = mocks.StrictMock(); - int numberProperties = 12; + int numberProperties = 11; projectObserver.Expect(o => o.UpdateObserver()).Repeat.Times(numberProperties); mocks.ReplayAll(); @@ -147,7 +145,6 @@ double assessmentLevel = random.NextDouble(); double piezometricHeadExit = random.NextDouble(); - double piezometricHeadPolder = random.NextDouble(); var dampingFactorExit = new LognormalDistribution(3); var phreaticLevelExit = new NormalDistribution(2); @@ -170,7 +167,6 @@ PiezometricHeadExitUplift = piezometricHeadExit, DampingFactorExitHeave = new LognormalDistributionDesignVariable(dampingFactorExit), PhreaticLevelExitHeave = new NormalDistributionDesignVariable(phreaticLevelExit), - PiezometricHeadPolderHeave = piezometricHeadPolder, ThicknessCoverageLayerSellmeijer = new LognormalDistributionDesignVariable(thicknessCoverageLayer), SeepageLength = new LognormalDistributionDesignVariable(seepageLength), Diameter70 = new LognormalDistributionDesignVariable(diameter70), @@ -186,7 +182,6 @@ Assert.AreEqual(piezometricHeadExit, inputParameters.PiezometricHeadExit); Assert.AreEqual(dampingFactorExit, inputParameters.DampingFactorExit); Assert.AreEqual(phreaticLevelExit, inputParameters.PhreaticLevelExit); - Assert.AreEqual(piezometricHeadPolder, inputParameters.PiezometricHeadPolder); Assert.AreEqual(thicknessCoverageLayer, inputParameters.ThicknessCoverageLayer); Assert.AreEqual(seepageLength, inputParameters.SeepageLength); Assert.AreEqual(diameter70, inputParameters.Diameter70); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationContextTreeNodeInfoTest.cs =================================================================== diff -u -r93b256575fba3e4068baadeeb62140533336371a -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationContextTreeNodeInfoTest.cs (.../PipingCalculationContextTreeNodeInfoTest.cs) (revision 93b256575fba3e4068baadeeb62140533336371a) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationContextTreeNodeInfoTest.cs (.../PipingCalculationContextTreeNodeInfoTest.cs) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -631,7 +631,6 @@ calculation.InputParameters.ExitPointL = validPipingInput.ExitPointXCoordinate; calculation.InputParameters.PhreaticLevelExit.Mean = (RoundedDouble)validPipingInput.PhreaticLevelExit; calculation.InputParameters.PiezometricHeadExit = validPipingInput.PiezometricHeadExit; - calculation.InputParameters.PiezometricHeadPolder = validPipingInput.PiezometricHeadPolder; calculation.InputParameters.SeepageLength.Mean = (RoundedDouble)validPipingInput.SeepageLength; calculation.InputParameters.ThicknessAquiferLayer.Mean = (RoundedDouble)validPipingInput.ThicknessAquiferLayer; calculation.InputParameters.ThicknessCoverageLayer.Mean = (RoundedDouble)validPipingInput.ThicknessCoverageLayer; Index: Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationServiceTest.cs =================================================================== diff -u -r1069905ff1d4bb81d6acff6c130a4bed0b041b58 -rb2ba7b44c143bc91056e634e2fb8b329994501cd --- Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationServiceTest.cs (.../PipingCalculationServiceTest.cs) (revision 1069905ff1d4bb81d6acff6c130a4bed0b041b58) +++ Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationServiceTest.cs (.../PipingCalculationServiceTest.cs) (revision b2ba7b44c143bc91056e634e2fb8b329994501cd) @@ -117,14 +117,13 @@ Assert.AreEqual(5, thickness); } - [Test] public void CalculatePiezometricHeadAtExit_Always_ReturnsResult() { // Setup PipingInput input = new PipingInput(new GeneralPipingInput()) { - AssessmentLevel = (RoundedDouble) 0.0 + AssessmentLevel = (RoundedDouble)0.0 }; // Call @@ -253,36 +252,53 @@ AssertEqualSurfaceLines(input.SurfaceLine, effectiveThicknessCalculator.SurfaceLine); Assert.AreEqual(input.WaterVolumetricWeight, effectiveThicknessCalculator.VolumicWeightOfWater); } - } + [Test] + public void CalculatePiezometricHeadAtExit_CompleteInput_InputSetOnSubCalculator() + { + + // Setup + PipingCalculation validPipingCalculation = PipingCalculationFactory.CreateCalculationWithValidInput(); + PipingInput input = validPipingCalculation.InputParameters; + + using (new PipingCalculationServiceConfig()) + { + // Call + PipingCalculationService.CalculatePiezometricHeadAtExit(validPipingCalculation.InputParameters); + + // Assert + var testFactory = (TestPipingSubCalculatorFactory)PipingCalculationService.SubCalculatorFactory; + var piezometricHeadAtExitCalculator = testFactory.LastCreatedPiezometricHeadAtExitCalculator; + + Assert.AreEqual(input.AssessmentLevel.Value, piezometricHeadAtExitCalculator.HRiver); + Assert.AreEqual(PipingSemiProbabilisticDesignValueFactory.GetPhreaticLevelExit(input).GetDesignValue(), piezometricHeadAtExitCalculator.PhiPolder); + Assert.AreEqual(PipingSemiProbabilisticDesignValueFactory.GetDampingFactorExit(input).GetDesignValue(), piezometricHeadAtExitCalculator.RExit); + } + } + private void AssertSubCalculatorInputs(PipingInput input) { var testFactory = (TestPipingSubCalculatorFactory) PipingCalculationService.SubCalculatorFactory; var heaveCalculator = testFactory.LastCreatedHeaveCalculator; var upliftCalculator = testFactory.LastCreatedUpliftCalculator; var sellmeijerCalculator = testFactory.LastCreatedSellmeijerCalculator; - var piezometricHeadAtExitCalculator = testFactory.LastCreatedPiezometricHeadAtExitCalculator; - - Assert.AreEqual(input.AssessmentLevel.Value, piezometricHeadAtExitCalculator.HRiver); - Assert.AreEqual(PipingSemiProbabilisticDesignValueFactory.GetPhreaticLevelExit(input).GetDesignValue(), piezometricHeadAtExitCalculator.PhiPolder); - Assert.AreEqual(PipingSemiProbabilisticDesignValueFactory.GetDampingFactorExit(input).GetDesignValue(), piezometricHeadAtExitCalculator.RExit); - + Assert.AreEqual(PipingSemiProbabilisticDesignValueFactory.GetThicknessCoverageLayer(input).GetDesignValue(), heaveCalculator.DTotal); Assert.AreEqual(PipingSemiProbabilisticDesignValueFactory.GetPhreaticLevelExit(input).GetDesignValue(), heaveCalculator.HExit); Assert.AreEqual(input.CriticalHeaveGradient, heaveCalculator.Ich); Assert.AreEqual(PipingSemiProbabilisticDesignValueFactory.GetPhreaticLevelExit(input).GetDesignValue(), heaveCalculator.PhiPolder); - Assert.AreEqual(piezometricHeadAtExitCalculator.PhiExit, heaveCalculator.PhiExit); + Assert.AreEqual(input.PiezometricHeadExit, heaveCalculator.PhiExit); Assert.AreEqual(PipingSemiProbabilisticDesignValueFactory.GetDampingFactorExit(input).GetDesignValue(), heaveCalculator.RExit); Assert.AreEqual(PipingSemiProbabilisticDesignValueFactory.GetPhreaticLevelExit(input).GetDesignValue(), upliftCalculator.HExit); Assert.AreEqual(input.AssessmentLevel.Value, upliftCalculator.HRiver); Assert.AreEqual(input.UpliftModelFactor, upliftCalculator.ModelFactorUplift); - Assert.AreEqual(piezometricHeadAtExitCalculator.PhiExit, upliftCalculator.PhiExit); + Assert.AreEqual(input.PiezometricHeadExit, upliftCalculator.PhiExit); Assert.AreEqual(PipingSemiProbabilisticDesignValueFactory.GetPhreaticLevelExit(input).GetDesignValue(), upliftCalculator.PhiPolder); Assert.AreEqual(PipingSemiProbabilisticDesignValueFactory.GetDampingFactorExit(input).GetDesignValue(), upliftCalculator.RExit); Assert.AreEqual(input.WaterVolumetricWeight, upliftCalculator.VolumetricWeightOfWater); - var effectiveStress = PipingSemiProbabilisticDesignValueFactory.GetThicknessCoverageLayer(input).GetDesignValue() * (input.WaterVolumetricWeight - input.WaterVolumetricWeight); + var effectiveStress = PipingSemiProbabilisticDesignValueFactory.GetThicknessCoverageLayer(input).GetDesignValue() * (PipingSemiProbabilisticDesignValueFactory.GetSaturatedVolumicWeightOfCoverageLayer(input).GetDesignValue() - input.WaterVolumetricWeight); Assert.AreEqual(effectiveStress, upliftCalculator.EffectiveStress); Assert.AreEqual(PipingSemiProbabilisticDesignValueFactory.GetSeepageLength(input).GetDesignValue(), sellmeijerCalculator.SeepageLength);