Index: src/Plugins/Wti/Wti.Data/PipingData.cs =================================================================== diff -u -r5fc71a385897af92ccb092f2f969b5709afab85a -rbf3ab30ae42c1bdd2ec903b78194c50d927ad57b --- src/Plugins/Wti/Wti.Data/PipingData.cs (.../PipingData.cs) (revision 5fc71a385897af92ccb092f2f969b5709afab85a) +++ src/Plugins/Wti/Wti.Data/PipingData.cs (.../PipingData.cs) (revision bf3ab30ae42c1bdd2ec903b78194c50d927ad57b) @@ -8,42 +8,249 @@ private readonly IList observers = new List(); private PipingOutput output; - public PipingOutput Output + // Defaults as they have been defined in the DikesPiping Kernel's Technical Documentation of 07 Oct 15 + private double dampingFactorExit = 1.0; + private double sellmeijerReductionFactor = 0.3; + private double waterVolumetricWeight = 9.81; + private double sandParticlesVolumicWeight = 16.5; + private double whitesDragCoefficient = 0.25; + private double waterKinematicViscosity = 1.33e-6; + private double gravity = 9.81; + private double meanDiameter70 = 2.08e-4; + private double beddingAngle = 37.0; + + /// + /// Gets or sets the damping factor at the exit point. + /// + public double DampingFactorExit { get { - return output; + return dampingFactorExit; } set { - output = value; - NotifyObservers(); + dampingFactorExit = value; } } - public double WaterVolumetricWeight { get; set; } + /// + /// Gets or sets the reduction factor Sellmeijer. + /// + public double SellmeijerReductionFactor + { + get + { + return sellmeijerReductionFactor; + } + set + { + sellmeijerReductionFactor = value; + } + } + + /// + /// Gets or sets the volumetric weight of water. + /// [kN/m³] + /// + public double WaterVolumetricWeight + { + get + { + return waterVolumetricWeight; + } + set + { + waterVolumetricWeight = value; + } + } + + /// + /// Gets or sets the (lowerbound) volumic weight of sand grain material of a sand layer under water. + /// [kN/m³] + /// + public double SandParticlesVolumicWeight + { + get + { + return sandParticlesVolumicWeight; + } + set + { + sandParticlesVolumicWeight = value; + } + } + + /// + /// Gets or sets the White's drag coefficient. + /// + public double WhitesDragCoefficient + { + get + { + return whitesDragCoefficient; + } + set + { + whitesDragCoefficient = value; + } + } + + /// + /// Gets or sets the kinematic viscosity of water at 10 degrees Celsius. + /// [m²/s] + /// + public double WaterKinematicViscosity + { + get + { + return waterKinematicViscosity; + } + set + { + waterKinematicViscosity = value; + } + } + + /// + /// Gets or sets the gravitational acceleration. + /// [m/s²] + /// + public double Gravity + { + get + { + return gravity; + } + set + { + gravity = value; + } + } + + /// + /// Gets or sets the mean diameter of small scale tests applied to different kinds of sand, on which the formula of Sellmeijer has been fit. + /// [m] + /// + public double MeanDiameter70 + { + get + { + return meanDiameter70; + } + set + { + meanDiameter70 = value; + } + } + + /// + /// Gets or sets the angle of the force balance representing the amount in which sand grains resist rolling. + /// [°] + /// + public double BeddingAngle + { + get + { + return beddingAngle; + } + set + { + beddingAngle = value; + } + } + + /// + /// Gets or sets the calculation value used to account for uncertainty in the model for uplift. + /// public double UpliftModelFactor { get; set; } + + /// + /// Gets or sets the outside high water level. + /// [m] + /// public double AssessmentLevel { get; set; } + + /// + /// Gets or sets the piezometric head at the exit point. + /// [m] + /// public double PiezometricHeadExit { get; set; } - public double DampingFactorExit { get; set; } + + /// + /// Gets or sets the phreatic level at the exit point. + /// [m] + /// public double PhreaticLevelExit { get; set; } + + /// + /// Gets or sets the piezometric head in the hinterland. + /// [m] + /// public double PiezometricHeadPolder { get; set; } + + /// + /// Gets or sets the critical exit gradient for heave. + /// public double CriticalHeaveGradient { get; set; } + + /// + /// Gets or sets the total thickness of the coverage layer at the exit point. + /// [m] + /// public double ThicknessCoverageLayer { get; set; } + + /// + /// Gets or sets the calculation value used to account for uncertainty in the model for Sellmeijer. + /// public double SellmeijerModelFactor { get; set; } - public double SellmeijerReductionFactor { get; set; } + + /// + /// Gets or sets the horizontal distance between entree and exit point. + /// [m] + /// public double SeepageLength { get; set; } - public double SandParticlesVolumicWeight { get; set; } - public double WhitesDragCoefficient { get; set; } + + /// + /// Gets or sets the sieve size through which 70% fraction of the grains of the top part of the aquifer passes. + /// [m] + /// public double Diameter70 { get; set; } + + /// + /// Gets or sets the Darcy-speed with which water flows through the aquifer layer. + /// [m/s] + /// public double DarcyPermeability { get; set; } - public double WaterKinematicViscosity { get; set; } - public double Gravity { get; set; } + + /// + /// Gets or sets the thickness of the aquifer layer. + /// [m] + /// public double ThicknessAquiferLayer { get; set; } - public double MeanDiameter70 { get; set; } - public double BeddingAngle { get; set; } + + /// + /// Gets or sets the x coordinate of the exit point. + /// [m] + /// public double ExitPointXCoordinate { get; set; } + /// + /// Gets or sets , which contains the results of a Piping calculation. + /// + public PipingOutput Output + { + get + { + return output; + } + set + { + output = value; + NotifyObservers(); + } + } + public void Attach(IObserver observer) { observers.Add(observer);