Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsOutputCalculationService.cs
===================================================================
diff -u -r8047e7fd59525ed424105aaefc4ee88b9ae8def6 -r3739d94e5ef665dc97d80c8c3f7bc6ef4b19d93c
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsOutputCalculationService.cs (.../GrassCoverErosionInwardsOutputCalculationService.cs) (revision 8047e7fd59525ed424105aaefc4ee88b9ae8def6)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsOutputCalculationService.cs (.../GrassCoverErosionInwardsOutputCalculationService.cs) (revision 3739d94e5ef665dc97d80c8c3f7bc6ef4b19d93c)
@@ -22,9 +22,7 @@
using System;
using MathNet.Numerics.Distributions;
using Ringtoets.Common.Data.Calculation;
-using Ringtoets.Common.Data.FailureMechanism;
using Ringtoets.GrassCoverErosionInwards.Data;
-using Ringtoets.Integration.Data;
namespace Ringtoets.GrassCoverErosionInwards.Service
{
@@ -54,20 +52,22 @@
}
///
- /// Calculates the given the , , and .
+ /// Calculates the given the , and .
///
/// The calculation which is used.
- /// The amount of contribution as a percentage [0-100] for the as part of the overall verdict.
- /// The norm which has been defined on the .
/// The reliability result.
/// Thrown when is null.
- public static void Calculate(GrassCoverErosionInwardsCalculation calculation, double norm, double contribution, double reliability)
+ public static void Calculate(GrassCoverErosionInwardsCalculation calculation, double reliability)
{
if (calculation == null)
{
throw new ArgumentNullException("calculation");
}
- var calculator = new GrassCoverErosionInwardsOutputCalculationService(norm, contribution, calculation.NormProbabilityInput.N, reliability);
+ var calculator = new GrassCoverErosionInwardsOutputCalculationService(
+ calculation.NormProbabilityInput.Norm,
+ calculation.NormProbabilityInput.Contribution,
+ calculation.NormProbabilityInput.N,
+ reliability);
calculator.Calculate();
@@ -89,30 +89,30 @@
private void CalculateReliability()
{
- requiredProbability = AllowedCrossSectionProbability(contribution, norm, lengthEffectN);
- probability = AllowedCrossSectionProbability(reliability);
+ requiredProbability = RequiredProbability(contribution, norm, lengthEffectN);
+ probability = ReliabilityToProbability(reliability);
}
private void CalculateRequiredReliability()
{
- requiredReliability = RequiredReliability(requiredProbability);
+ requiredReliability = ProbabilityToReliability(requiredProbability);
}
#region Sub calculations
- private static double AllowedCrossSectionProbability(double probability, double contribution, double factorN)
+ private static double RequiredProbability(double probability, double contribution, double lengthEffectN)
{
- return probability*(1/contribution)/factorN;
+ return probability*(1/contribution)/lengthEffectN;
}
- private static double AllowedCrossSectionProbability(double grassCoverErosionInwardsCrossSectionProbability)
+ private static double ReliabilityToProbability(double reliability)
{
- return new Normal().Density(grassCoverErosionInwardsCrossSectionProbability);
+ return Normal.CDF(0, 1, -reliability);
}
- private static double RequiredReliability(double allowedCrossSectionProbability)
+ private static double ProbabilityToReliability(double requiredProbability)
{
- return new Normal().InverseCumulativeDistribution(1 - allowedCrossSectionProbability);
+ return Normal.InvCDF(0, 1, 1 - requiredProbability);
}
private static double FactorOfSafety(double reliability, double requiredReliability)