Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityCommon/MStabXmlDoc.cs
===================================================================
diff -u -r838 -r841
--- dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityCommon/MStabXmlDoc.cs (.../MStabXmlDoc.cs) (revision 838)
+++ dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityCommon/MStabXmlDoc.cs (.../MStabXmlDoc.cs) (revision 841)
@@ -42,18 +42,15 @@
///
///
///
- ///
///
- ///
- ///
///
///
///
///
public static XDocument CreateMStabXmlDoc(string mstabProjectFilename, DesignScenario scenario,
- SoilGeometryProbability subSoilScenario, double riverLevel,
- MStabDesignEmbankment mstabDesignEmbankment, SurfaceLine2 surfaceLine,
- double? trafficLoad, double requiredSafetyFactor, FailureMechanismeParamatersMStab failureMechanismeParamatersMStab,
+ SoilGeometryProbability subSoilScenario,
+ MStabDesignEmbankment mstabDesignEmbankment,
+ double requiredSafetyFactor, FailureMechanismeParamatersMStab failureMechanismeParamatersMStab,
out List errorMessages)
{
@@ -104,11 +101,11 @@
// Design options
failureMechanismeParamatersMStab.Design = mstabDesignEmbankment;
- failureMechanismeParamatersMStab.SurfaceLine = surfaceLine;
- failureMechanismeParamatersMStab.RiverLevel = riverLevel; // scenario.RiverLevel;
+ failureMechanismeParamatersMStab.SurfaceLine = scenario.Location.SurfaceLine;
+ failureMechanismeParamatersMStab.RiverLevel = scenario.RiverLevel;
failureMechanismeParamatersMStab.DikeTableHeight =
- scenario.DikeTableHeight ?? surfaceLine.GetDefaultDikeTableHeight() ?? 0;
- if (trafficLoad != null) failureMechanismeParamatersMStab.TrafficLoad = trafficLoad.Value;
+ scenario.DikeTableHeight ?? scenario.Location.SurfaceLine.GetDefaultDikeTableHeight() ?? 0;
+ failureMechanismeParamatersMStab.TrafficLoad = scenario.Location.StabilityOptions.TrafficLoad ?? 0;
// Horizontal balance; TODO: Combine with code in StabilityCalculation
if (failureMechanismeParamatersMStab.MStabParameters.Model == MStabModelType.HorizontalBalance)
@@ -120,10 +117,10 @@
}
failureMechanismeParamatersMStab.MStabParameters.HorizontalBalanceArea = new HorizontalBalanceArea();
failureMechanismeParamatersMStab.MStabParameters.HorizontalBalanceArea.XLeft =
- surfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtRiver).X;
+ scenario.Location.SurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtRiver).X;
failureMechanismeParamatersMStab.MStabParameters.HorizontalBalanceArea.XRight =
- surfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder).X;
- failureMechanismeParamatersMStab.MStabParameters.HorizontalBalanceArea.YTop = riverLevel;
+ scenario.Location.SurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder).X;
+ failureMechanismeParamatersMStab.MStabParameters.HorizontalBalanceArea.YTop = scenario.RiverLevel;
failureMechanismeParamatersMStab.MStabParameters.HorizontalBalanceArea.YBottom =
profile1D.InBetweenAquiferLayer?.TopLevel ?? profile1D.BottomAquiferLayer.TopLevel;
int planeCount =
@@ -134,12 +131,12 @@
}
// Zonestype is ZoneAreas; TODO: Combine with code in StabilityCalculation
- var dikeTopAtPolder = surfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
+ var dikeTopAtPolder = scenario.Location.SurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
if (
failureMechanismeParamatersMStab.MStabParameters.CalculationOptions.ZonesType.Equals(
MStabZonesType.ZoneAreas))
{
- double? dikeTableHeight = scenario.DikeTableHeight ?? surfaceLine.GetDefaultDikeTableHeight() ?? null;
+ double? dikeTableHeight = scenario.DikeTableHeight ?? scenario.Location.SurfaceLine.GetDefaultDikeTableHeight() ?? null;
if (!dikeTableHeight.HasValue)
throw new DamFailureMechanismeCalculatorException("Surface line has no dike table height.");
failureMechanismeParamatersMStab.MStabParameters.ZoneAreas = new MStabZoneAreas
@@ -148,8 +145,8 @@
SafetyFactorZone1A = requiredSafetyFactor,
SafetyFactorZone1B = requiredSafetyFactor,
XCoordinateDikeTopAtPolder = dikeTopAtPolder.X,
- XCoordinateDikeTopAtRiver = surfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver).X,
- XCoordinateStartRestProfile = surfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver).X
+ XCoordinateDikeTopAtRiver = scenario.Location.SurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver).X,
+ XCoordinateStartRestProfile = scenario.Location.SurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver).X
};
if (scenario.Location.StabilityOptions?.ZoneAreaRestSlopeCrestWidth != null)
{
@@ -159,7 +156,7 @@
if (failureMechanismeParamatersMStab.MStabParameters.CalculationOptions.ZonesType.Equals(MStabZonesType.ForbiddenZone))
{
- failureMechanismeParamatersMStab.MStabParameters.ForbiddenZone = CreateForbiddenZone(scenario, surfaceLine);
+ failureMechanismeParamatersMStab.MStabParameters.ForbiddenZone = CreateForbiddenZone(scenario, scenario.Location.SurfaceLine);
}
// Make sure riverlevel is correct with respect to surfaceline
@@ -168,8 +165,8 @@
{
riverLevelLow = scenario.RiverLevelLow.Value;
}
- double? riverLevelHigh = riverLevel;
- var surfaceLevelOutside = surfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.SurfaceLevelOutside);
+ double? riverLevelHigh = scenario.RiverLevel;
+ var surfaceLevelOutside = scenario.Location.SurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.SurfaceLevelOutside);
if (riverLevelHigh < surfaceLevelOutside.Z)
{
var riverLevelHighIsBelowSurfaceLevelOutside = Path.GetFileName(mstabProjectFilename) + ": " +
@@ -182,7 +179,7 @@
var currentSurfaceLine = scenario.GetMostRecentSurfaceLine(subSoilScenario.SoilProfile1D, Path.GetFileName(soilGeometry2DName));
if (currentSurfaceLine == null)
{
- currentSurfaceLine = surfaceLine;
+ currentSurfaceLine = scenario.Location.SurfaceLine;
}
var waterLevel = riverLevelHigh.Value;
Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs
===================================================================
diff -u -r838 -r841
--- dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs (.../DamMacroStabilityInwardsKernelWrapper.cs) (revision 838)
+++ dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs (.../DamMacroStabilityInwardsKernelWrapper.cs) (revision 841)
@@ -73,6 +73,7 @@
// if current model is BishopUpliftVan then set to Bishop for proper name/path for inputfile
model = MStabModelType.Bishop;
}
+
var damMacroStabilityInput = new DamMacroStabilityInput()
{
DGeoStabilityExePath = FailureMechanismeParamatersMStab.DGeoStabilityExePath,
@@ -233,9 +234,6 @@
var stabilityProjectFilename = kernelDataInput.DGeoStabilityInputFileName;
var scenario = damKernelInput.DesignScenario;
var subSoilScenario = damKernelInput.SubSoilScenario;
- var riverLevel = scenario.RiverLevel;
- var surfaceLine = scenario.Location.SurfaceLine;
- var trafficLoad = scenario.Location.StabilityOptions.TrafficLoad;
var requiredSafetyFactor = scenario.RequiredSafetyFactorStabilityInnerSlope?? scenario.Location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope;
if (requiredSafetyFactor == null)
{
@@ -244,7 +242,7 @@
List errorMessages;
XDocument mstabXml = MStabXmlDoc.CreateMStabXmlDoc(stabilityProjectFilename, scenario, subSoilScenario,
- riverLevel, null, surfaceLine, trafficLoad, requiredSafetyFactor.Value,
+ null, requiredSafetyFactor.Value,
kernelDataInput.FailureMechanismeParamatersMStab, out errorMessages);
mstabXml.Save(stabilityProjectFilename + ".xml");
Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs
===================================================================
diff -u -r838 -r841
--- dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs (.../DamMacroStabilityOutwardsKernelWrapper.cs) (revision 838)
+++ dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs (.../DamMacroStabilityOutwardsKernelWrapper.cs) (revision 841)
@@ -179,9 +179,6 @@
var stabilityProjectFilename = kernelDataInput.DGeoStabilityInputFileName;
var scenario = damKernelInput.DesignScenario;
var subSoilScenario = damKernelInput.SubSoilScenario;
- var riverLevel = scenario.RiverLevel;
- var surfaceLine = scenario.Location.SurfaceLine;
- var trafficLoad = scenario.Location.StabilityOptions.TrafficLoad;
var requiredSafetyFactor = scenario.RequiredSafetyFactorStabilityOuterSlope?? scenario.Location.ModelFactors.RequiredSafetyFactorStabilityOuterSlope;
if (requiredSafetyFactor == null)
{
@@ -190,7 +187,7 @@
List errorMessages;
XDocument mstabXml = MStabXmlDoc.CreateMStabXmlDoc(stabilityProjectFilename, scenario, subSoilScenario,
- riverLevel, null, surfaceLine, trafficLoad, requiredSafetyFactor.Value,
+ null, requiredSafetyFactor.Value,
kernelDataInput.FailureMechanismeParamatersMStab, out errorMessages);
mstabXml.Save(stabilityProjectFilename + ".xml");
Index: dam engine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityCommon/MStabXmlDocTests.cs
===================================================================
diff -u -r838 -r841
--- dam engine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityCommon/MStabXmlDocTests.cs (.../MStabXmlDocTests.cs) (revision 838)
+++ dam engine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityCommon/MStabXmlDocTests.cs (.../MStabXmlDocTests.cs) (revision 841)
@@ -63,9 +63,9 @@
var location = new Location();
var scenario = DamMacroStabilityTestHelper.CreateScenarioForLocation(location, line);
scenario.Location.SoildatabaseName = soilDbName;
+ scenario.Location.StabilityOptions = new StabilityOptions();
+ scenario.Location.StabilityOptions.TrafficLoad = 10.0;
- var surfaceLine = scenario.Location.SurfaceLine;
- var trafficLoad = 10.0;
var subSoilScenario = new SoilGeometryProbability();
subSoilScenario.StiFileName = soilGeometry2DName;
subSoilScenario.SoilProfileType = SoilProfileType.ProfileTypeStiFile;
@@ -79,7 +79,7 @@
MStabDesignEmbankment mStabDesignEmbankment = null;
XDocument mstabXml = MStabXmlDoc.CreateMStabXmlDoc(stabilityProjectFilename, scenario, subSoilScenario,
- scenario.RiverLevel, mStabDesignEmbankment, surfaceLine, trafficLoad, requiredSafetyFactor, failureMechanismeParamatersMStab,
+ mStabDesignEmbankment, requiredSafetyFactor, failureMechanismeParamatersMStab,
out errorMessages);
mstabXml.Save(xmlFileName);