Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Hydraulics/OvertoppingRateCalculationInput.cs =================================================================== diff -u --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Hydraulics/OvertoppingRateCalculationInput.cs (revision 0) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Hydraulics/OvertoppingRateCalculationInput.cs (revision 6591abcf84d7be9d2eba496b655f9c09513bc758) @@ -0,0 +1,109 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System.Collections.Generic; +using System.Linq; +using Ringtoets.HydraRing.Calculation.Data.Input.Overtopping; + +namespace Ringtoets.HydraRing.Calculation.Data.Input.Hydraulics +{ + /// + /// Container for all data necessary for performing an overtopping rate calculation via Hydra-Ring. + /// + public class OvertoppingRateCalculationInput : HydraulicLoadsCalculationInput + { + private readonly double dikeHeight; + + /// + /// Creates a new instance of the class. + /// + /// The id of the hydraulic boundary location. + /// The norm. + /// The section. + /// The profile points. + /// The foreland points. + /// The break water. + /// The dike height. + /// The model factor critical overtopping. + /// The mean of the factor Fb + /// The standard deviation of the factor Fb. + /// The mean of the factor Fn. + /// The standard deviation of the factor Fn. + /// The factor overtopping. + /// The mean of the factor frunup. + /// The standard deviation of the factor frunup. + /// The mean of the exponent model factor shallow. + /// The standard deviation of the exponent model factor shallow. + public OvertoppingRateCalculationInput(long hydraulicBoundaryLocationId, double norm, + HydraRingSection section, + IEnumerable profilePoints, + IEnumerable forelandPoints, + HydraRingBreakWater breakWater, + double dikeHeight, + double modelFactorCriticalOvertopping, + double factorFbMean, double factorFbStandardDeviation, + double factorFnMean, double factorFnStandardDeviation, + double modelFactorOvertopping, + double modelFactorFrunupMean, double modelFactorFrunupStandardDeviation, + double exponentModelFactorShallowMean, double exponentModelFactorShallowStandardDeviation) + : base(hydraulicBoundaryLocationId, norm, + section, + profilePoints, + forelandPoints, + breakWater, + modelFactorCriticalOvertopping, + factorFbMean, factorFbStandardDeviation, + factorFnMean, factorFnStandardDeviation, + modelFactorOvertopping, + modelFactorFrunupMean, modelFactorFrunupStandardDeviation, + exponentModelFactorShallowMean, exponentModelFactorShallowStandardDeviation) + { + this.dikeHeight = dikeHeight; + } + + public override int VariableId + { + get + { + return 17; + } + } + + public override IEnumerable Variables + { + get + { + var variables = base.Variables.ToList(); + variables.AddRange(GetVariables()); + + return variables.OrderBy(v => v.VariableId); + } + } + + private IEnumerable GetVariables() + { + yield return new HydraRingVariable(1, HydraRingDistributionType.Deterministic, dikeHeight, + HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(17, HydraRingDistributionType.Deterministic, 0.0, + HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj =================================================================== diff -u -rf008be722cec66e104191a9566c13eeb9693ad6f -r6591abcf84d7be9d2eba496b655f9c09513bc758 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision f008be722cec66e104191a9566c13eeb9693ad6f) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision 6591abcf84d7be9d2eba496b655f9c09513bc758) @@ -68,6 +68,7 @@ +