Index: Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Data/StabilityPointStructure.cs
===================================================================
diff -u -r107c9d6382bd676d6c36f797a040988f7b324b0b -radd325fb1e135f779adf7c89446886ff15a9b17c
--- Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Data/StabilityPointStructure.cs (.../StabilityPointStructure.cs) (revision 107c9d6382bd676d6c36f797a040988f7b324b0b)
+++ Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Data/StabilityPointStructure.cs (.../StabilityPointStructure.cs) (revision add325fb1e135f779adf7c89446886ff15a9b17c)
@@ -24,6 +24,7 @@
using Core.Common.Base.Geometry;
using Ringtoets.Common.Data;
using Ringtoets.Common.Data.Probabilistics;
+using BaseConstructionProperties = Ringtoets.Common.Data.StructureBase.ConstructionProperties;
namespace Ringtoets.StabilityPointStructures.Data
{
@@ -33,193 +34,117 @@
public class StabilityPointStructure : StructureBase
{
///
- /// Creates a new instance of .
+ /// Initializes a new instance of the class.
///
- /// The name of the structure.
- /// The identifier of the structure.
- /// The location of the structure.
- /// The orientation of the stability point structure, relative to north.
- /// The mean of the storage area of the stability point structure.
- /// The coefficient of variation of the storage area of the stability point structure.
- /// The mean of the allowed increase of level for storage of the stability point structure.
- /// The standard deviation of the allowed increase of level for storage of the stability point structure.
- /// The mean of the width of the flow apertures of the stability point structure.
- /// The coefficient of variation of the width of the flow apertures of the stability point structure.
- /// The mean of the interior water level of the stability point structure.
- /// The standard deviation of the interior water level of the stability point structure.
- /// The mean of the threshold height of the opened stability point structure.
- /// The standard deviation of the threshold height of the opened stability point structure.
- /// The mean of the critical overtopping discharge of the stability point structure.
- /// The coefficient of variation of the critical overtopping discharge of the stability point structure.
- /// The mean of the flow width of the stability point structure at the bottom protection.
- /// The standard deviation of the flow width of the stability point structure at the bottom protection.
- /// The mean of the constructive strength of the linear load model of the stability point structure.
- /// The coefficient of variation of the constructive strength of the linear load model of the stability point structure.
- /// The mean of the constructive strength of the quadratic load model of the stability point structure.
- /// The coefficient of variation of the constructive strength of the quadratic load model of the stability point structure.
- /// The mean of the bank width of the stability point structure.
- /// The standard deviation of the bank width of the stability point structure.
- /// The mean of the inside water level failure construction of the stability point structure.
- /// The standard deviation of the inside water level failure construction of the stability point structure.
- /// The evaluation level of the stability point structure.
- /// The mean of the crest level of the stability point structure.
- /// The standard deviation of the crest level of the stability point structure.
- /// The vertical distance of the stability point structure.
- /// The probability of failing to repair a failed closure of the stability point structure.
- /// The mean of the failure collision energy of the stability point structure.
- /// The coefficient of variation of the failure collision energy of the stability point structure.
- /// The mean of the mass of the ship.
- /// The coefficient of variation of the mass of the ship.
- /// The mean of the velocity of the ship.
- /// The coefficient of variation of the velocity of the ship.
- /// The levelling count.
- /// The probability of a secondary collision on the stability point structure.
- /// The mean of the maximum flow velocity at which the structure is closable.
- /// The standard deviation of the maximum flow velocity at which the structure is closable.
- /// The mean of the stability properties of the linear load model of the stability point structure.
- /// The coefficient of variation of the stability properties of the linear load model of the stability point structure.
- /// The mean of the stability properties of the quadratic load model of the stability point structure.
- /// The coefficient of variation of the stability properties of the quadratic load model of the stability point structure.
- /// The mean of the area of the flow aperture of the stability point structure.
- /// The standard deviation of the area of the flow aperture of the stability point structure.
- /// The type of stability point structure inflow model.
- /// Thrown when or is null
- /// , empty or consists of whitespace.
- /// Thrown when is null.
- /// When any stochastic variable parameter is out of its valid domain.
- public StabilityPointStructure(string name, string id, Point2D location,
- double structureNormalOrientation,
- double storageStructureAreaMean, double storageStructureAreaCoefficientOfVariation,
- double allowedLevelIncreaseStorageMean, double allowedLevelIncreaseStorageStandardDeviation,
- double widthFlowAperturesMean, double widthFlowAperturesCoefficientOfVariation,
- double insideWaterLevelMean, double insideWaterLevelStandardDeviation,
- double thresholdHeightOpenWeirMean, double thresholdHeightOpenWeirStandardDeviation,
- double criticalOvertoppingDischargeMean, double criticalOvertoppingDischargeCoefficientOfVariation,
- double flowWidthAtBottomProtectionMean, double flowWidthAtBottomProtectionStandardDeviation,
- double constructiveStrengthLinearLoadModelMean, double constructiveStrengthLinearLoadModelCoefficientOfVariation,
- double constructiveStrengthQuadraticLoadModelMean, double constructiveStrengthQuadraticLoadModelCoefficientOfVariation,
- double bankWidthMean, double bankWidthStandardDeviation,
- double insideWaterLevelFailureConstructionMean, double insideWaterLevelFailureConstructionStandardDeviation,
- double evaluationLevel,
- double levelCrestStructureMean, double levelCrestStructureStandardDeviation,
- double verticalDistance,
- double failureProbabilityRepairClosure,
- double failureCollisionEnergyMean, double failureCollisionEnergyCoefficientOfVariation,
- double shipMassMean, double shipMassCoefficientOfVariation,
- double shipVelocityMean, double shipVelocityCoefficientOfVariation,
- int levellingCount,
- double probabilityCollisionSecondaryStructure,
- double flowVelocityStructureClosableMean, double flowVelocityStructureClosableStandardDeviation,
- double stabilityLinearLoadModelMean, double stabilityLinearLoadModelCoefficientOfVariation,
- double stabilityQuadraticLoadModelMean, double stabilityQuadraticLoadModelCoefficientOfVariation,
- double areaFlowAperturesMean, double areaFlowAperturesStandardDeviation,
- StabilityPointStructureInflowModelType inflowModelType
- )
- : base(name, id, location, structureNormalOrientation)
+ /// The construction properties.
+ /// Thrown when
+ /// or is null , empty or consists of whitespace.
+ /// Thrown when is null.
+ public StabilityPointStructure(ConstructionProperties constructionProperties) : base(constructionProperties)
{
StorageStructureArea = new VariationCoefficientLogNormalDistribution(2)
{
- Mean = (RoundedDouble) storageStructureAreaMean,
- CoefficientOfVariation = (RoundedDouble) storageStructureAreaCoefficientOfVariation
+ Mean = constructionProperties.StorageStructureArea.Mean,
+ CoefficientOfVariation = constructionProperties.StorageStructureArea.CoefficientOfVariation
};
AllowedLevelIncreaseStorage = new LogNormalDistribution(2)
{
- Mean = (RoundedDouble) allowedLevelIncreaseStorageMean,
- StandardDeviation = (RoundedDouble) allowedLevelIncreaseStorageStandardDeviation
+ Mean = constructionProperties.AllowedLevelIncreaseStorage.Mean,
+ StandardDeviation = constructionProperties.AllowedLevelIncreaseStorage.StandardDeviation
};
WidthFlowApertures = new VariationCoefficientNormalDistribution(2)
{
- Mean = (RoundedDouble) widthFlowAperturesMean,
- CoefficientOfVariation = (RoundedDouble) widthFlowAperturesCoefficientOfVariation
+ Mean = constructionProperties.WidthFlowApertures.Mean,
+ CoefficientOfVariation = constructionProperties.WidthFlowApertures.CoefficientOfVariation
};
InsideWaterLevel = new NormalDistribution(2)
{
- Mean = (RoundedDouble) insideWaterLevelMean,
- StandardDeviation = (RoundedDouble) insideWaterLevelStandardDeviation
+ Mean = constructionProperties.InsideWaterLevel.Mean,
+ StandardDeviation = constructionProperties.InsideWaterLevel.StandardDeviation
};
ThresholdHeightOpenWeir = new NormalDistribution(2)
{
- Mean = (RoundedDouble) thresholdHeightOpenWeirMean,
- StandardDeviation = (RoundedDouble) thresholdHeightOpenWeirStandardDeviation
+ Mean = constructionProperties.ThresholdHeightOpenWeir.Mean,
+ StandardDeviation = constructionProperties.ThresholdHeightOpenWeir.StandardDeviation
};
CriticalOvertoppingDischarge = new VariationCoefficientLogNormalDistribution(2)
{
- Mean = (RoundedDouble) criticalOvertoppingDischargeMean,
- CoefficientOfVariation = (RoundedDouble) criticalOvertoppingDischargeCoefficientOfVariation
+ Mean = constructionProperties.CriticalOvertoppingDischarge.Mean,
+ CoefficientOfVariation = constructionProperties.CriticalOvertoppingDischarge.CoefficientOfVariation
};
FlowWidthAtBottomProtection = new LogNormalDistribution(2)
{
- Mean = (RoundedDouble) flowWidthAtBottomProtectionMean,
- StandardDeviation = (RoundedDouble) flowWidthAtBottomProtectionStandardDeviation
+ Mean = constructionProperties.FlowWidthAtBottomProtection.Mean,
+ StandardDeviation = constructionProperties.FlowWidthAtBottomProtection.StandardDeviation
};
ConstructiveStrengthLinearLoadModel = new VariationCoefficientLogNormalDistribution(2)
{
- Mean = (RoundedDouble) constructiveStrengthLinearLoadModelMean,
- CoefficientOfVariation = (RoundedDouble) constructiveStrengthLinearLoadModelCoefficientOfVariation
+ Mean = constructionProperties.ConstructiveStrengthLinearLoadModel.Mean,
+ CoefficientOfVariation = constructionProperties.ConstructiveStrengthLinearLoadModel.CoefficientOfVariation
};
ConstructiveStrengthQuadraticLoadModel = new VariationCoefficientLogNormalDistribution(2)
{
- Mean = (RoundedDouble) constructiveStrengthQuadraticLoadModelMean,
- CoefficientOfVariation = (RoundedDouble) constructiveStrengthQuadraticLoadModelCoefficientOfVariation
+ Mean = constructionProperties.ConstructiveStrengthQuadraticLoadModel.Mean,
+ CoefficientOfVariation = constructionProperties.ConstructiveStrengthQuadraticLoadModel.CoefficientOfVariation
};
BankWidth = new NormalDistribution(2)
{
- Mean = (RoundedDouble) bankWidthMean,
- StandardDeviation = (RoundedDouble) bankWidthStandardDeviation
+ Mean = constructionProperties.BankWidth.Mean,
+ StandardDeviation = constructionProperties.BankWidth.StandardDeviation
};
InsideWaterLevelFailureConstruction = new NormalDistribution(2)
{
- Mean = (RoundedDouble) insideWaterLevelFailureConstructionMean,
- StandardDeviation = (RoundedDouble) insideWaterLevelFailureConstructionStandardDeviation
+ Mean = constructionProperties.InsideWaterLevelFailureConstruction.Mean,
+ StandardDeviation = constructionProperties.InsideWaterLevelFailureConstruction.StandardDeviation
};
- EvaluationLevel = new RoundedDouble(2, evaluationLevel);
+ EvaluationLevel = new RoundedDouble(2, constructionProperties.EvaluationLevel);
LevelCrestStructure = new NormalDistribution(2)
{
- Mean = (RoundedDouble) levelCrestStructureMean,
- StandardDeviation = (RoundedDouble) levelCrestStructureStandardDeviation
+ Mean = constructionProperties.LevelCrestStructure.Mean,
+ StandardDeviation = constructionProperties.LevelCrestStructure.StandardDeviation
};
- VerticalDistance = new RoundedDouble(2, verticalDistance);
- FailureProbabilityRepairClosure = new RoundedDouble(2, failureProbabilityRepairClosure);
+ VerticalDistance = new RoundedDouble(2, constructionProperties.VerticalDistance);
+ FailureProbabilityRepairClosure = new RoundedDouble(2, constructionProperties.FailureProbabilityRepairClosure);
FailureCollisionEnergy = new VariationCoefficientLogNormalDistribution(2)
{
- Mean = (RoundedDouble) failureCollisionEnergyMean,
- CoefficientOfVariation = (RoundedDouble) failureCollisionEnergyCoefficientOfVariation
+ Mean = constructionProperties.FailureCollisionEnergy.Mean,
+ CoefficientOfVariation = constructionProperties.FailureCollisionEnergy.CoefficientOfVariation
};
ShipMass = new VariationCoefficientNormalDistribution(2)
{
- Mean = (RoundedDouble) shipMassMean,
- CoefficientOfVariation = (RoundedDouble) shipMassCoefficientOfVariation
+ Mean = constructionProperties.ShipMass.Mean,
+ CoefficientOfVariation = constructionProperties.ShipMass.CoefficientOfVariation
};
ShipVelocity = new VariationCoefficientNormalDistribution(2)
{
- Mean = (RoundedDouble) shipVelocityMean,
- CoefficientOfVariation = (RoundedDouble) shipVelocityCoefficientOfVariation
+ Mean = constructionProperties.ShipVelocity.Mean,
+ CoefficientOfVariation = constructionProperties.ShipVelocity.CoefficientOfVariation
};
- LevellingCount = levellingCount;
- ProbabilityCollisionSecondaryStructure = new RoundedDouble(2, probabilityCollisionSecondaryStructure);
+ LevellingCount = constructionProperties.LevellingCount;
+ ProbabilityCollisionSecondaryStructure = new RoundedDouble(2, constructionProperties.ProbabilityCollisionSecondaryStructure);
FlowVelocityStructureClosable = new NormalDistribution(2)
{
- Mean = (RoundedDouble) flowVelocityStructureClosableMean,
- StandardDeviation = (RoundedDouble) flowVelocityStructureClosableStandardDeviation
+ Mean = constructionProperties.FlowVelocityStructureClosable.Mean,
+ StandardDeviation = constructionProperties.FlowVelocityStructureClosable.StandardDeviation
};
StabilityLinearLoadModel = new VariationCoefficientLogNormalDistribution(2)
{
- Mean = (RoundedDouble) stabilityLinearLoadModelMean,
- CoefficientOfVariation = (RoundedDouble) stabilityLinearLoadModelCoefficientOfVariation
+ Mean = constructionProperties.StabilityLinearLoadModel.Mean,
+ CoefficientOfVariation = constructionProperties.StabilityLinearLoadModel.CoefficientOfVariation
};
StabilityQuadraticLoadModel = new VariationCoefficientLogNormalDistribution(2)
{
- Mean = (RoundedDouble) stabilityQuadraticLoadModelMean,
- CoefficientOfVariation = (RoundedDouble) stabilityQuadraticLoadModelCoefficientOfVariation
+ Mean = constructionProperties.StabilityQuadraticLoadModel.Mean,
+ CoefficientOfVariation = constructionProperties.StabilityQuadraticLoadModel.CoefficientOfVariation
};
AreaFlowApertures = new LogNormalDistribution(2)
{
- Mean = (RoundedDouble) areaFlowAperturesMean,
- StandardDeviation = (RoundedDouble) areaFlowAperturesStandardDeviation
+ Mean = constructionProperties.AreaFlowApertures.Mean,
+ StandardDeviation = constructionProperties.AreaFlowApertures.StandardDeviation
};
- InflowModelType = inflowModelType;
+ InflowModelType = constructionProperties.InflowModelType;
}
-
+
///
/// Gets the storage area of the stability point structure.
/// [m^2]
@@ -368,5 +293,186 @@
/// Gets the type of stability point structure inflow model.
///
public StabilityPointStructureInflowModelType InflowModelType { get; private set; }
+
+ ///
+ /// Class holding the various construction parameters for .
+ ///
+ public new class ConstructionProperties : BaseConstructionProperties
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public ConstructionProperties()
+ {
+ StorageStructureArea = new VariationCoefficientLogNormalDistribution(2);
+ AllowedLevelIncreaseStorage = new LogNormalDistribution(2);
+ WidthFlowApertures = new VariationCoefficientNormalDistribution(2);
+ InsideWaterLevel = new NormalDistribution(2);
+ ThresholdHeightOpenWeir = new NormalDistribution(2);
+ CriticalOvertoppingDischarge = new VariationCoefficientLogNormalDistribution(2);
+ FlowWidthAtBottomProtection = new LogNormalDistribution(2);
+ ConstructiveStrengthLinearLoadModel = new VariationCoefficientLogNormalDistribution(2);
+ ConstructiveStrengthQuadraticLoadModel = new VariationCoefficientLogNormalDistribution(2);
+ BankWidth = new NormalDistribution(2);
+ InsideWaterLevelFailureConstruction = new NormalDistribution(2);
+ LevelCrestStructure = new NormalDistribution(2);
+ FailureCollisionEnergy = new VariationCoefficientLogNormalDistribution(2);
+ ShipMass = new VariationCoefficientNormalDistribution(2);
+ ShipVelocity = new VariationCoefficientNormalDistribution(2);
+ FlowVelocityStructureClosable = new NormalDistribution(2);
+ StabilityLinearLoadModel = new VariationCoefficientLogNormalDistribution(2);
+ StabilityQuadraticLoadModel = new VariationCoefficientLogNormalDistribution(2);
+ AreaFlowApertures = new LogNormalDistribution(2);
+ }
+
+ ///
+ /// Gets the storage area of the stability point structure.
+ /// [m^2]
+ ///
+ public VariationCoefficientLogNormalDistribution StorageStructureArea { get; private set; }
+
+ ///
+ /// Gets the allowed increase of level for storage of the stability point structure.
+ /// [m]
+ ///
+ public LogNormalDistribution AllowedLevelIncreaseStorage { get; private set; }
+
+ ///
+ /// Gets the width of the flow apertures of the stability point structure.
+ /// [m]
+ ///
+ public VariationCoefficientNormalDistribution WidthFlowApertures { get; private set; }
+
+ ///
+ /// Gets the interior water level of the stability point structure.
+ /// [m+NAP]
+ ///
+ public NormalDistribution InsideWaterLevel { get; private set; }
+
+ ///
+ /// Gets the threshold height of the opened stability point structure.
+ /// [m+NAP]
+ ///
+ public NormalDistribution ThresholdHeightOpenWeir { get; private set; }
+
+ ///
+ /// Gets the critical overtopping discharge of the stability point structure.
+ /// [m^3/s/m]
+ ///
+ public VariationCoefficientLogNormalDistribution CriticalOvertoppingDischarge { get; private set; }
+
+ ///
+ /// Gets the flow width of the stability point structure at the bottom protection.
+ /// [m]
+ ///
+ public LogNormalDistribution FlowWidthAtBottomProtection { get; private set; }
+
+ ///
+ /// Gets the constructive strength of the linear load model of the stability point structure.
+ /// [kN/m^2]
+ ///
+ public VariationCoefficientLogNormalDistribution ConstructiveStrengthLinearLoadModel { get; private set; }
+
+ ///
+ /// Gets the constructive strength of the quadratic load model of the stability point structure.
+ /// [kN/m]
+ ///
+ public VariationCoefficientLogNormalDistribution ConstructiveStrengthQuadraticLoadModel { get; private set; }
+
+ ///
+ /// Gets the bank width of the stability point structure.
+ /// [m]
+ ///
+ public NormalDistribution BankWidth { get; private set; }
+
+ ///
+ /// Gets the inside water level failure construction of the stability point structure.
+ /// [m+NAP]
+ ///
+ public NormalDistribution InsideWaterLevelFailureConstruction { get; private set; }
+
+ ///
+ /// Gets the evaluation level of the stability point structure.
+ /// [m+NAP]
+ ///
+ public double EvaluationLevel { get; set; }
+
+ ///
+ /// Gets the crest level of the stability point structure.
+ /// [m+NAP]
+ ///
+ public NormalDistribution LevelCrestStructure { get; private set; }
+
+ ///
+ /// Gets the vertical distance of the stability point structure.
+ /// [m]
+ ///
+ public double VerticalDistance { get; set; }
+
+ ///
+ /// Gets the probability of failing to repair a failed closure of the stability point structure.
+ /// [1/year]
+ ///
+ public double FailureProbabilityRepairClosure { get; set; }
+
+ ///
+ /// Gets the failure collision energy of the stability point structure.
+ /// [kNm]
+ ///
+ public VariationCoefficientLogNormalDistribution FailureCollisionEnergy { get; private set; }
+
+ ///
+ /// Gets the mass of the ship.
+ /// [tons]
+ ///
+ public VariationCoefficientNormalDistribution ShipMass { get; private set; }
+
+ ///
+ /// Gets the velocity of the ship.
+ /// [m/s]
+ ///
+ public VariationCoefficientNormalDistribution ShipVelocity { get; private set; }
+
+ ///
+ /// Gets the levelling count.
+ /// [1/year]
+ ///
+ public int LevellingCount { get; set; }
+
+ ///
+ /// Gets the probability of a secondary collision on the structure.
+ /// [1/year/levelling]
+ ///
+ public double ProbabilityCollisionSecondaryStructure { get; set; }
+
+ ///
+ /// Gets the maximum flow velocity at which the structure is closable.
+ /// [m/s]
+ ///
+ public NormalDistribution FlowVelocityStructureClosable { get; private set; }
+
+ ///
+ /// Gets the stability properties of the linear load model of the stability point structure.
+ /// [kN/m^2]
+ ///
+ public VariationCoefficientLogNormalDistribution StabilityLinearLoadModel { get; private set; }
+
+ ///
+ /// Gets the stability properties of the quadratic load model of the stability point structure.
+ /// [kN/m]
+ ///
+ public VariationCoefficientLogNormalDistribution StabilityQuadraticLoadModel { get; private set; }
+
+ ///
+ /// Gets the area of the flow aperture of the stability point structure.
+ /// [m^2]
+ ///
+ public LogNormalDistribution AreaFlowApertures { get; private set; }
+
+ ///
+ /// Gets the type of stability point structure inflow model.
+ ///
+ public StabilityPointStructureInflowModelType InflowModelType { get; set; }
+ }
}
}
\ No newline at end of file