Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/PipingSellmeijer4ForcesTests.cs =================================================================== diff -u -r1161 -r1198 --- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/PipingSellmeijer4ForcesTests.cs (.../PipingSellmeijer4ForcesTests.cs) (revision 1161) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/PipingSellmeijer4ForcesTests.cs (.../PipingSellmeijer4ForcesTests.cs) (revision 1198) @@ -20,6 +20,8 @@ // All rights reserved. using System.IO; +using Deltares.DamEngine.Data.General; +using Deltares.DamEngine.Data.Geotechnics; using Deltares.DamEngine.Io; using NUnit.Framework; @@ -75,5 +77,58 @@ Assert.AreEqual(0.0, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftSituation.Pl4LocationXMinUplift, tolerance); } + [Test] + public void CanPerformBlighDesignWithAdaptionPipingVoorbeeld1() + { + // Based on ".\data\DamEngineTestProjects\PipingVoorbeeld1\PipingSellmeijer4Forces.damx" + // Set Analysis type to "Adapt geometry" + const string fileName = @"TestFiles\PipingVoorbeeld1_Sellmeijer4ForcesDesignInputFile.xml"; + string inputString = File.ReadAllText(fileName); + EngineInterface engineInterface = new EngineInterface(inputString); + Assert.IsNotNull(engineInterface.DamProjectData); + string outputString = engineInterface.Run(); + Assert.IsNotNull(outputString); + var output = DamXmlSerialization.LoadOutputFromXmlString(outputString); + DamProjectData actualDamProjectData = FillDamFromXmlOutput.CreateDamProjectData(output); + SurfaceLine2 redesignedSurfaceLine = actualDamProjectData.DesignCalculations[0].PipingDesignResults.RedesignedSurfaceLine; + Assert.AreEqual(true, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftSituation.IsUplift); + Assert.AreEqual(1.995, redesignedSurfaceLine.DetermineShoulderHeight(), tolerance); + Assert.AreEqual(66.986, redesignedSurfaceLine.GetDikeLength(), tolerance); + + // ShoulderWidth = X_Kruin binnenberm - X_Insteek binnenberm = 65.01 - 29.01 = 36.0 + // Read from PipingSellmeijer4Forces_Piping_CharacteristicPoints.csv by export surfacelines in Release + Assert.AreEqual(36.0, redesignedSurfaceLine.DetermineShoulderWidth(), tolerance); + + Assert.AreEqual(0.0, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftSituation.Pl3MinUplift, tolerance); + Assert.AreEqual(0.0, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftSituation.Pl3HeadAdjusted, tolerance); + Assert.AreEqual(0.0, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftSituation.Pl3LocationXMinUplift, tolerance); + Assert.AreEqual(0.0, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftSituation.Pl4MinUplift, tolerance); + Assert.AreEqual(0.0, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftSituation.Pl4HeadAdjusted, tolerance); + Assert.AreEqual(0.0, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftSituation.Pl4LocationXMinUplift, tolerance); + + // The ExitPointX in Dam 15.1.2.24738 is (incorrectly) not shown + // ExitPointX = X_Teen dijk binnenwaarts = 76.986 + // Read from PipingSellmeijer4Forces_Piping_CharacteristicPoints.csv by export surfacelines in Release + Assert.AreEqual(76.986, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.ExitPointX, tolerance); + + // The following values are not the same as in the Dam 15.1.2.24738 release + // The final piping calculation at the redesigned situation is done at X = 29.014 (the "insteek van de berm"), + // but it should have been done at X = 76.986 (the "teen van de dijk") + // Found expected values by debugging with Classic + // after change in Classic: upliftLocationDeterminator.GetLocationAndResult(upliftcriterion - 0.000000001) + + // The Factor in Dam 15.1.2.24738 is 2.064, but that is not correct, because that is the value at X = 29.014 + // expected value = 1.312 + Assert.AreEqual(1.312, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.Sellmeijer4ForcesFactor, tolerance); + // The Hcritical in Dam 15.1.2.24738 is 1.25, but that is not correct, because that is the value at X = 29.014 + // expected value = 4.198 + Assert.AreEqual(4.198, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.Sellmeijer4ForcesHcritical, tolerance); + + // The upliftfactor in Dam 15.1.2.24738 is (incorrectly) not shown + // expected value = 0.582 + Assert.AreEqual(0.582, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftFactor, tolerance); + + } + } }