Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/GeneralPipingInput.cs
===================================================================
diff -u
--- Ringtoets/Piping/src/Ringtoets.Piping.Data/GeneralPipingInput.cs (revision 0)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Data/GeneralPipingInput.cs (revision 67fc75b9da1684eb22a425825f63354146f908f5)
@@ -0,0 +1,148 @@
+// 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 Core.Common.Base;
+
+namespace Ringtoets.Piping.Data
+{
+ ///
+ /// Class that holds all the overarching piping calculation input parameters, e.g. the
+ /// values that apply for all calculations.
+ ///
+ public class GeneralPipingInput : Observable
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public GeneralPipingInput()
+ {
+ UpliftModelFactor = 1.0;
+ SellmeijerModelFactor = 1.0;
+ WaterVolumetricWeight = 10.0;
+ CriticalHeaveGradient = 0.3;
+ SandParticlesVolumicWeight = 16.5;
+ WhitesDragCoefficient = 0.25;
+ BeddingAngle = 37;
+ WaterKinematicViscosity = 1.33e-6;
+ Gravity = 9.81;
+ MeanDiameter70 = 2.08e-4;
+ SellmeijerReductionFactor = 0.3;
+ A = 1.0;
+ B = 350.0;
+ }
+
+ #region Model Factors
+
+ ///
+ /// Gets the calculation value used to account for uncertainty in the model for uplift.
+ ///
+ public double UpliftModelFactor { get; private set; }
+
+ ///
+ /// Gets the calculation value used to account for uncertainty in the model for Sellmeijer.
+ ///
+ public double SellmeijerModelFactor { get; private set; }
+
+ #endregion
+
+ #region General parameters (use by multiple calculations)
+
+ ///
+ /// Gets the volumetric weight of water.
+ /// [kN/m³]
+ ///
+ public double WaterVolumetricWeight { get; private set; }
+
+ #endregion
+
+ #region Heave specific parameters
+
+ ///
+ /// Gets the critical exit gradient for heave.
+ ///
+ public double CriticalHeaveGradient { get; private set; }
+
+ #endregion
+
+ #region Sellmeijer specific parameters
+
+ ///
+ /// Gets the (lowerbound) volumic weight of sand grain material of a sand layer
+ /// under water.
+ /// [kN/m³]
+ ///
+ public double SandParticlesVolumicWeight { get; private set; }
+
+ ///
+ /// Gets the White's drag coefficient.
+ ///
+ public double WhitesDragCoefficient { get; private set; }
+
+ ///
+ /// Gets the angle of the force balance representing the amount in which sand
+ /// grains resist rolling.
+ /// [°]
+ ///
+ public double BeddingAngle { get; private set; }
+
+ ///
+ /// Gets the kinematic viscosity of water at 10 degrees Celsius.
+ /// [m²/s]
+ ///
+ public double WaterKinematicViscosity { get; private set; }
+
+ ///
+ /// Gets the gravitational acceleration.
+ /// [m/s²]
+ ///
+ public double Gravity { get; private set; }
+
+ ///
+ /// Gets 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; private set; }
+
+ ///
+ /// Gets the reduction factor Sellmeijer.
+ ///
+ public double SellmeijerReductionFactor { get; private set; }
+
+ #endregion
+
+ #region Semi-probabilistic parameters
+
+ ///
+ /// Gets 'a' parameter used to factor in the 'length effect' when determining the
+ /// maximum tolerated probability of failure.
+ ///
+ public double A { get; private set; }
+
+ ///
+ /// Gets 'b' parameter used to factor in the 'length effect' when determining the
+ /// maximum tolerated probability of failure.
+ ///
+ public double B { get; private set; }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs
===================================================================
diff -u -r80aeb6fb275f0d7ea3f470bb8ba0ef0fc5caa113 -r67fc75b9da1684eb22a425825f63354146f908f5
--- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs (.../PipingFailureMechanism.cs) (revision 80aeb6fb275f0d7ea3f470bb8ba0ef0fc5caa113)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs (.../PipingFailureMechanism.cs) (revision 67fc75b9da1684eb22a425825f63354146f908f5)
@@ -20,10 +20,12 @@
// All rights reserved.
using System.Collections.Generic;
+
using Core.Common.Base;
+
using Ringtoets.Common.Data;
using Ringtoets.Common.Placeholder;
-using Ringtoets.Piping.Data.Properties;
+
using RingtoetsCommonDataResources = Ringtoets.Common.Data.Properties.Resources;
using PipingDataResources = Ringtoets.Piping.Data.Properties.Resources;
@@ -40,15 +42,24 @@
public PipingFailureMechanism()
: base(PipingDataResources.PipingFailureMechanism_DisplayName)
{
+ GeneralInput = new GeneralPipingInput();
SurfaceLines = new ObservableList();
SoilProfiles = new ObservableList();
BoundaryConditions = new InputPlaceholder(RingtoetsCommonDataResources.FailureMechanism_BoundaryConditions_DisplayName);
- var pipingCalculationGroup = new PipingCalculationGroup(Resources.PipingFailureMechanism_Calculations_DisplayName, false);
+ var pipingCalculationGroup = new PipingCalculationGroup(PipingDataResources.PipingFailureMechanism_Calculations_DisplayName, false);
pipingCalculationGroup.Children.Add(new PipingCalculation());
CalculationsGroup = pipingCalculationGroup;
AssessmentResult = new OutputPlaceholder(RingtoetsCommonDataResources.FailureMechanism_AssessmentResult_DisplayName);
}
+ public override IEnumerable CalculationItems
+ {
+ get
+ {
+ return CalculationsGroup.GetPipingCalculations();
+ }
+ }
+
///
/// Gets the available within the scope of the piping failure mechanism.
///
@@ -74,12 +85,9 @@
///
public OutputPlaceholder AssessmentResult { get; private set; }
- public override IEnumerable CalculationItems
- {
- get
- {
- return CalculationsGroup.GetPipingCalculations();
- }
- }
+ ///
+ /// Gets the general piping calculation input parameters that apply to each piping calculation.
+ ///
+ public GeneralPipingInput GeneralInput { get; private set; }
}
}
\ No newline at end of file
Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInput.cs
===================================================================
diff -u -rbbfd376aee76613b471f70d2b1214d7e7b08fb1f -r67fc75b9da1684eb22a425825f63354146f908f5
--- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInput.cs (.../PipingInput.cs) (revision bbfd376aee76613b471f70d2b1214d7e7b08fb1f)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInput.cs (.../PipingInput.cs) (revision 67fc75b9da1684eb22a425825f63354146f908f5)
@@ -28,7 +28,8 @@
namespace Ringtoets.Piping.Data
{
///
- /// Class that holds all piping calculation input parameters.
+ /// Class that holds all piping calculation specific input parameters, e.g. the values
+ /// that can differ various calculations.
///
public class PipingInput : Observable
{
Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/Ringtoets.Piping.Data.csproj
===================================================================
diff -u -rdaf4bf00e8ea376485f54faa2fee8497607ddfb0 -r67fc75b9da1684eb22a425825f63354146f908f5
--- Ringtoets/Piping/src/Ringtoets.Piping.Data/Ringtoets.Piping.Data.csproj (.../Ringtoets.Piping.Data.csproj) (revision daf4bf00e8ea376485f54faa2fee8497607ddfb0)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Data/Ringtoets.Piping.Data.csproj (.../Ringtoets.Piping.Data.csproj) (revision 67fc75b9da1684eb22a425825f63354146f908f5)
@@ -54,6 +54,7 @@
Properties\GlobalAssembly.cs
+
Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/GeneralPipingInputTest.cs
===================================================================
diff -u
--- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/GeneralPipingInputTest.cs (revision 0)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/GeneralPipingInputTest.cs (revision 67fc75b9da1684eb22a425825f63354146f908f5)
@@ -0,0 +1,38 @@
+using Core.Common.Base;
+
+using NUnit.Framework;
+
+namespace Ringtoets.Piping.Data.Test
+{
+ [TestFixture]
+ public class GeneralPipingInputTest
+ {
+ [Test]
+ public void Constructor_ExpectedValues()
+ {
+ // Call
+ var inputParameters = new GeneralPipingInput();
+
+ // Assert
+ Assert.IsInstanceOf(inputParameters);
+
+ Assert.AreEqual(1.0, inputParameters.UpliftModelFactor);
+ Assert.AreEqual(1.0, inputParameters.SellmeijerModelFactor);
+
+ Assert.AreEqual(10.0, inputParameters.WaterVolumetricWeight);
+
+ Assert.AreEqual(0.3, inputParameters.CriticalHeaveGradient);
+
+ Assert.AreEqual(16.5, inputParameters.SandParticlesVolumicWeight);
+ Assert.AreEqual(0.25, inputParameters.WhitesDragCoefficient);
+ Assert.AreEqual(37, inputParameters.BeddingAngle);
+ Assert.AreEqual(1.33e-6, inputParameters.WaterKinematicViscosity);
+ Assert.AreEqual(9.81, inputParameters.Gravity);
+ Assert.AreEqual(2.08e-4, inputParameters.MeanDiameter70);
+ Assert.AreEqual(0.3, inputParameters.SellmeijerReductionFactor);
+
+ Assert.AreEqual(1.0, inputParameters.A);
+ Assert.AreEqual(350.0, inputParameters.B);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs
===================================================================
diff -u -r76ace4042e4e8a92a0ba37e8e9a9373ed6cea951 -r67fc75b9da1684eb22a425825f63354146f908f5
--- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs (.../PipingFailureMechanismTest.cs) (revision 76ace4042e4e8a92a0ba37e8e9a9373ed6cea951)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs (.../PipingFailureMechanismTest.cs) (revision 67fc75b9da1684eb22a425825f63354146f908f5)
@@ -27,6 +27,7 @@
// assert
Assert.IsInstanceOf(piping);
+ Assert.IsInstanceOf(piping.GeneralInput);
CollectionAssert.IsEmpty(piping.Sections);
CollectionAssert.IsEmpty(piping.SurfaceLines);
Assert.IsInstanceOf>(piping.SurfaceLines);
Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs
===================================================================
diff -u -rbbfd376aee76613b471f70d2b1214d7e7b08fb1f -r67fc75b9da1684eb22a425825f63354146f908f5
--- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs (.../PipingInputTest.cs) (revision bbfd376aee76613b471f70d2b1214d7e7b08fb1f)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs (.../PipingInputTest.cs) (revision 67fc75b9da1684eb22a425825f63354146f908f5)
@@ -1,8 +1,6 @@
using System;
using Core.Common.Base;
-using Core.Common.Base.Geometry;
-using Core.Common.Base.Properties;
using Core.Common.TestUtil;
using NUnit.Framework;
Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/Ringtoets.Piping.Data.Test.csproj
===================================================================
diff -u -rdaf4bf00e8ea376485f54faa2fee8497607ddfb0 -r67fc75b9da1684eb22a425825f63354146f908f5
--- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/Ringtoets.Piping.Data.Test.csproj (.../Ringtoets.Piping.Data.Test.csproj) (revision daf4bf00e8ea376485f54faa2fee8497607ddfb0)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/Ringtoets.Piping.Data.Test.csproj (.../Ringtoets.Piping.Data.Test.csproj) (revision 67fc75b9da1684eb22a425825f63354146f908f5)
@@ -59,6 +59,7 @@
+