Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInwardsKernelWrapper.cs
===================================================================
diff -u -r1941 -r1949
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInwardsKernelWrapper.cs (.../DamWbiMacroStabilityInwardsKernelWrapper.cs) (revision 1941)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInwardsKernelWrapper.cs (.../DamWbiMacroStabilityInwardsKernelWrapper.cs) (revision 1949)
@@ -32,7 +32,6 @@
public FailureMechanismParametersMStab FailureMechanismParametersMStab { get; set; } //ToDo MWDAM-? Use same as for DGeoStability or create new one for WBI?
public bool tmpPresumePrepareSucceeds; //ToDo MWDAM-1356
- public bool tmpPresumePrepareIsUplift; //ToDo MWDAM-? Determine Uplift for Wbi, same as for DGeoStability?
public bool tmpPresumeInputValid; //ToDo MWDAM-1367
public bool tmpPresumeRunSucceeds; //ToDo MWDAM-1356, MWDAM-1367, MWDAM-1357
@@ -57,10 +56,7 @@
try
{
// Determine whether there is uplift
- //ToDo MWDAM-? var upliftSituation = UpliftHelper.DetermineStabilityUplift(damKernelInput, false);
- var upliftSituation = new UpliftSituation();
- upliftSituation.IsUplift = tmpPresumePrepareIsUplift; // temporary code for testing
-
+ var upliftSituation = UpliftHelper.DetermineStabilityUplift(damKernelInput, false);
macroStabilityOutput.UpliftSituation = upliftSituation;
kernelDataOutput = macroStabilityOutput;
if (upliftSituation.IsUplift)
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInwardsKernelWrapperTests.cs
===================================================================
diff -u -r1941 -r1949
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInwardsKernelWrapperTests.cs (.../DamWbiMacroStabilityInwardsKernelWrapperTests.cs) (revision 1941)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInwardsKernelWrapperTests.cs (.../DamWbiMacroStabilityInwardsKernelWrapperTests.cs) (revision 1949)
@@ -9,6 +9,8 @@
using Deltares.DamEngine.Data.Design;
using Deltares.DamEngine.Data.General;
using Deltares.DamEngine.Data.General.Results;
+using Deltares.DamEngine.Data.Geometry;
+using Deltares.DamEngine.Data.Geotechnics;
using Deltares.DamEngine.Data.Standard.Calculation;
using Deltares.DamEngine.Data.Standard.Logging;
using Deltares.DamEngine.TestHelpers.Factories;
@@ -30,20 +32,19 @@
IKernelDataInput kernelDataInput;
IKernelDataOutput kernelDataOutput;
- var kernelInput = new DamKernelInput();
+ var kernelInput = CreateDamKernelInputForTest();
// Situation 1: no uplift. Expected PrepareResult.NotRelevant
- kernelWrapper.tmpPresumePrepareIsUplift = false; //ToDo MWDAM-? replace by input that makes IsUplift false
+ kernelInput.Location.ModelFactors.UpliftCriterionStability = 0.8;
var prepareResult = kernelWrapper.Prepare(kernelInput, 0, out kernelDataInput, out kernelDataOutput);
Assert.AreEqual(PrepareResult.NotRelevant, prepareResult);
DamWbiMacroStabilityOutput damMacroStabilityOutput = (DamWbiMacroStabilityOutput)kernelDataOutput;
Assert.AreEqual(CalculationResult.NoRun, damMacroStabilityOutput.CalculationResult);
Assert.AreEqual(false, damMacroStabilityOutput.UpliftSituation.IsUplift);
// Situation 2: there is uplift and prepare succeeds. Expected PrepareResult.Successful
+ kernelInput.Location.ModelFactors.UpliftCriterionStability = 1.2;
// ToDo MWDAM-1356: Not clear yet what must be done in Prepare and XML input not written yet.
- // start of temporary test code
- kernelWrapper.tmpPresumePrepareIsUplift = true; //ToDo replace by input that makes IsUplift true
kernelWrapper.tmpPresumePrepareSucceeds = true; //ToDo replace by input that makes prepare succeed
prepareResult = kernelWrapper.Prepare(kernelInput, 0, out kernelDataInput, out kernelDataOutput);
Assert.AreEqual(PrepareResult.Successful, prepareResult);
@@ -52,7 +53,8 @@
Assert.AreEqual(true, damMacroStabilityOutput.UpliftSituation.IsUplift);
// Situation 3: there is uplift and prepare fails. Expected PrepareResult.Failed
- kernelWrapper.tmpPresumePrepareIsUplift = true; //ToDo replace by input that makes IsUplift true
+ kernelInput.Location.ModelFactors.UpliftCriterionStability = 1.2;
+ // ToDo MWDAM-1356: Not clear yet what must be done in Prepare and XML input not written yet.
kernelWrapper.tmpPresumePrepareSucceeds = false; //ToDo replace by input that makes prepare fail
prepareResult = kernelWrapper.Prepare(kernelInput, 0, out kernelDataInput, out kernelDataOutput);
Assert.AreEqual(PrepareResult.Failed, prepareResult);
@@ -282,12 +284,20 @@
private static DamKernelInput CreateDamKernelInputForTest()
{
- // ToDo: Not clear yet what parts apply to Wbi Stability. For now, minimal implementation. Add DamWbiMacroStabilityTestHelper?
var location = DamMacroStabilityTestHelper.CreateLocation(FactoryForSurfaceLines.CreateSurfaceLineTutorial1());
+
var subSoilScenario = new SoilGeometryProbability();
+ subSoilScenario.SoilProfileType = SoilProfileType.ProfileType2D;
+ subSoilScenario.StiFileName = "";
+ subSoilScenario.FullStiFileName = "";
+ subSoilScenario.SoilProfile2D = DamMacroStabilityTestHelper.CreateSoilProfile2D();
+ subSoilScenario.SegmentFailureMechanismType = FailureMechanismSystemType.StabilityInside;
+
var damKernelInput = new DamKernelInput();
damKernelInput.Location = location;
damKernelInput.SubSoilScenario = subSoilScenario;
+ damKernelInput.RiverLevelLow = null;
+ damKernelInput.DamFailureMechanismeCalculationSpecification = new DamFailureMechanismeCalculationSpecification();
return damKernelInput;
}
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityCommon/DamMacroStabilityTestHelper.cs
===================================================================
diff -u -r1464 -r1949
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityCommon/DamMacroStabilityTestHelper.cs (.../DamMacroStabilityTestHelper.cs) (revision 1464)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityCommon/DamMacroStabilityTestHelper.cs (.../DamMacroStabilityTestHelper.cs) (revision 1949)
@@ -22,6 +22,7 @@
using System.Collections.Generic;
using Deltares.DamEngine.Data.Design;
using Deltares.DamEngine.Data.General;
+using Deltares.DamEngine.Data.Geometry;
using Deltares.DamEngine.Data.Geotechnics;
namespace Deltares.DamEngine.Calculators.Tests.KernelWrappers.DamMacroStabilityCommon
@@ -168,5 +169,60 @@
return soilList;
}
+ ///
+ /// Creates a 2D soil profile for the tests.
+ ///
+ ///
+ public static SoilProfile2D CreateSoilProfile2D()
+ {
+ SoilProfile2D soilProfile2D = new SoilProfile2D();
+
+ var geometry = new GeometryData();
+ geometry.Left = 0;
+ geometry.Right = 100;
+ geometry.Bottom = -10;
+ soilProfile2D.Geometry = geometry;
+
+ var layer = new SoilLayer2D
+ {
+ Name = "Layer 1",
+ Soil = new Soil("OA", 17.70, 17.70)
+ };
+ layer.GeometrySurface = new GeometrySurface();
+ var outerLoop = new GeometryLoop();
+ var point1 = new Point2D(0, 1);
+ var point2 = new Point2D(100, 1);
+ var point3 = new Point2D(100, -5);
+ var point4 = new Point2D(0, -5);
+ outerLoop.CurveList.Add(new GeometryCurve(point1, point2));
+ outerLoop.CurveList.Add(new GeometryCurve(point2, point3));
+ outerLoop.CurveList.Add(new GeometryCurve(point3, point4));
+ outerLoop.CurveList.Add(new GeometryCurve(point4, point1));
+ layer.GeometrySurface.OuterLoop = outerLoop;
+ layer.WaterpressureInterpolationModel = WaterpressureInterpolationModel.Hydrostatic;
+ layer.IsAquifer = true;
+ soilProfile2D.Surfaces.Add(layer);
+
+ layer = new SoilLayer2D
+ {
+ Name = "Layer 2",
+ Soil = new Soil("LM", 18.00, 18.00)
+ };
+ layer.GeometrySurface = new GeometrySurface();
+ outerLoop = new GeometryLoop();
+ var point5 = new Point2D(0, -10);
+ var point6 = new Point2D(100, -10);
+ outerLoop.CurveList.Add(new GeometryCurve(point4, point3));
+ outerLoop.CurveList.Add(new GeometryCurve(point3, point6));
+ outerLoop.CurveList.Add(new GeometryCurve(point6, point5));
+ outerLoop.CurveList.Add(new GeometryCurve(point5, point4));
+ layer.GeometrySurface.OuterLoop = outerLoop;
+ layer.WaterpressureInterpolationModel = WaterpressureInterpolationModel.Hydrostatic;
+ layer.IsAquifer = true;
+ soilProfile2D.Surfaces.Add(layer);
+
+ return soilProfile2D;
+ }
+
}
}
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/Common/UpliftHelperTests.cs
===================================================================
diff -u -r1948 -r1949
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/Common/UpliftHelperTests.cs (.../UpliftHelperTests.cs) (revision 1948)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/Common/UpliftHelperTests.cs (.../UpliftHelperTests.cs) (revision 1949)
@@ -1,10 +1,7 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
+using System.IO;
using Deltares.DamEngine.Calculators.KernelWrappers.Common;
using Deltares.DamEngine.Calculators.Tests.KernelWrappers.DamMacroStabilityCommon;
using Deltares.DamEngine.Data.General;
-using Deltares.DamEngine.Data.Geometry;
using Deltares.DamEngine.Data.Geotechnics;
using Deltares.DamEngine.TestHelpers.Factories;
using NUnit.Framework;
@@ -36,8 +33,7 @@
[Test]
public void TestDetermineStabilityUpliftWithSoilProfile2D()
{
- SoilProfile2D soilProfile2D = CreateSoilProfile2D();
- //Assert.AreEqual(3, soilProfile2D.Geometry.Curves.Count);
+ SoilProfile2D soilProfile2D = DamMacroStabilityTestHelper.CreateSoilProfile2D();
var damKernelInput = CreateDamKernelInput();
damKernelInput.SubSoilScenario.SoilProfileType = SoilProfileType.ProfileType2D;
@@ -81,56 +77,6 @@
return damKernelInput;
}
- private static SoilProfile2D CreateSoilProfile2D()
- {
- SoilProfile2D soilProfile2D = new SoilProfile2D();
- var geometry = new GeometryData();
- geometry.Left = 0;
- geometry.Right = 100;
- geometry.Bottom = -10;
- soilProfile2D.Geometry = geometry;
-
- var layer = new SoilLayer2D
- {
- Name = "Layer 1",
- Soil = new Soil("OA", 17.70, 17.70)
- };
- layer.GeometrySurface = new GeometrySurface();
- var outerLoop = new GeometryLoop();
- var point1 = new Point2D(0, 1);
- var point2 = new Point2D(100, 1);
- var point3 = new Point2D(100, -5);
- var point4 = new Point2D(0, -5);
- outerLoop.CurveList.Add(new GeometryCurve(point1, point2));
- outerLoop.CurveList.Add(new GeometryCurve(point2, point3));
- outerLoop.CurveList.Add(new GeometryCurve(point3, point4));
- outerLoop.CurveList.Add(new GeometryCurve(point4, point1));
- layer.GeometrySurface.OuterLoop = outerLoop;
- layer.WaterpressureInterpolationModel = WaterpressureInterpolationModel.Hydrostatic;
- layer.IsAquifer = true;
- soilProfile2D.Surfaces.Add(layer);
-
- layer = new SoilLayer2D
- {
- Name = "Layer 2",
- Soil = new Soil("LM", 18.00, 18.00)
- };
- layer.GeometrySurface = new GeometrySurface();
- outerLoop = new GeometryLoop();
- var point5 = new Point2D(0, -10);
- var point6 = new Point2D(100, -10);
- outerLoop.CurveList.Add(new GeometryCurve(point4, point3));
- outerLoop.CurveList.Add(new GeometryCurve(point3, point6));
- outerLoop.CurveList.Add(new GeometryCurve(point6, point5));
- outerLoop.CurveList.Add(new GeometryCurve(point5, point4));
- layer.GeometrySurface.OuterLoop = outerLoop;
- layer.WaterpressureInterpolationModel = WaterpressureInterpolationModel.Hydrostatic;
- layer.IsAquifer = true;
- soilProfile2D.Surfaces.Add(layer);
-
- return soilProfile2D;
- }
-
}
}