Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/WbiPipingSellmeijerRevised/WbiPipingSellmeijerRevisedKernelWrapperTests.cs =================================================================== diff -u -r1621 -r1692 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/WbiPipingSellmeijerRevised/WbiPipingSellmeijerRevisedKernelWrapperTests.cs (.../WbiPipingSellmeijerRevisedKernelWrapperTests.cs) (revision 1621) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/WbiPipingSellmeijerRevised/WbiPipingSellmeijerRevisedKernelWrapperTests.cs (.../WbiPipingSellmeijerRevisedKernelWrapperTests.cs) (revision 1692) @@ -86,8 +86,10 @@ IKernelDataOutput kernelDataOutput; kernelWrapper.Prepare(damKernelInput, 0, out damPipingInput, out kernelDataOutput); - // Original test in piping kernel uses the corrected D70 so use that here too - (damPipingInput as WbiPipingSellmeijerRevisedInput).D70 = (damPipingInput as WbiPipingSellmeijerRevisedInput).D70 * 1e6; + // The factory used here in the Engine to create the soilprofile uses Physics.FactorMicroMeterToMeter in setting the D70. + // The original test in WBI piping kernel uses the D70 without this factor so in order to get the same results here, + // correct the D70 for this here. + (damPipingInput as WbiPipingSellmeijerRevisedInput).D70 = (damPipingInput as WbiPipingSellmeijerRevisedInput).D70 * (1/Physics.FactorMicroMeterToMeter); // Validate the input List messages; Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WbiPipingSellmeijerRevised/WbiPipingSellmeijerRevisedKernelWrapper.cs =================================================================== diff -u -r1621 -r1692 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WbiPipingSellmeijerRevised/WbiPipingSellmeijerRevisedKernelWrapper.cs (.../WbiPipingSellmeijerRevisedKernelWrapper.cs) (revision 1621) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WbiPipingSellmeijerRevised/WbiPipingSellmeijerRevisedKernelWrapper.cs (.../WbiPipingSellmeijerRevisedKernelWrapper.cs) (revision 1692) @@ -122,6 +122,14 @@ PerformSingleCalculationWbiSellmeijerRevised(out messages, wbiPipingSellmeijerRevisedOutput, wbiPipingSellmeijerRevisedInput); } + /// + /// Fills the dam result based on the kernel output. + /// + /// The dam kernel input. + /// The kernel data output. + /// The design scenario. + /// The result message. + /// The design results public void PostProcess(DamKernelInput damKernelInput, IKernelDataOutput kernelDataOutput, DesignScenario designScenario, string resultMessage, out List designResults) { var damPipingOutput = kernelDataOutput as WbiPipingSellmeijerRevisedOutput; @@ -148,6 +156,15 @@ designResults.Add(designResult); } + /// + /// Calculates the design at point. + /// + /// The dam kernel input. + /// The kernel data input. + /// The kernel data output. + /// The point. + /// The messages. + /// public ShoulderDesign CalculateDesignAtPoint(DamKernelInput damKernelInput, IKernelDataInput kernelDataInput, IKernelDataOutput kernelDataOutput, GeometryPoint point, out List messages) { messages = new List(); @@ -197,6 +214,17 @@ return null; } + /// + /// Evaluates the design (current factor greater than desired factor) + /// + /// The dam kernel input. + /// The kernel data input. + /// The kernel data output. + /// The design advise. + /// The evaluation message. + /// + /// if the design was succesful + /// public bool EvaluateDesign(DamKernelInput damKernelInput, IKernelDataInput kernelDataInput, IKernelDataOutput kernelDataOutput, out DesignAdvise designAdvise, out string evaluationMessage) { var damPipingInput = kernelDataInput as WbiPipingSellmeijerRevisedInput; @@ -211,11 +239,25 @@ return (fosAchieved >= fosRequiered); } + /// + /// Prepares the design. + /// + /// The kernel data input. + /// The kernel data output. + /// The dam kernel input. + /// Index of the iteration. + /// The embankment design parameters. + /// public void PrepareDesign(IKernelDataInput kernelDataInput, IKernelDataOutput kernelDataOutput, DamKernelInput damKernelInput, int iterationIndex, out EmbankmentDesignParameters embankmentDesignParameters) { throw new NotImplementedException(); } + /// + /// Gets the design strategy + /// + /// + /// public DesignStrategy GetDesignStrategy(DamKernelInput damKernelInput) { return DesignStrategy.ShoulderPerPoint;