Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Translations.xml =================================================================== diff -u -r1610 -r1947 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Translations.xml (.../Translations.xml) (revision 1610) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Translations.xml (.../Translations.xml) (revision 1947) @@ -378,8 +378,6 @@ - - @@ -472,7 +470,7 @@ - + @@ -600,7 +598,21 @@ - + + + + + + + + + + + + + + + Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/CsvExportData.cs =================================================================== diff -u -r1545 -r1947 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/CsvExportData.cs (.../CsvExportData.cs) (revision 1545) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/CsvExportData.cs (.../CsvExportData.cs) (revision 1947) @@ -80,8 +80,21 @@ private double? sellmeijer4ForcesHCritical; private double? sellmeijerPipingFactor; private double? sellmeijerHCritical; - private double? wti2017PipingFactor; - private double? wti2017HCritical; + private double? wti2017BackwardErosionSafetyFactor; + private double? wti2017BackwardErosionHcritical; + private double? wti2017UpliftSafetyFactor; + private double? wti2017UpliftHcritical; + private double? wti2017BackwardErosionDeltaPhiC; + private double? wti2017BackwardErosionDeltaPhiReduced; + private double? wti2017UpliftDeltaPhiC; + private double? wti2017HeaveSafetyFactor; + private double? wti2017HeaveHcritical; + private double? wti2017Gradient; + private double? wti2017SafetyFactorOverall; + private double? wti2017HcriticalOverall; + private double? wti2017EffectiveStress; + private double? wti2017CCreep; + private bool? isUplift; private double? pl3MinUplift; private double? pl3HeadAdjusted; @@ -369,7 +382,7 @@ } [Label("Message")] - [PropertyOrder(7,1)] + [PropertyOrder(8,1)] [ReadOnly(true)] public string ResultMessage { @@ -1256,26 +1269,25 @@ [Format("F3")] [Unit(UnitType.None)] [ReadOnly(true)] - //[Browsable(false)] + [PropertyOrder(6, 11)] public double? UpliftFactor { get { return upliftFactor; } set { upliftFactor = value; } } - [Label("Heave Factor")] [Format("F3")] [Unit(UnitType.None)] [ReadOnly(true)] - //[Browsable(false)] + [PropertyOrder(6, 12)] + [Browsable(false)] public double? HeaveFactor { get { return heaveFactor; } set { heaveFactor = value; } } [CsvExportColumn("BlighPipingFactor", 63)] - [Label("Bligh piping factor")] [Format("F3")] [Unit(UnitType.None)] [ReadOnly(true)] @@ -1371,40 +1383,312 @@ } /// - /// Gets or sets the wti2017 piping factor. + /// Gets or sets the wti2017 safety factor for backward erosion. /// /// - /// The wti2017 piping factor. + /// The wti2017 safety factor. /// - [Label("WTI 2017 piping factor")] [Format("F3")] [Unit(UnitType.None)] [ReadOnly(true)] - [Browsable(false)] - public double? Wti2017PipingFactor + [CsvExportColumn("Wti2017BackwardErosionSafetyFactor", 71)] + [PropertyOrder(7, 1)] + public double? Wti2017BackwardErosionSafetyFactor { - get { return wti2017PipingFactor; } - set { wti2017PipingFactor = value; } + get { return wti2017BackwardErosionSafetyFactor; } + set { wti2017BackwardErosionSafetyFactor = value; } } /// - /// Gets or sets the wti2017 h critical. + /// Gets or sets the wti2017 safety factor for Uplift. /// /// - /// The wti2017 h critical. + /// The wti2017 safety factor for Uplift. /// - [Label("WTI 2017 H Critical")] [Format("F3")] + [Unit(UnitType.None)] + [ReadOnly(true)] + [CsvExportColumn("Wti2017UpliftSafetyFactor", 72)] + [PropertyOrder(7, 5)] + public double? Wti2017UpliftSafetyFactor + { + get + { + return wti2017UpliftSafetyFactor; + } + set + { + wti2017UpliftSafetyFactor = value; + } + } + + /// + /// Gets or sets the wti2017 safety factor heave. + /// + /// + /// The wti2017 safety factor heave. + /// + [Format("F3")] + [Unit(UnitType.None)] + [ReadOnly(true)] + [CsvExportColumn("Wti2017HeaveSafetyFactor", 73)] + [PropertyOrder(7, 8)] + public double? Wti2017HeaveSafetyFactor + { + get + { + return wti2017HeaveSafetyFactor; + } + set + { + wti2017HeaveSafetyFactor = value; + } + } + + /// + /// Gets or sets the wti2017 safety factor overall (see MWDAM-1299). + /// + /// + /// The wti2017 safety factor overall. + /// + [Format("F3")] + [Unit(UnitType.None)] + [ReadOnly(true)] + [CsvExportColumn("Wti2017SafetyFactorOverall", 74)] + [PropertyOrder(7, 11)] + public double? Wti2017SafetyFactorOverall + { + get + { + return wti2017SafetyFactorOverall; + } + set + { + wti2017SafetyFactorOverall = value; + } + } + + /// + /// Gets or sets the wti2017 critical waterlevel for backward erosion. + /// + /// + /// The wti2017 critical waterlevel backward erosion. + /// + [Format("F3")] [Unit(UnitType.Length)] [ReadOnly(true)] - [Browsable(false)] - public double? Wti2017HCritical + [CsvExportColumn("Wti2017BackwardErosionHcritical", 75)] + [PropertyOrder(7, 2)] + public double? Wti2017BackwardErosionHcritical { - get { return wti2017HCritical; } - set { wti2017HCritical = value; } + get { return wti2017BackwardErosionHcritical; } + set { wti2017BackwardErosionHcritical = value; } } - [CsvExportColumn("DikeToeAtRiverXrd", 79)] + /// + /// Gets or sets the wti2017 critical waterlevel for Uplift. + /// + /// + /// The wti2017 hcritical uplift. + /// + [Format("F3")] + [Unit(UnitType.Length)] + [ReadOnly(true)] + [CsvExportColumn("Wti2017UpliftHcritical", 76)] + [PropertyOrder(7, 6)] + public double? Wti2017UpliftHcritical + { + get + { + return wti2017UpliftHcritical; + } + set + { + wti2017UpliftHcritical = value; + } + } + + /// + /// Gets or sets the wti2017 critical waterlevel for Heave. + /// + /// + /// The wti2017 hcritical heave. + /// + [Format("F3")] + [Unit(UnitType.Length)] + [ReadOnly(true)] + [CsvExportColumn("Wti2017HeaveHcritical", 77)] + [PropertyOrder(7, 9)] + public double? Wti2017HeaveHcritical + { + get + { + return wti2017HeaveHcritical; + } + set + { + wti2017HeaveHcritical = value; + } + } + + /// + /// Gets or sets the wti2017 critical waterlevel overall (see MWDAM-1299). + /// + /// + /// The wti2017 hcritical overall. + /// + [Format("F3")] + [Unit(UnitType.Length)] + [ReadOnly(true)] + [CsvExportColumn("Wti2017HcriticalOverall", 78)] + [PropertyOrder(7, 12)] + public double? Wti2017HcriticalOverall + { + get + { + return wti2017HcriticalOverall; + } + set + { + wti2017HcriticalOverall = value; + } + } + + /// + /// Gets or sets the wti2017 delta phi c be (backward erosion, critical head difference). + /// + /// + /// The wti2017 delta phi c be. + /// + [Format("F3")] + [Unit(UnitType.Length)] + [ReadOnly(true)] + [CsvExportColumn("Wti2017BackwardErosionDeltaPhiC", 79)] + [PropertyOrder(7, 3)] + public double? Wti2017BackwardErosionDeltaPhiC + { + get + { + return wti2017BackwardErosionDeltaPhiC; + } + set + { + wti2017BackwardErosionDeltaPhiC = value; + } + } + + /// + /// Gets or sets the wti2017 delta phi c be (backward erosion, reduced head difference). + /// + /// + /// The wti2017 delta phi c be. + /// + [Format("F3")] + [Unit(UnitType.Length)] + [ReadOnly(true)] + [CsvExportColumn("Wti2017BackwardErosionDeltaPhiReduced", 80)] + [PropertyOrder(7, 4)] + public double? Wti2017BackwardErosionDeltaPhiReduced + { + get + { + return wti2017BackwardErosionDeltaPhiReduced; + } + set + { + wti2017BackwardErosionDeltaPhiReduced = value; + } + } + + /// + /// Gets or sets the wti2017 delta phi cu (Uplift, critical head difference). + /// + /// + /// The wti2017 delta phi cu. + /// + [Format("F3")] + [Unit(UnitType.Length)] + [ReadOnly(true)] + [CsvExportColumn("Wti2017UpliftDeltaPhiC", 81)] + [PropertyOrder(7, 7)] + public double? Wti2017UpliftDeltaPhiC + { + get + { + return wti2017UpliftDeltaPhiC; + } + set + { + wti2017UpliftDeltaPhiC = value; + } + } + + /// + /// Gets or sets the wti2017 gradient (vertical outflow gradient for Heave). + /// + /// + /// The wti2017 gradient. + /// + [Format("F3")] + [Unit(UnitType.None)] + [ReadOnly(true)] + [CsvExportColumn("Wti2017Gradient", 82)] + [PropertyOrder(7, 10)] + public double? Wti2017Gradient + { + get + { + return wti2017Gradient; + } + set + { + wti2017Gradient = value; + } + } + + /// + /// Gets or sets the effective stress (at exit point, as calculated with Wti EffectiveThicknessCalculator). + /// + /// + /// The effective stress. + /// + [Format("F3")] + [Unit(UnitType.Pressure)] + [ReadOnly(true)] + [CsvExportColumn("Wti2017EffectiveStress", 83)] + [PropertyOrder(7, 13)] + public double? Wti2017EffectiveStress + { + get + { + return wti2017EffectiveStress; + } + set + { + wti2017EffectiveStress = value; + } + } + + /// + /// Gets or sets the wti2017 c creep (Creep coefficient). + /// + /// + /// The wti2017 c creep. + /// + [Format("F3")] + [Unit(UnitType.None)] + [ReadOnly(true)] + [CsvExportColumn("Wti2017CCreep", 84)] + [PropertyOrder(7, 14)] + public double? Wti2017CCreep + { + get { return wti2017CCreep; } + set { wti2017CCreep = value; } + } + + + + [CsvExportColumn("DikeToeAtRiverXrd", 85)] [Browsable(false)] public double? DikeToeAtRiverXrd { @@ -1418,7 +1702,7 @@ } } - [CsvExportColumn("DikeToeAtRiverYrd", 80)] + [CsvExportColumn("DikeToeAtRiverYrd", 86)] [Browsable(false)] public double? DikeToeAtRiverYrd { @@ -1432,7 +1716,7 @@ } } - [CsvExportColumn("DikeToeAtRiverZrd", 81)] + [CsvExportColumn("DikeToeAtRiverZrd", 87)] [Browsable(false)] public double? DikeToeAtRiverZrd { @@ -1446,7 +1730,7 @@ } } - [CsvExportColumn("DikeTopAtRiverXrd", 82)] + [CsvExportColumn("DikeTopAtRiverXrd", 88)] [Browsable(false)] public double? DikeTopAtRiverXrd { @@ -1460,7 +1744,7 @@ } } - [CsvExportColumn("DikeTopAtRiverYrd", 83)] + [CsvExportColumn("DikeTopAtRiverYrd", 89)] [Browsable(false)] public double? DikeTopAtRiverYrd { @@ -1474,7 +1758,7 @@ } } - [CsvExportColumn("DikeTopAtRiverZrd", 84)] + [CsvExportColumn("DikeTopAtRiverZrd", 90)] [Browsable(false)] public double? DikeTopAtRiverZrd { @@ -1488,7 +1772,7 @@ } } - [CsvExportColumn("DikeTopAtPolderXrd", 85)] + [CsvExportColumn("DikeTopAtPolderXrd", 91)] [Browsable(false)] public double? DikeTopAtPolderXrd { @@ -1502,7 +1786,7 @@ } } - [CsvExportColumn("DikeTopAtPolderYrd", 86)] + [CsvExportColumn("DikeTopAtPolderYrd", 92)] [Browsable(false)] public double? DikeTopAtPolderYrd { @@ -1516,7 +1800,7 @@ } } - [CsvExportColumn("DikeTopAtPolderZrd", 87)] + [CsvExportColumn("DikeTopAtPolderZrd", 93)] [Browsable(false)] public double? DikeTopAtPolderZrd { @@ -1530,7 +1814,7 @@ } } - [CsvExportColumn("DikeToeAtPolderXrd", 88)] + [CsvExportColumn("DikeToeAtPolderXrd", 94)] [Browsable(false)] public double? DikeToeAtPolderXrd { @@ -1544,7 +1828,7 @@ } } - [CsvExportColumn("DikeToeAtPolderYrd", 89)] + [CsvExportColumn("DikeToeAtPolderYrd", 95)] [Browsable(false)] public double? DikeToeAtPolderYrd { @@ -1558,7 +1842,7 @@ } } - [CsvExportColumn("DikeToeAtPolderZrd", 90)] + [CsvExportColumn("DikeToeAtPolderZrd", 96)] [Browsable(false)] public double? DikeToeAtPolderZrd { @@ -1940,7 +2224,7 @@ res = Sellmeijer4ForcesPipingFactor; break; case PipingModelType.Wti2017: - res = Wti2017PipingFactor; + res = Wti2017SafetyFactorOverall; break; } } @@ -2097,7 +2381,7 @@ res = Sellmeijer4ForcesHCritical; break; case PipingModelType.Wti2017: - res = Wti2017HCritical; + res = Wti2017HcriticalOverall; break; } } Index: DamClients/DamUI/trunk/src/Dam/Tests/DamPipingBenchmarkTest.cs =================================================================== diff -u -r1906 -r1947 --- DamClients/DamUI/trunk/src/Dam/Tests/DamPipingBenchmarkTest.cs (.../DamPipingBenchmarkTest.cs) (revision 1906) +++ DamClients/DamUI/trunk/src/Dam/Tests/DamPipingBenchmarkTest.cs (.../DamPipingBenchmarkTest.cs) (revision 1947) @@ -44,34 +44,43 @@ // Read dikering using (var damProjectData = ProjectLoader.LoadProjectData(projectFilename)) { - Assert.AreEqual(1, damProjectData.WaterBoard.Dikes.Count); - var dike = damProjectData.WaterBoard.Dikes[0]; - Assert.AreEqual(1, dike.Locations.Count); - damProjectData.DamProjectCalculationSpecification.CurrentSpecification.PipingModelType = pipingModel; + var analysisType = DamProjectCalculationSpecification.SelectedAnalysisType; + try + { + Assert.AreEqual(1, damProjectData.WaterBoard.Dikes.Count); + var dike = damProjectData.WaterBoard.Dikes[0]; + Assert.AreEqual(1, dike.Locations.Count); + damProjectData.DamProjectCalculationSpecification.CurrentSpecification.PipingModelType = pipingModel; + DamProjectCalculationSpecification.SelectedAnalysisType = AnalysisType.NoAdaption; - DamEngine.Io.XmlInput.Input input = FillXmlInputFromDamUi.CreateInput(damProjectData); + DamEngine.Io.XmlInput.Input input = FillXmlInputFromDamUi.CreateInput(damProjectData); #if DEBUG - const string inputFilename = "PipingBlighTestInputFile.xml"; - DamXmlSerialization.SaveInputAsXmlFile(inputFilename, input); + const string inputFilename = "PipingBlighTestInputFile.xml"; + DamXmlSerialization.SaveInputAsXmlFile(inputFilename, input); #endif - string inputXml = DamXmlSerialization.SaveInputAsXmlString(input); + string inputXml = DamXmlSerialization.SaveInputAsXmlString(input); - var damEnginInterface = new EngineInterface(inputXml); - string validationMessages = damEnginInterface.Validate(); + var damEnginInterface = new EngineInterface(inputXml); + string validationMessages = damEnginInterface.Validate(); - if (string.IsNullOrEmpty(validationMessages)) - { - // only if validation is ok, then - string outputXml = damEnginInterface.Run(); - var output = DamXmlSerialization.LoadOutputFromXmlString(outputXml); + if (string.IsNullOrEmpty(validationMessages)) + { + // only if validation is ok, then + string outputXml = damEnginInterface.Run(); + var output = DamXmlSerialization.LoadOutputFromXmlString(outputXml); #if DEBUG - const string outputFilename = "PipingBlighTestOutputFile.xml"; - DamXmlSerialization.SaveOutputAsXmlFile(outputFilename, output); + const string outputFilename = "PipingBMTestOutputFile.xml"; + DamXmlSerialization.SaveOutputAsXmlFile(outputFilename, output); #endif - FillDamUiFromXmlOutput.AddOutputToDamProjectData(damProjectData, output); + FillDamUiFromXmlOutput.AddOutputToDamProjectData(damProjectData, output); + } } + finally + { + DamProjectCalculationSpecification.SelectedAnalysisType = analysisType; + } var allCalculationresults = damProjectData.DesignCalculations; return allCalculationresults; } @@ -80,11 +89,10 @@ /// /// Benchmark test 1 /// - [Test] - [Category("Work_In_Progress")] // Sellmeijer 4 forces design has to be implemented - [Ignore("No effort to be put in Dam Piping Failure mechanism, it will be replaced by WBI piping")] + [Test] public void Bm01OneAquiferOneLayer() { + string projectFilename = @"..\..\..\data\Dam\Benchmarks\Piping\Test 1\Integratietest piping 1.damx"; var allCalculationresults = ComputeProject(projectFilename, PipingModelType.Sellmeijer4Forces); @@ -101,37 +109,55 @@ Assert.AreEqual(expectedPl3HeadAdjusted, allCalculationresults[0].Pl3HeadAdjusted.Value, cTolerance); Assert.AreEqual(expectedPl4HeadAdjusted, allCalculationresults[0].Pl4HeadAdjusted.Value, cTolerance); - // Sellmeijer2Forces NOT supported for now - //expectedPipingFactor = 0.3774; // This is just taken from the calculation result itself - //Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Sellmeijer2ForcesPipingFactor.Value, cTolerance); - allCalculationresults.Clear(); allCalculationresults = ComputeProject(projectFilename, PipingModelType.Bligh); expectedPipingFactor = 0.5208; // This is just taken from the calculation result itself Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].BlighPipingFactor.Value, cTolerance); - // Wti2017 NOT supported for now -// allCalculationresults.Clear(); -// allCalculationresults = ComputeProject(projectFilename, PipingModelType.Wti2017); -// expectedPipingFactor = 0.36395601533789024; // This is just taken from the calculation result itself -// expectedHCritical = 1.3830328582839828; // This is just taken from the calculation result itself -// expectedLocalPipingExitPointX = 35; // This is just taken from the calculation result itself -// expectedPl3HeadAdjusted = 0.0; // This is just taken from the calculation result itself -// expectedPl4HeadAdjusted = 0.0; // This is just taken from the calculation result itself -// Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Wti2017PipingFactor.Value, cTolerance); -// Assert.AreEqual(expectedHCritical, allCalculationresults[0].Wti2017HCritical.Value, cTolerance); -// Assert.AreEqual(true, allCalculationresults[0].IsUplift.Value); -// Assert.AreEqual(expectedLocalPipingExitPointX, allCalculationresults[0].LocalPipingExitPointX.Value, cTolerance); - //Assert.AreEqual(expectedPl3HeadAdjusted, allCalculationresults[0][0].Pl3HeadAdjusted.Value, cTolerance); - //Assert.AreEqual(expectedPl4HeadAdjusted, allCalculationresults[0][0].Pl4HeadAdjusted.Value, cTolerance); + // Wti2017 + allCalculationresults.Clear(); + allCalculationresults = ComputeProject(projectFilename, PipingModelType.Wti2017); + expectedPipingFactor = 0.43219776821374467; // This is just taken from the calculation result itself + expectedHCritical = 1.9830328582839827; // This is just taken from the calculation result itself + expectedLocalPipingExitPointX = 35; // This is just taken from the calculation result itself + expectedPl3HeadAdjusted = 0.0; // This is just taken from the calculation result itself + expectedPl4HeadAdjusted = 0.0; // This is just taken from the calculation result itself + var expectedCCreep = 18.076215507286715; + var expectedEffectiveStress = 12.38; + var expectedBackwardErosionDeltaPhiReduced = 3.20; + var expectedBackwardErosionDeltaPhiC = 1.3830328582839828; + var expectedUpliftSafetyFactor = 0.33209936155373138; + var expectedUpliftHcritical = 1.2619775739041792; + var expectedUpliftDeltaPhiC = 1.2619775739041792; + var expectedHeaveSafetyFactor = 0.15789473684210525; + var expectedHeaveHcritical = 0.6; + var expectedGradient = 1.9; + var expectedSafetyFactorOverall = expectedPipingFactor; + var expectedHcriticalOverall = expectedHCritical; + Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Wti2017BackwardErosionSafetyFactor.Value, cTolerance); + Assert.AreEqual(expectedHCritical, allCalculationresults[0].Wti2017BackwardErosionHcritical.Value, cTolerance); + Assert.AreEqual(true, allCalculationresults[0].IsUplift.Value); + Assert.AreEqual(expectedLocalPipingExitPointX, allCalculationresults[0].LocalPipingExitPointX.Value, cTolerance); + Assert.AreEqual(expectedPl3HeadAdjusted, allCalculationresults[0].Pl3HeadAdjusted.Value, cTolerance); + Assert.AreEqual(expectedPl4HeadAdjusted, allCalculationresults[0].Pl4HeadAdjusted.Value, cTolerance); + Assert.AreEqual(expectedCCreep, allCalculationresults[0].Wti2017CCreep, cTolerance); + Assert.AreEqual(expectedEffectiveStress, allCalculationresults[0].Wti2017EffectiveStress, cTolerance); + Assert.AreEqual(expectedBackwardErosionDeltaPhiReduced, allCalculationresults[0].Wti2017BackwardErosionDeltaPhiReduced, cTolerance); + Assert.AreEqual(expectedBackwardErosionDeltaPhiC, allCalculationresults[0].Wti2017BackwardErosionDeltaPhiC, cTolerance); + Assert.AreEqual(expectedUpliftSafetyFactor, allCalculationresults[0].Wti2017UpliftSafetyFactor, cTolerance); + Assert.AreEqual(expectedUpliftHcritical, allCalculationresults[0].Wti2017UpliftHcritical, cTolerance); + Assert.AreEqual(expectedUpliftDeltaPhiC, allCalculationresults[0].Wti2017UpliftDeltaPhiC, cTolerance); + Assert.AreEqual(expectedHeaveSafetyFactor, allCalculationresults[0].Wti2017HeaveSafetyFactor, cTolerance); + Assert.AreEqual(expectedHeaveHcritical, allCalculationresults[0].Wti2017HeaveHcritical, cTolerance); + Assert.AreEqual(expectedGradient, allCalculationresults[0].Wti2017Gradient, cTolerance); + Assert.AreEqual(expectedSafetyFactorOverall, allCalculationresults[0].Wti2017SafetyFactorOverall, cTolerance); + Assert.AreEqual(expectedHcriticalOverall, allCalculationresults[0].Wti2017HcriticalOverall, cTolerance); } /// /// Benchmark test 2 /// [Test] - [Category("Work_In_Progress")] // Sellmeijer 4 forces design has to be implemented - [Ignore("No effort to be put in Dam Piping Failure mechanism, it will be replaced by WBI piping")] public void Bm02OneAquiferTwoLayers() { string projectFilename = @"..\..\..\data\Dam\Benchmarks\Piping\Test 2\Integratietest piping 2.damx"; @@ -140,30 +166,22 @@ double expectedPipingFactor = 0.489; // This is calculated according to spreadsheet Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Sellmeijer4ForcesPipingFactor.Value, cTolerance); - // Sellmeijer2Forces is NOT supported for now - //allCalculationresults.Clear(); - //allCalculationresults = ComputeProject(projectFilename, PipingModelType.Sellmeijer2Forces); - //expectedPipingFactor = 0.3688; // This is just taken from the calculation result itself - //Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Sellmeijer2ForcesPipingFactor.Value, cTolerance); - allCalculationresults.Clear(); allCalculationresults = ComputeProject(projectFilename, PipingModelType.Bligh); expectedPipingFactor = 0.5208; // This is just taken from the calculation result itself Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].BlighPipingFactor.Value, cTolerance); - // Wti2017 is not supported for now - //allCalculationresults.Clear(); - //allCalculationresults = ComputeProject(projectFilename, PipingModelType.Wti2017); - //expectedPipingFactor = 0.35572120356770748; // This is just taken from the calculation result itself - //Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Wti2017PipingFactor.Value, cTolerance); + // Wti2017 + allCalculationresults.Clear(); + allCalculationresults = ComputeProject(projectFilename, PipingModelType.Wti2017); + expectedPipingFactor = 0.42241892923665264; // This is just taken from the calculation result itself + Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Wti2017BackwardErosionSafetyFactor.Value, cTolerance); } /// /// Benchmark test 3 /// [Test] - [Category("Work_In_Progress")] // Sellmeijer 4 forces design has to be implemented - [Ignore("No effort to be put in Dam Piping Failure mechanism, it will be replaced by WBI piping")] public void Bm03OneAquiferThreeLayers() { string projectFilename = @"..\..\..\data\Dam\Benchmarks\Piping\Test 3\Integratietest piping 3.damx"; @@ -172,30 +190,22 @@ double expectedPipingFactor = 0.494; // This is calculated according to spreadsheet Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Sellmeijer4ForcesPipingFactor.Value, cTolerance); - // Sellmeijer2Forces is NOT supported for now - // allCalculationresults.Clear(); - // allCalculationresults = ComputeProject(projectFilename, PipingModelType.Sellmeijer2Forces); - // expectedPipingFactor = 0.3733; // This is just taken from the calculation result itself - // Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Sellmeijer2ForcesPipingFactor.Value, cTolerance); - allCalculationresults.Clear(); allCalculationresults = ComputeProject(projectFilename, PipingModelType.Bligh); expectedPipingFactor = 0.5208; // This is just taken from the calculation result itself Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].BlighPipingFactor.Value, cTolerance); - // Wti2017 is not supported for now - // allCalculationresults.Clear(); - // allCalculationresults = ComputeProject(projectFilename, PipingModelType.Wti2017); - // expectedPipingFactor = 0.36005969460534598; // This is just taken from the calculation result itself - // Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Wti2017PipingFactor.Value, cTolerance); + // Wti2017 + allCalculationresults.Clear(); + allCalculationresults = ComputeProject(projectFilename, PipingModelType.Wti2017); + expectedPipingFactor = 0.4275708873438484; // This is just taken from the calculation result itself + Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Wti2017BackwardErosionSafetyFactor.Value, cTolerance); } /// /// Benchmark test 4 /// [Test] - [Category("Work_In_Progress")] // Sellmeijer 4 forces design has to be implemented - [Ignore("No effort to be put in Dam Piping Failure mechanism, it will be replaced by WBI piping")] public void Bm04TwoAquifersOneLayer() { string projectFilename = @"..\..\..\data\Dam\Benchmarks\Piping\Test 4\Integratietest piping 4.damx"; @@ -204,30 +214,22 @@ double expectedPipingFactor = 0.608; // This is calculated according to spreadsheet Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Sellmeijer4ForcesPipingFactor.Value, cTolerance); - // Sellmeijer2Forces is NOT supported for now - // allCalculationresults.Clear(); - // allCalculationresults = ComputeProject(projectFilename, PipingModelType.Sellmeijer2Forces); - // expectedPipingFactor = 0.4410; // This is just taken from the calculation result itself - // Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Sellmeijer2ForcesPipingFactor.Value, cTolerance); - allCalculationresults.Clear(); allCalculationresults = ComputeProject(projectFilename, PipingModelType.Bligh); expectedPipingFactor = 0.5208; // This is just taken from the calculation result itself Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].BlighPipingFactor.Value, cTolerance); // Wti2017 is not supported for now - // allCalculationresults.Clear(); - // allCalculationresults = ComputeProject(projectFilename, PipingModelType.Wti2017); - // expectedPipingFactor = 0.42527879109125538; // This is just taken from the calculation result itself - // Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Wti2017PipingFactor.Value, cTolerance); + allCalculationresults.Clear(); + allCalculationresults = ComputeProject(projectFilename, PipingModelType.Wti2017); + expectedPipingFactor = 0.50501856442086579; // This is just taken from the calculation result itself + Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Wti2017BackwardErosionSafetyFactor.Value, cTolerance); } /// /// Benchmark test 5 /// [Test] - [Category("Work_In_Progress")] // Sellmeijer 4 forces design has to be implemented - [Ignore("No effort to be put in Dam Piping Failure mechanism, it will be replaced by WBI piping")] public void Bm05TwoAquifersTwoLayers() { string projectFilename = @"..\..\..\data\Dam\Benchmarks\Piping\Test 5\Integratietest piping 5.damx"; @@ -236,22 +238,16 @@ double expectedPipingFactor = 0.618; // This is calculated according to spreadsheet Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Sellmeijer4ForcesPipingFactor.Value, cTolerance); - // Sellmeijer2Forces is NOT supported for now - // allCalculationresults.Clear(); - // allCalculationresults = ComputeProject(projectFilename, PipingModelType.Sellmeijer2Forces); - // expectedPipingFactor = 0.4494; // This is just taken from the calculation result itself - // Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Sellmeijer2ForcesPipingFactor.Value, cTolerance); - allCalculationresults.Clear(); allCalculationresults = ComputeProject(projectFilename, PipingModelType.Bligh); expectedPipingFactor = 0.5208; // This is just taken from the calculation result itself Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].BlighPipingFactor.Value, cTolerance); // Wti2017 is not supported for now - // allCalculationresults.Clear(); - // allCalculationresults = ComputeProject(projectFilename, PipingModelType.Wti2017); - // expectedPipingFactor = 0.43345922746899618; // This is just taken from the calculation result itself - // Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Wti2017PipingFactor.Value, cTolerance); + allCalculationresults.Clear(); + allCalculationresults = ComputeProject(projectFilename, PipingModelType.Wti2017); + expectedPipingFactor = 0.51473283261943303; // This is just taken from the calculation result itself + Assert.AreEqual(expectedPipingFactor, allCalculationresults[0].Wti2017BackwardErosionSafetyFactor.Value, cTolerance); } } } Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillDamUiFromXmlOutput.cs =================================================================== diff -u -r1722 -r1947 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillDamUiFromXmlOutput.cs (.../FillDamUiFromXmlOutput.cs) (revision 1722) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillDamUiFromXmlOutput.cs (.../FillDamUiFromXmlOutput.cs) (revision 1947) @@ -204,8 +204,21 @@ if (designResult.PipingDesignResults.Sellmeijer4ForcesHcriticalSpecified) desResult.Sellmeijer4ForcesHCritical = designResult.PipingDesignResults.Sellmeijer4ForcesHcritical; if (designResult.PipingDesignResults.SellmeijerVnkFactorSpecified) desResult.SellmeijerPipingFactor = designResult.PipingDesignResults.SellmeijerVnkFactor; if (designResult.PipingDesignResults.SellmeijerVnkHcriticalSpecified) desResult.SellmeijerHCritical = designResult.PipingDesignResults.SellmeijerVnkHcritical; - if (designResult.PipingDesignResults.Wbi2017FactorSpecified) desResult.Wti2017PipingFactor = designResult.PipingDesignResults.Wbi2017Factor; - if (designResult.PipingDesignResults.Wbi2017HcriticalSpecified) desResult.Wti2017HCritical = designResult.PipingDesignResults.Wbi2017Hcritical; + if (designResult.PipingDesignResults.Wbi2017BackwardErosionFactorSpecified) desResult.Wti2017BackwardErosionSafetyFactor = designResult.PipingDesignResults.Wbi2017BackwardErosionFactor; + if (designResult.PipingDesignResults.Wbi2017BackwardErosionHcriticalSpecified) desResult.Wti2017BackwardErosionHcritical = designResult.PipingDesignResults.Wbi2017BackwardErosionHcritical; + if (designResult.PipingDesignResults.Wbi2017BackwardErosionDeltaPhiCSpecified) desResult.Wti2017BackwardErosionDeltaPhiC = designResult.PipingDesignResults.Wbi2017BackwardErosionDeltaPhiC; + if (designResult.PipingDesignResults.Wbi2017BackwardErosionDeltaPhiReducedSpecified) desResult.Wti2017BackwardErosionDeltaPhiReduced = designResult.PipingDesignResults.Wbi2017BackwardErosionDeltaPhiReduced; + if (designResult.PipingDesignResults.Wbi2017UpliftFactorSpecified) desResult.Wti2017UpliftSafetyFactor = designResult.PipingDesignResults.Wbi2017UpliftFactor; + if (designResult.PipingDesignResults.Wbi2017UpliftHcriticalSpecified) desResult.Wti2017UpliftHcritical = designResult.PipingDesignResults.Wbi2017UpliftHcritical; + if (designResult.PipingDesignResults.Wbi2017DeltaPhiCuSpecified) desResult.Wti2017UpliftDeltaPhiC = designResult.PipingDesignResults.Wbi2017DeltaPhiCu; + if (designResult.PipingDesignResults.Wbi2017HeaveFactorSpecified) desResult.Wti2017HeaveSafetyFactor = designResult.PipingDesignResults.Wbi2017HeaveFactor; + if (designResult.PipingDesignResults.Wbi2017HeaveHcriticalSpecified) desResult.Wti2017HeaveHcritical = designResult.PipingDesignResults.Wbi2017HeaveHcritical; + if (designResult.PipingDesignResults.Wbi2017GradientSpecified) desResult.Wti2017Gradient = designResult.PipingDesignResults.Wbi2017Gradient; + if (designResult.PipingDesignResults.Wbi2017FactorOverallSpecified) desResult.Wti2017SafetyFactorOverall = designResult.PipingDesignResults.Wbi2017FactorOverall; + if (designResult.PipingDesignResults.Wbi2017HcriticalOverallSpecified) desResult.Wti2017HcriticalOverall = designResult.PipingDesignResults.Wbi2017HcriticalOverall; + if (designResult.PipingDesignResults.Wbi2017EffectiveStressSpecified) desResult.Wti2017EffectiveStress = designResult.PipingDesignResults.Wbi2017EffectiveStress; + if (designResult.PipingDesignResults.Wbi2017CCreepSpecified) desResult.Wti2017CCreep = designResult.PipingDesignResults.Wbi2017CCreep; + if (designResult.PipingDesignResults.ExitPointXSpecified) desResult.LocalPipingExitPointX = designResult.PipingDesignResults.ExitPointX; if (designResult.PipingDesignResults.UpliftSituation != null) Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/ConversionHelper.cs =================================================================== diff -u -r1721 -r1947 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/ConversionHelper.cs (.../ConversionHelper.cs) (revision 1721) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/ConversionHelper.cs (.../ConversionHelper.cs) (revision 1947) @@ -58,6 +58,8 @@ /// Type of the input object. public static InputDamProjectType ConvertToInputDamProjectType(DamProjectType damProjectType) { + if (damProjectType == DamProjectType.DamLiveConfiguration) + damProjectType = DamProjectType.Calamity; var translationTable = new Dictionary() { {DamProjectType.Assessment, InputDamProjectType.AssessmentRegional},