Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityOutput.cs
===================================================================
diff -u -r6851 -r7033
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityOutput.cs (.../MacroStabilityOutput.cs) (revision 6851)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityOutput.cs (.../MacroStabilityOutput.cs) (revision 7033)
@@ -30,6 +30,14 @@
public class MacroStabilityOutput : IKernelDataOutput
{
///
+ /// Gets or sets the preparation result.
+ ///
+ ///
+ /// The preparation result.
+ ///
+ public PrepareResult PrepareResult { get; set; }
+
+ ///
/// Gets or sets the calculation result.
///
///
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.