// 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()
{
var notApplicableCorrelationLength = 999999;
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
{
{
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.DikesHeight, 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.StructuresOvertopping, new Dictionary
{
{
58, new VariableDefaults(notApplicableCorrelationLength)
},
{
59, new VariableDefaults(notApplicableCorrelationLength)
},
{
60, new VariableDefaults(notApplicableCorrelationLength)
},
{
61, new VariableDefaults(notApplicableCorrelationLength)
},
{
62, new VariableDefaults(notApplicableCorrelationLength)
},
{
94, new VariableDefaults(notApplicableCorrelationLength)
},
{
95, new VariableDefaults(notApplicableCorrelationLength)
},
{
96, new VariableDefaults(notApplicableCorrelationLength)
},
{
97, new VariableDefaults(notApplicableCorrelationLength)
},
{
103, new VariableDefaults(notApplicableCorrelationLength)
},
{
104, new VariableDefaults(notApplicableCorrelationLength)
},
{
105, new VariableDefaults(notApplicableCorrelationLength)
},
{
106, new VariableDefaults(notApplicableCorrelationLength)
},
{
107, new VariableDefaults(notApplicableCorrelationLength)
},
{
108, new VariableDefaults(notApplicableCorrelationLength)
}
}
},
{
HydraRingFailureMechanismType.StructuresClosure, new Dictionary
{
{
58, new VariableDefaults(notApplicableCorrelationLength)
},
{
59, new VariableDefaults(notApplicableCorrelationLength)
},
{
61, new VariableDefaults(notApplicableCorrelationLength)
},
{
62, new VariableDefaults(notApplicableCorrelationLength)
},
{
63, new VariableDefaults(notApplicableCorrelationLength)
},
{
64, new VariableDefaults(notApplicableCorrelationLength)
},
{
65, new VariableDefaults(notApplicableCorrelationLength)
},
{
66, new VariableDefaults(notApplicableCorrelationLength)
},
{
67, new VariableDefaults(notApplicableCorrelationLength)
},
{
68, new VariableDefaults(notApplicableCorrelationLength)
},
{
69, new VariableDefaults(notApplicableCorrelationLength)
},
{
71, new VariableDefaults(notApplicableCorrelationLength)
},
{
72, new VariableDefaults(notApplicableCorrelationLength)
},
{
93, new VariableDefaults(notApplicableCorrelationLength)
},
{
94, new VariableDefaults(notApplicableCorrelationLength)
},
{
95, new VariableDefaults(notApplicableCorrelationLength)
},
{
96, new VariableDefaults(notApplicableCorrelationLength)
},
{
97, new VariableDefaults(notApplicableCorrelationLength)
},
{
103, new VariableDefaults(notApplicableCorrelationLength)
},
{
104, new VariableDefaults(notApplicableCorrelationLength)
},
{
105, new VariableDefaults(notApplicableCorrelationLength)
},
{
106, new VariableDefaults(notApplicableCorrelationLength)
},
{
107, new VariableDefaults(notApplicableCorrelationLength)
},
{
108, new VariableDefaults(notApplicableCorrelationLength)
},
{
129, new VariableDefaults(notApplicableCorrelationLength)
}
}
},
{
HydraRingFailureMechanismType.StructuresStructuralFailure, new Dictionary
{
{
43, new VariableDefaults(notApplicableCorrelationLength)
},
{
58, new VariableDefaults(notApplicableCorrelationLength)
},
{
60, new VariableDefaults(notApplicableCorrelationLength)
},
{
61, new VariableDefaults(notApplicableCorrelationLength)
},
{
62, new VariableDefaults(notApplicableCorrelationLength)
},
{
63, new VariableDefaults(notApplicableCorrelationLength)
},
{
64, new VariableDefaults(notApplicableCorrelationLength)
},
{
65, new VariableDefaults(notApplicableCorrelationLength)
},
{
66, new VariableDefaults(notApplicableCorrelationLength)
},
{
67, new VariableDefaults(notApplicableCorrelationLength)
},
{
80, new VariableDefaults(notApplicableCorrelationLength)
},
{
81, new VariableDefaults(notApplicableCorrelationLength)
},
{
82, new VariableDefaults(notApplicableCorrelationLength)
},
{
83, new VariableDefaults(notApplicableCorrelationLength)
},
{
84, new VariableDefaults(notApplicableCorrelationLength)
},
{
85, new VariableDefaults(notApplicableCorrelationLength)
},
{
86, new VariableDefaults(notApplicableCorrelationLength)
},
{
87, new VariableDefaults(notApplicableCorrelationLength)
},
{
88, new VariableDefaults(notApplicableCorrelationLength)
},
{
89, new VariableDefaults(notApplicableCorrelationLength)
},
{
90, new VariableDefaults(notApplicableCorrelationLength)
},
{
91, new VariableDefaults(notApplicableCorrelationLength)
},
{
92, new VariableDefaults(notApplicableCorrelationLength)
},
{
93, new VariableDefaults(notApplicableCorrelationLength)
},
{
94, new VariableDefaults(notApplicableCorrelationLength)
},
{
95, new VariableDefaults(notApplicableCorrelationLength)
},
{
96, new VariableDefaults(notApplicableCorrelationLength)
},
{
97, new VariableDefaults(notApplicableCorrelationLength)
},
{
103, new VariableDefaults(notApplicableCorrelationLength)
},
{
104, new VariableDefaults(notApplicableCorrelationLength)
},
{
105, new VariableDefaults(notApplicableCorrelationLength)
},
{
106, new VariableDefaults(notApplicableCorrelationLength)
},
{
108, new VariableDefaults(notApplicableCorrelationLength)
},
{
130, new VariableDefaults(notApplicableCorrelationLength)
},
{
131, new VariableDefaults(notApplicableCorrelationLength)
},
{
132, new VariableDefaults(notApplicableCorrelationLength)
},
{
133, new VariableDefaults(notApplicableCorrelationLength)
},
{
134, new VariableDefaults(notApplicableCorrelationLength)
},
{
135, new VariableDefaults(notApplicableCorrelationLength)
},
{
136, new VariableDefaults(notApplicableCorrelationLength)
}
}
},
{
HydraRingFailureMechanismType.DunesBoundaryConditions, new Dictionary
{
{
26, new VariableDefaults(300)
}
}
}
};
}
///
/// 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];
}
}
}