Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/KernelWrapperHelper.cs =================================================================== diff -u -r877 -r902 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/KernelWrapperHelper.cs (.../KernelWrapperHelper.cs) (revision 877) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/KernelWrapperHelper.cs (.../KernelWrapperHelper.cs) (revision 902) @@ -24,6 +24,7 @@ using Deltares.DamEngine.Calculators.KernelWrappers.DamMacroStabilityOutwards; using Deltares.DamEngine.Calculators.KernelWrappers.DamPipingBligh; using Deltares.DamEngine.Calculators.KernelWrappers.DamPipingSellmeijer4Forces; +using Deltares.DamEngine.Calculators.KernelWrappers.DamPipingSellmeijerVnk; using Deltares.DamEngine.Calculators.KernelWrappers.Interfaces; using Deltares.DamEngine.Calculators.Properties; using Deltares.DamEngine.Data.General; @@ -60,15 +61,17 @@ case FailureMechanismSystemType.Piping: switch (currentSpecification.PipingModelType) { - case PipingModelType.SellmeijerVnk: - case PipingModelType.Wti2017: - throw new NotImplementedException(Resources.DesignCalculatorKernelNotImplemented); case PipingModelType.Bligh: kernelWrapper = new DamPipingBlighKernelWrapper(); break; + case PipingModelType.SellmeijerVnk: + kernelWrapper = new DamPipingSellmeijerVnkKernelWrapper(); + break; case PipingModelType.Sellmeijer4Forces: kernelWrapper = new DamPipingSellmeijer4ForcesKernelWrapper(); break; + case PipingModelType.Wti2017: + throw new NotImplementedException(Resources.DesignCalculatorKernelNotImplemented); } break; } Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx =================================================================== diff -u -r900 -r902 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx (.../Resources.nl-NL.resx) (revision 900) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx (.../Resources.nl-NL.resx) (revision 902) @@ -138,10 +138,10 @@ Geen invoer object gedefinieerd voor Sellmeijer VNK - + Geen invoer object gedefinieerd voor Sellmeijer VNK - + Geen uitvoer object gedefinieerd voor Sellmeijer VNK Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijerVnk/DamPipingSellmeijerVnkKernelWrapper.cs =================================================================== diff -u -r877 -r902 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijerVnk/DamPipingSellmeijerVnkKernelWrapper.cs (.../DamPipingSellmeijerVnkKernelWrapper.cs) (revision 877) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijerVnk/DamPipingSellmeijerVnkKernelWrapper.cs (.../DamPipingSellmeijerVnkKernelWrapper.cs) (revision 902) @@ -51,7 +51,7 @@ DamPipingSellmeijerVnkOutput damPipingOutput = (DamPipingSellmeijerVnkOutput)kernelDataOutput; if (damPipingOutput == null) { - throw new NoNullAllowedException(Resources.DamPipingSellmeijer4ForcesKernelWrapper_NoOutputObjectDefinedForSellmeijer4Forces); + throw new NoNullAllowedException(Resources.DamPipingSellmeijerVnkKernelWrapper_NoOutputObjectDefinedForSellmeijerVNK); } damPipingOutput.FoSp = defaultMaxReturnValue; messages = new List(); @@ -70,36 +70,38 @@ DamPipingSellmeijerVnkOutput damPipingOutput = kernelDataOutput as DamPipingSellmeijerVnkOutput; if (damPipingOutput == null) { - throw new NoNullAllowedException(Resources.DamPipingSellmeijerVnkKernelWrapper_PostProcess_NoOutputObjectDefinedForSellmeijerVNK); + throw new NoNullAllowedException(Resources.DamPipingSellmeijerVnkKernelWrapper_NoOutputObjectDefinedForSellmeijerVNK); } if (damKernelInput == null) { - throw new NoNullAllowedException(Resources.DamPipingSellmeijerVnkKernelWrapper_PostProcess_NoInputObjectDefinedForSellmeijerVNK); + throw new NoNullAllowedException(Resources.DamPipingSellmeijerVnkKernelWrapper_NoInputObjectDefinedForSellmeijerVNK); } string soilProfile2DName = ""; var damFailureMechanismeCalculationSpecification = new DamFailureMechanismeCalculationSpecification() { FailureMechanismSystemType = FailureMechanismSystemType.Piping, - PipingModelType = PipingModelType.Sellmeijer4Forces + PipingModelType = PipingModelType.SellmeijerVnk }; var designScenario = damKernelInput.DesignScenario; var soilProfile1D = damKernelInput.SubSoilScenario.SoilProfile1D; designResults = new List(); - var designResult = new DesignResult(damFailureMechanismeCalculationSpecification, designScenario, soilProfile1D, soilProfile2DName, AnalysisType.NoAdaption); + var designResult = new DesignResult(damFailureMechanismeCalculationSpecification, designScenario, soilProfile1D, soilProfile2DName, AnalysisType.NoAdaption) + { + CalculationResult = damPipingOutput.CalculationResult + }; - designResult.CalculationResult = damPipingOutput.CalculationResult; - var pipingDesignResults = new PipingDesignResults(PipingModelType.Sellmeijer4Forces); + var pipingDesignResults = new PipingDesignResults(PipingModelType.SellmeijerVnk); designResult.PipingDesignResults = pipingDesignResults; pipingDesignResults.ResultMessage = resultMessage; // TODO: for now this only works for NoAdaption of geometry; if adaption is enabled, the real redesigned surfaceline has to be assigned pipingDesignResults.RedesignedSurfaceLine = damKernelInput.Location.SurfaceLine; - pipingDesignResults.Sellmeijer4ForcesFactor = damPipingOutput.FoSp; - pipingDesignResults.Sellmeijer4ForcesHcritical = damPipingOutput.Hc; + pipingDesignResults.SellmeijerVnkFactor = damPipingOutput.FoSp; + pipingDesignResults.SellmeijerVnkHcritical = damPipingOutput.Hc; pipingDesignResults.LocalExitPointX = damPipingOutput.ExitPointX; pipingDesignResults.UpliftFactor = damPipingOutput.UpliftFactor; pipingDesignResults.UpliftSituation = damPipingOutput.UpliftSituation; - + designResults.Add(designResult); } public PrepareResult Prepare(DamKernelInput damKernelInput, int iterationIndex, out IKernelDataInput kernelDataInput, out IKernelDataOutput kernelDataOutput) @@ -143,9 +145,7 @@ dCoverLayer = DamPipingHelper.DetermineHeightCoverLayer(topLevelAquifer, surfaceLevel); var aquiferLayer = SoilProfile1DAquiferLayerCombiner.CombineLayers(soilProfile1D, upliftLocationAndResult.LayerWhereUpliftOccuresId); - d70 = aquiferLayer.D70 * Physics.FactorMeterToMicroMeter; - aquiferHeight = aquiferLayer.Height; permeabilityKx = aquiferLayer.PermeabilityKx; upliftFactor = upliftLocationAndResult.UpliftFactor; } @@ -159,9 +159,11 @@ var referenceLevel = Math.Max(location.PolderLevel, surfaceLevel); Soil inBetweenAquiferlayerSoil = soilProfile1D.BottomAquiferLayer.Soil; + var inBetweenAquiferlayerHeight = 0.0; if (soilProfile1D.InBetweenAquiferLayer != null) { inBetweenAquiferlayerSoil = soilProfile1D.InBetweenAquiferLayer.Soil; + inBetweenAquiferlayerHeight = soilProfile1D.GetLayerHeight(soilProfile1D.InBetweenAquiferLayer); } kernelDataInput = new DamPipingSellmeijerVnkInput() @@ -178,7 +180,7 @@ PermeabilityKx = permeabilityKx, WaterViscosity = Physics.WaterViscosity, SurfaceLevel = surfaceLevel, - DInBetweenAquiferlayer = soilProfile1D.GetLayerHeight(soilProfile1D.InBetweenAquiferLayer), + DInBetweenAquiferlayer = inBetweenAquiferlayerHeight, DBottomAquiferlayer = soilProfile1D.GetLayerHeight(soilProfile1D.BottomAquiferLayer), PermeabilityInBetweenAquiferlayer = inBetweenAquiferlayerSoil.PermeabKx, PermeabilityBottomAquiferlayer = soilProfile1D.BottomAquiferLayer.Soil.PermeabKx, @@ -216,7 +218,7 @@ DamPipingSellmeijerVnkInput damPipingInput = kernelDataInput as DamPipingSellmeijerVnkInput; if (damPipingInput == null) { - throw new NoNullAllowedException(Resources.DamPipingSellmeijer4ForcesKernelWrapper_NoInputObjectDefinedForSellmeijer4Forces); + throw new NoNullAllowedException(Resources.DamPipingSellmeijerVnkKernelWrapper_NoInputObjectDefinedForSellmeijerVNK); } var calculator = new PipingCalculatorSellmeijerVNK() { Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx =================================================================== diff -u -r900 -r902 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx (.../Resources.resx) (revision 900) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx (.../Resources.resx) (revision 902) @@ -147,10 +147,10 @@ No input object defined for Sellmeijer VNK - + No output object defined for Sellmeijer VNK - + No input object defined for Sellmeijer VNK \ No newline at end of file Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/PipingSellmeijerVnkTests.cs =================================================================== diff -u -r877 -r902 --- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/PipingSellmeijerVnkTests.cs (.../PipingSellmeijerVnkTests.cs) (revision 877) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/PipingSellmeijerVnkTests.cs (.../PipingSellmeijerVnkTests.cs) (revision 902) @@ -38,7 +38,7 @@ [Test] [Category(Categories.WorkInProgress)] - public void CanPerformSellmeijer4ForcesDesignPipingVoorbeeld1() + public void CanPerformSellmeijerVnkDesignPipingVoorbeeld1() { const string fileName = @"TestFiles\PipingVoorbeeld1_SellmeijerVNKInputFile.xml"; string inputString = File.ReadAllText(fileName); @@ -64,8 +64,8 @@ // Heave Factor = 90.0 Assert.IsNotNull(outputString); var output = DamXmlSerialization.LoadOutputFromXmlString(outputString); - Assert.AreEqual(0.463, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.Sellmeijer4ForcesFactor, tolerance); - Assert.AreEqual(1.759, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.Sellmeijer4ForcesHcritical, tolerance); + Assert.AreEqual(0.463, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.SellmeijerVnkFactor, tolerance); + Assert.AreEqual(1.759, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.SellmeijerVnkHcritical, tolerance); Assert.AreEqual(35.0, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.ExitPointX, tolerance); // The following values are not the same as in the classic UI // The upliftfactor there is 0.351, but that is the Wti Upliftfactor Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs =================================================================== diff -u -r900 -r902 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 900) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 902) @@ -129,20 +129,18 @@ /// /// Looks up a localized string similar to No input object defined for Sellmeijer VNK. /// - internal static string DamPipingSellmeijerVnkKernelWrapper_PostProcess_NoInputObjectDefinedForSellmeijerVNK { + internal static string DamPipingSellmeijerVnkKernelWrapper_NoInputObjectDefinedForSellmeijerVNK { get { - return ResourceManager.GetString("DamPipingSellmeijerVnkKernelWrapper_PostProcess_NoInputObjectDefinedForSellmeijer" + - "VNK", resourceCulture); + return ResourceManager.GetString("DamPipingSellmeijerVnkKernelWrapper_NoInputObjectDefinedForSellmeijerVNK", resourceCulture); } } /// /// Looks up a localized string similar to No output object defined for Sellmeijer VNK. /// - internal static string DamPipingSellmeijerVnkKernelWrapper_PostProcess_NoOutputObjectDefinedForSellmeijerVNK { + internal static string DamPipingSellmeijerVnkKernelWrapper_NoOutputObjectDefinedForSellmeijerVNK { get { - return ResourceManager.GetString("DamPipingSellmeijerVnkKernelWrapper_PostProcess_NoOutputObjectDefinedForSellmeije" + - "rVNK", resourceCulture); + return ResourceManager.GetString("DamPipingSellmeijerVnkKernelWrapper_NoOutputObjectDefinedForSellmeijerVNK", resourceCulture); } }