// 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 a dike height calculation via Hydra-Ring. /// public class DikeHeightCalculationInput : HydraulicLoadsCalculationInput { private readonly double criticalOvertoppingMean; private readonly double criticalOvertoppingStandardDeviation; /// /// 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 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 critical overtopping. /// The standard deviation of the critical 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 DikeHeightCalculationInput(long hydraulicBoundaryLocationId, double norm, HydraRingSection section, IEnumerable profilePoints, IEnumerable forelandPoints, HydraRingBreakWater breakWater, double modelFactorCriticalOvertopping, double factorFbMean, double factorFbStandardDeviation, double factorFnMean, double factorFnStandardDeviation, double modelFactorOvertopping, double criticalOvertoppingMean, double criticalOvertoppingStandardDeviation, 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.criticalOvertoppingMean = criticalOvertoppingMean; this.criticalOvertoppingStandardDeviation = criticalOvertoppingStandardDeviation; } public override int VariableId { get { return 1; } } public override IEnumerable NewVariables { get { var variables = base.NewVariables.ToList(); variables.AddRange(GetVariables()); return variables.OrderBy(v => v.VariableId); } } private IEnumerable GetVariables() { yield return new DeterministicHydraRingVariable(1, 0.0); yield return new LogNormalHydraRingVariable(17, HydraRingDeviationType.Standard, criticalOvertoppingMean, criticalOvertoppingStandardDeviation); } } }