Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelper.cs
===================================================================
diff -u -r6485 -r6486
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelper.cs (.../MacroStabilityCommonHelper.cs) (revision 6485)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelper.cs (.../MacroStabilityCommonHelper.cs) (revision 6486)
@@ -46,6 +46,8 @@
using CharacteristicPointType = Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType;
using ConversionHelper = Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityCommon.MacroStabilityIo.ConversionHelper;
using MacroStabilityOutput = Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityInwards.MacroStabilityOutput;
+using MessagesTypeMessage = Deltares.MacroStability.Io.XmlValidationOutput.MessagesTypeMessage;
+using MessageType = Deltares.MacroStability.Io.XmlValidationOutput.MessageType;
using Point2D = Deltares.DamEngine.Data.Geometry.Point2D;
using Soil = Deltares.DamEngine.Data.Geotechnics.Soil;
using SoilProfileType = Deltares.DamEngine.Data.General.SoilProfileType;
@@ -143,7 +145,7 @@
return bishopCalculationGrid;
}
-
+
///
/// Creates the actual calculation grids and tangent lines for the uplift model specific for the calculation
///
@@ -239,7 +241,7 @@
designScenario, damKernelInput.SubSoilScenario.SoilProfile1D, soilProfile2DName)
{
// Initialize to the result of the designScenario
- CalculationResult = (designScenario != null) ? designScenario.CalculationResult : CalculationResult.NoRun,
+ CalculationResult = designScenario != null ? designScenario.CalculationResult : CalculationResult.NoRun,
StabilityDesignResults = new StabilityDesignResults()
};
var stabilityDesignResults = new StabilityDesignResults
@@ -300,7 +302,7 @@
try
{
// For now a simple check to see if any data has been past at all.
- string inputAsXml = calculator.KernelModel.ToString();
+ var inputAsXml = calculator.KernelModel.ToString();
if (inputAsXml is { Length: > 10 })
{
@@ -340,12 +342,14 @@
{
((MacroStabilityOutput) kernelDataOutput).CalculationResult = CalculationResult.InvalidInputData;
}
+
return 1;
}
+
var macroStabilityInterface = new MacroStabilityInterface(macroStabilityKernelDataInput.Input);
try
{
- var result = macroStabilityInterface.Validate(out ValidationOutputType validationOutput);
+ bool result = macroStabilityInterface.Validate(out ValidationOutputType validationOutput);
if (result)
{
return 0;
@@ -356,25 +360,25 @@
((MacroStabilityOutput) kernelDataOutput).CalculationResult = CalculationResult.InvalidInputData;
}
- foreach (var resultMessage in validationOutput.Messages)
+ foreach (MessagesTypeMessage resultMessage in validationOutput.Messages)
{
var message = new LogMessage
{
Message = resultMessage.Message
};
switch (resultMessage.MessageType)
{
- case Deltares.MacroStability.Io.XmlValidationOutput.MessageType.Error:
+ case MessageType.Error:
{
message.MessageType = LogMessageType.Error;
break;
}
- case Deltares.MacroStability.Io.XmlValidationOutput.MessageType.Info:
+ case MessageType.Info:
{
message.MessageType = LogMessageType.Info;
break;
}
- case Deltares.MacroStability.Io.XmlValidationOutput.MessageType.Warning:
+ case MessageType.Warning:
{
message.MessageType = LogMessageType.Warning;
break;
@@ -415,10 +419,10 @@
///
///
///
- public static void PerformStabilityCalculation(DamKernelInput damKernelInput, MStabParameters mStabParameters,
- Waternet waterNet, double xCoordinateLowestUpliftFactorPoint,
- MacroStabilityOutput macroStabilityOutput, string fileName,
- MacroStabilityInterface calculator, out List errorMessages)
+ public static void PerformStabilityCalculation(DamKernelInput damKernelInput, MStabParameters mStabParameters,
+ Waternet waterNet, double xCoordinateLowestUpliftFactorPoint,
+ MacroStabilityOutput macroStabilityOutput, string fileName,
+ MacroStabilityInterface calculator, out List errorMessages)
{
macroStabilityOutput.CalculationResult = CalculationResult.NoRun;
macroStabilityOutput.StabilityOutputItems ??= [];
@@ -445,14 +449,37 @@
if (macroStabilityOutput.CalculationResult != CalculationResult.UnexpectedError)
{
- StixFileWriterConnector.WriteStixFileWithInput(damKernelInput, mStabParameters, waterNet,
- xCoordinateLowestUpliftFactorPoint, macroStabilityOutput,
+ StixFileWriterConnector.WriteStixFileWithInput(damKernelInput, mStabParameters, waterNet,
+ xCoordinateLowestUpliftFactorPoint, macroStabilityOutput,
fileName, new List());
- StixFileWriterConnector.WriteStixFileWithInputAndResults(damKernelInput, mStabParameters, waterNet,
+ StixFileWriterConnector.WriteStixFileWithInputAndResults(damKernelInput, mStabParameters, waterNet,
xCoordinateLowestUpliftFactorPoint, macroStabilityOutput, fileName, errorMessages);
}
}
+ ///
+ /// Create the waternet using the 1D soil profile if available, otherwise the 2D soil profile.
+ ///
+ ///
+ ///
+ /// The waternet.
+ public static Waternet CreateWaternet(DamKernelInput damKernelInput, PlLines plLines)
+ {
+ double penetrationLength = damKernelInput.Location.ModelParametersForPlLines.PenetrationLength;
+ IntrusionVerticalWaterPressureType? pressureType = damKernelInput.Location.IntrusionVerticalWaterPressure;
+
+ ThrowWhenSoilProfile2DIsNull(damKernelInput.SubSoilScenario);
+
+ SurfaceLine2 surfaceLine = damKernelInput.Location.SurfaceLine;
+ if (damKernelInput.SubSoilScenario.SoilProfile1D != null)
+ {
+ return PlLinesToWaternetConverter.CreateWaternetBasedOnPlLines(plLines, damKernelInput.SubSoilScenario.SoilProfile1D, surfaceLine, penetrationLength, pressureType);
+ }
+
+ SoilProfile2D soilProfile2D = damKernelInput.SubSoilScenario.SoilProfile2D;
+ return PlLinesToWaternetConverter.CreateWaternetBasedOnPlLines(plLines, soilProfile2D, surfaceLine, penetrationLength, pressureType);
+ }
+
private static void CreateCalculationGridInOutputItem(StabilityModel kernelModelStabilityModel, MacroStabilityOutputItem stabilityOutputItem)
{
switch (kernelModelStabilityModel.ModelOption)
@@ -511,29 +538,6 @@
}
///
- /// Create the waternet using the 1D soil profile if available, otherwise the 2D soil profile.
- ///
- ///
- ///
- /// The waternet.
- public static Waternet CreateWaternet(DamKernelInput damKernelInput, PlLines plLines)
- {
- double penetrationLength = damKernelInput.Location.ModelParametersForPlLines.PenetrationLength;
- IntrusionVerticalWaterPressureType? pressureType = damKernelInput.Location.IntrusionVerticalWaterPressure;
-
- ThrowWhenSoilProfile2DIsNull(damKernelInput.SubSoilScenario);
-
- SurfaceLine2 surfaceLine = damKernelInput.Location.SurfaceLine;
- if (damKernelInput.SubSoilScenario.SoilProfile1D != null)
- {
- return PlLinesToWaternetConverter.CreateWaternetBasedOnPlLines(plLines, damKernelInput.SubSoilScenario.SoilProfile1D, surfaceLine, penetrationLength, pressureType);
- }
-
- SoilProfile2D soilProfile2D = damKernelInput.SubSoilScenario.SoilProfile2D;
- return PlLinesToWaternetConverter.CreateWaternetBasedOnPlLines(plLines, soilProfile2D, surfaceLine, penetrationLength, pressureType);
- }
-
- ///
/// Combines the surface line with the SoilProfile2D.
///
/// The sub soil scenario.