Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/Dikes Design/DesignCalculator.cs =================================================================== diff -u -r605 -r623 --- dam engine/trunk/src/Deltares.DamEngine.Calculators/Dikes Design/DesignCalculator.cs (.../DesignCalculator.cs) (revision 605) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/Dikes Design/DesignCalculator.cs (.../DesignCalculator.cs) (revision 623) @@ -1,6 +1,8 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using Deltares.DamEngine.Calculators.KernelWrappers.Common; using Deltares.DamEngine.Calculators.KernelWrappers.DamPipingBligh; +using Deltares.DamEngine.Calculators.KernelWrappers.DamPipingSellmeijer4Forces; using Deltares.DamEngine.Calculators.KernelWrappers.Interfaces; using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.General.Results; @@ -20,6 +22,33 @@ /// public List Execute(DamProjectData damProjectData) { + IKernelWrapper kernelWrapper = null; + switch (damProjectData.DamProjectCalculationSpecification.CurrentSpecification.FailureMechanismSystemType) + { + case FailureMechanismSystemType.HorizontalBalance: + case FailureMechanismSystemType.StabilityInside: + case FailureMechanismSystemType.StabilityOutside: + throw new NotImplementedException("Requested kernel not implemented yet"); + case FailureMechanismSystemType.Piping: + switch (damProjectData.DamProjectCalculationSpecification.CurrentSpecification.PipingModelType) + { + case PipingModelType.SellmeijerVnk: + case PipingModelType.Wti2017: + throw new NotImplementedException("Requested kernel not implemented yet"); + case PipingModelType.Bligh: + kernelWrapper = new DamPipingBlighKernelWrapper(); + break; + case PipingModelType.Sellmeijer4Forces: + kernelWrapper = new DamPipingSellmeijer4ForcesKernelWrapper(); + break; + } + break; + } + if (kernelWrapper == null) + { + throw new NotImplementedException("Requested kernel not implemented yet"); + } + damProjectData.DesignCalculations = new List(); var calculationMessages = new List(); for (int locationIndex = 0; locationIndex < damProjectData.Dike.Locations.Count; locationIndex++) @@ -30,7 +59,6 @@ var soiProfileProbability = location.Segment.SoilProfileProbabilities[subSoilScenarioIndex]; for (int designScenarioIndex = 0; designScenarioIndex < location.Scenarios.Count; designScenarioIndex++) { - IKernelWrapper kernelWrapper = new DamPipingBlighKernelWrapper(); // Prepare input var damKernelInput = new DamKernelInput();