Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs =================================================================== diff -u -r7023 -r7033 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs (.../MacroStabilityInwardsKernelWrapper.cs) (revision 7023) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs (.../MacroStabilityInwardsKernelWrapper.cs) (revision 7033) @@ -80,6 +80,7 @@ kernelDataInput = macroStabilityInput; var macroStabilityOutput = new MacroStabilityOutput { + PrepareResult = PrepareResult.Successful, CalculationResult = CalculationResult.NoRun }; kernelDataOutput = macroStabilityOutput; @@ -131,7 +132,8 @@ if (FailureMechanismParametersMStab.MStabParameters.Model == StabilityModelType.UpliftVan && !upliftSituation.IsUplift && FailureMechanismParametersMStab.MStabParameters.IsUpliftVanRunOnlyWhenUpliftOccurs) { - return PrepareResult.NoUplift; + macroStabilityOutput.PrepareResult = PrepareResult.NoUplift; + return macroStabilityOutput.PrepareResult; } FailureMechanismParametersMStab.MStabParameters.Model = model; @@ -164,7 +166,8 @@ FailureMechanismParametersMStab.MStabParameters.Model = StabilityModelType.BishopUpliftVan; stabilityCalculatorForSecondCalculation = new MacroStabilityInterface(macroStabilityInput.Input); - return MacroStabilityCommonHelper.PrepareKernel(stabilityCalculatorForSecondCalculation, fileNameForSecondCalculation); + macroStabilityOutput.PrepareResult = MacroStabilityCommonHelper.PrepareKernel(stabilityCalculatorForSecondCalculation, fileNameForSecondCalculation); + return macroStabilityOutput.PrepareResult; } if (isBishopUpliftVan) @@ -266,7 +269,7 @@ MacroStabilityOutputItem macroStabilityOutputItem = ProperMacroStabilityResultsItem(macroStabilityOutput, 0); bool isUpliftVan = FailureMechanismParametersMStab.MStabParameters.Model == StabilityModelType.UpliftVan; - if (isUpliftVan && macroStabilityOutputItem == null && !macroStabilityOutput!.UpliftSituation.IsUplift) + if (isUpliftVan && designScenario.CalculationResult == CalculationResult.NoRun && macroStabilityOutput!.PrepareResult == PrepareResult.NoUplift) { AddDesignResultNoRun(damKernelInput, designScenario, designResults, macroStabilityOutput); } @@ -276,7 +279,7 @@ } bool isBishopUpliftVan = FailureMechanismParametersMStab.MStabParameters.Model == StabilityModelType.BishopUpliftVan; - if (isBishopUpliftVan) + if (isBishopUpliftVan && designScenario.CalculationResult == CalculationResult.Succeeded) { var isUplift = true; macroStabilityOutputItem = ProperMacroStabilityResultsItem(macroStabilityOutput, 1); @@ -296,7 +299,7 @@ } // Now add the overall result for Bishop/UpliftVan only if both results are available. - if (macroStabilityOutput!.StabilityOutputItems.Count == 2) + if (macroStabilityOutput!.StabilityOutputItems != null && macroStabilityOutput!.StabilityOutputItems.Count == 2) { int index; // Add worst result from Bishop/UpliftVan, but only if both succeeded.