Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelper.cs
===================================================================
diff -u -r5307 -r5310
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelper.cs (.../MacroStabilityCommonHelper.cs) (revision 5307)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelper.cs (.../MacroStabilityCommonHelper.cs) (revision 5310)
@@ -384,25 +384,26 @@
macroStabilityOutput.CalculationResult = CalculationResult.UnexpectedError;
messages.Add(new LogMessage(LogMessageType.Error, null, exceptionDuringCalculation.Message));
}
-
+
try
{
- foreach (MacroStabilityOutputItem stabilityOutputItem in macroStabilityOutput.StabilityOutputItems)
+ MacroStabilityOutputItem stabilityOutputItem = macroStabilityOutput.StabilityOutputItems[^1];
+
+ switch (stabilityOutputItem.StabilityModelType)
{
- switch (stabilityOutputItem.StabilityModelType)
- {
- case MStabModelType.Bishop:
- input.StabilityModel.BishopCalculationCircle = stabilityOutputItem.BishopCalculationCircle;
- break;
- case MStabModelType.UpliftVan:
- input.StabilityModel.UpliftVanCalculationGrid = stabilityOutputItem.UpliftVanCalculationGrid;
- break;
- }
+ case MStabModelType.Bishop:
+ input.StabilityModel.BishopCalculationCircle = stabilityOutputItem.BishopCalculationCircle;
+ break;
+ case MStabModelType.UpliftVan:
+ input.StabilityModel.UpliftVanCalculationGrid = stabilityOutputItem.UpliftVanCalculationGrid;
+ break;
+ }
+ if (stabilityOutputItem.CalculationResult == CalculationResult.Succeeded)
+ {
WriteStixFileBasedOnInputAndResultsSearchGrid(fileName, input);
+ WriteStixFileBasedOnInputAndResultsSlipPlane(fileName, input, stabilityOutputItem);
}
-
- WriteStixFileBasedOnInputAndResultsSlipPlane(fileName, input, macroStabilityOutput);
}
catch (Exception exceptionDuringStixFileWriter)
{
@@ -594,38 +595,32 @@
///
/// Name of the file.
/// The input.
- /// The macro stability output.
+ /// The macro stability output.
private static void WriteStixFileBasedOnInputAndResultsSlipPlane(string fileName, MacroStabilityInput input,
- MacroStabilityOutput macroStabilityOutput)
+ MacroStabilityOutputItem macroStabilityOutputItem)
{
- if (macroStabilityOutput.CalculationResult == CalculationResult.Succeeded)
+ macroStabilityOutputItem.CalculationPath = Path.GetDirectoryName(fileName);
+ macroStabilityOutputItem.ProjectName = Path.GetFileName(fileName);
+ string fileNameForCalculationAsStix = DetermineStixFilename(fileName, "result");
+ var resultStixWrite = new StixWriter();
+ resultStixWrite.FillInfo("DAM Engine", macroStabilityOutputItem.CalculationPath,
+ macroStabilityOutputItem.ProjectName, true);
+ switch (macroStabilityOutputItem.StabilityModelType)
{
- foreach (MacroStabilityOutputItem macroStabilityOutputItem in macroStabilityOutput.StabilityOutputItems)
- {
- macroStabilityOutputItem.CalculationPath = Path.GetDirectoryName(fileName);
- macroStabilityOutputItem.ProjectName = Path.GetFileName(fileName);
- string fileNameForCalculationAsStix = DetermineStixFilename(fileName, "result");
- var resultStixWrite = new StixWriter();
- resultStixWrite.FillInfo("DAM Engine", macroStabilityOutputItem.CalculationPath,
- macroStabilityOutputItem.ProjectName, true);
- switch (macroStabilityOutputItem.StabilityModelType)
- {
- case MStabModelType.UpliftVan:
- resultStixWrite.FillCalculatedDualCircle(macroStabilityOutputItem.ActiveCenterPoint.X,
- macroStabilityOutputItem.ActiveCenterPoint.Z,
- macroStabilityOutputItem.ActiveCenterPointRadius,
- macroStabilityOutputItem.PassiveCenterPoint.X,
- macroStabilityOutputItem.PassiveCenterPoint.Z);
- break;
- case MStabModelType.Bishop:
- resultStixWrite.FillCalculatedCircle(macroStabilityOutputItem.ActiveCenterPoint.X,
- macroStabilityOutputItem.ActiveCenterPoint.Z,
- macroStabilityOutputItem.ActiveCenterPointRadius);
- break;
- }
- StixFileWrite(resultStixWrite, fileNameForCalculationAsStix, input);
- }
+ case MStabModelType.UpliftVan:
+ resultStixWrite.FillCalculatedDualCircle(macroStabilityOutputItem.ActiveCenterPoint.X,
+ macroStabilityOutputItem.ActiveCenterPoint.Z,
+ macroStabilityOutputItem.ActiveCenterPointRadius,
+ macroStabilityOutputItem.PassiveCenterPoint.X,
+ macroStabilityOutputItem.PassiveCenterPoint.Z);
+ break;
+ case MStabModelType.Bishop:
+ resultStixWrite.FillCalculatedCircle(macroStabilityOutputItem.ActiveCenterPoint.X,
+ macroStabilityOutputItem.ActiveCenterPoint.Z,
+ macroStabilityOutputItem.ActiveCenterPointRadius);
+ break;
}
+ StixFileWrite(resultStixWrite, fileNameForCalculationAsStix, input);
}
private static void StixFileWrite(StixWriter stixWriter, string fileName, MacroStabilityInput input)