Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx
===================================================================
diff -u -r6752 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx (.../Resources.nl-NL.resx) (revision 6752)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx (.../Resources.nl-NL.resx) (revision 6851)
@@ -291,6 +291,9 @@
Er is een onverwachte fout opgetreden bij het bepalen van het snijpunt tussen de sloot en PL 1.
+
+ De door de gebruiker gedefinieerde penetratiezone overlapt gedeeltelijk of strekt zich uit boven het tussenliggende watervoerende pakket. Daarom wordt PL 2 gelijkgesteld aan PL 4.
+
Er is een onverwachte fout opgetreden bij het bepalen van de boven- en ondergrenzen van de tussenliggende watervoerende laag.
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedOutput.cs
===================================================================
diff -u -r6404 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedOutput.cs (.../WtiPipingSellmeijerRevisedOutput.cs) (revision 6404)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedOutput.cs (.../WtiPipingSellmeijerRevisedOutput.cs) (revision 6851)
@@ -22,6 +22,7 @@
using Deltares.DamEngine.Calculators.KernelWrappers.Interfaces;
using Deltares.DamEngine.Data.General;
using Deltares.DamEngine.Data.Standard.Calculation;
+using Deltares.DamEngine.Data.Standard.Logging;
namespace Deltares.DamEngine.Calculators.KernelWrappers.WtiPipingSellmeijerRevised;
@@ -158,4 +159,12 @@
/// The length of the seepage.
///
public double SeepageLength { get; set; }
+
+ ///
+ /// Gets or sets the message for the log.
+ ///
+ ///
+ /// The message for the log (in case of an error or a warning).
+ ///
+ public LogMessage Message { get; set; }
}
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculator.cs
===================================================================
diff -u -r6752 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculator.cs (.../OperationalCalculator.cs) (revision 6752)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculator.cs (.../OperationalCalculator.cs) (revision 6851)
@@ -29,7 +29,6 @@
using Deltares.DamEngine.Calculators.General;
using Deltares.DamEngine.Calculators.KernelWrappers.Common;
using Deltares.DamEngine.Calculators.KernelWrappers.Interfaces;
-using Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityInwards;
using Deltares.DamEngine.Calculators.Properties;
using Deltares.DamEngine.Data.Design;
using Deltares.DamEngine.Data.General;
@@ -99,7 +98,7 @@
}
damProjectData.CalculationMessages.Add(new LogMessage(LogMessageType.Info, null,
- $"There are {locationCount} locations with sensor data"));
+ $"There are {locationCount} locations with sensor data"));
if (!locations.Any())
{
@@ -279,14 +278,9 @@
{
return;
}
-
- var mo = (MacroStabilityOutput) kernelDataOutput;
- if (mo != null)
- {
- calculationMessages.Add(mo.Message);
- }
}
}
+ kernelWrapper.AddMessageToCalculationMessages(kernelDataOutput, calculationMessages);
}
catch (Exception e)
{
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityOutwards/MacroStabilityOutwardsKernelWrapper.cs
===================================================================
diff -u -r6506 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityOutwards/MacroStabilityOutwardsKernelWrapper.cs (.../MacroStabilityOutwardsKernelWrapper.cs) (revision 6506)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityOutwards/MacroStabilityOutwardsKernelWrapper.cs (.../MacroStabilityOutwardsKernelWrapper.cs) (revision 6851)
@@ -101,8 +101,16 @@
const bool useRiverLevelLow = true;
// Determine PL-lines and create waternet
var upliftHelper = new UpliftHelper();
- PlLines plLines = upliftHelper.DeterminePlLinesForStability(damKernelInput, useRiverLevelLow, out _);
+ PlLines plLines = upliftHelper.DeterminePlLinesForStability(damKernelInput, useRiverLevelLow, out _, out string warningMessage);
Waternet waterNet = MacroStabilityCommonHelper.CreateWaternet(damKernelInput, plLines);
+ if (warningMessage != null)
+ {
+ macroStabilityOutput.Message = new LogMessage
+ {
+ Message = warningMessage,
+ MessageType = LogMessageType.Warning
+ };
+ }
FailureMechanismParametersMStab.MStabParameters.GridPosition = StabilityGridPosition.Left;
damKernelInput.DamFailureMechanismeCalculationSpecification.FailureMechanismParametersMStab
@@ -246,4 +254,14 @@
{
return DesignStrategy.NoDesignPossible;
}
+
+ public void AddMessageToCalculationMessages(IKernelDataOutput kernelDataOutput, List logMessages)
+ {
+ var dataOutput = (MacroStabilityOutput) kernelDataOutput;
+ LogMessage message = dataOutput.Message;
+ if (message != null)
+ {
+ logMessages.Add(message);
+ }
+ }
}
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx
===================================================================
diff -u -r6752 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx (.../Resources.resx) (revision 6752)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx (.../Resources.resx) (revision 6851)
@@ -295,6 +295,9 @@
An unexpected error occurs during the determination of the intersection point between the ditch and PL 1.
+
+ The user-defined penetration zone partially overlaps or extends above the in-between aquifer. Therefore, PL 2 is set equal to PL 4.
+
An unexpected error occured during the determination of the top and bottom boundaries of the in-between aquifer layer.
@@ -305,9 +308,9 @@
Location {0} Profile {1} Scenario {2} is not relevant (different calculator or no uplift at using piping).
- Location {0} Profile {1} Scenario {2} is not calculated because there is no uplift at using stability UpliftVan.
-
+ Location {0} Profile {1} Scenario {2} is not calculated because there is no uplift at using stability UpliftVan.
+
- No uplift
-
+ No uplift
+
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/Uplift/UpliftLocationDeterminatorTest.cs
===================================================================
diff -u -r6404 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/Uplift/UpliftLocationDeterminatorTest.cs (.../UpliftLocationDeterminatorTest.cs) (revision 6404)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/Uplift/UpliftLocationDeterminatorTest.cs (.../UpliftLocationDeterminatorTest.cs) (revision 6851)
@@ -176,6 +176,6 @@
IsAdjustPL3AndPL4SoNoUpliftWillOccurEnabled = false // for piping this must be set to false
};
var location = new Location();
- return plLineCreator.CreateAllPlLines(location);
+ return plLineCreator.CreateAllPlLines(location, out _);
}
}
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/PlLinesCreator/PlLinesCreator.cs
===================================================================
diff -u -r6747 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/PlLinesCreator/PlLinesCreator.cs (.../PlLinesCreator.cs) (revision 6747)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/PlLinesCreator/PlLinesCreator.cs (.../PlLinesCreator.cs) (revision 6851)
@@ -31,6 +31,7 @@
using Deltares.DamEngine.Data.Geometry;
using Deltares.DamEngine.Data.Geotechnics;
using Deltares.DamEngine.Data.Standard;
+using Deltares.DamEngine.Data.Standard.Logging;
namespace Deltares.DamEngine.Calculators.PlLinesCreator;
@@ -136,9 +137,10 @@
/// Create all PlLines
///
///
- public PlLines CreateAllPlLines(Location location)
+ public PlLines CreateAllPlLines(Location location, out string warningMessage)
{
var plLines = new PlLines();
+ warningMessage = null;
switch (ModelParametersForPlLines.PlLineCreationMethod)
{
case PlLineCreationMethod.ExpertKnowledgeLinearInDike:
@@ -154,13 +156,17 @@
if (!plLines.Lines[PlLineType.Pl2].Exists())
{
plLines.Lines[PlLineType.Pl2] = plLines.Lines[PlLineType.Pl4].Clone();
+ if (!Pl2ShouldNotBeCreated() && plLines.Lines[PlLineType.Pl4].Exists())
+ {
+ warningMessage = Resources.PlLinesCreator_WarningPl2SetEqualToPl4;
+ }
}
if (!plLines.Lines[PlLineType.Pl1].IsXAscending())
{
throw new PlLinesCreatorException("PlLine 1 not an X-ascending polyline");
}
-
+
return plLines;
}
@@ -414,7 +420,7 @@
throw new PlLinesCreatorException("Negative penetration length.");
}
- if (penetrationLength.AlmostEquals(0.0) || (headInPlLine2 == null))
+ if (Pl2ShouldNotBeCreated())
{
return plLine;
}
@@ -1799,4 +1805,9 @@
validator.ValidateSoilProfileForPlLinesCreator();
}
+
+ private bool Pl2ShouldNotBeCreated()
+ {
+ return ModelParametersForPlLines.PenetrationLength.AlmostEquals(0.0) || (HeadInPlLine2 == null);
+ }
}
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs
===================================================================
diff -u -r6738 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs (.../MacroStabilityInwardsKernelWrapper.cs) (revision 6738)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs (.../MacroStabilityInwardsKernelWrapper.cs) (revision 6851)
@@ -115,9 +115,18 @@
const bool useRiverLevelLow = false;
// Determine whether there is uplift
var upliftHelper = new UpliftHelper();
- PlLines plLines = upliftHelper.DeterminePlLinesForStability(damKernelInput, useRiverLevelLow, out UpliftSituation upliftSituation);
+ PlLines plLines = upliftHelper.DeterminePlLinesForStability(damKernelInput, useRiverLevelLow, out UpliftSituation upliftSituation, out string warningMessage);
macroStabilityOutput.UpliftSituation = upliftSituation;
+ if (warningMessage != null)
+ {
+ macroStabilityOutput.Message = new LogMessage
+ {
+ Message = warningMessage,
+ MessageType = LogMessageType.Warning
+ };
+ }
+
Waternet waterNet = MacroStabilityCommonHelper.CreateWaternet(damKernelInput, plLines);
if (FailureMechanismParametersMStab.MStabParameters.Model == StabilityModelType.UpliftVan
@@ -558,4 +567,14 @@
return macroStabilityOutputItem;
}
+
+ public void AddMessageToCalculationMessages(IKernelDataOutput kernelDataOutput, List logMessages)
+ {
+ var dataOutput = (MacroStabilityOutput) kernelDataOutput;
+ LogMessage message = dataOutput.Message;
+ if (message != null)
+ {
+ logMessages.Add(message);
+ }
+ }
}
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingBligh/WtiPipingBlighOutput.cs
===================================================================
diff -u -r6404 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingBligh/WtiPipingBlighOutput.cs (.../WtiPipingBlighOutput.cs) (revision 6404)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingBligh/WtiPipingBlighOutput.cs (.../WtiPipingBlighOutput.cs) (revision 6851)
@@ -22,6 +22,7 @@
using Deltares.DamEngine.Calculators.KernelWrappers.Interfaces;
using Deltares.DamEngine.Data.General;
using Deltares.DamEngine.Data.Standard.Calculation;
+using Deltares.DamEngine.Data.Standard.Logging;
namespace Deltares.DamEngine.Calculators.KernelWrappers.WtiPipingBligh;
@@ -78,4 +79,12 @@
/// The uplift situation.
///
public UpliftSituation UpliftSituation { get; set; }
+
+ ///
+ /// Gets or sets the message for the log.
+ ///
+ ///
+ /// The message for the log (in case of an error or a warning).
+ ///
+ public LogMessage Message { get; set; }
}
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs
===================================================================
diff -u -r6698 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 6698)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 6851)
@@ -26,7 +26,6 @@
using Deltares.DamEngine.Calculators.General;
using Deltares.DamEngine.Calculators.KernelWrappers.Common;
using Deltares.DamEngine.Calculators.KernelWrappers.Interfaces;
-using Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityInwards;
using Deltares.DamEngine.Calculators.Properties;
using Deltares.DamEngine.Data.Design;
using Deltares.DamEngine.Data.General;
@@ -286,6 +285,7 @@
{
case PrepareResult.Successful:
PerformCalculation(designResults, calculationMessages, analysisType, kernelWrapper, kernelDataInput, kernelDataOutput, damKernelInput);
+ kernelWrapper.AddMessageToCalculationMessages(kernelDataOutput, calculationMessages);
break;
case PrepareResult.NotRelevant:
calculationMessages.Add(new LogMessage(LogMessageType.Info, null,
@@ -309,12 +309,7 @@
location.Name,
soiProfileProbability,
designScenario.LocationScenarioID)));
-
- var mo = (MacroStabilityOutput) kernelDataOutput;
- if (mo != null)
- {
- calculationMessages.Add(mo.Message);
- }
+ kernelWrapper.AddMessageToCalculationMessages(kernelDataOutput, calculationMessages);
break;
}
}
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/WtiPipingHelper.cs
===================================================================
diff -u -r6404 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/WtiPipingHelper.cs (.../WtiPipingHelper.cs) (revision 6404)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/WtiPipingHelper.cs (.../WtiPipingHelper.cs) (revision 6851)
@@ -59,7 +59,8 @@
/// The point.
/// The pl lines.
/// The uplift location and result.
- public static void DeterminePlLinesAndUpliftLocation(DamKernelInput damKernelInput, Point2D point, out PlLines plLines, out UpliftLocationAndResult upliftLocationAndResult)
+ ///
+ public static void DeterminePlLinesAndUpliftLocation(DamKernelInput damKernelInput, Point2D point, out PlLines plLines, out UpliftLocationAndResult upliftLocationAndResult, out string warningMessage)
{
Location location = damKernelInput.Location;
SoilProfile1D soilProfile = damKernelInput.SubSoilScenario.SoilProfile1D;
@@ -71,7 +72,7 @@
ThrowHelper.ThrowIfArgumentNull(entryPoint, string.Format(Resources.NoDikeToeDefinedForLocation, location.Name));
plLines = PlLinesHelper.CreatePlLinesForPiping(damKernelInput.TimeStepDateTime, damKernelInput.Location, damKernelInput.SubSoilScenario.SoilProfile1D,
- damKernelInput.RiverLevelHigh);
+ damKernelInput.RiverLevelHigh, out warningMessage);
var upliftLocationDeterminator = new UpliftLocationDeterminator
{
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Interfaces/IKernelWrapper.cs
===================================================================
diff -u -r6679 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Interfaces/IKernelWrapper.cs (.../IKernelWrapper.cs) (revision 6679)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Interfaces/IKernelWrapper.cs (.../IKernelWrapper.cs) (revision 6851)
@@ -97,7 +97,7 @@
/// The kernel data input.
/// The kernel data output.
///
- /// Result of the prepare
+ /// Result of the preparation
///
PrepareResult Prepare(DamKernelInput damKernelInput, int iterationIndex, out IKernelDataInput kernelDataInput, out IKernelDataOutput kernelDataOutput);
@@ -172,4 +172,11 @@
///
///
DesignStrategy GetDesignStrategy(DamKernelInput damKernelInput);
+
+ ///
+ /// Add the message from the to the .
+ ///
+ /// The kernel data output
+ /// The log messages.
+ void AddMessageToCalculationMessages(IKernelDataOutput kernelDataOutput, List logMessages);
}
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapper.cs
===================================================================
diff -u -r6404 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapper.cs (.../WtiPipingSellmeijerRevisedKernelWrapper.cs) (revision 6404)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapper.cs (.../WtiPipingSellmeijerRevisedKernelWrapper.cs) (revision 6851)
@@ -58,7 +58,7 @@
/// The kernel data input.
/// The kernel data output.
///
- /// Result of the prepare
+ /// Result of the preparation
///
public PrepareResult Prepare(DamKernelInput damKernelInput, int iterationIndex, out IKernelDataInput kernelDataInput, out IKernelDataOutput kernelDataOutput)
{
@@ -69,10 +69,10 @@
FoSh = defaultMaxReturnValue
};
kernelDataOutput = pipingOutput;
- if (damKernelInput.SubSoilScenario != null)
+ if (damKernelInput.SubSoilScenario is { SegmentFailureMechanismType: not null } && damKernelInput.SubSoilScenario.SegmentFailureMechanismType.Value.In(
+ SegmentFailureMechanismType.Piping, SegmentFailureMechanismType.All))
{
- if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType.Value.In(
- SegmentFailureMechanismType.Piping, SegmentFailureMechanismType.All))
+ try
{
SoilProfile1D soilProfile1D = damKernelInput.SubSoilScenario.SoilProfile1D;
Location location = damKernelInput.Location;
@@ -83,12 +83,32 @@
}
PlLines plLines =
- PlLinesHelper.CreatePlLinesForPiping(damKernelInput.TimeStepDateTime, location, soilProfile1D, waterLevel);
+ PlLinesHelper.CreatePlLinesForPiping(damKernelInput.TimeStepDateTime, location, soilProfile1D, waterLevel, out string warningMessage);
+ if (warningMessage != null)
+ {
+ pipingOutput.Message = new LogMessage
+ {
+ MessageType = LogMessageType.FatalError,
+ Message = warningMessage
+ };
+ }
+
if (EvaluateUpliftSituation(damKernelInput, out kernelDataInput, plLines, waterLevel, pipingOutput))
{
return PrepareResult.Successful;
}
}
+ catch (Exception e)
+ {
+ pipingOutput.Message = new LogMessage
+ {
+ MessageType = LogMessageType.FatalError,
+ Message = e.Message
+ };
+ kernelDataOutput = pipingOutput;
+ kernelDataInput = null;
+ return PrepareResult.Failed;
+ }
}
kernelDataInput = null;
@@ -309,7 +329,7 @@
PlLines plLines;
UpliftLocationAndResult upliftLocationAndResult;
- WtiPipingHelper.DeterminePlLinesAndUpliftLocation(damKernelInput, point, out plLines, out upliftLocationAndResult);
+ WtiPipingHelper.DeterminePlLinesAndUpliftLocation(damKernelInput, point, out plLines, out upliftLocationAndResult, out _);
double requiredFoS = location.CurrentScenario.RequiredSafetyFactorPiping;
double upliftCriterion = location.CurrentScenario.UpliftCriterionPiping;
@@ -793,4 +813,14 @@
throw new NoNullAllowedException(Resources.WtiPipingSellmeijerRevisedKernelWrapper_NoInputObjectDefined);
}
}
+
+ public void AddMessageToCalculationMessages(IKernelDataOutput kernelDataOutput, List logMessages)
+ {
+ var dataOutput = (WtiPipingSellmeijerRevisedOutput) kernelDataOutput;
+ LogMessage message = dataOutput.Message;
+ if (message != null)
+ {
+ logMessages.Add(message);
+ }
+ }
}
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/WtiPipingBligh/WtiPipingBlighKernelWrapperTests.cs
===================================================================
diff -u -r6404 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/WtiPipingBligh/WtiPipingBlighKernelWrapperTests.cs (.../WtiPipingBlighKernelWrapperTests.cs) (revision 6404)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/WtiPipingBligh/WtiPipingBlighKernelWrapperTests.cs (.../WtiPipingBlighKernelWrapperTests.cs) (revision 6851)
@@ -261,6 +261,25 @@
}
[Test]
+ public void TestAddMessageToCalculationMessages()
+ {
+ var kernelDataOutput = new WtiPipingBlighOutput();
+ var message = new LogMessage
+ {
+ Message = "Warning during calculation",
+ MessageType = LogMessageType.Warning
+ };
+ kernelDataOutput.Message = message;
+ var logMessages = new List();
+ IKernelWrapper kernelWrapper = new WtiPipingBlighKernelWrapper();
+
+ kernelWrapper.AddMessageToCalculationMessages(kernelDataOutput, logMessages);
+
+ Assert.That(logMessages, Has.Count.EqualTo(1));
+ Assert.That(logMessages[0], Is.EqualTo(message));
+ }
+
+ [Test]
[SetUICulture("nl-NL")]
public void TestLanguageNLThrowsExceptionInExecuteWhenInputIsNull()
{
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityOutput.cs
===================================================================
diff -u -r6404 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityOutput.cs (.../MacroStabilityOutput.cs) (revision 6404)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityOutput.cs (.../MacroStabilityOutput.cs) (revision 6851)
@@ -57,7 +57,7 @@
/// Gets or sets the message for the log.
///
///
- /// The message for the log (in case of an error).
+ /// The message for the log (in case of an error or a warning).
///
public LogMessage Message { get; set; }
}
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/PlLinesHelper.cs
===================================================================
diff -u -r6404 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/PlLinesHelper.cs (.../PlLinesHelper.cs) (revision 6404)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/PlLinesHelper.cs (.../PlLinesHelper.cs) (revision 6851)
@@ -44,10 +44,11 @@
/// The water level river low.
/// The sensor pl line creator settings.
/// The uplift situation.
+ /// The warning message.
/// The created Pl-lines
public static PlLines CreatePlLinesForStability(Location location, SoilGeometryProbability subSoilScenario,
double waterLevel, double? waterLevelRiverLow, SensorPlLineCreatorSettings sensorPlLineCreatorSettings,
- out UpliftSituation upliftSituation)
+ out UpliftSituation upliftSituation, out string warningMessage)
{
PlLines plLines = null;
upliftSituation = new UpliftSituation();
@@ -56,7 +57,7 @@
case PlLineCreationMethod.ExpertKnowledgeLinearInDike:
case PlLineCreationMethod.ExpertKnowledgeRRD:
plLines = CreatePlLinesForStabilityExpertKnowledge(location, subSoilScenario,
- waterLevel, waterLevelRiverLow, out upliftSituation);
+ waterLevel, waterLevelRiverLow, out upliftSituation, out warningMessage);
break;
case PlLineCreationMethod.Sensors:
plLines = CreatePlLinesForStabilitySensors(location, sensorPlLineCreatorSettings);
@@ -65,6 +66,7 @@
throw new NotImplementedException($@"Pl-line creation method '{location.ModelParametersForPlLines.PlLineCreationMethod}' is not implemented");
}
+ warningMessage = null;
return plLines;
}
@@ -101,9 +103,11 @@
/// The location.
/// The soil profile.
/// The water level.
+ /// The warning message.
///
- public static PlLines CreatePlLinesForPiping(DateTime timeStepDateTime, Location location, SoilProfile1D soilProfile, double waterLevel)
+ public static PlLines CreatePlLinesForPiping(DateTime timeStepDateTime, Location location, SoilProfile1D soilProfile, double waterLevel, out string warningMessage)
{
+ warningMessage = null;
var plLinesCreator = new PlLinesCreator.PlLinesCreator
{
WaterLevelRiverHigh = waterLevel,
@@ -131,7 +135,7 @@
}
else
{
- plLines = plLinesCreator.CreateAllPlLines(location);
+ plLines = plLinesCreator.CreateAllPlLines(location, out warningMessage);
}
return plLines;
@@ -145,10 +149,13 @@
/// The water level.
/// The water level river low.
/// The uplift situation.
+ /// The warning message.
/// The created Pl-lines
private static PlLines CreatePlLinesForStabilityExpertKnowledge(Location location, SoilGeometryProbability subSoilScenario,
- double waterLevel, double? waterLevelRiverLow, out UpliftSituation upliftSituation)
+ double waterLevel, double? waterLevelRiverLow, out UpliftSituation upliftSituation,
+ out string warningMessage)
{
+ warningMessage = null;
var plLinesCreator = new PlLinesCreator.PlLinesCreator
{
WaterLevelRiverLow = waterLevelRiverLow,
@@ -176,7 +183,7 @@
SoilList = location.SoilList
};
- PlLines plLines = plLinesCreator.CreateAllPlLines(location);
+ PlLines plLines = plLinesCreator.CreateAllPlLines(location, out warningMessage);
upliftSituation = new UpliftSituation
{
Pl3HeadAdjusted = plLinesCreator.Pl3HeadAdjusted,
@@ -187,6 +194,7 @@
Pl4MinUplift = plLinesCreator.Pl4MinUplift,
IsUplift = false // must be determined later on; just to avoid compiler error
};
+
return plLines;
}
}
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/PlLinesCreator/PlLinesCreatorTest.cs
===================================================================
diff -u -r6747 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/PlLinesCreator/PlLinesCreatorTest.cs (.../PlLinesCreatorTest.cs) (revision 6747)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/PlLinesCreator/PlLinesCreatorTest.cs (.../PlLinesCreatorTest.cs) (revision 6851)
@@ -979,7 +979,7 @@
SoilProfileType = SoilProfileType.ProfileType1D,
SoilProfile = null
};
- Assert.That(() => plLineCreator.CreateAllPlLines(new Location()),
+ Assert.That(() => plLineCreator.CreateAllPlLines(new Location(), out _),
Throws.InstanceOf().With.Message.EqualTo
("Voor dit scenario wordt geen berekening uitgevoerd omdat het ondergrondprofiel niet voldoet aan " +
"de eisen die aan de aanleg van het waternet worden gesteld: Er is niet voldoende informatie over het " +
@@ -1147,6 +1147,7 @@
/// Test if PL2 and PL4 are created correctly if in-between aquifer present and penetration length ending in that aquifer
///
[Test]
+ [SetUICulture("nl-NL")]
public void CreatePL2andPL4For1DGeometryWithExpertKnowledgeRRDWithSandLayerInBetweenAndPenetrationLengthInThisAquiferLayer()
{
const double cPenetrationLength = 4.0;
@@ -1170,7 +1171,7 @@
};
var location = new Location();
- PlLines plLines = plLineCreator.CreateAllPlLines(location);
+ PlLines plLines = plLineCreator.CreateAllPlLines(location, out string warningMessage);
PlLine plLine2 = plLines.Lines[PlLineType.Pl2];
PlLine plLine4 = plLines.Lines[PlLineType.Pl4];
@@ -1185,6 +1186,8 @@
{
Assert.That(plLine2.Points[pointIndex].LocationEquals(plLine4.Points[pointIndex]), Is.True);
}
+ Assert.That(warningMessage, Is.EqualTo("De door de gebruiker gedefinieerde penetratiezone overlapt " +
+ "gedeeltelijk of strekt zich uit boven het tussenliggende watervoerende pakket. Daarom wordt PL 2 gelijkgesteld aan PL 4."));
}
[Test]
@@ -1648,7 +1651,7 @@
SlopeDampingPiezometricHeightPolderSide = 0.02
};
- PlLines plLines = plLineCreator.CreateAllPlLines(location);
+ PlLines plLines = plLineCreator.CreateAllPlLines(location, out _);
CheckPl4LowFor1DGeometryWithExpertKnowledgeRrd(plLines.Lines[PlLineType.Pl4]);
}
@@ -1719,7 +1722,7 @@
plLineCreator.GaugePlLines = gaugePlLines;
plLineCreator.Gauges = gauges;
plLineCreator.ModelParametersForPlLines.PlLineCreationMethod = PlLineCreationMethod.GaugesWithFallbackToExpertKnowledgeRRD;
- Assert.That(() => plLineCreator.CreateAllPlLines(locations[0]), Throws.InstanceOf());
+ Assert.That(() => plLineCreator.CreateAllPlLines(locations[0], out _), Throws.InstanceOf());
}
[Test]
@@ -1796,7 +1799,7 @@
plLineCreator.GaugePlLines = gaugePlLines;
plLineCreator.Gauges = gauges;
- PlLines plLines = plLineCreator.CreateAllPlLines(locations[0]);
+ PlLines plLines = plLineCreator.CreateAllPlLines(locations[0], out _);
Assert.That(plLines.Lines[PlLineType.Pl1].Points, Has.Count.EqualTo(4));
Assert.Multiple(() =>
@@ -1903,7 +1906,7 @@
plLineCreator.GaugePlLines = gaugePlLines;
plLineCreator.Gauges = gauges;
- PlLines plLines = plLineCreator.CreateAllPlLines(locations[0]);
+ PlLines plLines = plLineCreator.CreateAllPlLines(locations[0], out _);
Assert.That(plLines.Lines[PlLineType.Pl1].Points, Has.Count.EqualTo(4));
Assert.Multiple(() =>
@@ -2009,7 +2012,7 @@
plLineCreator.GaugePlLines = gaugePlLines;
plLineCreator.Gauges = gauges;
- PlLines plLines = plLineCreator.CreateAllPlLines(locations[0]);
+ PlLines plLines = plLineCreator.CreateAllPlLines(locations[0], out _);
Assert.That(plLines.Lines[PlLineType.Pl1].Points, Has.Count.EqualTo(2));
Assert.Multiple(() =>
@@ -2243,7 +2246,7 @@
var location = new Location();
// Call
- PlLines plLines = plLineCreator.CreateAllPlLines(location);
+ PlLines plLines = plLineCreator.CreateAllPlLines(location, out _);
// Assert
Assert.That(plLines.Lines, Has.Count.EqualTo(4));
@@ -2339,7 +2342,7 @@
};
// Call
- PlLines plLines = plLineCreator.CreateAllPlLines(location);
+ PlLines plLines = plLineCreator.CreateAllPlLines(location, out _);
// Assert
Assert.That(plLines.Lines[PlLineType.Pl4].Points, Has.Count.EqualTo(4));
@@ -2429,6 +2432,7 @@
}
[Test]
+ [SetUICulture("nl-NL")]
[TestCase(1, false)] // top level penetration zone (-5m) in bottom aquitard
[TestCase(2.5, true)] // top level penetration zone (-3.5m) half in bottom aquitard, half in in-between aquifer
[TestCase(4.5, true)] // top level penetration zone (-2.5m) in middle aquitard
@@ -2457,7 +2461,7 @@
var location = new Location();
// Call
- PlLines plLines = plLineCreator.CreateAllPlLines(location);
+ PlLines plLines = plLineCreator.CreateAllPlLines(location, out string warningMessage);
// Assert
Assert.That(plLines.Lines[PlLineType.Pl4], Is.Not.Null);
@@ -2483,6 +2487,9 @@
{
Assert.That(plLines.Lines[PlLineType.Pl2].Points[0].Z, Is.EqualTo(headPl4).Within(tolerance4Decimals));
Assert.That(plLines.Lines[PlLineType.Pl2].Points[1].Z, Is.EqualTo(headPl4).Within(tolerance4Decimals));
+ Assert.That(warningMessage, Is.EqualTo("De door de gebruiker gedefinieerde penetratiezone overlapt " +
+ "gedeeltelijk of strekt zich uit boven het tussenliggende watervoerende pakket. " +
+ "Daarom wordt PL 2 gelijkgesteld aan PL 4."));
});
}
else
@@ -2491,6 +2498,7 @@
{
Assert.That(plLines.Lines[PlLineType.Pl2].Points[0].Z, Is.EqualTo(headPl2).Within(tolerance4Decimals));
Assert.That(plLines.Lines[PlLineType.Pl2].Points[1].Z, Is.EqualTo(headPl2).Within(tolerance4Decimals));
+ Assert.That(warningMessage, Is.Null);
});
}
}
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/Common/UpliftHelperTests.cs
===================================================================
diff -u -r6404 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/Common/UpliftHelperTests.cs (.../UpliftHelperTests.cs) (revision 6404)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/Common/UpliftHelperTests.cs (.../UpliftHelperTests.cs) (revision 6851)
@@ -43,11 +43,11 @@
damKernelInput.Location.CurrentScenario.UpliftCriterionStability = 1.2;
var upliftHelper = new UpliftHelper();
- upliftHelper.DeterminePlLinesForStability(damKernelInput, false, out UpliftSituation upliftSituation);
+ upliftHelper.DeterminePlLinesForStability(damKernelInput, false, out UpliftSituation upliftSituation, out _);
Assert.That(upliftSituation.IsUplift, Is.True);
damKernelInput.Location.CurrentScenario.UpliftCriterionStability = 0.8;
- upliftHelper.DeterminePlLinesForStability(damKernelInput, false, out upliftSituation);
+ upliftHelper.DeterminePlLinesForStability(damKernelInput, false, out upliftSituation, out _);
Assert.That(upliftSituation.IsUplift, Is.False);
}
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapperTests.cs
===================================================================
diff -u -r6688 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapperTests.cs (.../MacroStabilityInwardsKernelWrapperTests.cs) (revision 6688)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapperTests.cs (.../MacroStabilityInwardsKernelWrapperTests.cs) (revision 6851)
@@ -55,7 +55,7 @@
[TestCase(1.4, true, false, PrepareResult.NotRelevant, false)]
[TestCase(1.4, true, true, PrepareResult.Successful)]
[TestCase(1.2, false, false, PrepareResult.Failed)]
- public void TestPrepare(double upliftCriterionStability, bool isInputValid, bool expectedIsUplift,
+ public void TestPrepare(double upliftCriterionStability, bool isInputValid, bool expectedIsUplift,
PrepareResult expectedPrepareResult, bool isStability = true)
{
// Setup
@@ -65,6 +65,7 @@
{
kernelInput.SubSoilScenario.SegmentFailureMechanismType = SegmentFailureMechanismType.Piping;
}
+
var kernelWrapper = new MacroStabilityInwardsKernelWrapper
{
FailureMechanismParametersMStab = new FailureMechanismParametersMStab
@@ -582,13 +583,32 @@
Assert.That(engineInterface.DamProjectData, Is.Not.Null);
engineInterface.DamProjectData.DamProjectCalculationSpecification.CurrentSpecification.StabilityModelType =
StabilityModelType.UpliftVan;
-
+
Output output = GeneralHelper.RunAfterInputValidation(engineInterface);
Assert.That(output.Results.CalculationResults[0].StabilityDesignResults.SafetyFactor, Is.EqualTo(1.6099).Within(tolerance4Decimals));
}
[Test]
+ public void TestAddMessageToCalculationMessages()
+ {
+ var kernelDataOutput = new MacroStabilityOutput();
+ var message = new LogMessage
+ {
+ Message = "Warning during calculation",
+ MessageType = LogMessageType.Warning
+ };
+ kernelDataOutput.Message = message;
+ var logMessages = new List();
+ IKernelWrapper kernelWrapper = new MacroStabilityInwardsKernelWrapper();
+
+ kernelWrapper.AddMessageToCalculationMessages(kernelDataOutput, logMessages);
+
+ Assert.That(logMessages, Has.Count.EqualTo(1));
+ Assert.That(logMessages[0], Is.EqualTo(message));
+ }
+
+ [Test]
[SetUICulture("nl-NL")]
public void TestLanguageNLThrowsExceptionWhenInputIsNull()
{
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/Common/PlLinesHelperTests.cs
===================================================================
diff -u -r6404 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/Common/PlLinesHelperTests.cs (.../PlLinesHelperTests.cs) (revision 6404)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/Common/PlLinesHelperTests.cs (.../PlLinesHelperTests.cs) (revision 6851)
@@ -50,7 +50,7 @@
var riverLevel = 1.0;
var timeStepDateTime = new DateTime();
- PlLines plLines = PlLinesHelper.CreatePlLinesForPiping(timeStepDateTime, location, soilProfile1D, riverLevel);
+ PlLines plLines = PlLinesHelper.CreatePlLinesForPiping(timeStepDateTime, location, soilProfile1D, riverLevel, out _);
Assert.Multiple(() =>
{
Assert.That(plLines.PlLineCount, Is.EqualTo(4));
@@ -90,7 +90,7 @@
var riverLevel = 1.0;
var timeStepDateTime = new DateTime();
- PlLines plLines = PlLinesHelper.CreatePlLinesForPiping(timeStepDateTime, location, soilProfile1D, riverLevel);
+ PlLines plLines = PlLinesHelper.CreatePlLinesForPiping(timeStepDateTime, location, soilProfile1D, riverLevel, out _);
Assert.Multiple(() =>
{
Assert.That(plLines.PlLineCount, Is.EqualTo(4));
@@ -141,7 +141,7 @@
var riverLevel = 0.5;
var timeStepDateTime = new DateTime();
- PlLines plLines = PlLinesHelper.CreatePlLinesForPiping(timeStepDateTime, location, soilProfile1D, riverLevel);
+ PlLines plLines = PlLinesHelper.CreatePlLinesForPiping(timeStepDateTime, location, soilProfile1D, riverLevel, out _);
Assert.Multiple(() =>
{
Assert.That(plLines.PlLineCount, Is.EqualTo(4));
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingBligh/WtiPipingBlighKernelWrapper.cs
===================================================================
diff -u -r6404 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingBligh/WtiPipingBlighKernelWrapper.cs (.../WtiPipingBlighKernelWrapper.cs) (revision 6404)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingBligh/WtiPipingBlighKernelWrapper.cs (.../WtiPipingBlighKernelWrapper.cs) (revision 6851)
@@ -69,17 +69,43 @@
FoSp = defaultMaxReturnValue
};
kernelDataOutput = wtiPipingBlighOutput;
- if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType.Value.In(SegmentFailureMechanismType.Piping, SegmentFailureMechanismType.All))
+ if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType != null &&
+ damKernelInput.SubSoilScenario.SegmentFailureMechanismType.Value.In(SegmentFailureMechanismType.Piping, SegmentFailureMechanismType.All))
{
- var wtiPipingBlighInput = new WtiPipingBlighInput();
+ try
+ {
- SoilProfile1D soilProfile1D = damKernelInput.SubSoilScenario.SoilProfile1D;
- Location location = damKernelInput.Location;
- double waterLevel = damKernelInput.RiverLevelHigh;
- PlLines plLines = PlLinesHelper.CreatePlLinesForPiping(damKernelInput.TimeStepDateTime, location, soilProfile1D, waterLevel);
- if (EvaluateUpliftSituation(damKernelInput, out kernelDataInput, plLines, wtiPipingBlighInput, waterLevel, wtiPipingBlighOutput))
+ var wtiPipingBlighInput = new WtiPipingBlighInput();
+
+ SoilProfile1D soilProfile1D = damKernelInput.SubSoilScenario.SoilProfile1D;
+ Location location = damKernelInput.Location;
+ double waterLevel = damKernelInput.RiverLevelHigh;
+ PlLines plLines = PlLinesHelper.CreatePlLinesForPiping(damKernelInput.TimeStepDateTime, location, soilProfile1D, waterLevel, out string warningMessage);
+
+ if (warningMessage != null)
+ {
+ wtiPipingBlighOutput.Message = new LogMessage
+ {
+ MessageType = LogMessageType.FatalError,
+ Message = warningMessage
+ };
+ }
+
+ if (EvaluateUpliftSituation(damKernelInput, out kernelDataInput, plLines, wtiPipingBlighInput, waterLevel, wtiPipingBlighOutput))
+ {
+ return PrepareResult.Successful;
+ }
+ }
+ catch (Exception e)
{
- return PrepareResult.Successful;
+ wtiPipingBlighOutput.Message = new LogMessage
+ {
+ MessageType = LogMessageType.FatalError,
+ Message = e.Message
+ };
+ kernelDataOutput = wtiPipingBlighOutput;
+ kernelDataInput = null;
+ return PrepareResult.Failed;
}
}
@@ -192,7 +218,7 @@
PlLines plLines;
UpliftLocationAndResult upliftLocationAndResult;
- WtiPipingHelper.DeterminePlLinesAndUpliftLocation(damKernelInput, point, out plLines, out upliftLocationAndResult);
+ WtiPipingHelper.DeterminePlLinesAndUpliftLocation(damKernelInput, point, out plLines, out upliftLocationAndResult, out _);
double requiredFoS = location.CurrentScenario.RequiredSafetyFactorPiping;
double upliftCriterion = location.CurrentScenario.UpliftCriterionPiping;
@@ -402,4 +428,14 @@
throw new NoNullAllowedException(Resources.WtiPipingBlighKernelWrapper_NoDamInputObjectDefinedForBligh);
}
}
+
+ public void AddMessageToCalculationMessages(IKernelDataOutput kernelDataOutput, List logMessages)
+ {
+ var dataOutput = (WtiPipingBlighOutput) kernelDataOutput;
+ LogMessage message = dataOutput.Message;
+ if (message != null)
+ {
+ logMessages.Add(message);
+ }
+ }
}
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapperTests.cs
===================================================================
diff -u -r6404 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapperTests.cs (.../WtiPipingSellmeijerRevisedKernelWrapperTests.cs) (revision 6404)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapperTests.cs (.../WtiPipingSellmeijerRevisedKernelWrapperTests.cs) (revision 6851)
@@ -352,6 +352,25 @@
});
}
+ [Test]
+ public void TestAddMessageToCalculationMessages()
+ {
+ var kernelDataOutput = new WtiPipingSellmeijerRevisedOutput();
+ var message = new LogMessage
+ {
+ Message = "Warning during calculation",
+ MessageType = LogMessageType.Warning
+ };
+ kernelDataOutput.Message = message;
+ var logMessages = new List();
+ IKernelWrapper kernelWrapper = new WtiPipingSellmeijerRevisedKernelWrapper();
+
+ kernelWrapper.AddMessageToCalculationMessages(kernelDataOutput, logMessages);
+
+ Assert.That(logMessages, Has.Count.EqualTo(1));
+ Assert.That(logMessages[0], Is.EqualTo(message));
+ }
+
[TestCase(0, 49.5, 1860.9050036726026, 1302.9335025708217, 1302.6335025708217, 0.037999943884683543)]
[TestCase(10, 59.5, 2196.3999536424808, 1537.7799675497363, 1537.4799675497363, 0.038699691219277771)]
[TestCase(-10, 39.5, 1519.6869237263827, 1064.0808466084677, 1063.7808466084678, 0.037131708214086942)]
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs
===================================================================
diff -u -r6752 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 6752)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 6851)
@@ -366,6 +366,12 @@
}
}
+ internal static string PlLinesCreator_WarningPl2SetEqualToPl4 {
+ get {
+ return ResourceManager.GetString("PlLinesCreator_WarningPl2SetEqualToPl4", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to No pl-lines object defined.
///
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/UpliftHelper.cs
===================================================================
diff -u -r6404 -r6851
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/UpliftHelper.cs (.../UpliftHelper.cs) (revision 6404)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/UpliftHelper.cs (.../UpliftHelper.cs) (revision 6851)
@@ -36,15 +36,16 @@
/// Determines the pl lines for stability.
///
/// The dam kernel input.
- /// if set to true [use rivel level low].
+ /// if set to true [use river level low].
/// The uplift situation.
+ /// The warning message.
/// pl lines
- public PlLines DeterminePlLinesForStability(DamKernelInput damKernelInput, bool useRivelLevelLow,
- out UpliftSituation upliftSituation)
+ public PlLines DeterminePlLinesForStability(DamKernelInput damKernelInput, bool useRiverLevelLow,
+ out UpliftSituation upliftSituation, out string warningMessage)
{
double riverLevel = damKernelInput.RiverLevelHigh;
double? riverLevelLow = null;
- if (useRivelLevelLow)
+ if (useRiverLevelLow)
{
riverLevelLow = damKernelInput.RiverLevelLow;
}
@@ -55,7 +56,7 @@
DateTime = damKernelInput.TimeStepDateTime
};
PlLines plLines = PlLinesHelper.CreatePlLinesForStability(damKernelInput.Location, damKernelInput.SubSoilScenario, riverLevel,
- riverLevelLow, sensorPlLineCreatorSettings, out upliftSituation);
+ riverLevelLow, sensorPlLineCreatorSettings, out upliftSituation, out warningMessage);
upliftSituation.IsUplift = DetermineIsUplift(plLines, damKernelInput.Location, damKernelInput.SubSoilScenario, out double xCoordLowestUpliftFactor);
upliftSituation.XCoordinateLowestUpliftFactorPoint = xCoordLowestUpliftFactor;