// 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 Ringtoets.HydraRing.Calculation.Data; using Ringtoets.HydraRing.Calculation.Data.Defaults; namespace Ringtoets.HydraRing.Calculation.Providers { /// /// Provider of . /// internal class VariableDefaultsProvider { private readonly IDictionary> variableDefaults; /// /// Creates a new instance of the class. /// public VariableDefaultsProvider() { variableDefaults = new Dictionary> { { HydraRingFailureMechanismType.AssessmentLevel, new Dictionary { { 26, new VariableDefaults(300) } } }, { HydraRingFailureMechanismType.WaveHeight, new Dictionary { { 28, new VariableDefaults(300) } } }, { HydraRingFailureMechanismType.WavePeakPeriod, new Dictionary { { 29, new VariableDefaults(300) } } }, { HydraRingFailureMechanismType.WaveSpectralPeriod, new Dictionary { { 29, new VariableDefaults(300) } } }, { HydraRingFailureMechanismType.QVariant, new Dictionary { { 20, new VariableDefaults(300) }, { 21, new VariableDefaults(300) }, { 22, new VariableDefaults(300) }, { 23, new VariableDefaults(300) }, { 24, new VariableDefaults(300) }, { 113, new VariableDefaults(300) }, { 114, new VariableDefaults(300) }, { 115, new VariableDefaults(300) }, { 116, new VariableDefaults(300) }, { 117, new VariableDefaults(300) }, { 118, new VariableDefaults(300) }, { 119, new VariableDefaults(300) } } }, { HydraRingFailureMechanismType.DikesOvertopping, new Dictionary { { 1, new VariableDefaults(300) }, { 8, new VariableDefaults(300) }, { 10, new VariableDefaults(300) }, { 11, new VariableDefaults(300) }, { 12, new VariableDefaults(300) }, { 17, new VariableDefaults(300) }, { 120, new VariableDefaults(300) }, { 123, new VariableDefaults(300) } } }, { HydraRingFailureMechanismType.DikesPiping, new Dictionary { { 23, new VariableDefaults(6000) }, { 42, new VariableDefaults(999999) }, { 43, new VariableDefaults(999999) }, { 44, new VariableDefaults(200) }, { 45, new VariableDefaults(300) }, { 46, new VariableDefaults(999999) }, { 47, new VariableDefaults(999999) }, { 48, new VariableDefaults(3000) }, { 49, new VariableDefaults(200) }, { 50, new VariableDefaults(300) }, { 51, new VariableDefaults(999999) }, { 52, new VariableDefaults(600) }, { 53, new VariableDefaults(999999) }, { 54, new VariableDefaults(99000) }, { 55, new VariableDefaults(600) }, { 56, new VariableDefaults(180) }, { 58, new VariableDefaults(99000) }, { 124, new VariableDefaults(300) }, { 127, new VariableDefaults(999999) } } }, { HydraRingFailureMechanismType.StructuresOvertopping, new Dictionary { { 20, new VariableDefaults(900) }, { 21, new VariableDefaults(900) }, { 23, new VariableDefaults(6000) }, { 58, new VariableDefaults(99000) }, { 59, new VariableDefaults(999999) }, { 60, new VariableDefaults(999999) }, { 61, new VariableDefaults(999999) }, { 62, new VariableDefaults(999999) }, { 94, new VariableDefaults(999999) }, { 95, new VariableDefaults(999999) }, { 96, new VariableDefaults(999999) }, { 97, new VariableDefaults(999999) }, { 103, new VariableDefaults(999999) }, { 104, new VariableDefaults(999999) }, { 105, new VariableDefaults(999999) }, { 106, new VariableDefaults(999999) }, { 107, new VariableDefaults(99000) }, { 108, new VariableDefaults(999999) } } }, { HydraRingFailureMechanismType.StructuresClosure, new Dictionary { { 23, new VariableDefaults(6000) }, { 58, new VariableDefaults(99000) }, { 62, new VariableDefaults(999999) }, { 63, new VariableDefaults(999999) }, { 64, new VariableDefaults(999999) }, { 65, new VariableDefaults(999999) }, { 68, new VariableDefaults(999999) }, { 69, new VariableDefaults(999999) }, { 71, new VariableDefaults(999999) }, { 93, new VariableDefaults(999999) }, { 94, new VariableDefaults(999999) }, { 95, new VariableDefaults(999999) }, { 96, new VariableDefaults(999999) }, { 97, new VariableDefaults(999999) }, { 103, new VariableDefaults(999999) }, { 104, new VariableDefaults(999999) }, { 105, new VariableDefaults(999999) }, { 106, new VariableDefaults(999999) }, { 108, new VariableDefaults(999999) }, { 129, new VariableDefaults(50) } } }, { HydraRingFailureMechanismType.StructuresStructuralFailure, new Dictionary { { 20, new VariableDefaults(900) }, { 21, new VariableDefaults(900) }, { 23, new VariableDefaults(6000) }, { 43, new VariableDefaults(99000) }, { 58, new VariableDefaults(99000) }, { 60, new VariableDefaults(50) }, { 61, new VariableDefaults(99000) }, { 62, new VariableDefaults(50) }, { 63, new VariableDefaults(50) }, { 64, new VariableDefaults(50) }, { 65, new VariableDefaults(50) }, { 80, new VariableDefaults(50) }, { 82, new VariableDefaults(50) }, { 83, new VariableDefaults(50) }, { 85, new VariableDefaults(50) }, { 86, new VariableDefaults(50) }, { 87, new VariableDefaults(50) }, { 88, new VariableDefaults(50) }, { 89, new VariableDefaults(50) }, { 90, new VariableDefaults(50) }, { 91, new VariableDefaults(50) }, { 92, new VariableDefaults(50) }, { 93, new VariableDefaults(50) }, { 94, new VariableDefaults(50) }, { 95, new VariableDefaults(50) }, { 96, new VariableDefaults(50) }, { 97, new VariableDefaults(50) }, { 103, new VariableDefaults(50) }, { 104, new VariableDefaults(50) }, { 105, new VariableDefaults(50) }, { 106, new VariableDefaults(50) }, { 108, new VariableDefaults(99000) }, { 130, new VariableDefaults(6000) }, { 131, new VariableDefaults(50) }, { 132, new VariableDefaults(50) }, { 133, new VariableDefaults(50) }, { 134, new VariableDefaults(50) }, { 135, new VariableDefaults(99000) }, { 136, new VariableDefaults(99000) } } } }; } /// /// Returns based on the provided and variable id. /// /// The to obtain the for. /// The variable id to obtain the for. /// The corresponding to the provided and variable id. public VariableDefaults GetVariableDefaults(HydraRingFailureMechanismType failureMechanismType, int variableId) { return variableDefaults[failureMechanismType][variableId]; } } }