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