Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx =================================================================== diff -u -r782 -r817 --- dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx (.../Resources.resx) (revision 782) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx (.../Resources.resx) (revision 817) @@ -144,7 +144,13 @@ No output object defined for Bligh - + 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: dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijerVnk/DamPipingSellmeijerVnkKernelWrapper.cs =================================================================== diff -u -r816 -r817 --- dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijerVnk/DamPipingSellmeijerVnkKernelWrapper.cs (.../DamPipingSellmeijerVnkKernelWrapper.cs) (revision 816) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijerVnk/DamPipingSellmeijerVnkKernelWrapper.cs (.../DamPipingSellmeijerVnkKernelWrapper.cs) (revision 817) @@ -44,9 +44,41 @@ } } - public void PostProcess(DamKernelInput damKernelInput, IKernelDataOutput kernelDataOutput, string resultMessage, out List designResult) + public void PostProcess(DamKernelInput damKernelInput, IKernelDataOutput kernelDataOutput, string resultMessage, out List designResults) { - throw new NotImplementedException(); + DamPipingSellmeijerVnkOutput damPipingOutput = kernelDataOutput as DamPipingSellmeijerVnkOutput; + if (damPipingOutput == null) + { + throw new NoNullAllowedException(Resources.DamPipingSellmeijerVnkKernelWrapper_PostProcess_NoOutputObjectDefinedForSellmeijerVNK); + } + if (damKernelInput == null) + { + throw new NoNullAllowedException(Resources.DamPipingSellmeijerVnkKernelWrapper_PostProcess_NoInputObjectDefinedForSellmeijerVNK); + } + + string soilProfile2DName = ""; + var damFailureMechanismeCalculationSpecification = new DamFailureMechanismeCalculationSpecification() + { + FailureMechanismSystemType = FailureMechanismSystemType.Piping, + PipingModelType = PipingModelType.Sellmeijer4Forces + }; + var designScenario = damKernelInput.DesignScenario; + var soilProfile1D = damKernelInput.SubSoilScenario.SoilProfile1D; + designResults = new List(); + var designResult = new DesignResult(damFailureMechanismeCalculationSpecification, designScenario, soilProfile1D, soilProfile2DName, AnalysisType.NoAdaption); + + designResult.CalculationResult = damPipingOutput.CalculationResult; + var pipingDesignResults = new PipingDesignResults(PipingModelType.Sellmeijer4Forces); + 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.LocalExitPointX = damPipingOutput.ExitPointX; + pipingDesignResults.UpliftFactor = damPipingOutput.UpliftFactor; + pipingDesignResults.UpliftSituation = damPipingOutput.UpliftSituation; + } public PrepareResult Prepare(DamKernelInput damKernelInput, int iterationIndex, out IKernelDataInput kernelDataInput, out IKernelDataOutput kernelDataOutput) @@ -143,19 +175,17 @@ DamPipingSellmeijerVnkOutput damPipingOutput = (DamPipingSellmeijerVnkOutput)kernelDataOutput; var calculator = CreatePipingCalculatorSellmeijerVnk(kernelDataInput); - //List kernelMessages = calculator.ValidateVnk(); + List kernelMessages = calculator.Validate(); messages = new List(); - //foreach (string stringMessage in kernelMessages) - //{ - // messages.Add(new LogMessage() { Message = stringMessage, MessageType = LogMessageType.Error }); - //} - //if (messages.Count > 0) - //{ - // damPipingOutput.CalculationResult = CalculationResult.InvalidInputData; - //} - //return messages.Count; - - return 0; + foreach (string stringMessage in kernelMessages) + { + messages.Add(new LogMessage() { Message = stringMessage, MessageType = LogMessageType.Error }); + } + if (messages.Count > 0) + { + damPipingOutput.CalculationResult = CalculationResult.InvalidInputData; + } + return messages.Count; } Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx =================================================================== diff -u -r782 -r817 --- dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx (.../Resources.nl-NL.resx) (revision 782) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx (.../Resources.nl-NL.resx) (revision 817) @@ -138,6 +138,12 @@ Geen invoer object gedefinieerd voor Sellmeijer VNK + + Geen invoer object gedefinieerd voor Sellmeijer VNK + + + Geen uitvoer object gedefinieerd voor Sellmeijer VNK + Gekozen rekenkernel is nog niet beschikbaar Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs =================================================================== diff -u -r782 -r817 --- dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 782) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 817) @@ -127,6 +127,26 @@ } /// + /// Looks up a localized string similar to No input object defined for Sellmeijer VNK. + /// + internal static string DamPipingSellmeijerVnkKernelWrapper_PostProcess_NoInputObjectDefinedForSellmeijerVNK { + get { + return ResourceManager.GetString("DamPipingSellmeijerVnkKernelWrapper_PostProcess_NoInputObjectDefinedForSellmeijer" + + "VNK", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No output object defined for Sellmeijer VNK. + /// + internal static string DamPipingSellmeijerVnkKernelWrapper_PostProcess_NoOutputObjectDefinedForSellmeijerVNK { + get { + return ResourceManager.GetString("DamPipingSellmeijerVnkKernelWrapper_PostProcess_NoOutputObjectDefinedForSellmeije" + + "rVNK", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Requested kernel not implemented yet. /// internal static string DesignCalculatorKernelNotImplemented {