Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalGrebbedijkTests.cs =================================================================== diff -u -r3306 -r3314 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalGrebbedijkTests.cs (.../OperationalGrebbedijkTests.cs) (revision 3306) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalGrebbedijkTests.cs (.../OperationalGrebbedijkTests.cs) (revision 3314) @@ -42,7 +42,7 @@ private const double tolerance = 0.0005; [Test] - [Category("Work_In_Progress")] + [Category("Work_In_Progress")] //Note #Bka: this is a Bishop test. So as soon as that model is implemented it must be activated and made to work again. public void Run_UsingTestFiles_HasExpectedResultsInOutputFile() { const string calcDir = "TestOperationalGrebbedijk"; Index: DamEngine/trunk/src/Deltares.DamEngine.Data/General/Dike.cs =================================================================== diff -u -r3297 -r3314 --- DamEngine/trunk/src/Deltares.DamEngine.Data/General/Dike.cs (.../Dike.cs) (revision 3297) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/General/Dike.cs (.../Dike.cs) (revision 3314) @@ -193,7 +193,7 @@ } } - public void Validate(bool IsOperational) + public void Validate(bool isOperational) { if (Locations == null || Locations.Count < 1) { @@ -217,7 +217,7 @@ throw new DikeException("Location " + location.Name + " has no scenarios, at least one scenario is required."); } - if (IsOperational && location.Scenarios.Count > 1) + if (isOperational && location.Scenarios.Count > 1) { throw new DikeException(string.Format( "For Operational (DamLive), location {0} has {1} scenarios but only one is allowed!", location.Name, location.Scenarios.Count)); Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryData.cs =================================================================== diff -u -r3235 -r3314 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryData.cs (.../GeometryData.cs) (revision 3235) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryData.cs (.../GeometryData.cs) (revision 3314) @@ -297,6 +297,9 @@ } } + /// + /// Removes the doubles from newly effected points and curves. + /// public void RemoveDoublesFromNewlyEffectedPointsAndCurves() { var pdel = new List(); Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculator.cs =================================================================== diff -u -r3297 -r3314 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculator.cs (.../OperationalCalculator.cs) (revision 3297) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculator.cs (.../OperationalCalculator.cs) (revision 3314) @@ -201,40 +201,42 @@ CalculateOneTimeEntry(task.Location, task.SoiProfileProbability, task.DesignScenario, task.ProjectPath, task.CalculationMap, task.FailureMechanismeCalculationSpecification, task.TimeSerieEntry, task.TimeStepIndex, - task.CalculationMessages, task.CalculationResult); + task.CalculationMessages, out var result); + task.CalculationResult = result; Debug.WriteLine("End calculation Location '{0}', soilprofile '{1}'", task.Location, task.SoiProfileProbability); } private void CalculateOneTimeEntry(Location location, SoilGeometryProbability soiProfileProbability, DesignScenario designScenario, string projectPath, string calculationMap, - DamFailureMechanismeCalculationSpecification damFailureMechanismeCalculationSpecification, + DamFailureMechanismeCalculationSpecification damFailureMechanismCalculationSpecification, TimeSerieEntry timeSerieEntry, int timeStepIndex, - List calculationMessages, CalculationResult calculationResult) + List calculationMessages, out CalculationResult calculationResult) { try { + calculationResult = CalculationResult.NoRun; // Prepare input var damKernelInput = new DamKernelInput(); damKernelInput.ProjectDir = projectPath; damKernelInput.CalculationDir = Path.Combine(projectPath, calculationMap); damKernelInput.Location = location; damKernelInput.SubSoilScenario = soiProfileProbability; damKernelInput.TimeStepDateTime = timeSerieEntry.DateTime; - damKernelInput.DamFailureMechanismeCalculationSpecification = damFailureMechanismeCalculationSpecification; + damKernelInput.DamFailureMechanismeCalculationSpecification = damFailureMechanismCalculationSpecification; damKernelInput.RiverLevelHigh = Double.NaN; damKernelInput.RiverLevelLow = null; damKernelInput.FilenamePrefix = String.Format("Dik(dike)_Loc({0})_Stp({1})_Mdl({2})_{3}", location.Name, timeStepIndex, - damFailureMechanismeCalculationSpecification.StabilityModelType, + damFailureMechanismCalculationSpecification.StabilityModelType, DateToTimeStamp(timeSerieEntry.DateTime)); SynchronizeLocationDataWithScenarioData(designScenario, location); IKernelDataInput kernelDataInput; IKernelDataOutput kernelDataOutput; // Create kernelwrapper - IKernelWrapper kernelWrapper = KernelWrapperHelper.CreateKernelWrapper(damFailureMechanismeCalculationSpecification); + IKernelWrapper kernelWrapper = KernelWrapperHelper.CreateKernelWrapper(damFailureMechanismCalculationSpecification); if (kernelWrapper == null) { throw new NotImplementedException(Resources.DesignCalculatorKernelNotImplemented); @@ -270,6 +272,7 @@ } catch (Exception e) { + calculationResult = CalculationResult.RunFailed; calculationMessages.Add(new LogMessage(LogMessageType.Error, null, string.Format(Resources.OperationalCalculatorGeneralException, location.Name, @@ -382,7 +385,7 @@ case PipingModelType.Sellmeijer4Forces: throw new NotImplementedException(); case PipingModelType.Wti2017: - parameter = TimeSerieParameters.StabilityInsideFactor.ToString(); + parameter = TimeSerieParameters.PipingFactor.ToString(); break; } break; @@ -402,7 +405,7 @@ { // get copy of the input entry var copyOfEntry = entry.GetShallowCopy(); - + copyOfEntry.Value = double.NaN; // set parameter and location id's and add the projected entry to the output copyOfSeries.LocationId = location.Name; copyOfSeries.ParameterId = outputParameter; Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilProfileHelper.cs =================================================================== diff -u -r3241 -r3314 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilProfileHelper.cs (.../SoilProfileHelper.cs) (revision 3241) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilProfileHelper.cs (.../SoilProfileHelper.cs) (revision 3314) @@ -1,13 +1,39 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +// Copyright (C) Stichting Deltares 2029. All rights reserved. +// +// This file is part of the Dam Engine. +// +// The Dam Engine is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. namespace Deltares.DamEngine.Data.Geotechnics { + /// + /// Helper class for Soil profile + /// public class SoilProfileHelper { + /// + /// Determines for surface line corrected1 d profile at x. + /// + /// The original soil profile1 d. + /// The surface line. + /// The x coordinate. + /// The dike embankment material. + /// public static SoilProfile1D DetermineForSurfaceLineCorrected1DProfileAtX(SoilProfile1D originalSoilProfile1D, SurfaceLine2 surfaceLine, double xCoordinate, Soil dikeEmbankmentMaterial) { Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalEnumerations.cs =================================================================== diff -u -r2227 -r3314 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalEnumerations.cs (.../OperationalEnumerations.cs) (revision 2227) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalEnumerations.cs (.../OperationalEnumerations.cs) (revision 3314) @@ -27,6 +27,7 @@ public enum TimeSerieParameters { StabilityInsideFactor, - StabilityOutsideFactor + StabilityOutsideFactor, + PipingFactor } }