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