Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingBligh/DamPipingBlighKernelWrapper.cs
===================================================================
diff -u -r2791 -r3297
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingBligh/DamPipingBlighKernelWrapper.cs (.../DamPipingBlighKernelWrapper.cs) (revision 2791)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingBligh/DamPipingBlighKernelWrapper.cs (.../DamPipingBlighKernelWrapper.cs) (revision 3297)
@@ -75,7 +75,7 @@
var location = damKernelInput.Location;
double waterLevel = damKernelInput.RiverLevelHigh;
UpliftSituation upliftSituation;
- PlLines plLines = PlLinesHelper.CreatePlLinesForPiping(location, soilProfile1D, waterLevel, out upliftSituation);
+ PlLines plLines = PlLinesHelper.CreatePlLinesForPiping(damKernelInput.TimeStepDateTime, location, soilProfile1D, waterLevel, out upliftSituation);
EvaluateUpliftSituation(damKernelInput, out kernelDataInput, plLines, damPipingBlighInput, waterLevel, damPipingBlighOutput);
return PrepareResult.Successful;
}
Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/DebuggingTest.cs
===================================================================
diff -u -r2784 -r3297
--- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/DebuggingTest.cs (.../DebuggingTest.cs) (revision 2784)
+++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/DebuggingTest.cs (.../DebuggingTest.cs) (revision 3297)
@@ -21,6 +21,7 @@
using System.IO;
using System.Threading;
+using Deltares.DamEngine.Data.General;
using Deltares.DamEngine.Interface;
using Deltares.DamEngine.Io;
using NUnit.Framework;
@@ -46,9 +47,18 @@
string inputString = File.ReadAllText(fullInputFilename);
EngineInterface engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
+ var result = engineInterface.Validate();
+ Assert.IsTrue(result == null, "Validation must succeed but does not, see output xml in debugger");
string outputString = engineInterface.Run();
var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
- Assert.AreNotEqual(null, output.Results.CalculationResults);
+ if (engineInterface.DamProjectData.DamProjectType == DamProjectType.Design)
+ {
+ Assert.AreNotEqual(null, output.Results.CalculationResults);
+ }
+ else
+ {
+ Assert.AreNotEqual(null, output.Results.OperationalOutputTimeSeries);
+ }
}
}
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/Common/PlLinesHelperTests.cs
===================================================================
diff -u -r2799 -r3297
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/Common/PlLinesHelperTests.cs (.../PlLinesHelperTests.cs) (revision 2799)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/Common/PlLinesHelperTests.cs (.../PlLinesHelperTests.cs) (revision 3297)
@@ -19,6 +19,7 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
using Deltares.DamEngine.Calculators.KernelWrappers.Common;
using Deltares.DamEngine.Data.Design;
using Deltares.DamEngine.Data.General;
@@ -43,7 +44,8 @@
var soilProfile1D = FactoryForSoilProfiles.CreatePipingSellmeijerProfileWithOneSandlayer();
var riverLevel = 1.0;
UpliftSituation upliftSituation;
- var plLines = PlLinesHelper.CreatePlLinesForPiping(location, soilProfile1D, riverLevel, out upliftSituation);
+ var timeStepDateTime = new DateTime();
+ var plLines = PlLinesHelper.CreatePlLinesForPiping(timeStepDateTime, location, soilProfile1D, riverLevel, out upliftSituation);
Assert.AreEqual(4, plLines.PlLineCount);
Assert.AreEqual(8, plLines.Lines[PlLineType.Pl1].Points.Count);
Assert.IsTrue(new PlLinePoint(0.000, 1.000).LocationEquals(plLines.Lines[PlLineType.Pl1].Points[0]));
@@ -74,7 +76,8 @@
var soilProfile1D = FactoryForSoilProfiles.CreatePipingSellmeijerProfileWithOneSandlayer();
var riverLevel = 1.0;
UpliftSituation upliftSituation;
- var plLines = PlLinesHelper.CreatePlLinesForPiping(location, soilProfile1D, riverLevel, out upliftSituation);
+ var timeStepDateTime = new DateTime();
+ var plLines = PlLinesHelper.CreatePlLinesForPiping(timeStepDateTime, location, soilProfile1D, riverLevel, out upliftSituation);
Assert.AreEqual(4, plLines.PlLineCount);
Assert.AreEqual(8, plLines.Lines[PlLineType.Pl1].Points.Count);
Assert.IsTrue(new PlLinePoint(0.000, 1.000).LocationEquals(plLines.Lines[PlLineType.Pl1].Points[0]));
@@ -112,7 +115,8 @@
var riverLevel = 0.5;
UpliftSituation upliftSituation;
- var plLines = PlLinesHelper.CreatePlLinesForPiping(location, soilProfile1D, riverLevel, out upliftSituation);
+ var timeStepDateTime = new DateTime();
+ var plLines = PlLinesHelper.CreatePlLinesForPiping(timeStepDateTime, location, soilProfile1D, riverLevel, out upliftSituation);
Assert.AreEqual(4, plLines.PlLineCount);
Assert.AreEqual(8, plLines.Lines[PlLineType.Pl1].Points.Count);
Assert.IsTrue(new PlLinePoint(0.000, 0.500).LocationEquals(plLines.Lines[PlLineType.Pl1].Points[0]));
Index: DamEngine/trunk/src/Deltares.DamEngine.Data/General/Dike.cs
===================================================================
diff -u -r2819 -r3297
--- DamEngine/trunk/src/Deltares.DamEngine.Data/General/Dike.cs (.../Dike.cs) (revision 2819)
+++ DamEngine/trunk/src/Deltares.DamEngine.Data/General/Dike.cs (.../Dike.cs) (revision 3297)
@@ -193,7 +193,7 @@
}
}
- public void Validate()
+ public void Validate(bool IsOperational)
{
if (Locations == null || Locations.Count < 1)
{
@@ -211,11 +211,17 @@
throw new SurfaceLineException(validationResults[0].Text);
}
}
-
+
if (location.Scenarios.Count < 1)
{
throw new DikeException("Location " + location.Name + " has no scenarios, at least one scenario is required.");
}
+
+ 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.IntegrationTests/TestFiles/GrebbedijkStability.xml
===================================================================
diff -u -r2174 -r3297
--- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/TestFiles/GrebbedijkStability.xml (.../GrebbedijkStability.xml) (revision 2174)
+++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/TestFiles/GrebbedijkStability.xml (.../GrebbedijkStability.xml) (revision 3297)
@@ -38,10 +38,10 @@
-
-
-
-
+
+
+
+
@@ -58,14 +58,14 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapper.cs
===================================================================
diff -u -r2791 -r3297
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapper.cs (.../WtiPipingSellmeijerRevisedKernelWrapper.cs) (revision 2791)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapper.cs (.../WtiPipingSellmeijerRevisedKernelWrapper.cs) (revision 3297)
@@ -77,9 +77,13 @@
var soilProfile1D = damKernelInput.SubSoilScenario.SoilProfile1D;
var location = damKernelInput.Location;
double waterLevel = damKernelInput.RiverLevelHigh;
+ if (double.IsNaN(waterLevel))
+ {
+ waterLevel = location.Scenarios[0].RiverLevel;
+ }
UpliftSituation upliftSituation;
var plLines =
- PlLinesHelper.CreatePlLinesForPiping(location, soilProfile1D, waterLevel, out upliftSituation);
+ PlLinesHelper.CreatePlLinesForPiping(damKernelInput.TimeStepDateTime, location, soilProfile1D, waterLevel, out upliftSituation);
EvaluateUpliftSituation(damKernelInput, out kernelDataInput, plLines, waterLevel, damPipingOutput);
return PrepareResult.Successful;
}
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/DamPipingHelper.cs
===================================================================
diff -u -r2111 -r3297
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/DamPipingHelper.cs (.../DamPipingHelper.cs) (revision 2111)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/DamPipingHelper.cs (.../DamPipingHelper.cs) (revision 3297)
@@ -76,7 +76,7 @@
ThrowHelper.ThrowIfArgumentNull(soilProfile.BottomAquiferLayer, string.Format(Resources.NoBottomAquiferLayer, soilProfile.Name));
UpliftSituation upliftSituation;
- plLines = PlLinesHelper.CreatePlLinesForPiping(damKernelInput.Location, damKernelInput.SubSoilScenario.SoilProfile1D,
+ plLines = PlLinesHelper.CreatePlLinesForPiping(damKernelInput.TimeStepDateTime, damKernelInput.Location, damKernelInput.SubSoilScenario.SoilProfile1D,
damKernelInput.RiverLevelHigh, out upliftSituation);
UpliftLocationDeterminator upliftLocationDeterminator = new UpliftLocationDeterminator
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijer4Forces/DamPipingSellmeijer4ForcesKernelWrapper.cs
===================================================================
diff -u -r2791 -r3297
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijer4Forces/DamPipingSellmeijer4ForcesKernelWrapper.cs (.../DamPipingSellmeijer4ForcesKernelWrapper.cs) (revision 2791)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijer4Forces/DamPipingSellmeijer4ForcesKernelWrapper.cs (.../DamPipingSellmeijer4ForcesKernelWrapper.cs) (revision 3297)
@@ -70,7 +70,7 @@
var location = damKernelInput.Location;
double waterLevel = damKernelInput.RiverLevelHigh;
UpliftSituation upliftSituation;
- var plLines = PlLinesHelper.CreatePlLinesForPiping(location, soilProfile1D, waterLevel, out upliftSituation);
+ var plLines = PlLinesHelper.CreatePlLinesForPiping(damKernelInput.TimeStepDateTime, location, soilProfile1D, waterLevel, out upliftSituation);
EvaluateUpliftSituation(damKernelInput, out kernelDataInput, plLines, waterLevel, damPipingOutput);
return PrepareResult.Successful;
}
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/PlLinesHelper.cs
===================================================================
diff -u -r2799 -r3297
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/PlLinesHelper.cs (.../PlLinesHelper.cs) (revision 2799)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/PlLinesHelper.cs (.../PlLinesHelper.cs) (revision 3297)
@@ -60,7 +60,7 @@
waterLevel, waterLevelRiverLow, out upliftSituation);
break;
case PlLineCreationMethod.Sensors:
- plLines = CreatePlLinesForStabilitySensors(location, subSoilScenario, sensorPlLineCreatorSettings);
+ plLines = CreatePlLinesForStabilitySensors(location, sensorPlLineCreatorSettings);
break;
default:
throw new NotImplementedException(string.Format(@"Pl-line creation method '{0}' is not implemented",
@@ -76,8 +76,7 @@
/// The sub soil scenario.
/// The sensor pl-line creator settings.
///
- public static PlLines CreatePlLinesForStabilitySensors(Location location, SoilGeometryProbability subSoilScenario,
- SensorPlLineCreatorSettings sensorPlLineCreatorSettings)
+ public static PlLines CreatePlLinesForStabilitySensors(Location location, SensorPlLineCreatorSettings sensorPlLineCreatorSettings)
{
PlLines plLines = null;
@@ -157,7 +156,7 @@
/// The water level.
/// The uplift situation.
///
- public static PlLines CreatePlLinesForPiping(Location location, SoilProfile1D soilProfile, double waterLevel,
+ public static PlLines CreatePlLinesForPiping(DateTime timeStepDateTime, Location location, SoilProfile1D soilProfile, double waterLevel,
out UpliftSituation upliftSituation)
{
var plLinesCreator = new PlLinesCreator.PlLinesCreator
@@ -178,7 +177,18 @@
DikeEmbankmentMaterial = location.GetDikeEmbankmentSoil(),
XSoilGeometry2DOrigin = location.XSoilGeometry2DOrigin
};
- var plLines = plLinesCreator.CreateAllPlLines(location);
+ PlLines plLines;
+ if (location.ModelParametersForPlLines.PlLineCreationMethod == PlLineCreationMethod.Sensors)
+ {
+ var sensorPlLineCreatorSettings = new SensorPlLineCreatorSettings();
+ sensorPlLineCreatorSettings.SensorLocation = location.SensorLocation;
+ sensorPlLineCreatorSettings.DateTime = timeStepDateTime;
+ plLines = CreatePlLinesForStabilitySensors(location, sensorPlLineCreatorSettings); //ToDo Bka: consult with Tom whether we can just use this and just rename or does it really has to be different for Piping?
+ }
+ else
+ {
+ plLines = plLinesCreator.CreateAllPlLines(location);
+ }
upliftSituation.Pl3HeadAdjusted = plLinesCreator.Pl3HeadAdjusted;
upliftSituation.Pl3LocationXMinUplift = plLinesCreator.Pl3LocationXMinUplift;
upliftSituation.Pl3MinUplift = plLinesCreator.Pl3MinUplift;
Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalGrebbedijkTests.cs
===================================================================
diff -u -r2698 -r3297
--- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalGrebbedijkTests.cs (.../OperationalGrebbedijkTests.cs) (revision 2698)
+++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalGrebbedijkTests.cs (.../OperationalGrebbedijkTests.cs) (revision 3297)
@@ -22,7 +22,9 @@
using System;
using System.IO;
using System.Text;
+using Deltares.DamEngine.Data.Design;
using Deltares.DamEngine.Data.General;
+using Deltares.DamEngine.Data.Geotechnics;
using Deltares.DamEngine.Interface;
using Deltares.DamEngine.Io;
using Deltares.DamEngine.Io.XmlOutput;
@@ -40,7 +42,6 @@
private const double tolerance = 0.0005;
[Test]
- [Category(Categories.WorkInProgress)]
public void Run_UsingTestFiles_HasExpectedResultsInOutputFile()
{
const string calcDir = "TestOperationalGrebbedijk";
@@ -64,21 +65,35 @@
inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", baseTestDirectory + @"Operational\Grebbedijk\input0.soilmaterials.mdb");
EngineInterface engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
+ foreach (var dikeLocation in engineInterface.DamProjectData.Dike.Locations)
+ {
+ var scenario = new DesignScenario();
+ scenario.RiverLevel = dikeLocation.SurfaceLine.CharacteristicPoints
+ .GetGeometryPoint(CharacteristicPointType.DikeToeAtRiver).Z + 1.5;
+ scenario.PolderLevel = dikeLocation.SurfaceLine.CharacteristicPoints
+ .GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder).Z - 0.6;
+ scenario.HeadPl3 = 1;
+ scenario.HeadPl4 = scenario.PolderLevel;
+ scenario.RequiredSafetyFactorStabilityInnerSlope = 1.2;
+ dikeLocation.Scenarios.Add(scenario);
+ }
+ string result = engineInterface.Validate();
+ Assert.IsTrue(result == null, "Validation must succeed but does not, see validation output xml in debugger");
string outputString = engineInterface.Run();
File.WriteAllText(outputFileName, outputString, Encoding.Unicode);
Assert.IsNotNull(outputString);
var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
- Assert.AreEqual(1.603, output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry[0].Value, tolerance);
- Assert.AreEqual(1.603, output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry[1].Value, tolerance);
+ Assert.AreEqual(2.321, output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry[0].Value, tolerance);
+ Assert.AreEqual(2.321, output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry[1].Value, tolerance);
// Following values were 0.590 in the previous DamLive version, but that has to do with how the
// reference level Su is handled in D-GeoStability 18.1 and D-GeoStability 15.1
- Assert.AreEqual(1.007, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[0].Value, tolerance);
- Assert.AreEqual(1.007, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[1].Value, tolerance);
+ Assert.AreEqual(2.326, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[0].Value, tolerance);
+ Assert.AreEqual(2.326, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[1].Value, tolerance);
}
- [TestCase(PipingModelType.Bligh)]
- [TestCase(PipingModelType.SellmeijerVnk)]
+ //[TestCase(PipingModelType.Bligh)] //ToDo add succesfull test for Bligh/SellmeijerVnk
+ //[TestCase(PipingModelType.SellmeijerVnk)]
[TestCase(PipingModelType.Sellmeijer4Forces)]
public void Run_UsingTestFiles_ButWithUnsupportedPipingModelFails(PipingModelType pipingModel)
{
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculatorTask.cs
===================================================================
diff -u -r3251 -r3297
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculatorTask.cs (.../OperationalCalculatorTask.cs) (revision 3251)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculatorTask.cs (.../OperationalCalculatorTask.cs) (revision 3297)
@@ -104,5 +104,13 @@
/// The calculation messages.
///
public List CalculationMessages { get; set; }
+
+ ///
+ /// Gets or sets the calculation result.
+ ///
+ ///
+ /// The calculation result.
+ ///
+ public CalculationResult CalculationResult { get; set; }
}
}
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculator.cs
===================================================================
diff -u -r3264 -r3297
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculator.cs (.../OperationalCalculator.cs) (revision 3264)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculator.cs (.../OperationalCalculator.cs) (revision 3297)
@@ -128,7 +128,8 @@
DesignScenario designScenario = null;
if (location.Scenarios.Count > 0)
{
- designScenario = location.Scenarios[entryIndex];
+ // For Operational only ONE scenario is allowed (decided by Irene/Bernard on 30-07-2020). So that's the one that must be used.
+ designScenario = location.Scenarios[0];
designScenario.Location = location;
}
var sensorValues = values[entry.DateTime][location];
@@ -200,7 +201,7 @@
CalculateOneTimeEntry(task.Location, task.SoiProfileProbability, task.DesignScenario, task.ProjectPath,
task.CalculationMap, task.FailureMechanismeCalculationSpecification,
task.TimeSerieEntry, task.TimeStepIndex,
- task.CalculationMessages);
+ task.CalculationMessages, task.CalculationResult);
Debug.WriteLine("End calculation Location '{0}', soilprofile '{1}'", task.Location, task.SoiProfileProbability);
}
@@ -209,7 +210,7 @@
string projectPath, string calculationMap,
DamFailureMechanismeCalculationSpecification damFailureMechanismeCalculationSpecification,
TimeSerieEntry timeSerieEntry, int timeStepIndex,
- List calculationMessages)
+ List calculationMessages, CalculationResult calculationResult)
{
try
{
@@ -247,7 +248,7 @@
{
PerformOperationalCalculation(
kernelWrapper, kernelDataInput, kernelDataOutput,
- damKernelInput, timeStepIndex, timeSerieEntry, out var calculationResult,
+ damKernelInput, timeStepIndex, timeSerieEntry, out calculationResult,
calculationMessages);
}
else
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijerVnk/DamPipingSellmeijerVnkKernelWrapper.cs
===================================================================
diff -u -r2791 -r3297
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijerVnk/DamPipingSellmeijerVnkKernelWrapper.cs (.../DamPipingSellmeijerVnkKernelWrapper.cs) (revision 2791)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijerVnk/DamPipingSellmeijerVnkKernelWrapper.cs (.../DamPipingSellmeijerVnkKernelWrapper.cs) (revision 3297)
@@ -68,7 +68,7 @@
var location = damKernelInput.Location;
double waterLevel = damKernelInput.RiverLevelHigh;
UpliftSituation upliftSituation;
- var plLines = PlLinesHelper.CreatePlLinesForPiping(location, soilProfile1D, waterLevel, out upliftSituation);
+ var plLines = PlLinesHelper.CreatePlLinesForPiping(damKernelInput.TimeStepDateTime, location, soilProfile1D, waterLevel, out upliftSituation);
EvaluateUpliftSituation(damKernelInput, out kernelDataInput, plLines, waterLevel, damPipingOutput);
return PrepareResult.Successful;
}
Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/EngineInterface.cs
===================================================================
diff -u -r2111 -r3297
--- DamEngine/trunk/src/Deltares.DamEngine.Interface/EngineInterface.cs (.../EngineInterface.cs) (revision 2111)
+++ DamEngine/trunk/src/Deltares.DamEngine.Interface/EngineInterface.cs (.../EngineInterface.cs) (revision 3297)
@@ -150,7 +150,19 @@
{
SendMessage(new LogMessage() { MessageType = LogMessageType.Info, Message = Resources.StartValidation });
List validationMessages = null;
- //validationMessages = DamProjectData.Validate(); or something like this....
+
+ try
+ {
+ DamProjectData.Dike.Validate(DamProjectData.DamProjectType == DamProjectType.Operational);
+ }
+ catch (Exception e)
+ {
+ var validationMessage = new LogMessage(LogMessageType.Error,null, e.Message);
+ validationMessages = new List {validationMessage};
+ DamProjectData.CalculationMessages = new List();
+ }
+
+
// Local validation can give messages and these have to be added to the results but note that there
// already can be messages added by instantiation of the interface too. So add the local to the global
if (validationMessages != null && validationMessages.Count > 0)