Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Data/DuneErosionFailureMechanismExtensions.cs
===================================================================
diff -u -r861341a7835c17ca6309ff1b6e0b8fe2269b5c0f -r32061d48745c5325becd9adac3118d976587b3b6
--- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Data/DuneErosionFailureMechanismExtensions.cs (.../DuneErosionFailureMechanismExtensions.cs) (revision 861341a7835c17ca6309ff1b6e0b8fe2269b5c0f)
+++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Data/DuneErosionFailureMechanismExtensions.cs (.../DuneErosionFailureMechanismExtensions.cs) (revision 32061d48745c5325becd9adac3118d976587b3b6)
@@ -23,7 +23,9 @@
using System.Collections.Generic;
using System.Linq;
using Core.Common.Base.Geometry;
+using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.DuneErosion.Data.Properties;
namespace Ringtoets.DuneErosion.Data
{
@@ -64,5 +66,35 @@
}
}
}
+
+ ///
+ /// Gets the norm which is needed in the calculations within .
+ ///
+ /// The to get the failure mechanism norm for.
+ /// The which contains the assessment section norm.
+ /// The value of the failure mechanism norm.
+ /// Thrown when any parameter is null.
+ /// Thrown when has no (0) contribution.
+ public static double GetMechanismSpecificNorm(this DuneErosionFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException("failureMechanism");
+ }
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException("assessmentSection");
+ }
+
+ if (Math.Abs(failureMechanism.Contribution) < 1e-6)
+ {
+ throw new ArgumentException(Resources.DuneErosionFailureMechanismExtensions_GetMechanismSpecificNorm_Contribution_is_zero);
+ }
+
+ return 2.15*(failureMechanism.Contribution/100)
+ *assessmentSection.FailureMechanismContribution.Norm
+ /failureMechanism.GeneralInput.N;
+ }
}
}
\ No newline at end of file