Fisheye: Tag de737ee4b24659d188bb137d385572159bc099ff refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Base/HydraRingCalculationInput.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag de737ee4b24659d188bb137d385572159bc099ff refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Base/HydraRingConfiguration.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag de737ee4b24659d188bb137d385572159bc099ff refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Base/TargetProbabilityCalculationInput.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Defaults/FailureMechanismDefaults.cs =================================================================== diff -u --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Defaults/FailureMechanismDefaults.cs (revision 0) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Defaults/FailureMechanismDefaults.cs (revision de737ee4b24659d188bb137d385572159bc099ff) @@ -0,0 +1,81 @@ +// 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; + +namespace Ringtoets.HydraRing.Calculation.Data.Defaults +{ + /// + /// Container for failure mechanims defaults. + /// + public class FailureMechanismDefaults + { + private readonly int variableId; + private readonly int mechanismId; + private readonly IEnumerable subMechanismIds; + + /// + /// Creates a new instance of the class. + /// + /// The mechanism id that corresponds to a specific . + /// The id of the variable that is relevant for a specific . + /// The sub mechanism ids that are applicable for a specific . + public FailureMechanismDefaults(int mechanismId, int variableId, IEnumerable subMechanismIds) + { + this.mechanismId = mechanismId; + this.variableId = variableId; + this.subMechanismIds = subMechanismIds; + } + + /// + /// Gets the mechanism id that corresponds to a specific . + /// + public int MechanismId + { + get + { + return mechanismId; + } + } + + /// + /// Gets the id of the variable that is relevant for a specific . + /// + public int VariableId + { + get + { + return variableId; + } + } + + /// + /// Gets the sub mechanism ids that are applicable for a specific . + /// + public IEnumerable SubMechanismIds + { + get + { + return subMechanismIds; + } + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Defaults/VariableDefaults.cs =================================================================== diff -u --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Defaults/VariableDefaults.cs (revision 0) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Defaults/VariableDefaults.cs (revision de737ee4b24659d188bb137d385572159bc099ff) @@ -0,0 +1,51 @@ +// 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. + +namespace Ringtoets.HydraRing.Calculation.Data.Defaults +{ + /// + /// Container for variable defaults. + /// + public class VariableDefaults + { + private readonly double correlationLength; + + /// + /// Creates a new instance of the class. + /// + /// The correlation length. + public VariableDefaults(double correlationLength) + { + this.correlationLength = correlationLength; + } + + /// + /// Gets the correlation length. + /// + public double CorrelationLength + { + get + { + return correlationLength; + } + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/HydraRingCalculationInput.cs =================================================================== diff -u --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/HydraRingCalculationInput.cs (revision 0) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/HydraRingCalculationInput.cs (revision de737ee4b24659d188bb137d385572159bc099ff) @@ -0,0 +1,112 @@ +// 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; + +namespace Ringtoets.HydraRing.Calculation.Data.Input +{ + /// + /// Container of all data necessary for performing a Hydra-Ring calculation. + /// + public abstract class HydraRingCalculationInput + { + private readonly int hydraulicBoundaryLocationId; + + /// + /// Creates a new instance of the class. + /// + /// The id of the hydraulic station to use during the calculation. + protected HydraRingCalculationInput(int hydraulicBoundaryLocationId) + { + this.hydraulicBoundaryLocationId = hydraulicBoundaryLocationId; + } + + /// + /// Gets the . + /// + public abstract HydraRingFailureMechanismType FailureMechanismType { get; } + + /// + /// Gets the id corresponding to the type of calculation that should be performed. + /// + public abstract int CalculationTypeId { get; } + + /// + /// Gets the id of the hydraulic station to use during the calculation. + /// + public int HydraulicBoundaryLocationId + { + get + { + return hydraulicBoundaryLocationId; + } + } + + /// + /// Gets the dike section to perform the calculation for. + /// + public abstract HydraRingDikeSection DikeSection { get; } + + /// + /// Gets the variables to use during the calculation. + /// + public virtual IEnumerable Variables + { + get + { + yield break; + } + } + + /// + /// Gets the profile points to use during the calculation. + /// + public virtual IEnumerable ProfilePoints + { + get + { + yield break; + } + } + + /// + /// Gets the reliability index to use during the calculation. + /// + /// Only relevant for type 2 computations. + public virtual double Beta + { + get + { + return double.NaN; + } + } + + /// + /// Gets the sub mechanism model id corresponding to the provided sub mechanism id. + /// + /// The sub mechanim id to get the sub mechanism model id for. + /// The corresponding sub mechanism model id or null otherwise. + public virtual int? GetSubMechanismModelId(int subMechanismId) + { + return null; + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Hydraulics/AssessmentLevelCalculationInput.cs =================================================================== diff -u --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Hydraulics/AssessmentLevelCalculationInput.cs (revision 0) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Hydraulics/AssessmentLevelCalculationInput.cs (revision de737ee4b24659d188bb137d385572159bc099ff) @@ -0,0 +1,72 @@ +// 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; + +namespace Ringtoets.HydraRing.Calculation.Data.Input.Hydraulics +{ + /// + /// Container of all data necessary for performing an assessment level calculation via Hydra-Ring. + /// + public class AssessmentLevelCalculationInput : TargetProbabilityCalculationInput + { + private readonly HydraRingDikeSection dikeSection; + + /// + /// Creates a new instance of the class. + /// + /// The id of the hydraulic station to use during the calculation. + /// The reliability index to use during the calculation. + public AssessmentLevelCalculationInput(int hydraulicBoundaryLocationId, double beta) : base(hydraulicBoundaryLocationId, beta) + { + dikeSection = new HydraRingDikeSection(HydraulicBoundaryLocationId, HydraulicBoundaryLocationId.ToString(), double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN); + } + + public override HydraRingFailureMechanismType FailureMechanismType + { + get + { + return HydraRingFailureMechanismType.AssessmentLevel; + } + } + + public override HydraRingDikeSection DikeSection + { + get + { + return dikeSection; + } + } + + public override IEnumerable Variables + { + get + { + yield return new AssessmentLevelVariable(); + } + } + + private class AssessmentLevelVariable : HydraRingVariable + { + public AssessmentLevelVariable() : base(26, HydraRingDistributionType.Deterministic, 0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN) {} + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/TargetProbabilityCalculationInput.cs =================================================================== diff -u --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/TargetProbabilityCalculationInput.cs (revision 0) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/TargetProbabilityCalculationInput.cs (revision de737ee4b24659d188bb137d385572159bc099ff) @@ -0,0 +1,57 @@ +// 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. + +namespace Ringtoets.HydraRing.Calculation.Data.Input +{ + /// + /// Container of all data necessary for performing a type 2 calculation via Hydra-Ring ("iterate towards a target probability, provided as reliability index"). + /// + public abstract class TargetProbabilityCalculationInput : HydraRingCalculationInput + { + private readonly double beta; + + /// + /// Creates a new instance of the class. + /// + /// The id of the hydraulic station to use during the calculation. + /// The reliability index to use during the calculation. + protected TargetProbabilityCalculationInput(int hydraulicBoundaryLocationId, double beta) : base(hydraulicBoundaryLocationId) + { + this.beta = beta; + } + + public override int CalculationTypeId + { + get + { + return 2; + } + } + + public override double Beta + { + get + { + return beta; + } + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Settings/FailureMechanismSettings.cs =================================================================== diff -u --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Settings/FailureMechanismSettings.cs (revision 0) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Settings/FailureMechanismSettings.cs (revision de737ee4b24659d188bb137d385572159bc099ff) @@ -0,0 +1,81 @@ +// 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. + +namespace Ringtoets.HydraRing.Calculation.Data.Settings +{ + /// + /// Container for failure mechanims settings. + /// + public class FailureMechanismSettings + { + private readonly double valueMin; + private readonly double valueMax; + private readonly double faultTreeModelId; + + /// + /// Creates a new instance of the class. + /// + /// The minimum value to use while iterating to a target probability. + /// The maximum value to use while iterating to a target probability. + /// The fault tree model id. + public FailureMechanismSettings(double valueMin, double valueMax, double faultTreeModelId) + { + this.valueMin = valueMin; + this.valueMax = valueMax; + this.faultTreeModelId = faultTreeModelId; + } + + /// + /// Gets the minimum value to use while iterating to a target probability. + /// + /// This property is only applicable in case of type-2 computations. + public double ValueMin + { + get + { + return valueMin; + } + } + + /// + /// Gets the maximum value to use while iterating to a target probability. + /// + /// This property is only applicable in case of type-2 computations. + public double ValueMax + { + get + { + return valueMax; + } + } + + /// + /// Gets the fault tree model id. + /// + public double FaultTreeModelId + { + get + { + return faultTreeModelId; + } + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Settings/SubMechanismSettings.cs =================================================================== diff -u --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Settings/SubMechanismSettings.cs (revision 0) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Settings/SubMechanismSettings.cs (revision de737ee4b24659d188bb137d385572159bc099ff) @@ -0,0 +1,239 @@ +// 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. + +namespace Ringtoets.HydraRing.Calculation.Data.Settings +{ + /// + /// Container for sub mechanims settings. + /// + public class SubMechanismSettings + { + private readonly int calculationTechniqueId; + private readonly int formStartMethod; + private readonly int formNumberOfIterations; + private readonly double formRelaxationFactor; + private readonly double formEpsBeta; + private readonly double formEpsHoh; + private readonly double formEpsZFunc; + private readonly int dsStartMethod; + private readonly int dsMinNumberOfIterations; + private readonly int dsMaxNumberOfIterations; + private readonly double dsVarCoefficient; + private readonly double niUMin; + private readonly double niUMax; + private readonly int niNumberSteps; + + /// + /// Creates a new instance of the class. + /// + /// The id of the calculation technique that should be used. + /// The FORM start method. + /// The maximum number of FORM iterations to perform. + /// A relaxation towards the design point for FORM. + /// One of the three convergence criteria for FORM. + /// One of the three convergence criteria for FORM. + /// One of the three convergence criteria for FORM. + /// The DIRS start method. + /// The minimum number of DIRS iterations to perform. + /// The maximum number of DIRS iterations to perform. + /// The variation coefficient to use within the DIRS iterations. + /// The lower size limit of a uniform grid deployed by NINT. + /// The upper size limit of a uniform grid deployed by NINT. + /// The number of steps between and for NINT + public SubMechanismSettings(int calculationTechniqueId, int formStartMethod, int formNumberOfIterations, double formRelaxationFactor, double formEpsBeta, double formEpsHoh, double formEpsZFunc, int dsStartMethod, int dsMinNumberOfIterations, int dsMaxNumberOfIterations, double dsVarCoefficient, double niUMin, double niUMax, int niNumberSteps) + { + this.calculationTechniqueId = calculationTechniqueId; + this.formStartMethod = formStartMethod; + this.formNumberOfIterations = formNumberOfIterations; + this.formRelaxationFactor = formRelaxationFactor; + this.formEpsBeta = formEpsBeta; + this.formEpsHoh = formEpsHoh; + this.formEpsZFunc = formEpsZFunc; + this.dsStartMethod = dsStartMethod; + this.dsMinNumberOfIterations = dsMinNumberOfIterations; + this.dsMaxNumberOfIterations = dsMaxNumberOfIterations; + this.dsVarCoefficient = dsVarCoefficient; + this.niUMin = niUMin; + this.niUMax = niUMax; + this.niNumberSteps = niNumberSteps; + } + + /// + /// Gets the id of the calculation technique that should be used. + /// + public int CalculationTechniqueId + { + get + { + return calculationTechniqueId; + } + } + + /// + /// Gets the FORM start method. + /// + public int FormStartMethod + { + get + { + return formStartMethod; + } + } + + /// + /// Gets the maximum number of FORM iterations to perform. + /// + public int FormNumberOfIterations + { + get + { + return formNumberOfIterations; + } + } + + /// + /// Gets a relaxation towards the design point for FORM. + /// + public double FormRelaxationFactor + { + get + { + return formRelaxationFactor; + } + } + + /// + /// Gets one of the three convergence criteria for FORM. + /// + /// + /// + public double FormEpsBeta + { + get + { + return formEpsBeta; + } + } + + /// + /// Gets one of the three convergence criteria for FORM. + /// + /// + /// + public double FormEpsHoh + { + get + { + return formEpsHoh; + } + } + + /// + /// Gets one of the three convergence criteria for FORM. + /// + /// + /// + public double FormEpsZFunc + { + get + { + return formEpsZFunc; + } + } + + /// + /// Gets the DIRS start method. + /// + public int DsStartMethod + { + get + { + return dsStartMethod; + } + } + + /// + /// Gets the minimum number of DIRS iterations to perform. + /// + public int DsMinNumberOfIterations + { + get + { + return dsMinNumberOfIterations; + } + } + + /// + /// Gets the maximum number of DIRS iterations to perform. + /// + public int DsMaxNumberOfIterations + { + get + { + return dsMaxNumberOfIterations; + } + } + + /// + /// Gets the variation coefficient to use within the DIRS iterations. + /// + public double DsVarCoefficient + { + get + { + return dsVarCoefficient; + } + } + + /// + /// Gets the lower size limit of a uniform grid deployed by NINT. + /// + public double NiUMin + { + get + { + return niUMin; + } + } + + /// + /// Gets the upper size limit of a uniform grid deployed by NINT. + /// + public double NiUMax + { + get + { + return niUMax; + } + } + + /// + /// Gets the number of steps between and for NINT. + /// + public int NiNumberSteps + { + get + { + return niNumberSteps; + } + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/IO/HydraRingSettingsCsvReader.cs =================================================================== diff -u -r759de5bbd411b0140aa72d2887a026f3e4b3eb97 -rde737ee4b24659d188bb137d385572159bc099ff --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/IO/HydraRingSettingsCsvReader.cs (.../HydraRingSettingsCsvReader.cs) (revision 759de5bbd411b0140aa72d2887a026f3e4b3eb97) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/IO/HydraRingSettingsCsvReader.cs (.../HydraRingSettingsCsvReader.cs) (revision de737ee4b24659d188bb137d385572159bc099ff) @@ -23,7 +23,7 @@ using System.Collections.Generic; using System.Globalization; using System.Linq; -using Ringtoets.HydraRing.Calculation.Settings; +using Ringtoets.HydraRing.Calculation.Data.Settings; namespace Ringtoets.HydraRing.Calculation.IO { Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/FailureMechanismDefaultsProvider.cs =================================================================== diff -u --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/FailureMechanismDefaultsProvider.cs (revision 0) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/FailureMechanismDefaultsProvider.cs (revision de737ee4b24659d188bb137d385572159bc099ff) @@ -0,0 +1,139 @@ +// 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 . + /// + public class FailureMechanismDefaultsProvider + { + private readonly IDictionary failureMechanismDefaults; + + /// + /// Creates a new instance of the class. + /// + /// + /// The default settings should not be overruled and just reflect: + /// - some supported ids within Hydra-Ring; + /// - a WTI 2017 specific configuration of Hydra-Ring. + /// + public FailureMechanismDefaultsProvider() + { + failureMechanismDefaults = new Dictionary + { + { + HydraRingFailureMechanismType.AssessmentLevel, new FailureMechanismDefaults(1, 26, new[] + { + 1 + }) + }, + { + HydraRingFailureMechanismType.WaveHeight, new FailureMechanismDefaults(11, 28, new[] + { + 11 + }) + }, + { + HydraRingFailureMechanismType.WavePeakPeriod, new FailureMechanismDefaults(11, 29, new[] + { + 14 + }) + }, + { + HydraRingFailureMechanismType.WaveSpectralPeriod, new FailureMechanismDefaults(11, 29, new[] + { + 16 + }) + }, + { + HydraRingFailureMechanismType.QVariant, new FailureMechanismDefaults(3, 114, new[] + { + 3, + 4, + 5 + }) + }, + { + HydraRingFailureMechanismType.DikesOvertopping, new FailureMechanismDefaults(101, 1, new[] + { + 102, + 103 + }) + }, + { + HydraRingFailureMechanismType.DikesPiping, new FailureMechanismDefaults(103, 44, new[] + { + 311, + 313, + 314 + }) + }, + { + HydraRingFailureMechanismType.StructuresOvertopping, new FailureMechanismDefaults(110, 60, new[] + { + 421, + 422, + 423 + }) + }, + { + HydraRingFailureMechanismType.StructuresClosure, new FailureMechanismDefaults(111, 65, new[] + { + 422, + 424, + 425, + 426, + 427 + }) + }, + { + HydraRingFailureMechanismType.StructuresStructuralFailure, new FailureMechanismDefaults(112, 65, new[] + { + 422, + 424, + 425, + 430, + 431, + 432, + 433, + 434, + 435 + }) + } + }; + } + + /// + /// Returns based on the provided . + /// + /// The to obtain the for. + /// The corresponding to the provided . + public FailureMechanismDefaults GetFailureMechanismDefaults(HydraRingFailureMechanismType failureMechanismType) + { + return failureMechanismDefaults[failureMechanismType]; + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/FailureMechanismSettingsProvider.cs =================================================================== diff -u --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/FailureMechanismSettingsProvider.cs (revision 0) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/FailureMechanismSettingsProvider.cs (revision de737ee4b24659d188bb137d385572159bc099ff) @@ -0,0 +1,95 @@ +// 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.Settings; + +namespace Ringtoets.HydraRing.Calculation.Providers +{ + /// + /// Provider of . + /// + public class FailureMechanismSettingsProvider + { + private readonly IDictionary defaultFailureMechanismSettings; + + /// + /// Creates a new instance of the class. + /// + public FailureMechanismSettingsProvider() + { + defaultFailureMechanismSettings = new Dictionary + { + { + HydraRingFailureMechanismType.AssessmentLevel, + new FailureMechanismSettings(0, 50, 1) + }, + { + HydraRingFailureMechanismType.WaveHeight, + new FailureMechanismSettings(0, 50, 11) + }, + { + HydraRingFailureMechanismType.WavePeakPeriod, + new FailureMechanismSettings(0, 50, 14) + }, + { + HydraRingFailureMechanismType.WaveSpectralPeriod, + new FailureMechanismSettings(0, 50, 16) + }, + { + HydraRingFailureMechanismType.QVariant, + new FailureMechanismSettings(0, 50, 7) + }, + { + HydraRingFailureMechanismType.DikesOvertopping, + new FailureMechanismSettings(double.NaN, double.NaN, 1017) + }, + { + HydraRingFailureMechanismType.DikesPiping, + new FailureMechanismSettings(double.NaN, double.NaN, 3015) + }, + { + HydraRingFailureMechanismType.StructuresOvertopping, + new FailureMechanismSettings(double.NaN, double.NaN, 4404) + }, + { + HydraRingFailureMechanismType.StructuresClosure, + new FailureMechanismSettings(double.NaN, double.NaN, 4505) + }, + { + HydraRingFailureMechanismType.StructuresStructuralFailure, + new FailureMechanismSettings(double.NaN, double.NaN, 4607) + } + }; + } + + /// + /// Returns based on the provided . + /// + /// The to obtain the for. + /// The corresponding to the provided . + public FailureMechanismSettings GetFailureMechanismSettings(HydraRingFailureMechanismType failureMechanismType) + { + return defaultFailureMechanismSettings[failureMechanismType]; + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/SubMechanismSettingsProvider.cs =================================================================== diff -u --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/SubMechanismSettingsProvider.cs (revision 0) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/SubMechanismSettingsProvider.cs (revision de737ee4b24659d188bb137d385572159bc099ff) @@ -0,0 +1,216 @@ +// 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.Settings; +using Ringtoets.HydraRing.Calculation.IO; +using Ringtoets.HydraRing.Calculation.Properties; + +namespace Ringtoets.HydraRing.Calculation.Providers +{ + /// + /// Provider of . + /// + public class SubMechanismSettingsProvider + { + private readonly IDictionary>> fileSubMechanismSettings; + private readonly FailureMechanismDefaultsProvider failureMechanismDefaultsProvider; + private IDictionary> defaultSubMechanismSettings; + + /// + /// Creates a new instance of the class. + /// + public SubMechanismSettingsProvider() + { + failureMechanismDefaultsProvider = new FailureMechanismDefaultsProvider(); + + InitializeDefaultSubMechanismSettings(); + + fileSubMechanismSettings = new HydraRingSettingsCsvReader(Resources.HydraRingSettings).ReadSettings(); + } + + /// + /// Returns based on the provided and sub mechanism id. + /// + /// The to obtain the for. + /// The sub mechanism id to obtain the for. + /// The ring id to obtain the for. + /// The corresponding to the provided and sub mechanism id. + public SubMechanismSettings GetSubMechanismSettings(HydraRingFailureMechanismType failureMechanismType, int subMechanismId, string ringId) + { + var mechanismId = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(failureMechanismType).MechanismId; + + if (fileSubMechanismSettings.ContainsKey(mechanismId) && + fileSubMechanismSettings[mechanismId].ContainsKey(subMechanismId) && + fileSubMechanismSettings[mechanismId][subMechanismId].ContainsKey(ringId)) + { + return fileSubMechanismSettings[mechanismId][subMechanismId][ringId]; + } + + return defaultSubMechanismSettings[failureMechanismType][subMechanismId]; + } + + private void InitializeDefaultSubMechanismSettings() + { + defaultSubMechanismSettings = new Dictionary> + { + { + HydraRingFailureMechanismType.AssessmentLevel, new Dictionary + { + { + 1, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + } + } + }, + { + HydraRingFailureMechanismType.WaveHeight, new Dictionary + { + { + 11, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + } + } + }, + { + HydraRingFailureMechanismType.WavePeakPeriod, new Dictionary + { + { + 14, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + } + } + }, + { + HydraRingFailureMechanismType.WaveSpectralPeriod, new Dictionary + { + { + 16, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + } + } + }, + { + HydraRingFailureMechanismType.QVariant, new Dictionary + { + { + 3, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 4, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 5, new SubMechanismSettings(4, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + } + } + }, + { + HydraRingFailureMechanismType.DikesOvertopping, new Dictionary + { + { + 102, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 103, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + } + } + }, + { + HydraRingFailureMechanismType.DikesPiping, new Dictionary + { + { + 311, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 313, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 314, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + } + } + }, + { + HydraRingFailureMechanismType.StructuresOvertopping, new Dictionary + { + { + 421, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 422, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 423, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + } + } + }, + { + HydraRingFailureMechanismType.StructuresClosure, new Dictionary + { + { + 422, new SubMechanismSettings(1, 1, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 424, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 425, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 426, new SubMechanismSettings(1, 1, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 427, new SubMechanismSettings(1, 1, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + } + } + }, + { + HydraRingFailureMechanismType.StructuresStructuralFailure, new Dictionary + { + { + 422, new SubMechanismSettings(1, 1, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 424, new SubMechanismSettings(1, 1, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 425, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 430, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 431, new SubMechanismSettings(1, 1, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 432, new SubMechanismSettings(1, 1, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 433, new SubMechanismSettings(1, 1, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 434, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + }, + { + 435, new SubMechanismSettings(1, 4, 50, 0.15, 0.01, 0.01, 0.01, 2, 10000, 20000, 0.1, -6.0, 6.0, 25) + } + } + } + }; + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/VariableDefaultsProvider.cs =================================================================== diff -u --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/VariableDefaultsProvider.cs (revision 0) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/VariableDefaultsProvider.cs (revision de737ee4b24659d188bb137d385572159bc099ff) @@ -0,0 +1,472 @@ +// 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 . + /// + public 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) + }, + { + 21, new VariableDefaults(300) + }, + { + 22, 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]; + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj =================================================================== diff -u -r860a38c705705658e91b43c1e813b63205bbbfa8 -rde737ee4b24659d188bb137d385572159bc099ff --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision 860a38c705705658e91b43c1e813b63205bbbfa8) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision de737ee4b24659d188bb137d385572159bc099ff) @@ -42,28 +42,28 @@ - - + + True True Resources.resx - - + + - - - - - + + + + + - - - + + + @@ -312,6 +312,7 @@ Designer +