Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs
===================================================================
diff -u -r5440 -r5448
--- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs (.../MacroStabilityInwardsTests.cs) (revision 5440)
+++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs (.../MacroStabilityInwardsTests.cs) (revision 5448)
@@ -486,6 +486,48 @@
Assert.That(output.Results.CalculationResults.First().StabilityDesignResults.SafetyFactor, Is.EqualTo(1.366).Within(tolerance));
}
+ [TestCase("SlopeAdaptionBeforeShoulderAdaption", 1.0, 1.309, 1)]
+ [TestCase("SlopeAdaptionBeforeShoulderAdaption", 1.4, 1.513, 1)]
+ [TestCase("OptimizedSlopeAndShoulderAdaption", 1.0, 1.309, 1)]
+ [TestCase("OptimizedSlopeAndShoulderAdaption", 1.4, 1.513, 1)]
+ [Ignore("Work in progress")]
+ public void GivenTutorialDesignDwp1_WhenRunSlopeAdaptionBeforeShoulderAdaptionTheSucceeds(string designMethod,
+ double requiredSafetyFactor, double actualSafetyFactor, int iterationCount)
+ {
+ // Create xml with Tutorial project
+ // Select location DWP_1
+ // Calculation options: Stability Inside - Bishop
+ string calcDir = "TestStabInwardsBishop_AdaptGeometry_" + designMethod + requiredSafetyFactor.ToString(CultureInfo.InvariantCulture);
+ if (Directory.Exists(calcDir))
+ {
+ Directory.Delete(calcDir, true); // delete previous results
+ }
+
+ // calcDir = Path.GetFullPath(calcDir);
+ // Directory.CreateDirectory(calcDir);
+ string inputString = File.ReadAllText(tutorialStability2D);
+ string[] locations = ["DWP_1"];
+ inputString = XmlAdapter.SelectLocations(inputString, locations);
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "FailureMechanismSystemType", ConversionHelper.ConvertToInputFailureMechanismSystemType(
+ FailureMechanismSystemType.StabilityInside).ToString());
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "SegmentFailureMechanismType",
+ ConversionHelper.InputSegmentFailureMechanismStability.ToString());
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "AnalysisType", "AdaptGeometry");
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "StabilityDesignMethod", "SlopeAdaptionBeforeShoulderAdaption");
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "RequiredSafetyFactorStabilityInnerSlope",
+ requiredSafetyFactor.ToString(CultureInfo.InvariantCulture));
+ File.WriteAllText(@"D:\tmp\TestStabInwardsBishop_SlopeAdaptionBeforeShoulderAdaption.xml", inputString);
+ Output output = GeneralHelper.RunAfterInputValidation(inputString, true);
+ Assert.Multiple(() =>
+ {
+ Assert.That(output.Results.CalculationResults[0].StabilityDesignResults.SafetyFactor, Is.GreaterThanOrEqualTo(requiredSafetyFactor));
+ Assert.That(output.Results.CalculationResults[0].StabilityDesignResults.SafetyFactor, Is.GreaterThanOrEqualTo(requiredSafetyFactor));
+ Assert.That(output.Results.CalculationResults[0].StabilityDesignResults.NumberOfIterations, Is.EqualTo(iterationCount));
+ });
+ }
+
[Test]
[Category(Categories.Slow)]
[Category(Categories.WorkInProgress)]
Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs
===================================================================
diff -u -r5372 -r5448
--- DamEngine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs (.../ConversionHelper.cs) (revision 5372)
+++ DamEngine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs (.../ConversionHelper.cs) (revision 5448)
@@ -678,9 +678,9 @@
///
/// Converts the Dam failure mechanism type to the input failure mechanism type .
///
- /// Type of the segment failure mechanism.
+ /// Type of the system failure mechanism.
///
- public static int ConvertToInputFailureMechanismSystemType(FailureMechanismSystemType segmentFailureMechanismType)
+ public static int ConvertToInputFailureMechanismSystemType(FailureMechanismSystemType failureMechanismSystemType)
{
var translationTable = new Dictionary
{
@@ -694,7 +694,7 @@
FailureMechanismSystemType.Piping, InputFailureMechanismPiping
}
};
- return translationTable[segmentFailureMechanismType];
+ return translationTable[failureMechanismSystemType];
}
///