Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/Deltares.DamEngine.Interface.Tests.csproj =================================================================== diff -u -r877 -r981 --- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/Deltares.DamEngine.Interface.Tests.csproj (.../Deltares.DamEngine.Interface.Tests.csproj) (revision 877) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/Deltares.DamEngine.Interface.Tests.csproj (.../Deltares.DamEngine.Interface.Tests.csproj) (revision 981) @@ -91,6 +91,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs =================================================================== diff -u -r979 -r981 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 979) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 981) @@ -68,6 +68,7 @@ damKernelInput.SubSoilScenario = soiProfileProbability; damKernelInput.DesignScenario = location.Scenarios[designScenarioIndex]; damKernelInput.DamFailureMechanismeCalculationSpecification = damProjectData.DamProjectCalculationSpecification.CurrentSpecification; + AnalysisType analysisType = DamProjectCalculationSpecification.SelectedAnalysisType; IKernelDataInput kernelDataInput; IKernelDataOutput kernelDataOutput; @@ -77,8 +78,18 @@ // stability where Piping calc is wanted). In that case, do nothing but just skip. if (prepareResult == PrepareResult.Successful) { - PerformSingleCalculation(kernelWrapper, kernelDataInput, kernelDataOutput, - damKernelInput, calculationMessages, damProjectData.DesignCalculations); + switch (analysisType) + { + case AnalysisType.NoAdaption: + PerformSingleCalculation(kernelWrapper, kernelDataInput, kernelDataOutput, + damKernelInput, calculationMessages, damProjectData.DesignCalculations); + break; + case AnalysisType.AdaptGeometry: + PerformDesignCalculation(kernelWrapper, kernelDataInput, kernelDataOutput, + damKernelInput, calculationMessages, damProjectData.DesignCalculations); + break; + + } } else { @@ -99,14 +110,14 @@ damKernelInput.DesignScenario.LocationScenarioID))); } } - + } } } return calculationMessages; } - private static void PerformSingleCalculation(IKernelWrapper kernelWrapper, IKernelDataInput kernelDataInput, IKernelDataOutput kernelDataOutput, DamKernelInput damKernelInput, + private static void PerformSingleCalculation(IKernelWrapper kernelWrapper, IKernelDataInput kernelDataInput, IKernelDataOutput kernelDataOutput, DamKernelInput damKernelInput, List calculationMessages, List designCalculations) { // Perform validation @@ -143,6 +154,11 @@ designCalculations.Add(designResult); } } + + private static void PerformDesignCalculation(IKernelWrapper kernelWrapper, IKernelDataInput kernelDataInput, IKernelDataOutput kernelDataOutput, DamKernelInput damKernelInput, + List calculationMessages, List designCalculations) + { + + } } } - \ No newline at end of file Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/PipingBlighTests.cs =================================================================== diff -u -r877 -r981 --- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/PipingBlighTests.cs (.../PipingBlighTests.cs) (revision 877) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/PipingBlighTests.cs (.../PipingBlighTests.cs) (revision 981) @@ -31,7 +31,7 @@ { private const double tolerance = 0.0005; [Test] - public void CanPerformBlighDesignPipingVoorbeeld1() + public void CanPerformBlighDesignNoAdaptionPipingVoorbeeld1() { const string fileName = @"TestFiles\PipingVoorbeeld1_BlighInputFile.xml"; string inputString = File.ReadAllText(fileName); @@ -71,10 +71,10 @@ 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); - } + } - [Test] - public void CanPerformBlighDesignRechterDiezedijk() + [Test] + public void CanPerformBlighDesignNoAdaptionRechterDiezedijk() { const string fileName = @"TestFiles\Rechter Diezedijk_BlighInputFile.xml"; string inputString = File.ReadAllText(fileName); @@ -87,5 +87,48 @@ Assert.AreEqual(0.7825, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.BlighFactor, tolerance); Assert.AreEqual(0.8089, output.Results.CalculationResults.DesignResults[121].PipingDesignResults.BlighFactor, tolerance); } + [Test] + public void CanPerformBlighDesignWithAdaptionPipingVoorbeeld1() + { + const string fileName = @"TestFiles\PipingVoorbeeld1_BlighDesignInputFile.xml"; + string inputString = File.ReadAllText(fileName); + EngineInterface engineInterface = new EngineInterface(inputString); + Assert.IsNotNull(engineInterface.DamProjectData); + string outputString = engineInterface.Run(); + // Factor piping = 0.521 + // Kritische hoogte = 1.667 + // Factor opdrijven = 0.5825 + // Kwelweglengte piping = 25.0 + // Intredepunt x-lokaal = 10.0 + // Uittredepunt x-lokaal = 35.0 + // Opdrijven = true + // Profielnaam = soilprofile_01 + // PL3 opdrijven = 0.582 + // PL3 stijghoogte aangepast = 1.262 + // PL3 locatie opdrijven lokaal = 35.0 + // PL4 opdrijven = 0.0 + // PL4 stijghoogte aangepast = 0.0 + // PL4 locatie opdrijven lokaal = 0.0 + // Locatie naam = "profiel 1" + // ID locatie scenario = "1" + // Heave Factor = 90.0 + Assert.IsNotNull(outputString); + var output = DamXmlSerialization.LoadOutputFromXmlString(outputString); + Assert.AreEqual(2.092, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.BlighFactor, tolerance); + Assert.AreEqual(1.268, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.BlighHcritical, tolerance); + //Assert.AreEqual(35.0, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.ExitPointX, tolerance); + // The following values are not the same as in the classic UI + // The upliftfactor there is 0.351, but that is the Wti Upliftfactor + // The adjusted PL3/PL4 values there are not 0.0, but those are the values for stability; for piping no adjustment has to be made + + //Assert.AreEqual(0.5825, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftFactor, tolerance); + //Assert.AreEqual(true, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftSituation.IsUplift); + //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); + } } } Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/TestFiles/PipingVoorbeeld1_BlighDesignInputFile.xml =================================================================== diff -u --- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/TestFiles/PipingVoorbeeld1_BlighDesignInputFile.xml (revision 0) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/TestFiles/PipingVoorbeeld1_BlighDesignInputFile.xml (revision 981) @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file