Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Design/DesignScenario.cs =================================================================== diff -u -r2567 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Design/DesignScenario.cs (.../DesignScenario.cs) (revision 2567) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Design/DesignScenario.cs (.../DesignScenario.cs) (revision 2575) @@ -177,7 +177,7 @@ /// The required safety factor stability inner slope. /// [Description("Required safety factor stability inner slope")] - public double? RequiredSafetyFactorStabilityInnerSlope + public double RequiredSafetyFactorStabilityInnerSlope { get { return ModelFactors.RequiredSafetyFactorStabilityInnerSlope; } set @@ -193,7 +193,7 @@ /// The required safety factor stability outer slope. /// [Description("Required safety factor stability outer slope")] - public double? RequiredSafetyFactorStabilityOuterSlope + public double RequiredSafetyFactorStabilityOuterSlope { get { return ModelFactors.RequiredSafetyFactorStabilityOuterSlope; } set @@ -209,7 +209,7 @@ /// The required safety factor piping. /// [Description("Required safety factor piping")] - public double? RequiredSafetyFactorPiping + public double RequiredSafetyFactorPiping { get { return ModelFactors.RequiredSafetyFactorPiping; } set @@ -225,7 +225,7 @@ /// The uplift criterion piping. /// [Description("Uplift criterion piping")] - public double? UpliftCriterionPiping + public double UpliftCriterionPiping { get { return ModelFactors.UpliftCriterionPiping; } set @@ -241,7 +241,7 @@ /// The uplift criterion stability. /// [Description("Uplift criterion stability")] - public double? UpliftCriterionStability + public double UpliftCriterionStability { get { return ModelFactors.UpliftCriterionStability; } set @@ -615,8 +615,8 @@ RiverLevel, RiverLevelLow.HasValue ? RiverLevelLow.ToString() : "?", DikeTableHeight.HasValue ? DikeTableHeight.ToString() : "?", - ModelFactors.RequiredSafetyFactorStabilityInnerSlope.HasValue ? ModelFactors.RequiredSafetyFactorStabilityInnerSlope.ToString() : "?", - ModelFactors.RequiredSafetyFactorStabilityOuterSlope.HasValue ? ModelFactors.RequiredSafetyFactorStabilityOuterSlope.ToString() : "?", + ModelFactors.RequiredSafetyFactorStabilityInnerSlope, + ModelFactors.RequiredSafetyFactorStabilityOuterSlope, PlLineOffsetBelowDikeTopAtRiver, PlLineOffsetBelowDikeToeAtPolder, PlLineOffsetBelowDikeTopAtPolder, Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingBligh/DamPipingBlighKernelWrapper.cs =================================================================== diff -u -r2193 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingBligh/DamPipingBlighKernelWrapper.cs (.../DamPipingBlighKernelWrapper.cs) (revision 2193) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingBligh/DamPipingBlighKernelWrapper.cs (.../DamPipingBlighKernelWrapper.cs) (revision 2575) @@ -99,7 +99,7 @@ XSoilGeometry2DOrigin = location.XSoilGeometry2DOrigin }; // The tolerance is built in because after design it could be that the value that is designed to, is not reached by this margin - double upliftCriterion = location.UpliftCriterionPiping.Value - upliftCriterionTolerance; + double upliftCriterion = location.UpliftCriterionPiping - upliftCriterionTolerance; var upliftLocationAndResult = upliftLocationDeterminator.GetLocationAndResult(upliftCriterion); upliftSituation.IsUplift = (upliftLocationAndResult != null); double xEntry = surfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtRiver).X; @@ -290,8 +290,8 @@ UpliftLocationAndResult upliftLocationAndResult; DamPipingHelper.DeterminePlLinesAndUpliftLocation(damKernelInput, point, out plLines, out upliftLocationAndResult); - double requiredFoS = location.ModelFactors.RequiredSafetyFactorPiping.Value; - double upliftCriterion = location.UpliftCriterionPiping.Value; + double requiredFoS = location.ModelFactors.RequiredSafetyFactorPiping; + double upliftCriterion = location.UpliftCriterionPiping; // if there is no uplift, then there is no piping so return null if (upliftLocationAndResult != null) { @@ -344,7 +344,7 @@ ThrowWhenKernelInputNull(damPipingBlighInput); ThrowWhenDamKernelInputNull(damKernelInput); ThrowWhenKernelOutputNull(damPipingBlighOutput); - double fosRequired = damKernelInput.Location.ModelFactors.RequiredSafetyFactorPiping.Value; + double fosRequired = damKernelInput.Location.ModelFactors.RequiredSafetyFactorPiping; double fosAchieved = damPipingBlighOutput.FoSp; evaluationMessage = String.Format(Resources.FactorAchievedVsFactorRequired, fosAchieved, fosRequired); designAdvise = DesignAdvise.None; Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapperTests.cs =================================================================== diff -u -r2173 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapperTests.cs (.../DamMacroStabilityOutwardsKernelWrapperTests.cs) (revision 2173) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapperTests.cs (.../DamMacroStabilityOutwardsKernelWrapperTests.cs) (revision 2575) @@ -429,88 +429,5 @@ kernelWrapper.PostProcess(damKernelInput, null, null, "", out results); } - [Test] - [ExpectedException(typeof(MacroStabilityException), ExpectedMessage = "De vereiste veiligheidsfactor ontbreekt")] - [SetUICulture("nl-NL")] - public void TestThrowsExceptionWhenRequiredSafetyFactorIsMissingNL() - { - PrepareWithInvalidFile(); - } - - [Test] - [ExpectedException(typeof(MacroStabilityException), ExpectedMessage = "Required safety factor must be specified")] - [SetUICulture("en-US")] - public void TestThrowsExceptionWhenRequiredSafetyFactorIsMissingEN() - { - PrepareWithInvalidFile(); - } - - private void PrepareWithInvalidFile() - { - // expected results are based on test CanCalculateStabilitySafetyFactorGeometry2D - // in 'https://repos.deltares.nl/repos/dam/dam classic' revision 190 - var soilDbName = Path.Combine(testFolder, "soilmaterials.mdb"); - var soilGeometry2DName = "1D1.sti"; - - var absoluteFolder = Path.GetFullPath(Path.Combine(Directory.GetCurrentDirectory(), testFolder)); - var workingDir = Path.Combine(absoluteFolder, "FullOut"); - // Relative paths in ini file do not work yet in DGeoStability 16.2. This is fixed in 18.1. - - if (Directory.Exists(workingDir)) - { - Directory.Delete(workingDir, true); - } - - var surfaceLine = FactoryForSurfaceLines.CreateSurfaceLineTutorial1(); - var location = DamMacroStabilityTestHelper.CreateLocation(surfaceLine); - location.StabilityOptions = new StabilityOptions - { - TrafficLoad = 10.0, - SoilGeometries2DPath = "", - SoilDatabaseName = soilDbName - }; - location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope = 1.1; - location.ModelFactors.UpliftCriterionStability = 1.2; - - var subSoilScenario = new SoilGeometryProbability - { - StiFileName = soilGeometry2DName, - SoilProfileType = SoilProfileType.ProfileTypeStiFile, - SegmentFailureMechanismType = SegmentFailureMechanismType.Stability - }; - - var failureMechanismParametersMStab = new FailureMechanismParametersMStab - { - MStabParameters = - { - GridPosition = MStabGridPosition.Left, - SearchMethod = MStabSearchMethod.GeneticAlgorithm, - CalculationOptions = - { - MinimalCircleDepth = 1.0 - } - }, - ProjectWorkingPath = workingDir - }; - - var damKernelInput = new DamKernelInput - { - Location = location, - SubSoilScenario = subSoilScenario, - ProjectDir = absoluteFolder, - CalculationDir = workingDir - }; - - var kernelWrapper = new DamMacroStabilityOutwardsKernelWrapper - { - FailureMechanismParametersMStab = failureMechanismParametersMStab - }; - - // Prepare the wrapper. Result is input for the calculation dll - IKernelDataInput damStabilityInput; - IKernelDataOutput kernelOutput; - damKernelInput.DamFailureMechanismeCalculationSpecification = new DamFailureMechanismeCalculationSpecification(); - kernelWrapper.Prepare(damKernelInput, 0, out damStabilityInput, out kernelOutput); - } } } Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs =================================================================== diff -u -r2193 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs (.../DamMacroStabilityOutwardsKernelWrapper.cs) (revision 2193) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs (.../DamMacroStabilityOutwardsKernelWrapper.cs) (revision 2575) @@ -193,10 +193,6 @@ var modelFactors = damKernelInput.Location.ModelFactors; var subSoilScenario = damKernelInput.SubSoilScenario; var requiredSafetyFactor = modelFactors.RequiredSafetyFactorStabilityOuterSlope; - if (requiredSafetyFactor == null) - { - throw new MacroStabilityException(Resources.DamMacroStabilityOutwardsKernelWrapper_Prepare_NoRequiredSafetyFactor); - } List errorMessages; XDocument mstabXml = MStabXmlDoc.CreateMStabXmlDoc( @@ -205,7 +201,7 @@ damKernelInput.RiverLevelHigh, damKernelInput.RiverLevelLow, subSoilScenario, - null, requiredSafetyFactor.Value, + null, requiredSafetyFactor, kernelDataInput.FailureMechanismParametersMStab, damKernelInput.TimeStepDateTime, out errorMessages); Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijerVnk/DamPipingSellmeijerVnkKernelWrapper.cs =================================================================== diff -u -r2193 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijerVnk/DamPipingSellmeijerVnkKernelWrapper.cs (.../DamPipingSellmeijerVnkKernelWrapper.cs) (revision 2193) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijerVnk/DamPipingSellmeijerVnkKernelWrapper.cs (.../DamPipingSellmeijerVnkKernelWrapper.cs) (revision 2575) @@ -93,7 +93,7 @@ XSoilGeometry2DOrigin = location.XSoilGeometry2DOrigin }; // The tolerance is built in because after design it could be that the value that is designed to, is not reached by this margin - var upliftCriterion = location.UpliftCriterionPiping.Value - upliftCriterionTolerance; + var upliftCriterion = location.UpliftCriterionPiping - upliftCriterionTolerance; var upliftLocationAndResult = upliftLocationDeterminator.GetLocationAndResult(upliftCriterion); upliftSituation.IsUplift = (upliftLocationAndResult != null); var xEntry = surfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtRiver).X; @@ -291,8 +291,8 @@ UpliftLocationAndResult upliftLocationAndResult; DamPipingHelper.DeterminePlLinesAndUpliftLocation(damKernelInput, point, out plLines, out upliftLocationAndResult); - double requiredFoS = location.ModelFactors.RequiredSafetyFactorPiping.Value; - double upliftCriterion = location.UpliftCriterionPiping.Value; + double requiredFoS = location.ModelFactors.RequiredSafetyFactorPiping; + double upliftCriterion = location.UpliftCriterionPiping; // if there is no uplift, then there is no piping so return null if (upliftLocationAndResult != null) { @@ -344,7 +344,7 @@ ThrowWhenKernelInputNull(damPipingInput); ThrowWhenDamKernelInputNull(damKernelInput); ThrowWhenKernelOutputNull(damPipingOutput); - double fosRequiered = damKernelInput.Location.ModelFactors.RequiredSafetyFactorPiping.Value; + double fosRequiered = damKernelInput.Location.ModelFactors.RequiredSafetyFactorPiping; double fosAchieved = damPipingOutput.FoSp; evaluationMessage = String.Format(Resources.FactorAchievedVsFactorRequired, fosAchieved, fosRequiered); designAdvise = DesignAdvise.None; Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs =================================================================== diff -u -r2567 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 2567) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 2575) @@ -568,16 +568,11 @@ inputDesignScenario.HeadPl3 = designScenario.HeadPl3 ?? 0.0; inputDesignScenario.HeadPl4Specified = designScenario.HeadPl4.HasValue; inputDesignScenario.HeadPl4 = designScenario.HeadPl4 ?? 0.0; - inputDesignScenario.UpliftCriterionStabilitySpecified = designScenario.UpliftCriterionStability.HasValue; - inputDesignScenario.UpliftCriterionStability = designScenario.UpliftCriterionStability ?? 0.0; - inputDesignScenario.UpliftCriterionPipingSpecified = designScenario.UpliftCriterionPiping.HasValue; - inputDesignScenario.UpliftCriterionPiping = designScenario.UpliftCriterionPiping ?? 0.0; - inputDesignScenario.RequiredSafetyFactorStabilityInnerSlopeSpecified = designScenario.RequiredSafetyFactorStabilityInnerSlope.HasValue; - inputDesignScenario.RequiredSafetyFactorStabilityInnerSlope = designScenario.RequiredSafetyFactorStabilityInnerSlope ?? 0.0; - inputDesignScenario.RequiredSafetyFactorStabilityOuterSlopeSpecified = designScenario.RequiredSafetyFactorStabilityOuterSlope.HasValue; - inputDesignScenario.RequiredSafetyFactorStabilityOuterSlope = designScenario.RequiredSafetyFactorStabilityOuterSlope ?? 0.0; - inputDesignScenario.RequiredSafetyFactorPipingSpecified = designScenario.RequiredSafetyFactorPiping.HasValue; - inputDesignScenario.RequiredSafetyFactorPiping = designScenario.RequiredSafetyFactorPiping ?? 0.0; + inputDesignScenario.UpliftCriterionStability = designScenario.UpliftCriterionStability; + inputDesignScenario.UpliftCriterionPiping = designScenario.UpliftCriterionPiping; + inputDesignScenario.RequiredSafetyFactorStabilityInnerSlope = designScenario.RequiredSafetyFactorStabilityInnerSlope; + inputDesignScenario.RequiredSafetyFactorStabilityOuterSlope = designScenario.RequiredSafetyFactorStabilityOuterSlope; + inputDesignScenario.RequiredSafetyFactorPiping = designScenario.RequiredSafetyFactorPiping; inputLocation.DesignScenarios[j] = inputDesignScenario; } Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijer4Forces/DamPipingSellmeijer4ForcesKernelWrapper.cs =================================================================== diff -u -r2193 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijer4Forces/DamPipingSellmeijer4ForcesKernelWrapper.cs (.../DamPipingSellmeijer4ForcesKernelWrapper.cs) (revision 2193) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijer4Forces/DamPipingSellmeijer4ForcesKernelWrapper.cs (.../DamPipingSellmeijer4ForcesKernelWrapper.cs) (revision 2575) @@ -96,7 +96,7 @@ XSoilGeometry2DOrigin = location.XSoilGeometry2DOrigin }; // The tolerance is built in because after design it could be that the value that is designed to, is not reached by this margin - var upliftCriterion = location.UpliftCriterionPiping.Value - upliftCriterionTolerance; + var upliftCriterion = location.UpliftCriterionPiping - upliftCriterionTolerance; var upliftLocationAndResult = upliftLocationDeterminator.GetLocationAndResult(upliftCriterion); upliftSituation.IsUplift = (upliftLocationAndResult != null); var xEntry = surfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtRiver).X; @@ -304,8 +304,8 @@ UpliftLocationAndResult upliftLocationAndResult; DamPipingHelper.DeterminePlLinesAndUpliftLocation(damKernelInput, point, out plLines, out upliftLocationAndResult); - double requiredFoS = location.ModelFactors.RequiredSafetyFactorPiping.Value; - double upliftCriterion = location.UpliftCriterionPiping.Value; + double requiredFoS = location.ModelFactors.RequiredSafetyFactorPiping; + double upliftCriterion = location.UpliftCriterionPiping; // if there is no uplift, then there is no piping so return null if (upliftLocationAndResult != null) { @@ -357,7 +357,7 @@ ThrowWhenKernelInputNull(damPipingInput); ThrowWhenDamKernelInputNull(damKernelInput); ThrowWhenKernelOutputNull(damPipingOutput); - double fosRequiered = damKernelInput.Location.ModelFactors.RequiredSafetyFactorPiping.Value; + double fosRequiered = damKernelInput.Location.ModelFactors.RequiredSafetyFactorPiping; double fosAchieved = damPipingOutput.FoSp; evaluationMessage = String.Format(Resources.FactorAchievedVsFactorRequired, fosAchieved, fosRequiered); designAdvise = DesignAdvise.None; Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapper.cs =================================================================== diff -u -r2406 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapper.cs (.../WtiPipingSellmeijerRevisedKernelWrapper.cs) (revision 2406) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapper.cs (.../WtiPipingSellmeijerRevisedKernelWrapper.cs) (revision 2575) @@ -284,8 +284,8 @@ UpliftLocationAndResult upliftLocationAndResult; DamPipingHelper.DeterminePlLinesAndUpliftLocation(damKernelInput, point, out plLines, out upliftLocationAndResult); - double requiredFoS = location.ModelFactors.RequiredSafetyFactorPiping.Value; - double upliftCriterion = location.UpliftCriterionPiping.Value; + double requiredFoS = location.ModelFactors.RequiredSafetyFactorPiping; + double upliftCriterion = location.UpliftCriterionPiping; // if there is no uplift, then there is no piping so return null if (upliftLocationAndResult != null) { @@ -349,7 +349,7 @@ ThrowWhenKernelInputNull(damPipingInput); ThrowWhenDamKernelInputNull(damKernelInput); ThrowWhenKernelOutputNull(damPipingOutput); - double fosRequiered = damKernelInput.Location.ModelFactors.RequiredSafetyFactorPiping.Value; + double fosRequiered = damKernelInput.Location.ModelFactors.RequiredSafetyFactorPiping; double fosAchieved = damPipingOutput.FoSbe; evaluationMessage = String.Format(Resources.FactorAchievedVsFactorRequired, fosAchieved, fosRequiered); designAdvise = DesignAdvise.None; @@ -406,7 +406,7 @@ XSoilGeometry2DOrigin = location.XSoilGeometry2DOrigin }; // The tolerance is built in because after design it could be that the value that is designed to, is not reached by this margin - var upliftCriterion = location.UpliftCriterionPiping.Value - upliftCriterionTolerance; + var upliftCriterion = location.UpliftCriterionPiping - upliftCriterionTolerance; var upliftLocationAndResult = upliftLocationDeterminator.GetLocationAndResult(upliftCriterion); upliftSituation.IsUplift = (upliftLocationAndResult != null); var xEntry = surfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtRiver).X; Index: DamEngine/trunk/src/Deltares.DamEngine.Data/General/ModelFactors.cs =================================================================== diff -u -r1974 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Data/General/ModelFactors.cs (.../ModelFactors.cs) (revision 1974) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/General/ModelFactors.cs (.../ModelFactors.cs) (revision 2575) @@ -23,17 +23,17 @@ { public class ModelFactors { - public virtual double? RequiredSafetyFactorStabilityInnerSlope { get; set; } + public virtual double RequiredSafetyFactorStabilityInnerSlope { get; set; } - public virtual double? RequiredSafetyFactorStabilityOuterSlope { get; set; } + public virtual double RequiredSafetyFactorStabilityOuterSlope { get; set; } - public virtual double? RequiredSafetyFactorPiping { get; set; } + public virtual double RequiredSafetyFactorPiping { get; set; } - public virtual double? UpliftCriterionPiping { get; set; } + public virtual double UpliftCriterionPiping { get; set; } - public virtual double? UpliftCriterionStability { get; set; } + public virtual double UpliftCriterionStability { get; set; } - public double?[] AllValues + public double[] AllValues { get { Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityCommon/MStabXmlDoc.cs =================================================================== diff -u -r2494 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityCommon/MStabXmlDoc.cs (.../MStabXmlDoc.cs) (revision 2494) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityCommon/MStabXmlDoc.cs (.../MStabXmlDoc.cs) (revision 2575) @@ -198,7 +198,7 @@ var upliftLocationAndResult = CalculationHelper.GetLocationWithLowestUpliftFactor(currentSurfaceLine, subSoilScenario.SoilProfile1D, soilGeometry2DName, failureMechanismParametersMStab.PlLines, location); - double upliftCriterion = location.ModelFactors.UpliftCriterionStability.Value; + double upliftCriterion = location.ModelFactors.UpliftCriterionStability; bool isUplift = (upliftLocationAndResult != null) && (upliftLocationAndResult.UpliftFactor < upliftCriterion); double xCoordinateLastUpliftPoint = isUplift Index: DamEngine/trunk/src/Deltares.DamEngine.Data/General/Location.cs =================================================================== diff -u -r2405 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Data/General/Location.cs (.../Location.cs) (revision 2405) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/General/Location.cs (.../Location.cs) (revision 2575) @@ -284,7 +284,7 @@ /// /// The uplift criterion stability. /// - public virtual double? UpliftCriterionStability + public virtual double UpliftCriterionStability { get { @@ -302,7 +302,7 @@ /// /// The uplift criterion piping. /// - public virtual double? UpliftCriterionPiping + public virtual double UpliftCriterionPiping { get { Index: DamEngine/trunk/xsd/DamLocation.xsd =================================================================== diff -u -r2567 -r2575 --- DamEngine/trunk/xsd/DamLocation.xsd (.../DamLocation.xsd) (revision 2567) +++ DamEngine/trunk/xsd/DamLocation.xsd (.../DamLocation.xsd) (revision 2575) @@ -103,11 +103,11 @@ - - - - - + + + + + Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx =================================================================== diff -u -r2158 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx (.../Resources.nl-NL.resx) (revision 2158) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx (.../Resources.nl-NL.resx) (revision 2575) @@ -129,9 +129,6 @@ Model Horizontaal Evenwicht ondersteunt geen 2D profielen. - - Vereiste evenwichtsfactor is niet opgegeven. - Het gebruik van zones is niet toegestaan voor buitenwaardse stabiliteit. Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs =================================================================== diff -u -r2158 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 2158) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 2575) @@ -97,15 +97,6 @@ } /// - /// Looks up a localized string similar to Required safety factor must be specified.. - /// - internal static string DamMacroStabilityKernelWrapper_NoRequiredSafetyFactorSpecified { - get { - return ResourceManager.GetString("DamMacroStabilityKernelWrapper_NoRequiredSafetyFactorSpecified", resourceCulture); - } - } - - /// /// Looks up a localized string similar to The use of Zone Areas is not allowed for stability outside.. /// internal static string DamMacroStabilityKernelWrapper_OutsideWithZoneAreasNotAllowed { @@ -145,15 +136,6 @@ } /// - /// Looks up a localized string similar to Required safety factor must be specified. - /// - internal static string DamMacroStabilityOutwardsKernelWrapper_Prepare_NoRequiredSafetyFactor { - get { - return ResourceManager.GetString("DamMacroStabilityOutwardsKernelWrapper_Prepare_NoRequiredSafetyFactor", resourceCulture); - } - } - - /// /// Looks up a localized string similar to No Dam input object defined for Bligh. /// internal static string DamPipingBlighKernelWrapper_NoDamInputObjectDefinedForBligh { Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs =================================================================== diff -u -r2567 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 2567) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 2575) @@ -571,11 +571,11 @@ designScenario.PlLineOffsetFactorBelowShoulderCrest = inputLocationDesignScenario.PlLineOffsetFactorBelowShoulderCrest; designScenario.HeadPl3 = (inputLocationDesignScenario.HeadPl3Specified ? (double?)inputLocationDesignScenario.HeadPl3 : null); designScenario.HeadPl4 = (inputLocationDesignScenario.HeadPl4Specified ? (double?)inputLocationDesignScenario.HeadPl4 : null); - designScenario.UpliftCriterionStability = (inputLocationDesignScenario.UpliftCriterionStabilitySpecified ? (double?)inputLocationDesignScenario.UpliftCriterionStability : null); - designScenario.UpliftCriterionPiping = (inputLocationDesignScenario.UpliftCriterionPipingSpecified ? (double?)inputLocationDesignScenario.UpliftCriterionPiping : null); - designScenario.RequiredSafetyFactorStabilityInnerSlope = (inputLocationDesignScenario.RequiredSafetyFactorStabilityInnerSlopeSpecified ? (double?)inputLocationDesignScenario.RequiredSafetyFactorStabilityInnerSlope : null); - designScenario.RequiredSafetyFactorStabilityOuterSlope = (inputLocationDesignScenario.RequiredSafetyFactorStabilityOuterSlopeSpecified ? (double?)inputLocationDesignScenario.RequiredSafetyFactorStabilityOuterSlope : null); - designScenario.RequiredSafetyFactorPiping = (inputLocationDesignScenario.RequiredSafetyFactorPipingSpecified ? (double?)inputLocationDesignScenario.RequiredSafetyFactorPiping : null); + designScenario.UpliftCriterionStability = inputLocationDesignScenario.UpliftCriterionStability; + designScenario.UpliftCriterionPiping = inputLocationDesignScenario.UpliftCriterionPiping; + designScenario.RequiredSafetyFactorStabilityInnerSlope = inputLocationDesignScenario.RequiredSafetyFactorStabilityInnerSlope; + designScenario.RequiredSafetyFactorStabilityOuterSlope = inputLocationDesignScenario.RequiredSafetyFactorStabilityOuterSlope; + designScenario.RequiredSafetyFactorPiping = inputLocationDesignScenario.RequiredSafetyFactorPiping; location.Scenarios.Add(designScenario); } Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs =================================================================== diff -u -r2567 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 2567) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 2575) @@ -329,28 +329,13 @@ } // Synchronize piping design parameters - if (designScenario.UpliftCriterionPiping.HasValue) - { - location.UpliftCriterionPiping = designScenario.UpliftCriterionPiping.Value; - } - if (designScenario.RequiredSafetyFactorPiping.HasValue) - { - location.ModelFactors.RequiredSafetyFactorPiping = designScenario.RequiredSafetyFactorPiping.Value; - } + location.UpliftCriterionPiping = designScenario.UpliftCriterionPiping; + location.ModelFactors.RequiredSafetyFactorPiping = designScenario.RequiredSafetyFactorPiping; // Synchronize stability design parameters - if (designScenario.UpliftCriterionStability.HasValue) - { - location.UpliftCriterionStability = designScenario.UpliftCriterionStability.Value; - } - if (designScenario.RequiredSafetyFactorStabilityInnerSlope.HasValue) - { - location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope = designScenario.RequiredSafetyFactorStabilityInnerSlope.Value; - } - if (designScenario.RequiredSafetyFactorStabilityOuterSlope.HasValue) - { - location.ModelFactors.RequiredSafetyFactorStabilityOuterSlope = designScenario.RequiredSafetyFactorStabilityOuterSlope.Value; - } + location.UpliftCriterionStability = designScenario.UpliftCriterionStability; + location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope = designScenario.RequiredSafetyFactorStabilityInnerSlope; + location.ModelFactors.RequiredSafetyFactorStabilityOuterSlope = designScenario.RequiredSafetyFactorStabilityOuterSlope; if (designScenario.DikeTableHeight.HasValue) { location.DikeTableHeight = designScenario.DikeTableHeight ?? location.SurfaceLine.GetDefaultDikeTableHeight() ?? 0; Index: DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs =================================================================== diff -u -r2567 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs (.../DamInput.cs) (revision 2567) +++ DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs (.../DamInput.cs) (revision 2575) @@ -3536,24 +3536,14 @@ private double upliftCriterionStabilityField; - private bool upliftCriterionStabilityFieldSpecified; - private double upliftCriterionPipingField; - private bool upliftCriterionPipingFieldSpecified; - private double requiredSafetyFactorStabilityInnerSlopeField; - private bool requiredSafetyFactorStabilityInnerSlopeFieldSpecified; - private double requiredSafetyFactorStabilityOuterSlopeField; - private bool requiredSafetyFactorStabilityOuterSlopeFieldSpecified; - private double requiredSafetyFactorPipingField; - private bool requiredSafetyFactorPipingFieldSpecified; - /// [System.Xml.Serialization.XmlAttributeAttribute()] public string Id { @@ -3764,17 +3754,6 @@ } /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool UpliftCriterionStabilitySpecified { - get { - return this.upliftCriterionStabilityFieldSpecified; - } - set { - this.upliftCriterionStabilityFieldSpecified = value; - } - } - - /// [System.Xml.Serialization.XmlAttributeAttribute()] public double UpliftCriterionPiping { get { @@ -3786,17 +3765,6 @@ } /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool UpliftCriterionPipingSpecified { - get { - return this.upliftCriterionPipingFieldSpecified; - } - set { - this.upliftCriterionPipingFieldSpecified = value; - } - } - - /// [System.Xml.Serialization.XmlAttributeAttribute()] public double RequiredSafetyFactorStabilityInnerSlope { get { @@ -3808,17 +3776,6 @@ } /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RequiredSafetyFactorStabilityInnerSlopeSpecified { - get { - return this.requiredSafetyFactorStabilityInnerSlopeFieldSpecified; - } - set { - this.requiredSafetyFactorStabilityInnerSlopeFieldSpecified = value; - } - } - - /// [System.Xml.Serialization.XmlAttributeAttribute()] public double RequiredSafetyFactorStabilityOuterSlope { get { @@ -3830,17 +3787,6 @@ } /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RequiredSafetyFactorStabilityOuterSlopeSpecified { - get { - return this.requiredSafetyFactorStabilityOuterSlopeFieldSpecified; - } - set { - this.requiredSafetyFactorStabilityOuterSlopeFieldSpecified = value; - } - } - - /// [System.Xml.Serialization.XmlAttributeAttribute()] public double RequiredSafetyFactorPiping { get { @@ -3850,17 +3796,6 @@ this.requiredSafetyFactorPipingField = value; } } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool RequiredSafetyFactorPipingSpecified { - get { - return this.requiredSafetyFactorPipingFieldSpecified; - } - set { - this.requiredSafetyFactorPipingFieldSpecified = value; - } - } } /// Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs =================================================================== diff -u -r2193 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs (.../MacroStabilityInwardsKernelWrapper.cs) (revision 2193) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs (.../MacroStabilityInwardsKernelWrapper.cs) (revision 2575) @@ -457,7 +457,7 @@ ThrowWhenMacroStabilityKernelOutputNull(macroStabilityOutput); ThrowWhenMacroStabilityDamKernelInputNull(damKernelInput); - double fosRequired = damKernelInput.Location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope.Value; + double fosRequired = damKernelInput.Location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope; double fosAchieved = macroStabilityOutput.StabilityOutputItems[0].SafetyFactor; double exitPointXCoordinate = macroStabilityOutput.StabilityOutputItems[0].CircleSurfacePointRightXCoordinate; GeometryPoint limitPointForShoulderDesign = damKernelInput.Location.SurfaceLine.GetLimitPointForShoulderDesign(); Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs =================================================================== diff -u -r2193 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs (.../DamMacroStabilityInwardsKernelWrapper.cs) (revision 2193) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs (.../DamMacroStabilityInwardsKernelWrapper.cs) (revision 2575) @@ -319,10 +319,6 @@ var stabilityProjectFilename = kernelDataInput.DGeoStabilityInputFileName; var subSoilScenario = damKernelInput.SubSoilScenario; var requiredSafetyFactor = damKernelInput.Location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope; - if (requiredSafetyFactor == null) - { - throw new MacroStabilityException(Resources.DamMacroStabilityKernelWrapper_NoRequiredSafetyFactorSpecified); - } List errorMessages; XDocument mstabXml = MStabXmlDoc.CreateMStabXmlDoc( @@ -332,7 +328,7 @@ damKernelInput.RiverLevelLow, subSoilScenario, FailureMechanismParametersMStab.EmbankmentDesignParameters, - requiredSafetyFactor.Value, + requiredSafetyFactor, kernelDataInput.FailureMechanismParametersMStab, damKernelInput.TimeStepDateTime, out errorMessages); @@ -497,7 +493,7 @@ DamMacroStabilityUtils.ThrowWhenMacroStabilityKernelInputNull(damMacroStabilityInput); DamMacroStabilityUtils.ThrowWhenMacroStabilityKernelOutputNull(damMacroStabilityOutput); DamMacroStabilityUtils.ThrowWhenMacroStabilityDamKernelInputNull(damKernelInput); - double fosRequired = damKernelInput.Location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope.Value; + double fosRequired = damKernelInput.Location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope; var zoneResult = damMacroStabilityOutput.StabilityOutputItems[0].Zone1Results; double fosAchieved = zoneResult.SafetyFactor; double exitPointXCoordinate = zoneResult.CircleSurfacePointRightXCoordinate; @@ -603,7 +599,7 @@ damKernelInput.RiverLevelLow, subSoilScenario, embankmentDesignParametersForCreatingMstabFile, - location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope.Value, + location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope, damMacroStabilityInput.FailureMechanismParametersMStab, damKernelInput.TimeStepDateTime, out errorMessages); Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx =================================================================== diff -u -r2158 -r2575 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx (.../Resources.resx) (revision 2158) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx (.../Resources.resx) (revision 2575) @@ -261,9 +261,6 @@ Design not support for this model ({0}). - - Required safety factor must be specified. - Location '{0}', subsoil scenario '{1}', design scenario '{2}': The calculation failed with error message '{3}'