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)