Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Service/MacroStabilityInwardsSemiProbabilisticCalculationService.cs
===================================================================
diff -u -rda31d7f34c54ec5800146246aa26509a6e78c118 -r977062f457f7e99785741716c660d7afe8e25a11
--- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Service/MacroStabilityInwardsSemiProbabilisticCalculationService.cs (.../MacroStabilityInwardsSemiProbabilisticCalculationService.cs) (revision da31d7f34c54ec5800146246aa26509a6e78c118)
+++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Service/MacroStabilityInwardsSemiProbabilisticCalculationService.cs (.../MacroStabilityInwardsSemiProbabilisticCalculationService.cs) (revision 977062f457f7e99785741716c660d7afe8e25a11)
@@ -37,6 +37,7 @@
private readonly double contribution;
private readonly double stabilityFactor;
+ private readonly double modelFactor;
private double macroStabilityInwardsProbability;
private double macroStabilityInwardsReliability;
@@ -54,19 +55,22 @@
/// The length of the assessment section.
/// The contribution of macro stability inwards to the total failure.
/// The stability factor of the calculation result.
+ /// The model factor of the calculation result.
private MacroStabilityInwardsSemiProbabilisticCalculationService(double norm,
double constantA,
double constantB,
double assessmentSectionLength,
double contribution,
- double stabilityFactor)
+ double stabilityFactor,
+ double modelFactor)
{
this.norm = norm;
this.constantA = constantA;
this.constantB = constantB;
this.assessmentSectionLength = assessmentSectionLength;
this.contribution = contribution;
this.stabilityFactor = stabilityFactor;
+ this.modelFactor = modelFactor;
}
///
@@ -107,7 +111,8 @@
probabilityAssessmentInput.A,
probabilityAssessmentInput.B,
probabilityAssessmentInput.SectionLength,
- contribution / 100, calculation.Output.FactorOfStability);
+ contribution / 100, calculation.Output.FactorOfStability,
+ generalInput.ModelFactor);
calculator.Calculate();
@@ -151,7 +156,7 @@
/// The estimated reliability based on the stability factor.
private double CalculateEstimatedReliability()
{
- return (6.21 * stabilityFactor) - 2.88;
+ return ((stabilityFactor / modelFactor) - 0.41) / 0.15;
}
}
}
\ No newline at end of file
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Service.Test/MacroStabilityInwardsSemiProbabilisticCalculationServiceTest.cs
===================================================================
diff -u -rda31d7f34c54ec5800146246aa26509a6e78c118 -r977062f457f7e99785741716c660d7afe8e25a11
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Service.Test/MacroStabilityInwardsSemiProbabilisticCalculationServiceTest.cs (.../MacroStabilityInwardsSemiProbabilisticCalculationServiceTest.cs) (revision da31d7f34c54ec5800146246aa26509a6e78c118)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Service.Test/MacroStabilityInwardsSemiProbabilisticCalculationServiceTest.cs (.../MacroStabilityInwardsSemiProbabilisticCalculationServiceTest.cs) (revision 977062f457f7e99785741716c660d7afe8e25a11)
@@ -178,10 +178,11 @@
}
[Test]
- [TestCase(0.75)]
- [TestCase(0.55)]
- [TestCase(0.30)]
- public void MacroStabilityInwardsReliability_DifferentInputs_ReturnsExpectedValues(double factorOfStability)
+ [TestCase(0.75, 1.98365)]
+ [TestCase(0.55, 0.72579)]
+ [TestCase(0.30, -0.84654)]
+ public void MacroStabilityInwardsReliability_DifferentInputs_ReturnsExpectedValues(double factorOfStability,
+ double expectedResult)
{
// Setup
var random = new Random(21);
@@ -204,13 +205,13 @@
RoundedDouble result = calculation.SemiProbabilisticOutput.MacroStabilityInwardsReliability;
// Assert
- Assert.AreEqual(GetDerivedEstimatedReliability(factorOfStability), result, result.GetAccuracy());
+ Assert.AreEqual(expectedResult, result, result.GetAccuracy());
}
[Test]
- [TestCase(0.75, 0.037743005)]
- [TestCase(0.55, 0.2961520790)]
- [TestCase(0.30, 0.845423280)]
+ [TestCase(0.75, 0.023647)]
+ [TestCase(0.55, 0.233984)]
+ [TestCase(0.30, 0.801374)]
public void MacroStabilityInwardsProbability_DifferentInputs_ReturnsExpectedValues(double factorOfStability,
double expectedResult)
{
@@ -239,11 +240,6 @@
Assert.AreEqual(expectedResult, result, accuracy); // Probability is a derived output from reliability, hence accuracy is determined by the accuracy of the reliability
}
- private static double GetDerivedEstimatedReliability(double stabilityFactor)
- {
- return (6.21 * stabilityFactor) - 2.88;
- }
-
private static double GetRequiredProbability(double norm,
double contribution,
double constantA,