Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/ClosingStructure.cs =================================================================== diff -u -re2197d5a4596fc769d89bd2f661d657490017d76 -rad75a347a7586757599297f2b2e776100d827264 --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/ClosingStructure.cs (.../ClosingStructure.cs) (revision e2197d5a4596fc769d89bd2f661d657490017d76) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/ClosingStructure.cs (.../ClosingStructure.cs) (revision ad75a347a7586757599297f2b2e776100d827264) @@ -20,8 +20,10 @@ // All rights reserved. using System; +using Core.Common.Base.Data; using Core.Common.Base.Geometry; using Ringtoets.Common.Data; +using Ringtoets.Common.Data.Probabilistics; namespace Ringtoets.ClosingStructures.Data { @@ -33,12 +35,181 @@ /// /// Creates a new instance of . /// - /// The name of the structure. - /// The identifier of the structure. - /// The location of the structure. + /// The name of the closing structure. + /// The identifier of the closing structure. + /// The location of the closing structure. + /// The mean of the storage area of the closing structure. + /// The standard deviation of the storage area of the closing structure. + /// The mean allowable increase of level for storage of the closing structure. + /// The standard deviation of allowable increase of level for storage of the closing structure. + /// The orientation of the closing structure, relative to north. + /// The mean of the width of the flow apertures of the closing structure. + /// The standard deviation of the width of the flow apertures of the closing structure. + /// The mean crest level of the opened closing structure. + /// The standard deviation of the crest level of the opened closing structure. + /// The mean interior water level of the closing structure. + /// The standard deviation of the interior water level of the closing structure. + /// The mean threshold height of the opened closure structure. + /// The standard deviation of the threshold height of the opened closure structure. + /// The mean area of the flow aperture of the closing structure. + /// The standard deviation of the area of the flow aperture of the closing structure. + /// The mean critical overtopping discharge of the closing structure. + /// The standard deviation of critical overtopping discharge of the closing structure. + /// The mean flow width of the closing structure at the bottom protection. + /// The standard deviation of the flow width of the closing structure at the bottom protection. + /// The probability of the closing structure being open before flooding. + /// The probability of failing to close the closing structure. + /// The number of identical apertures of the closing structure. + /// The probability of failing to repair a failed closure of the closing structure. + /// The type of closing structure. /// Thrown when or is null /// , empty or consists of whitespace. /// Thrown when is null. - public ClosingStructure(string name, string id, Point2D location) : base(name, id, location) {} + public ClosingStructure(string name, string id, Point2D location, + double storageStructureAreaMean, double storageStructureAreaStandardDeviation, + double allowedLevelIncreaseStorageMean, double allowedLevelIncreaseStorageStandardDeviation, + double structureNormalOrientation, + double widthFlowAperturesMean, double widthFlowAperturesStandardDeviation, + double levelCrestStructureNotClosingMean, double levelCrestStructureNotClosingStandardDeviation, + double insideWaterLevelMean, double insideWaterLevelStandardDeviation, + double thresholdHeightOpenWeirMean, double thresholdHeightOpenWeirStandardDeviation, + double areaFlowAperturesMean, double areaFlowAperturesStandardDeviation, + double criticalOverToppingDischargeMean, double criticalOverToppingDischargeStandardDeviation, + double flowWidthAtBottomProtectionMean, double flowWidthAtBottomProtectionStandardDeviation, + double probabilityOpenStructureBeforeFlooding, + double failureProbablityOpenStructure, + int numberOfIdenticalApertures, + double failureProbabilityReparation, + int inflowModel + ) + : base(name, id, location) + { + StorageStructureArea = new LogNormalDistribution(2) + { + Mean = new RoundedDouble(2, storageStructureAreaMean), + StandardDeviation = new RoundedDouble(2, storageStructureAreaStandardDeviation) + }; + AllowedLevelIncreaseStorage = new LogNormalDistribution(2) + { + Mean = new RoundedDouble(2, allowedLevelIncreaseStorageMean), + StandardDeviation = new RoundedDouble(2, allowedLevelIncreaseStorageStandardDeviation) + }; + StructureNormalOrientation = new RoundedDouble(2, structureNormalOrientation); + WidthFlowApertures = new NormalDistribution(2) + { + Mean = new RoundedDouble(2, widthFlowAperturesMean), + StandardDeviation = new RoundedDouble(2, widthFlowAperturesStandardDeviation) + }; + LevelCrestStructureNotClosing = new NormalDistribution(2) + { + Mean = new RoundedDouble(2, levelCrestStructureNotClosingMean), + StandardDeviation = new RoundedDouble(2, levelCrestStructureNotClosingStandardDeviation) + }; + InsideWaterLevel = new NormalDistribution(2) + { + Mean = new RoundedDouble(2, insideWaterLevelMean), + StandardDeviation = new RoundedDouble(2, insideWaterLevelStandardDeviation) + }; + ThresholdHeightOpenWeir = new NormalDistribution(2) + { + Mean = new RoundedDouble(2, thresholdHeightOpenWeirMean), + StandardDeviation = new RoundedDouble(2, thresholdHeightOpenWeirStandardDeviation) + }; + AreaFlowApertures = new LogNormalDistribution(2) + { + Mean = new RoundedDouble(2, areaFlowAperturesMean), + StandardDeviation = new RoundedDouble(2, areaFlowAperturesStandardDeviation) + }; + CriticalOverToppingDischarge = new LogNormalDistribution(2) + { + Mean = new RoundedDouble(2, criticalOverToppingDischargeMean), + StandardDeviation = new RoundedDouble(2, criticalOverToppingDischargeStandardDeviation) + }; + FlowWidthAtBottomProtection = new LogNormalDistribution(2) + { + Mean = new RoundedDouble(2, flowWidthAtBottomProtectionMean), + StandardDeviation = new RoundedDouble(2, flowWidthAtBottomProtectionStandardDeviation) + }; + ProbabilityOpenStructureBeforeFlooding = new RoundedDouble(2, probabilityOpenStructureBeforeFlooding); + FailureProbablityOpenStructure = new RoundedDouble(2, failureProbablityOpenStructure); + NumberOfIdenticalApertures = numberOfIdenticalApertures; + FailureProbabilityReparation = new RoundedDouble(2, failureProbabilityReparation); + InflowModel = inflowModel; + } + + /// + /// Gets the storage area of the closing structure. + /// + public LogNormalDistribution StorageStructureArea { get; private set; } + + /// + /// Gets the allowable increase of level for storage of the closing structure. + /// + public LogNormalDistribution AllowedLevelIncreaseStorage { get; private set; } + + /// + /// Gets the orientation of the closing structure, relative to north. + /// + public RoundedDouble StructureNormalOrientation { get; private set; } + + /// + /// Gets the width of the flow apertures of the closing structure. + /// + public NormalDistribution WidthFlowApertures { get; private set; } + + /// + /// Gets the crest level of the opened closing structure. + /// + public NormalDistribution LevelCrestStructureNotClosing { get; private set; } + + /// + /// Gets the interior water level of the closing structure. + /// + public NormalDistribution InsideWaterLevel { get; private set; } + + /// + /// Gets the threshold height of the opened closure structure. + /// + public NormalDistribution ThresholdHeightOpenWeir { get; private set; } + + /// + /// Gets the area of the flow aperture of the closing structure. + /// + public LogNormalDistribution AreaFlowApertures { get; private set; } + + /// + /// Gets the critical overtopping discharge of the closing structure. + /// + public LogNormalDistribution CriticalOverToppingDischarge { get; private set; } + + /// + /// Gets the flow width of the closing structure at the bottom protection. + /// + public LogNormalDistribution FlowWidthAtBottomProtection { get; private set; } + + /// + /// Gets the probability of the closing structure being open before flooding. + /// + public RoundedDouble ProbabilityOpenStructureBeforeFlooding { get; private set; } + + /// + /// Gets the probability of failing to close the closing structure. + /// + public RoundedDouble FailureProbablityOpenStructure { get; private set; } + + /// + /// Gets the number of identical apertures of the closing structure. + /// + public int NumberOfIdenticalApertures { get; private set; } + + /// + /// Gets the probability of failing to repair a failed closure of the closing structure. + /// + public RoundedDouble FailureProbabilityReparation { get; private set; } + + /// + /// Gets the type of closing structure. + /// + public int InflowModel { get; private set; } } } \ No newline at end of file