Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/General/CalculationHelper.cs =================================================================== diff -u -r692 -r711 --- dam engine/trunk/src/Deltares.DamEngine.Calculators/General/CalculationHelper.cs (.../CalculationHelper.cs) (revision 692) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/General/CalculationHelper.cs (.../CalculationHelper.cs) (revision 711) @@ -114,7 +114,6 @@ SurfaceLine = location.SurfaceLine, PLLines = plLines, SoilProfile = location.GetMostProbableProfile(FailureMechanismSystemType.StabilityInside), - TrafficLoad = location.TrafficLoad, MStabParameters = new MStabParameters { @@ -132,6 +131,10 @@ } } }; + if (location.StabilityOptions?.TrafficLoad != null) + { + damCalculation.FailureMechanismeParamatersMStab.TrafficLoad = location.StabilityOptions.TrafficLoad.Value; + } damCalculation.FailureMechanismeParamatersMStab.MStabParameters.GridPosition = failureMechanismType == FailureMechanismSystemType.StabilityOutside ? MStabGridPosition.Left : MStabGridPosition.Right; @@ -155,18 +158,24 @@ parameters.IsProbabilistic = mstabParameters.IsProbabilistic; parameters.SearchMethod = mstabParameters.SearchMethod; parameters.CalculationOptions = mstabParameters.CalculationOptions; - parameters.CalculationOptions.MinimalCircleDepth = location.MinimalCircleDepth; + if (location.StabilityOptions?.MinimalCircleDepth != null) + { + parameters.CalculationOptions.MinimalCircleDepth = location.StabilityOptions.MinimalCircleDepth.Value; + } parameters.ZoneAreas = new MStabZoneAreas { SafetyFactorZone1A = location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope.Value, SafetyFactorZone1B = location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope.Value, DikeTableHeight = location.SurfaceLine.GetDefaultDikeTableHeight().Value, - DikeTableWidth = location.ZoneAreaRestSlopeCrestWidth, XCoordinateDikeTopAtPolder = location.SurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder).X, XCoordinateDikeTopAtRiver = location.SurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver).X, XCoordinateStartRestProfile = location.SurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver).X }; + if (location.StabilityOptions?.ZoneAreaRestSlopeCrestWidth != null) + { + parameters.ZoneAreas.DikeTableWidth = location.StabilityOptions.ZoneAreaRestSlopeCrestWidth.Value; + } // Slip circle definition for Uplift Van; TODO: Combine with code in StabilityCalculation parameters.SlipCircleDefinition.Assign(mstabParameters.SlipCircleDefinition); @@ -186,7 +195,7 @@ { var surfaceLine = damCalculation.FailureMechanismeParamatersMStab.SurfaceLine; double maxZoneX = surfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder).X + - location.ForbiddenZoneFactor * (surfaceLine.GetDikeToeInward().X - surfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder).X); + location.StabilityOptions.ForbiddenZoneFactor.Value * (surfaceLine.GetDikeToeInward().X - surfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder).X); parameters.ForbiddenZone = new MStabForbiddenZone { IsXEntryMinUsed = false, @@ -436,7 +445,11 @@ { SoilProfile1D soilProfile = location.GetMostProbableProfile(FailureMechanismSystemType.StabilityInside); soilGeometry2DName = location.GetMostProbableGeometry2DName(FailureMechanismSystemType.StabilityInside); - string mapForSoilGeometries2D = location.MapForSoilGeometries2D; + string mapForSoilGeometries2D = ""; + if (location.StabilityOptions != null) + { + mapForSoilGeometries2D = location.StabilityOptions.MapForSoilGeometries2D; + } if ((soilGeometry2DName != null) && (mapForSoilGeometries2D != null)) { soilGeometry2DName = Path.Combine(mapForSoilGeometries2D, soilGeometry2DName);