Index: Ringtoets.sln
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets.sln (.../Ringtoets.sln) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets.sln (.../Ringtoets.sln) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -454,7 +454,7 @@
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{435F0AB1-1180-47D3-9BCB-3B5FF365236C}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Riskeer.HydraRing.Calculation", "Ringtoets\HydraRing\src\Ringtoets.HydraRing.Calculation\Riskeer.HydraRing.Calculation.csproj", "{888D4097-8BC2-4703-9FB1-8744C94D525E}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Riskeer.HydraRing.Calculation", "Ringtoets\HydraRing\src\Riskeer.HydraRing.Calculation\Riskeer.HydraRing.Calculation.csproj", "{888D4097-8BC2-4703-9FB1-8744C94D525E}"
ProjectSection(ProjectDependencies) = postProject
{C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC}
EndProjectSection
Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/Ringtoets.ClosingStructures.Plugin.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/Ringtoets.ClosingStructures.Plugin.csproj (.../Ringtoets.ClosingStructures.Plugin.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/Ringtoets.ClosingStructures.Plugin.csproj (.../Ringtoets.ClosingStructures.Plugin.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -80,7 +80,7 @@
Ringtoets.Common.ServiceFalse
-
+ {888d4097-8bc2-4703-9fb1-8744c94d525e}Riskeer.HydraRing.CalculationFalse
Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Service/Ringtoets.ClosingStructures.Service.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Service/Ringtoets.ClosingStructures.Service.csproj (.../Ringtoets.ClosingStructures.Service.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Service/Ringtoets.ClosingStructures.Service.csproj (.../Ringtoets.ClosingStructures.Service.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -50,7 +50,7 @@
Ringtoets.Common.ServiceFalse
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.CalculationFalse
Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Integration.Test/Ringtoets.ClosingStructures.Integration.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Integration.Test/Ringtoets.ClosingStructures.Integration.Test.csproj (.../Ringtoets.ClosingStructures.Integration.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Integration.Test/Ringtoets.ClosingStructures.Integration.Test.csproj (.../Ringtoets.ClosingStructures.Integration.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -57,7 +57,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888d4097-8bc2-4703-9fb1-8744c94d525e}Riskeer.HydraRing.Calculation
Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/Ringtoets.ClosingStructures.Plugin.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/Ringtoets.ClosingStructures.Plugin.Test.csproj (.../Ringtoets.ClosingStructures.Plugin.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/Ringtoets.ClosingStructures.Plugin.Test.csproj (.../Ringtoets.ClosingStructures.Plugin.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -132,7 +132,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Service.Test/Ringtoets.ClosingStructures.Service.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Service.Test/Ringtoets.ClosingStructures.Service.Test.csproj (.../Ringtoets.ClosingStructures.Service.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Service.Test/Ringtoets.ClosingStructures.Service.Test.csproj (.../Ringtoets.ClosingStructures.Service.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -58,7 +58,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888d4097-8bc2-4703-9fb1-8744c94d525e}Riskeer.HydraRing.Calculation
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -426,7 +426,7 @@
Riskeer.AssemblyTool.FormsFalse
-
+ {888d4097-8bc2-4703-9fb1-8744c94d525e}Riskeer.HydraRing.CalculationFalse
Index: Ringtoets/Common/src/Ringtoets.Common.IO/Ringtoets.Common.IO.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/Common/src/Ringtoets.Common.IO/Ringtoets.Common.IO.csproj (.../Ringtoets.Common.IO.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/Common/src/Ringtoets.Common.IO/Ringtoets.Common.IO.csproj (.../Ringtoets.Common.IO.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -226,7 +226,7 @@
Core.Components.GisFalse
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.CalculationFalse
Index: Ringtoets/Common/src/Ringtoets.Common.Service/Ringtoets.Common.Service.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/Common/src/Ringtoets.Common.Service/Ringtoets.Common.Service.csproj (.../Ringtoets.Common.Service.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/Common/src/Ringtoets.Common.Service/Ringtoets.Common.Service.csproj (.../Ringtoets.Common.Service.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -74,7 +74,7 @@
Core.Common.UtilFalse
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.CalculationFalse
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -284,7 +284,7 @@
{0AB432BB-E2CC-42EA-A72C-7AFEF7536B38}Riskeer.AssemblyTool.KernelWrapper.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/Ringtoets.Common.IO.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/Common/test/Ringtoets.Common.IO.Test/Ringtoets.Common.IO.Test.csproj (.../Ringtoets.Common.IO.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/Ringtoets.Common.IO.Test.csproj (.../Ringtoets.Common.IO.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -159,7 +159,7 @@
{d749ee4c-ce50-4c17-bf01-9a953028c126}Core.Common.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/Ringtoets.Common.Service.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/Common/test/Ringtoets.Common.Service.Test/Ringtoets.Common.Service.Test.csproj (.../Ringtoets.Common.Service.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/Ringtoets.Common.Service.Test.csproj (.../Ringtoets.Common.Service.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -86,7 +86,7 @@
{D749EE4C-CE50-4C17-BF01-9A953028C126}Core.Common.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/Common/test/Ringtoets.Common.Service.TestUtil/Ringtoets.Common.Service.TestUtil.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/Common/test/Ringtoets.Common.Service.TestUtil/Ringtoets.Common.Service.TestUtil.csproj (.../Ringtoets.Common.Service.TestUtil.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/Common/test/Ringtoets.Common.Service.TestUtil/Ringtoets.Common.Service.TestUtil.csproj (.../Ringtoets.Common.Service.TestUtil.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -32,7 +32,7 @@
{3bbfd65b-b277-4e50-ae6d-bd24c3434609}Core.Common.Base
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/Ringtoets.DuneErosion.Service.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/Ringtoets.DuneErosion.Service.csproj (.../Ringtoets.DuneErosion.Service.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/Ringtoets.DuneErosion.Service.csproj (.../Ringtoets.DuneErosion.Service.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -54,7 +54,7 @@
Ringtoets.Common.ServiceFalse
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.CalculationFalse
Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/Ringtoets.DuneErosion.Forms.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/Ringtoets.DuneErosion.Forms.Test.csproj (.../Ringtoets.DuneErosion.Forms.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/Ringtoets.DuneErosion.Forms.Test.csproj (.../Ringtoets.DuneErosion.Forms.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -120,7 +120,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Plugin.Test/Ringtoets.DuneErosion.Plugin.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Plugin.Test/Ringtoets.DuneErosion.Plugin.Test.csproj (.../Ringtoets.DuneErosion.Plugin.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Plugin.Test/Ringtoets.DuneErosion.Plugin.Test.csproj (.../Ringtoets.DuneErosion.Plugin.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -118,7 +118,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/Ringtoets.DuneErosion.Service.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/Ringtoets.DuneErosion.Service.Test.csproj (.../Ringtoets.DuneErosion.Service.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/Ringtoets.DuneErosion.Service.Test.csproj (.../Ringtoets.DuneErosion.Service.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -61,7 +61,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888d4097-8bc2-4703-9fb1-8744c94d525e}Riskeer.HydraRing.Calculation
Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/Ringtoets.GrassCoverErosionInwards.Service.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/Ringtoets.GrassCoverErosionInwards.Service.csproj (.../Ringtoets.GrassCoverErosionInwards.Service.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/Ringtoets.GrassCoverErosionInwards.Service.csproj (.../Ringtoets.GrassCoverErosionInwards.Service.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -57,7 +57,7 @@
Ringtoets.Common.ServiceFalse
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.CalculationFalse
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Integration.Test/Ringtoets.GrassCoverErosionInwards.Integration.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Integration.Test/Ringtoets.GrassCoverErosionInwards.Integration.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Integration.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Integration.Test/Ringtoets.GrassCoverErosionInwards.Integration.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Integration.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -79,7 +79,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/Ringtoets.GrassCoverErosionInwards.Plugin.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/Ringtoets.GrassCoverErosionInwards.Plugin.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Plugin.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/Ringtoets.GrassCoverErosionInwards.Plugin.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Plugin.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -147,7 +147,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Service.Test/Ringtoets.GrassCoverErosionInwards.Service.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Service.Test/Ringtoets.GrassCoverErosionInwards.Service.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Service.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Service.Test/Ringtoets.GrassCoverErosionInwards.Service.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Service.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -59,7 +59,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888d4097-8bc2-4703-9fb1-8744c94d525e}Riskeer.HydraRing.Calculation
Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/Ringtoets.GrassCoverErosionOutwards.Service.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/Ringtoets.GrassCoverErosionOutwards.Service.csproj (.../Ringtoets.GrassCoverErosionOutwards.Service.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/Ringtoets.GrassCoverErosionOutwards.Service.csproj (.../Ringtoets.GrassCoverErosionOutwards.Service.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -38,7 +38,7 @@
Ringtoets.Common.ServiceFalse
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.CalculationFalse
Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Integration.Test/Ringtoets.GrassCoverErosionOutwards.Integration.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Integration.Test/Ringtoets.GrassCoverErosionOutwards.Integration.Test.csproj (.../Ringtoets.GrassCoverErosionOutwards.Integration.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Integration.Test/Ringtoets.GrassCoverErosionOutwards.Integration.Test.csproj (.../Ringtoets.GrassCoverErosionOutwards.Integration.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -53,7 +53,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888d4097-8bc2-4703-9fb1-8744c94d525e}Riskeer.HydraRing.Calculation
Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test.csproj (.../Ringtoets.GrassCoverErosionOutwards.Plugin.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test.csproj (.../Ringtoets.GrassCoverErosionOutwards.Plugin.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -151,7 +151,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/Ringtoets.GrassCoverErosionOutwards.Service.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/Ringtoets.GrassCoverErosionOutwards.Service.Test.csproj (.../Ringtoets.GrassCoverErosionOutwards.Service.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/Ringtoets.GrassCoverErosionOutwards.Service.Test.csproj (.../Ringtoets.GrassCoverErosionOutwards.Service.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -60,7 +60,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Plugin/Ringtoets.HeightStructures.Plugin.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Plugin/Ringtoets.HeightStructures.Plugin.csproj (.../Ringtoets.HeightStructures.Plugin.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Plugin/Ringtoets.HeightStructures.Plugin.csproj (.../Ringtoets.HeightStructures.Plugin.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -75,7 +75,7 @@
Ringtoets.Common.ServiceFalse
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.CalculationFalse
Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/Ringtoets.HeightStructures.Service.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/Ringtoets.HeightStructures.Service.csproj (.../Ringtoets.HeightStructures.Service.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/Ringtoets.HeightStructures.Service.csproj (.../Ringtoets.HeightStructures.Service.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -45,7 +45,7 @@
Ringtoets.Common.ServiceFalse
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.CalculationFalse
Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Integration.Test/Ringtoets.HeightStructures.Integration.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Integration.Test/Ringtoets.HeightStructures.Integration.Test.csproj (.../Ringtoets.HeightStructures.Integration.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Integration.Test/Ringtoets.HeightStructures.Integration.Test.csproj (.../Ringtoets.HeightStructures.Integration.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -69,7 +69,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888d4097-8bc2-4703-9fb1-8744c94d525e}Riskeer.HydraRing.Calculation
Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Plugin.Test/Ringtoets.HeightStructures.Plugin.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Plugin.Test/Ringtoets.HeightStructures.Plugin.Test.csproj (.../Ringtoets.HeightStructures.Plugin.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Plugin.Test/Ringtoets.HeightStructures.Plugin.Test.csproj (.../Ringtoets.HeightStructures.Plugin.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -131,7 +131,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Service.Test/Ringtoets.HeightStructures.Service.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Service.Test/Ringtoets.HeightStructures.Service.Test.csproj (.../Ringtoets.HeightStructures.Service.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Service.Test/Ringtoets.HeightStructures.Service.Test.csproj (.../Ringtoets.HeightStructures.Service.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -57,7 +57,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/DesignWaterLevelCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/DunesBoundaryConditionsCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/Factory/HydraRingCalculatorFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/Factory/IHydraRingCalculatorFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/HydraRingCalculatorBase.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/HydraulicLoadsCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/IDesignWaterLevelCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/IDunesBoundaryConditionsCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/IHydraulicLoadsCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/IOvertoppingCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/IStructuresCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/IWaveConditionsCosineCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/IWaveHeightCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/OvertoppingCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/StructuresCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/WaveConditionsCosineCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/WaveHeightCalculator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Defaults/FailureMechanismDefaults.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Defaults/VariableDefaults.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/HydraRingBreakWater.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/HydraRingDeviationType.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/HydraRingDistributionType.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/HydraRingFailureMechanismType.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/HydraRingForelandPoint.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/HydraRingProfilePoint.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/HydraRingSection.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/HydraRingUncertaintiesType.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/ExceedanceProbabilityCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/HydraRingCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/HydraRingCalculationSettings.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Hydraulics/AssessmentLevelCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Hydraulics/DikeHeightCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Hydraulics/DunesBoundaryConditionsCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Hydraulics/HydraulicLoadsCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Hydraulics/OvertoppingRateCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Hydraulics/WaveHeightCalculationInput .cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Overtopping/HydraRingRoughnessProfilePoint.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Overtopping/OvertoppingCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/ReliabilityIndexCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresClosureCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresClosureFloodedCulvertCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresClosureLowSillCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresClosureVerticalWallCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresOvertoppingCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointFloodedCulvertLinearCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointFloodedCulvertQuadraticCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointLowSillLinearCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointLowSillQuadraticCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsCosineCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsTrapezoidCalculationInput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/DunesBoundaryConditionsCalculationOutput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/IllustrationPoints/CombinationType.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/IllustrationPoints/FaultTreeIllustrationPoint.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/IllustrationPoints/GeneralResult.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/IllustrationPoints/IIllustrationPoint.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/IllustrationPoints/IllustrationPointResult.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/IllustrationPoints/IllustrationPointTreeNode.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/IllustrationPoints/Stochast.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/IllustrationPoints/SubMechanismIllustrationPoint.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/IllustrationPoints/SubMechanismIllustrationPointStochast.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/IllustrationPoints/WindDirection.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/IllustrationPoints/WindDirectionClosingSituation.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/OvertoppingCalculationWaveHeightOutput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/ReliabilityIndexCalculationOutput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/WaveConditionsCalculationOutput.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Settings/DesignTablesSetting.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Settings/NumericsSetting.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Settings/PreprocessorSetting.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Settings/TimeIntegrationSetting.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Variables/DeterministicHydraRingVariable.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Variables/HydraRingVariable.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Variables/LogNormalHydraRingVariable.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Variables/NormalHydraRingVariable.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Variables/RandomHydraRingVariable.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Variables/RayleighNHydraRingVariable.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Variables/TruncatedNormalHydraRingVariable.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Exceptions/HydraRingCalculationException.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Exceptions/HydraRingFileParserException.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/DelftTools.Utils.dll
===================================================================
diff -u -rfef3460a27a37aaa34948649aae3dd9ae143041c -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/DeltaShell.Plugins.MorphAn.Domain.dll
===================================================================
diff -u -rfef3460a27a37aaa34948649aae3dd9ae143041c -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/DeltaShell.Plugins.MorphAn.TRDA.dll
===================================================================
diff -u -rfef3460a27a37aaa34948649aae3dd9ae143041c -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/Deltares.Geographic.dll
===================================================================
diff -u -rbafcd3618c36c38f37d56f8da48056313185ef3f -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/Deltares.Geometry.dll
===================================================================
diff -u -rbafcd3618c36c38f37d56f8da48056313185ef3f -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/Deltares.Geotechnics.dll
===================================================================
diff -u -rbafcd3618c36c38f37d56f8da48056313185ef3f -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/Deltares.Mathematics.dll
===================================================================
diff -u -rbafcd3618c36c38f37d56f8da48056313185ef3f -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/Deltares.Probabilistic.dll
===================================================================
diff -u -rbafcd3618c36c38f37d56f8da48056313185ef3f -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/Deltares.Standard.dll
===================================================================
diff -u -rbafcd3618c36c38f37d56f8da48056313185ef3f -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/Deltares.WTIPiping.dll
===================================================================
diff -u -rbafcd3618c36c38f37d56f8da48056313185ef3f -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/Deltares.WTIStability.Calculation.Wrapper.dll
===================================================================
diff -u -rbafcd3618c36c38f37d56f8da48056313185ef3f -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/Deltares.WTIStability.Calculation.dll
===================================================================
diff -u -rbafcd3618c36c38f37d56f8da48056313185ef3f -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/Deltares.WTIStability.IO.dll
===================================================================
diff -u -rbafcd3618c36c38f37d56f8da48056313185ef3f -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/Deltares.WTIStability.Levenberg.dll
===================================================================
diff -u -rbafcd3618c36c38f37d56f8da48056313185ef3f -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/Deltares.WTIStability.dll
===================================================================
diff -u -rbafcd3618c36c38f37d56f8da48056313185ef3f -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/Deltares.WTIStructuralFailure.dll
===================================================================
diff -u -r2d9c36bb6eee0366b12e1eae53acd69f2867ca84 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/Deltares.WaternetCreator.dll
===================================================================
diff -u -rbafcd3618c36c38f37d56f8da48056313185ef3f -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/DikesOvertopping.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/DllLinearizedBetaAlpha.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/DynamicLib-DaF.dll
===================================================================
diff -u -r32e9b5ed73b6c798055ab4c87c4db703fb3d866e -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/HRutilitiesDll.dll
===================================================================
diff -u -r2d9c36bb6eee0366b12e1eae53acd69f2867ca84 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/HydraRing.Database.Test.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/HydraRing.Database.TestUtils.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/HydraRing.Database.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/HydraRing.DuneErosionWrapper.Tests.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/HydraRing.DuneErosionWrapper.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/HydraRing.IO.Native.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/HydraRing.IO.TestUtils.Native.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/HydraRing.MacroStability.Wrapper.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/HydraRing.Piping2017Wrapper.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/HydraRing.PluginShared.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/ICSharpCode.SharpZipLib.dll
===================================================================
diff -u -r5d2266c055328eb7f13376df384683af71e3fee3 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/LicenseAGPL.txt'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/LumenWorks.Framework.IO.dll
===================================================================
diff -u -rfef3460a27a37aaa34948649aae3dd9ae143041c -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/MathNet.Numerics.dll
===================================================================
diff -u -r13e66707fe793525ad730bcb6967863994cd3a69 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/MechanismComputation.exe
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/NDepend.Helpers.FileDirectoryPath.dll
===================================================================
diff -u -r13e66707fe793525ad730bcb6967863994cd3a69 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/PostSharp.dll
===================================================================
diff -u -r5d2266c055328eb7f13376df384683af71e3fee3 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/ProtoBufRemote.dll
===================================================================
diff -u -r13e66707fe793525ad730bcb6967863994cd3a69 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/StructuresStructuralFailure2017wrapper.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/System.Data.SQLite.Linq.dll
===================================================================
diff -u -r13e66707fe793525ad730bcb6967863994cd3a69 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/System.Data.SQLite.dll
===================================================================
diff -u -r13e66707fe793525ad730bcb6967863994cd3a69 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/config.sqlite
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/dikesOverflow.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/dllDikesOvertopping.dll
===================================================================
diff -u -re6400edf793dd7c72f88ee67a2647ee8375471e8 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/dllHydraulicDunes.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/dllStructuresClosure2017.dll
===================================================================
diff -u -rfef3460a27a37aaa34948649aae3dd9ae143041c -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/dllStructuresClosure2018.dll
===================================================================
diff -u -r2d9c36bb6eee0366b12e1eae53acd69f2867ca84 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/dllStructuresConstFailure2017.dll
===================================================================
diff -u -r2d9c36bb6eee0366b12e1eae53acd69f2867ca84 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/dllStructuresOvertopping2017.dll
===================================================================
diff -u -r2d9c36bb6eee0366b12e1eae53acd69f2867ca84 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/duneErosion.Native.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/exeRingComputation.exe
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/feedbackDLL.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/hydraring_computation.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/libifcoremd.dll
===================================================================
diff -u -rc2a3a81f0c071f5f68aaa4a2cdc42831c94f5b82 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/libifcorert.dll
===================================================================
diff -u -rc2a3a81f0c071f5f68aaa4a2cdc42831c94f5b82 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/libifportmd.dll
===================================================================
diff -u -rc2a3a81f0c071f5f68aaa4a2cdc42831c94f5b82 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/libiomp5md.dll
===================================================================
diff -u -rc2a3a81f0c071f5f68aaa4a2cdc42831c94f5b82 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/libiompstubs5md.dll
===================================================================
diff -u -rc2a3a81f0c071f5f68aaa4a2cdc42831c94f5b82 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/libmmd.dll
===================================================================
diff -u -rc2a3a81f0c071f5f68aaa4a2cdc42831c94f5b82 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/linearizedBetaAlpha.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/log4net.dll
===================================================================
diff -u -r13e66707fe793525ad730bcb6967863994cd3a69 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/macroStability.Native.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/mfc110.dll
===================================================================
diff -u -rc2a3a81f0c071f5f68aaa4a2cdc42831c94f5b82 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/mfc110u.dll
===================================================================
diff -u -rc2a3a81f0c071f5f68aaa4a2cdc42831c94f5b82 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/mfcm110.dll
===================================================================
diff -u -rc2a3a81f0c071f5f68aaa4a2cdc42831c94f5b82 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/mfcm110u.dll
===================================================================
diff -u -rc2a3a81f0c071f5f68aaa4a2cdc42831c94f5b82 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/msvcp110.dll
===================================================================
diff -u -rc2a3a81f0c071f5f68aaa4a2cdc42831c94f5b82 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/msvcr110.dll
===================================================================
diff -u -rc2a3a81f0c071f5f68aaa4a2cdc42831c94f5b82 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/msvcrt.dll
===================================================================
diff -u -rc2a3a81f0c071f5f68aaa4a2cdc42831c94f5b82 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/nunit.framework.dll
===================================================================
diff -u -rc2a3a81f0c071f5f68aaa4a2cdc42831c94f5b82 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/piping2017.Native.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/protobuf-net.dll
===================================================================
diff -u -rfef3460a27a37aaa34948649aae3dd9ae143041c -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/structuresClosure2017.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/structuresClosure2018.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/structuresOvertopping2017.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/structuresStructuralFailure2017.Native.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/svml_dispmd.dll
===================================================================
diff -u -rc2a3a81f0c071f5f68aaa4a2cdc42831c94f5b82 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/winapi.dll
===================================================================
diff -u -r820e32dad4adde6685f77fa26cc28e5be343906d -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/x64/SQLite.Interop.dll
===================================================================
diff -u -r13e66707fe793525ad730bcb6967863994cd3a69 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRing/x86/SQLite.Interop.dll
===================================================================
diff -u -r13e66707fe793525ad730bcb6967863994cd3a69 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
Binary files differ
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRingDatabaseConstants.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/HydraRingFileConstants.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/ConvergenceParser.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/DunesBoundaryConditionsCalculationParser.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/ExceedanceProbabilityCalculationParser.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/HydraRingDatabaseParseHelper.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/IHydraRingFileParser.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/IllustrationPoints/IllustrationPointQueries.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/IllustrationPoints/IllustrationPointsDatabaseConstants.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/IllustrationPoints/IllustrationPointsParser.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/LastErrorFileParser.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/OvertoppingCalculationWaveHeightParser.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/ReliabilityIndexCalculationParser.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/WaveConditionsCalculationParser.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Properties/AssemblyInfo.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Properties/Resources.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Properties/Resources.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/FailureMechanismDefaultsProvider.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/VariableDefaultsProvider.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Readers/HydraRingDatabaseReader.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Riskeer.HydraRing.Calculation.csproj'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingConfigurationService.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingInitializationService.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingProcessFactory.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 0bf87533c711b9fecb268139636ad9a19e36ebdd refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/packages.config'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/DesignWaterLevelCalculator.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/DesignWaterLevelCalculator.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/DesignWaterLevelCalculator.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,86 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using Riskeer.HydraRing.Calculation.Data;
+using Riskeer.HydraRing.Calculation.Data.Input;
+using Riskeer.HydraRing.Calculation.Data.Input.Hydraulics;
+using Riskeer.HydraRing.Calculation.Parsers;
+
+namespace Riskeer.HydraRing.Calculation.Calculator
+{
+ ///
+ /// Calculator which calculates the water level associated to the result of iterating towards a
+ /// probability of failure given a norm.
+ ///
+ internal class DesignWaterLevelCalculator : HydraRingCalculatorBase, IDesignWaterLevelCalculator
+ {
+ private readonly ReliabilityIndexCalculationParser targetProbabilityParser;
+ private readonly ConvergenceParser convergenceParser;
+
+ ///
+ /// Create a new instance of .
+ ///
+ /// The with the
+ /// Hydra-Ring calculation settings.
+ /// Thrown when
+ /// is null.
+ /// Preprocessing is disabled when
+ /// equals .
+ internal DesignWaterLevelCalculator(HydraRingCalculationSettings calculationSettings) : base(calculationSettings)
+ {
+ targetProbabilityParser = new ReliabilityIndexCalculationParser();
+ convergenceParser = new ConvergenceParser();
+
+ DesignWaterLevel = double.NaN;
+ ReliabilityIndex = double.NaN;
+ }
+
+ public double DesignWaterLevel { get; private set; }
+
+ public double ReliabilityIndex { get; private set; }
+
+ public bool? Converged { get; private set; }
+
+ public void Calculate(AssessmentLevelCalculationInput input)
+ {
+ Calculate(HydraRingUncertaintiesType.All, input);
+ }
+
+ protected override IEnumerable GetParsers()
+ {
+ yield return targetProbabilityParser;
+ yield return convergenceParser;
+ }
+
+ protected override void SetOutputs()
+ {
+ if (targetProbabilityParser.Output != null)
+ {
+ DesignWaterLevel = targetProbabilityParser.Output.Result;
+ ReliabilityIndex = targetProbabilityParser.Output.CalculatedReliabilityIndex;
+ }
+
+ Converged = convergenceParser.Output;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/DunesBoundaryConditionsCalculator.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/DunesBoundaryConditionsCalculator.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/DunesBoundaryConditionsCalculator.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,101 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using Riskeer.HydraRing.Calculation.Data;
+using Riskeer.HydraRing.Calculation.Data.Input;
+using Riskeer.HydraRing.Calculation.Data.Input.Hydraulics;
+using Riskeer.HydraRing.Calculation.Parsers;
+
+namespace Riskeer.HydraRing.Calculation.Calculator
+{
+ ///
+ /// Calculator which calculates the dunes boundary conditions associated to the result of iterating towards a
+ /// probability of failure given a norm.
+ ///
+ internal class DunesBoundaryConditionsCalculator : HydraRingCalculatorBase, IDunesBoundaryConditionsCalculator
+ {
+ private readonly DunesBoundaryConditionsCalculationParser dunesBoundaryParser;
+ private readonly ReliabilityIndexCalculationParser targetProbabilityParser;
+ private readonly ConvergenceParser convergenceParser;
+
+ ///
+ /// Create a new instance of .
+ ///
+ /// The with the
+ /// Hydra-Ring calculation settings.
+ /// Thrown when
+ /// is null.
+ /// Preprocessing is disabled when
+ /// equals .
+ internal DunesBoundaryConditionsCalculator(HydraRingCalculationSettings calculationSettings) : base(calculationSettings)
+ {
+ dunesBoundaryParser = new DunesBoundaryConditionsCalculationParser();
+ targetProbabilityParser = new ReliabilityIndexCalculationParser();
+ convergenceParser = new ConvergenceParser();
+
+ WaterLevel = double.NaN;
+ WaveHeight = double.NaN;
+ WavePeriod = double.NaN;
+ ReliabilityIndex = double.NaN;
+ }
+
+ public double WaterLevel { get; private set; }
+
+ public double WaveHeight { get; private set; }
+
+ public double WavePeriod { get; private set; }
+
+ public double ReliabilityIndex { get; private set; }
+
+ public bool? Converged { get; private set; }
+
+ public void Calculate(DunesBoundaryConditionsCalculationInput input)
+ {
+ Calculate(HydraRingUncertaintiesType.All, input);
+ }
+
+ protected override IEnumerable GetParsers()
+ {
+ yield return dunesBoundaryParser;
+ yield return targetProbabilityParser;
+ yield return convergenceParser;
+ }
+
+ protected override void SetOutputs()
+ {
+ if (dunesBoundaryParser.Output != null)
+ {
+ WaterLevel = dunesBoundaryParser.Output.WaterLevel;
+ WaveHeight = dunesBoundaryParser.Output.WaveHeight;
+ WavePeriod = dunesBoundaryParser.Output.WavePeriod;
+ }
+
+ if (targetProbabilityParser.Output != null)
+ {
+ ReliabilityIndex = targetProbabilityParser.Output.CalculatedReliabilityIndex;
+ }
+
+ Converged = convergenceParser.Output;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/Factory/HydraRingCalculatorFactory.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/Factory/HydraRingCalculatorFactory.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/Factory/HydraRingCalculatorFactory.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,90 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Input;
+
+namespace Riskeer.HydraRing.Calculation.Calculator.Factory
+{
+ ///
+ /// The factory for creating instances.
+ ///
+ public class HydraRingCalculatorFactory : IHydraRingCalculatorFactory
+ {
+ private static IHydraRingCalculatorFactory instance;
+
+ ///
+ /// Sets the current , which is used to create
+ /// instances.
+ ///
+ public static IHydraRingCalculatorFactory Instance
+ {
+ get
+ {
+ return instance ?? (instance = new HydraRingCalculatorFactory());
+ }
+ internal set
+ {
+ instance = value;
+ }
+ }
+
+ public IDesignWaterLevelCalculator CreateDesignWaterLevelCalculator(HydraRingCalculationSettings calculationSettings)
+ {
+ return new DesignWaterLevelCalculator(calculationSettings);
+ }
+
+ public IOvertoppingCalculator CreateOvertoppingCalculator(HydraRingCalculationSettings calculationSettings)
+ {
+ return new OvertoppingCalculator(calculationSettings);
+ }
+
+ public IHydraulicLoadsCalculator CreateDikeHeightCalculator(HydraRingCalculationSettings calculationSettings)
+ {
+ return new HydraulicLoadsCalculator(calculationSettings);
+ }
+
+ public IHydraulicLoadsCalculator CreateOvertoppingRateCalculator(HydraRingCalculationSettings calculationSettings)
+ {
+ return new HydraulicLoadsCalculator(calculationSettings);
+ }
+
+ public IWaveConditionsCosineCalculator CreateWaveConditionsCosineCalculator(HydraRingCalculationSettings calculationSettings)
+ {
+ return new WaveConditionsCosineCalculator(calculationSettings);
+ }
+
+ public IWaveHeightCalculator CreateWaveHeightCalculator(HydraRingCalculationSettings calculationSettings)
+ {
+ return new WaveHeightCalculator(calculationSettings);
+ }
+
+ public IDunesBoundaryConditionsCalculator CreateDunesBoundaryConditionsCalculator(HydraRingCalculationSettings calculationSettings)
+ {
+ return new DunesBoundaryConditionsCalculator(calculationSettings);
+ }
+
+ public IStructuresCalculator CreateStructuresCalculator(HydraRingCalculationSettings calculationSettings)
+ where TCalculationInput : ExceedanceProbabilityCalculationInput
+ {
+ return new StructuresCalculator(calculationSettings);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/Factory/IHydraRingCalculatorFactory.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/Factory/IHydraRingCalculatorFactory.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/Factory/IHydraRingCalculatorFactory.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,131 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using Riskeer.HydraRing.Calculation.Data.Input;
+
+namespace Riskeer.HydraRing.Calculation.Calculator.Factory
+{
+ ///
+ /// Interface for a factory which creates calculators that are used to perform a calculation using
+ /// Hydra-Ring.
+ ///
+ public interface IHydraRingCalculatorFactory
+ {
+ ///
+ /// Creates a calculator for calculating a design water level.
+ ///
+ /// The with the
+ /// Hydra-Ring calculation settings.
+ /// A new .>
+ /// Thrown when
+ /// is null.
+ /// Preprocessing is disabled when
+ /// equals .
+ IDesignWaterLevelCalculator CreateDesignWaterLevelCalculator(HydraRingCalculationSettings calculationSettings);
+
+ ///
+ /// Creates a calculator for performing an overtopping calculation.
+ ///
+ /// The with the
+ /// Hydra-Ring calculation settings.
+ /// A new .>
+ /// Thrown when
+ /// is null.
+ /// Preprocessing is disabled when
+ /// equals .
+ IOvertoppingCalculator CreateOvertoppingCalculator(HydraRingCalculationSettings calculationSettings);
+
+ ///
+ /// Creates a calculator for calculating a dike height.
+ ///
+ /// The with the
+ /// Hydra-Ring calculation settings.
+ /// A new .>
+ /// Thrown when
+ /// is null.
+ /// Preprocessing is disabled when
+ /// equals .
+ IHydraulicLoadsCalculator CreateDikeHeightCalculator(HydraRingCalculationSettings calculationSettings);
+
+ ///
+ /// Creates a calculator for calculating an overtopping rate.
+ ///
+ /// The with the
+ /// Hydra-Ring calculation settings.
+ /// A new .>
+ /// Thrown when
+ /// is null.
+ /// Preprocessing is disabled when
+ /// equals .
+ IHydraulicLoadsCalculator CreateOvertoppingRateCalculator(HydraRingCalculationSettings calculationSettings);
+
+ ///
+ /// Creates a calculator for calculating wave conditions.
+ ///
+ /// The with the
+ /// Hydra-Ring calculation settings.
+ /// A new .>
+ /// Thrown when
+ /// is null.
+ /// Preprocessing is disabled when
+ /// equals .
+ IWaveConditionsCosineCalculator CreateWaveConditionsCosineCalculator(HydraRingCalculationSettings calculationSettings);
+
+ ///
+ /// Creates a calculator for calculating a wave height.
+ ///
+ /// The with the
+ /// Hydra-Ring calculation settings.
+ /// A new .>
+ /// Thrown when
+ /// is null.
+ /// Preprocessing is disabled when
+ /// equals .
+ IWaveHeightCalculator CreateWaveHeightCalculator(HydraRingCalculationSettings calculationSettings);
+
+ ///
+ /// Creates a calculator for performing a calculation for dunes boundary conditions.
+ ///
+ /// The with the
+ /// Hydra-Ring calculation settings.
+ /// A new .>
+ /// Thrown when
+ /// is null.
+ /// Preprocessing is disabled when
+ /// equals .
+ IDunesBoundaryConditionsCalculator CreateDunesBoundaryConditionsCalculator(HydraRingCalculationSettings calculationSettings);
+
+ ///
+ /// Creates a calculator for performing a calculation for structures.
+ ///
+ /// The type of the input.
+ /// The with the
+ /// Hydra-Ring calculation settings.
+ /// A new .>
+ /// Thrown when
+ /// is null.
+ /// Preprocessing is disabled when
+ /// equals .
+ IStructuresCalculator CreateStructuresCalculator(HydraRingCalculationSettings calculationSettings)
+ where TCalculationInput : ExceedanceProbabilityCalculationInput;
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/HydraRingCalculatorBase.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/HydraRingCalculatorBase.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/HydraRingCalculatorBase.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,257 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Diagnostics;
+using System.IO;
+using System.Security;
+using Riskeer.HydraRing.Calculation.Data;
+using Riskeer.HydraRing.Calculation.Data.Input;
+using Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints;
+using Riskeer.HydraRing.Calculation.Exceptions;
+using Riskeer.HydraRing.Calculation.Parsers;
+using Riskeer.HydraRing.Calculation.Parsers.IllustrationPoints;
+using Riskeer.HydraRing.Calculation.Properties;
+using Riskeer.HydraRing.Calculation.Services;
+
+namespace Riskeer.HydraRing.Calculation.Calculator
+{
+ ///
+ /// Base implementation for a calculator which uses Hydra-Ring to perform different calculations.
+ ///
+ internal abstract class HydraRingCalculatorBase
+ {
+ private readonly HydraRingCalculationSettings calculationSettings;
+ private readonly LastErrorFileParser lastErrorFileParser;
+ private readonly IllustrationPointsParser illustrationPointsParser;
+
+ private Process hydraRingProcess;
+
+ ///
+ /// Creates a new instance of with a default Hydra-Ring file parser
+ /// initialized.
+ ///
+ /// The with the
+ /// Hydra-Ring calculation settings.
+ /// Thrown when is null.
+ /// Preprocessing is disabled when
+ /// equals .
+ protected HydraRingCalculatorBase(HydraRingCalculationSettings calculationSettings)
+ {
+ if (calculationSettings == null)
+ {
+ throw new ArgumentNullException(nameof(calculationSettings));
+ }
+
+ this.calculationSettings = calculationSettings;
+
+ lastErrorFileParser = new LastErrorFileParser();
+ illustrationPointsParser = new IllustrationPointsParser();
+ }
+
+ ///
+ /// Gets the temporary output directory that is generated during the calculation.
+ ///
+ public string OutputDirectory { get; private set; }
+
+ ///
+ /// Gets the content of the last error file generated during the Hydra-Ring calculation.
+ ///
+ public string LastErrorFileContent { get; private set; }
+
+ ///
+ /// Gets the result of the illustration points.
+ ///
+ public GeneralResult IllustrationPointsResult { get; private set; }
+
+ ///
+ /// Gets the error message of the illustration points parser.
+ ///
+ public string IllustrationPointsParserErrorMessage { get; private set; }
+
+ ///
+ /// Cancels any currently running Hydra-Ring calculation.
+ ///
+ public void Cancel()
+ {
+ if (hydraRingProcess != null && !hydraRingProcess.HasExited)
+ {
+ hydraRingProcess.StandardInput.WriteLine("b");
+ }
+ }
+
+ ///
+ /// Gets the parsers that are executed on the output file(s) of Hydra-Ring.
+ ///
+ /// The parsers to execute.
+ protected virtual IEnumerable GetParsers()
+ {
+ yield break;
+ }
+
+ ///
+ /// Sets the values on the output parameters of the calculation.
+ ///
+ protected abstract void SetOutputs();
+
+ ///
+ /// Performs the actual calculation by running the Hydra-Ring executable.
+ ///
+ /// The uncertainty type used in the calculation.
+ /// The object containing input data.
+ /// Thrown when an error occurs while performing the calculation.
+ /// Thrown when preprocessor directory is required but not specified.
+ protected void Calculate(HydraRingUncertaintiesType uncertaintiesType,
+ HydraRingCalculationInput hydraRingCalculationInput)
+ {
+ try
+ {
+ if (string.IsNullOrEmpty(calculationSettings.PreprocessorDirectory) && hydraRingCalculationInput.PreprocessorSetting.RunPreprocessor)
+ {
+ throw new InvalidOperationException("Preprocessor directory required but not specified.");
+ }
+
+ int sectionId = hydraRingCalculationInput.Section.SectionId;
+ OutputDirectory = CreateWorkingDirectory();
+
+ var hydraRingConfigurationService = new HydraRingConfigurationService(uncertaintiesType);
+ hydraRingConfigurationService.AddHydraRingCalculationInput(hydraRingCalculationInput);
+
+ var hydraRingInitializationService = new HydraRingInitializationService(
+ hydraRingCalculationInput.FailureMechanismType,
+ sectionId,
+ OutputDirectory,
+ calculationSettings);
+ hydraRingInitializationService.WriteInitializationScript();
+ hydraRingConfigurationService.WriteDatabaseCreationScript(hydraRingInitializationService.DatabaseCreationScriptFilePath);
+
+ PerformCalculation(OutputDirectory, hydraRingInitializationService);
+ ExecuteGenericParsers(hydraRingInitializationService, sectionId);
+ ExecuteCustomParsers(hydraRingInitializationService.TemporaryWorkingDirectory, sectionId);
+ }
+ catch (HydraRingFileParserException e)
+ {
+ throw new HydraRingCalculationException(e.Message, e.InnerException);
+ }
+ catch (Exception e) when (IsSupportedCalculatedException(e))
+ {
+ throw new HydraRingCalculationException(string.Format(Resources.HydraRingCalculatorBase_Calculate_Critical_error_during_calculation_Exception_0,
+ e.Message),
+ e.InnerException);
+ }
+ }
+
+ private static bool IsSupportedCalculatedException(Exception e)
+ {
+ return e is SecurityException
+ || e is IOException
+ || e is UnauthorizedAccessException
+ || e is ArgumentException
+ || e is NotSupportedException
+ || e is Win32Exception;
+ }
+
+ ///
+ /// Executes the generic parsers of the calculation.
+ ///
+ /// The to get the directory from.
+ /// The id of the section of the calculation.
+ /// Thrown when the HydraRing file parser
+ /// encounters an error while parsing HydraRing output.
+ /// The is set to null when the
+ /// encounters an error.
+ private void ExecuteGenericParsers(HydraRingInitializationService hydraRingInitializationService, int sectionId)
+ {
+ lastErrorFileParser.Parse(hydraRingInitializationService.TemporaryWorkingDirectory, sectionId);
+ LastErrorFileContent = lastErrorFileParser.ErrorFileContent;
+
+ try
+ {
+ illustrationPointsParser.Parse(hydraRingInitializationService.TemporaryWorkingDirectory, sectionId);
+ IllustrationPointsResult = illustrationPointsParser.Output;
+ }
+ catch (HydraRingFileParserException e)
+ {
+ IllustrationPointsParserErrorMessage = e.Message;
+ IllustrationPointsResult = null;
+ }
+ }
+
+ ///
+ /// Executes the custom parsers of the calculation.
+ ///
+ /// The temporary directory of the calculation output files.
+ /// The id of the section of the calculation.
+ /// Thrown when the HydraRing file parser
+ /// encounters an error while parsing HydraRing output.
+ private void ExecuteCustomParsers(string temporaryWorkingDirectory, int sectionId)
+ {
+ foreach (IHydraRingFileParser parser in GetParsers())
+ {
+ parser.Parse(temporaryWorkingDirectory, sectionId);
+ }
+
+ SetOutputs();
+ }
+
+ ///
+ /// Performs the calculation by starting a Hydra-Ring process.
+ ///
+ /// The directory of the process.
+ /// The .
+ /// Thrown when there was an error in opening the associated file
+ /// or the wait setting could not be accessed.
+ private void PerformCalculation(string workingDirectory, HydraRingInitializationService hydraRingInitializationService)
+ {
+ hydraRingProcess = HydraRingProcessFactory.Create(
+ hydraRingInitializationService.MechanismComputationExeFilePath,
+ hydraRingInitializationService.IniFilePath,
+ workingDirectory);
+ hydraRingProcess.Start();
+ hydraRingProcess.WaitForExit();
+ hydraRingProcess.Close();
+ hydraRingProcess = null;
+ }
+
+ ///
+ /// Creates the working directory of the calculation.
+ ///
+ /// The created working directory.
+ /// Thrown when the temporary path can't be accessed due to missing permissions.
+ /// Thrown when the directory can't be created due to missing
+ /// the required permissions.
+ private static string CreateWorkingDirectory()
+ {
+ string workingDirectory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
+
+ if (Directory.Exists(workingDirectory))
+ {
+ Directory.Delete(workingDirectory, true);
+ }
+
+ Directory.CreateDirectory(workingDirectory);
+
+ return workingDirectory;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/HydraulicLoadsCalculator.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/HydraulicLoadsCalculator.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/HydraulicLoadsCalculator.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,86 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using Riskeer.HydraRing.Calculation.Data;
+using Riskeer.HydraRing.Calculation.Data.Input;
+using Riskeer.HydraRing.Calculation.Data.Input.Hydraulics;
+using Riskeer.HydraRing.Calculation.Parsers;
+
+namespace Riskeer.HydraRing.Calculation.Calculator
+{
+ ///
+ /// Calculator which calculates a hydraulic loads value associated to the result of iterating towards a
+ /// probability of failure given a norm.
+ ///
+ internal class HydraulicLoadsCalculator : HydraRingCalculatorBase, IHydraulicLoadsCalculator
+ {
+ private readonly ReliabilityIndexCalculationParser targetProbabilityParser;
+ private readonly ConvergenceParser convergenceParser;
+
+ ///
+ /// Create a new instance of .
+ ///
+ /// The with the
+ /// Hydra-Ring calculation settings.
+ /// Thrown when
+ /// is null.
+ /// Preprocessing is disabled when
+ /// equals .
+ internal HydraulicLoadsCalculator(HydraRingCalculationSettings calculationSettings) : base(calculationSettings)
+ {
+ targetProbabilityParser = new ReliabilityIndexCalculationParser();
+ convergenceParser = new ConvergenceParser();
+
+ Value = double.NaN;
+ ReliabilityIndex = double.NaN;
+ }
+
+ public double Value { get; private set; }
+
+ public double ReliabilityIndex { get; private set; }
+
+ public bool? Converged { get; private set; }
+
+ public void Calculate(HydraulicLoadsCalculationInput input)
+ {
+ Calculate(HydraRingUncertaintiesType.All, input);
+ }
+
+ protected override IEnumerable GetParsers()
+ {
+ yield return targetProbabilityParser;
+ yield return convergenceParser;
+ }
+
+ protected override void SetOutputs()
+ {
+ if (targetProbabilityParser.Output != null)
+ {
+ Value = targetProbabilityParser.Output.Result;
+ ReliabilityIndex = targetProbabilityParser.Output.CalculatedReliabilityIndex;
+ }
+
+ Converged = convergenceParser.Output;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IDesignWaterLevelCalculator.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IDesignWaterLevelCalculator.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IDesignWaterLevelCalculator.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,84 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using Riskeer.HydraRing.Calculation.Data.Input.Hydraulics;
+using Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints;
+using Riskeer.HydraRing.Calculation.Exceptions;
+
+namespace Riskeer.HydraRing.Calculation.Calculator
+{
+ ///
+ /// Interface for a calculator which calculates the water level associated to the result of
+ /// iterating towards a probability of failure given a norm.
+ ///
+ public interface IDesignWaterLevelCalculator
+ {
+ ///
+ /// Gets the water level at a location.
+ ///
+ double DesignWaterLevel { get; }
+
+ ///
+ /// Gets the reliability index
+ ///
+ double ReliabilityIndex { get; }
+
+ ///
+ /// Gets the result of parsing the illustration points in the Hydra-Ring database.
+ ///
+ GeneralResult IllustrationPointsResult { get; }
+
+ ///
+ /// Gets the value indicating whether the calculation converged.
+ ///
+ bool? Converged { get; }
+
+ ///
+ /// Gets the temporary output directory that is generated during the Hydra-Ring calculation.
+ ///
+ string OutputDirectory { get; }
+
+ ///
+ /// Gets the content of the last error file generated during the Hydra-Ring calculation.
+ ///
+ string LastErrorFileContent { get; }
+
+ ///
+ /// Gets the error message when parsing the illustration points.
+ ///
+ string IllustrationPointsParserErrorMessage { get; }
+
+ ///
+ /// Performs the actual calculation by running the Hydra-Ring executable.
+ ///
+ /// The which contains all the necessary input
+ /// for the calculation.
+ /// Thrown when an error occurs while performing the calculation.
+ /// Thrown when preprocessor directory is required but not specified.
+ void Calculate(AssessmentLevelCalculationInput input);
+
+ ///
+ /// Cancels any currently running Hydra-Ring calculation.
+ ///
+ void Cancel();
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IDunesBoundaryConditionsCalculator.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IDunesBoundaryConditionsCalculator.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IDunesBoundaryConditionsCalculator.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,83 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using Riskeer.HydraRing.Calculation.Data.Input.Hydraulics;
+using Riskeer.HydraRing.Calculation.Exceptions;
+
+namespace Riskeer.HydraRing.Calculation.Calculator
+{
+ ///
+ /// Interface for a calculator which calculates the dunes boundary conditions associated to the result of iterating towards a
+ /// probability of failure given a norm.
+ ///
+ public interface IDunesBoundaryConditionsCalculator
+ {
+ ///
+ /// Gets the water level at a location.
+ ///
+ double WaterLevel { get; }
+
+ ///
+ /// Gets the wave height at a location.
+ ///
+ double WaveHeight { get; }
+
+ ///
+ /// Gets the wave period at a location.
+ ///
+ double WavePeriod { get; }
+
+ ///
+ /// Gets the reliability index
+ ///
+ double ReliabilityIndex { get; }
+
+ ///
+ /// Gets the value indicating whether the calculation converged.
+ ///
+ bool? Converged { get; }
+
+ ///
+ /// Gets the temporary output directory that is generated during the Hydra-Ring calculation.
+ ///
+ string OutputDirectory { get; }
+
+ ///
+ /// Gets the content of the last error file generated during the Hydra-Ring calculation.
+ ///
+ string LastErrorFileContent { get; }
+
+ ///
+ /// Performs the actual calculation by running the Hydra-Ring executable.
+ ///
+ /// The which contains all the necessary input
+ /// for the calculation.
+ /// Thrown when an error occurs while performing the calculation.
+ /// Thrown when preprocessor directory is required but not specified.
+ void Calculate(DunesBoundaryConditionsCalculationInput input);
+
+ ///
+ /// Cancels any currently running Hydra-Ring calculation.
+ ///
+ void Cancel();
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IHydraulicLoadsCalculator.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IHydraulicLoadsCalculator.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IHydraulicLoadsCalculator.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,84 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using Riskeer.HydraRing.Calculation.Data.Input.Hydraulics;
+using Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints;
+using Riskeer.HydraRing.Calculation.Exceptions;
+
+namespace Riskeer.HydraRing.Calculation.Calculator
+{
+ ///
+ /// Interface for a calculator which calculates a hydraulic loads value associated to the result of iterating towards a
+ /// probability of failure given a norm.
+ ///
+ public interface IHydraulicLoadsCalculator
+ {
+ ///
+ /// Gets the calculated hydraulic loads value.
+ ///
+ double Value { get; }
+
+ ///
+ /// Gets the reliability index.
+ ///
+ double ReliabilityIndex { get; }
+
+ ///
+ /// Gets the value indicating whether the calculation converged.
+ ///
+ bool? Converged { get; }
+
+ ///
+ /// Gets the temporary output directory that is generated during the Hydra-Ring calculation.
+ ///
+ string OutputDirectory { get; }
+
+ ///
+ /// Gets the content of the last error file generated during the Hydra-Ring calculation.
+ ///
+ string LastErrorFileContent { get; }
+
+ ///
+ /// Gets the result of parsing the illustration points in the Hydra-Ring database.
+ ///
+ GeneralResult IllustrationPointsResult { get; }
+
+ ///
+ /// Gets the error message when parsing the illustration points.
+ ///
+ string IllustrationPointsParserErrorMessage { get; }
+
+ ///
+ /// Performs the actual calculation by running the Hydra-Ring executable.
+ ///
+ /// The which contains all the necessary input
+ /// for the calculation.
+ /// Thrown when an error occurs while performing the calculation.
+ /// Thrown when preprocessor directory is required but not specified.
+ void Calculate(HydraulicLoadsCalculationInput input);
+
+ ///
+ /// Cancels any currently running Hydra-Ring calculation.
+ ///
+ void Cancel();
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IOvertoppingCalculator.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IOvertoppingCalculator.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IOvertoppingCalculator.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,84 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using Riskeer.HydraRing.Calculation.Data.Input.Overtopping;
+using Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints;
+using Riskeer.HydraRing.Calculation.Exceptions;
+
+namespace Riskeer.HydraRing.Calculation.Calculator
+{
+ ///
+ /// Interface for a calculator which calculates probability of failure by overtopping or overflow
+ /// and the associated wave height.
+ ///
+ public interface IOvertoppingCalculator
+ {
+ ///
+ /// Gets the probability of failure.
+ ///
+ double ExceedanceProbabilityBeta { get; }
+
+ ///
+ /// Gets an indication of the height of the wave.
+ ///
+ double WaveHeight { get; }
+
+ ///
+ /// Gets a value representing whether overtopping is dominant over overflow.
+ ///
+ bool IsOvertoppingDominant { get; }
+
+ ///
+ /// Gets the temporary output directory that is generated during the Hydra-Ring calculation.
+ ///
+ string OutputDirectory { get; }
+
+ ///
+ /// Gets the content of the last error file generated during the Hydra-Ring calculation.
+ ///
+ string LastErrorFileContent { get; }
+
+ ///
+ /// Gets the result of parsing the illustration points in the Hydra-Ring database.
+ ///
+ GeneralResult IllustrationPointsResult { get; }
+
+ ///
+ /// Gets the error message when parsing the illustration points.
+ ///
+ string IllustrationPointsParserErrorMessage { get; }
+
+ ///
+ /// Performs the actual calculation by running the Hydra-Ring executable.
+ ///
+ /// The which contains all the necessary input
+ /// for the calculation.
+ /// Thrown when an error occurs while performing the calculation.
+ /// Thrown when preprocessor directory is required but not specified.
+ void Calculate(OvertoppingCalculationInput input);
+
+ ///
+ /// Cancels any currently running Hydra-Ring calculation.
+ ///
+ void Cancel();
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IStructuresCalculator.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IStructuresCalculator.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IStructuresCalculator.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,75 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using Riskeer.HydraRing.Calculation.Data.Input;
+using Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints;
+using Riskeer.HydraRing.Calculation.Exceptions;
+
+namespace Riskeer.HydraRing.Calculation.Calculator
+{
+ ///
+ /// Interface for a calculator calculating probability of failure by a structure.
+ /// This is used in a structures assessment.
+ ///
+ /// The type of the input.
+ public interface IStructuresCalculator where TInput : ExceedanceProbabilityCalculationInput
+ {
+ ///
+ /// Gets the probability of failure.
+ ///
+ double ExceedanceProbabilityBeta { get; }
+
+ ///
+ /// Gets the temporary output directory that is generated during the Hydra-Ring calculation.
+ ///
+ string OutputDirectory { get; }
+
+ ///
+ /// Gets the content of the last error file generated during the Hydra-Ring calculation.
+ ///
+ string LastErrorFileContent { get; }
+
+ ///
+ /// Gets the result of parsing the illustration points in the Hydra-Ring database.
+ ///
+ GeneralResult IllustrationPointsResult { get; }
+
+ ///
+ /// Gets the error message when parsing the illustration points.
+ ///
+ string IllustrationPointsParserErrorMessage { get; }
+
+ ///
+ /// Performs the actual calculation by running the Hydra-Ring executable.
+ ///
+ /// The which contains all the necessary input
+ /// for the calculation.
+ /// Thrown when an error occurs while performing the calculation.
+ /// Thrown when preprocessor directory is required but not specified.
+ void Calculate(TInput input);
+
+ ///
+ /// Cancels any currently running Hydra-Ring calculation.
+ ///
+ void Cancel();
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IWaveConditionsCosineCalculator.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IWaveConditionsCosineCalculator.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IWaveConditionsCosineCalculator.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,93 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using Riskeer.HydraRing.Calculation.Data.Input.WaveConditions;
+using Riskeer.HydraRing.Calculation.Exceptions;
+
+namespace Riskeer.HydraRing.Calculation.Calculator
+{
+ ///
+ /// Interface for a calculator which calculates values for a wave at a water level.
+ /// These are used in different failure mechanisms as input.
+ ///
+ public interface IWaveConditionsCosineCalculator
+ {
+ ///
+ /// Gets the height of the wave.
+ /// [m]
+ ///
+ double WaveHeight { get; }
+
+ ///
+ /// Gets the angle of the wave with respect to the dike normal.
+ /// [deg]
+ ///
+ double WaveAngle { get; }
+
+ ///
+ /// Gets the direction of the wave with respect to the North.
+ /// [deg]
+ ///
+ double WaveDirection { get; }
+
+ ///
+ /// Gets the peak period of the wave.
+ /// [s]
+ ///
+ double WavePeakPeriod { get; }
+
+ ///
+ /// Gets the calculated reliability index.
+ /// [-]
+ ///
+ double ReliabilityIndex { get; }
+
+ ///
+ /// Gets the value indicating whether the calculation converged.
+ ///
+ bool? Converged { get; }
+
+ ///
+ /// Gets the temporary output directory that is generated during the Hydra-Ring calculation.s
+ ///
+ string OutputDirectory { get; }
+
+ ///
+ /// Gets the content of the last error file generated during the Hydra-Ring calculation.
+ ///
+ string LastErrorFileContent { get; }
+
+ ///
+ /// Performs the actual calculation by running the Hydra-Ring executable.
+ ///
+ /// The which contains all the necessary input
+ /// for the calculation.
+ /// Thrown when an error occurs while performing the calculation.
+ /// Thrown when preprocessor directory is required but not specified.
+ void Calculate(WaveConditionsCosineCalculationInput input);
+
+ ///
+ /// Cancels any currently running Hydra-Ring calculation.
+ ///
+ void Cancel();
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IWaveHeightCalculator.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IWaveHeightCalculator.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/IWaveHeightCalculator.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,84 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using Riskeer.HydraRing.Calculation.Data.Input.Hydraulics;
+using Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints;
+using Riskeer.HydraRing.Calculation.Exceptions;
+
+namespace Riskeer.HydraRing.Calculation.Calculator
+{
+ ///
+ /// Interface for a calculator which calculates a wave height associated with a
+ /// reliability index.
+ ///
+ public interface IWaveHeightCalculator
+ {
+ ///
+ /// Gets the wave height resulting from iterating towards the reliability index.
+ ///
+ double WaveHeight { get; }
+
+ ///
+ /// The reliability index towards which was iterated.
+ ///
+ double ReliabilityIndex { get; }
+
+ ///
+ /// Gets the result of parsing the illustration points in the Hydra-Ring database.
+ ///
+ GeneralResult IllustrationPointsResult { get; }
+
+ ///
+ /// Gets the value indicating whether the calculation converged.
+ ///
+ bool? Converged { get; }
+
+ ///
+ /// Gets the temporary output directory that is generated during the Hydra-Ring calculation.
+ ///
+ string OutputDirectory { get; }
+
+ ///
+ /// Gets the content of the last error file generated during the Hydra-Ring calculation.
+ ///
+ string LastErrorFileContent { get; }
+
+ ///
+ /// Gets the error message when parsing the illustration points.
+ ///
+ string IllustrationPointsParserErrorMessage { get; }
+
+ ///
+ /// Performs the actual calculation by running the Hydra-Ring executable.
+ ///
+ /// The which contains all the necessary input
+ /// for the calculation.
+ /// Thrown when an error occurs while performing the calculation.
+ /// Thrown when preprocessor directory is required but not specified.
+ void Calculate(WaveHeightCalculationInput input);
+
+ ///
+ /// Cancels any currently running Hydra-Ring calculation.
+ ///
+ void Cancel();
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/OvertoppingCalculator.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/OvertoppingCalculator.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/OvertoppingCalculator.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,91 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using Riskeer.HydraRing.Calculation.Data;
+using Riskeer.HydraRing.Calculation.Data.Input;
+using Riskeer.HydraRing.Calculation.Data.Input.Overtopping;
+using Riskeer.HydraRing.Calculation.Parsers;
+
+namespace Riskeer.HydraRing.Calculation.Calculator
+{
+ ///
+ /// Calculator for calculating probability of failure by overtopping or overflow and the
+ /// associated wave height. This is used in a grass cover erosion inwards assessment.
+ ///
+ internal class OvertoppingCalculator : HydraRingCalculatorBase, IOvertoppingCalculator
+ {
+ private readonly ExceedanceProbabilityCalculationParser exceedanceProbabilityCalculationParser;
+ private readonly OvertoppingCalculationWaveHeightParser waveHeightParser;
+
+ ///
+ /// Create a new instance of .
+ ///
+ /// The with the
+ /// Hydra-Ring calculation settings.
+ /// Thrown when
+ /// is null.
+ /// Preprocessing is disabled when
+ /// equals .
+ internal OvertoppingCalculator(HydraRingCalculationSettings calculationSettings) : base(calculationSettings)
+ {
+ exceedanceProbabilityCalculationParser = new ExceedanceProbabilityCalculationParser();
+ waveHeightParser = new OvertoppingCalculationWaveHeightParser();
+
+ ExceedanceProbabilityBeta = double.NaN;
+ WaveHeight = double.NaN;
+ IsOvertoppingDominant = false;
+ }
+
+ public double ExceedanceProbabilityBeta { get; private set; }
+
+ public double WaveHeight { get; private set; }
+
+ public bool IsOvertoppingDominant { get; private set; }
+
+ public void Calculate(OvertoppingCalculationInput input)
+ {
+ Calculate(HydraRingUncertaintiesType.All, input);
+ }
+
+ protected override IEnumerable GetParsers()
+ {
+ yield return exceedanceProbabilityCalculationParser;
+ yield return waveHeightParser;
+ }
+
+ protected override void SetOutputs()
+ {
+ if (exceedanceProbabilityCalculationParser.Output.HasValue)
+ {
+ ExceedanceProbabilityBeta = exceedanceProbabilityCalculationParser.Output.Value;
+ }
+
+ if (waveHeightParser.Output != null)
+ {
+ WaveHeight = waveHeightParser.Output.WaveHeight;
+ }
+
+ IsOvertoppingDominant = waveHeightParser.Output != null && waveHeightParser.Output.IsOvertoppingDominant;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/StructuresCalculator.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/StructuresCalculator.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/StructuresCalculator.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,75 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using Riskeer.HydraRing.Calculation.Data;
+using Riskeer.HydraRing.Calculation.Data.Input;
+using Riskeer.HydraRing.Calculation.Parsers;
+
+namespace Riskeer.HydraRing.Calculation.Calculator
+{
+ ///
+ /// Calculator for calculating probability of failure by a structure.
+ /// This is used in a structures assessment.
+ ///
+ /// The type of the input.
+ internal class StructuresCalculator : HydraRingCalculatorBase, IStructuresCalculator
+ where TInput : ExceedanceProbabilityCalculationInput
+ {
+ private readonly ExceedanceProbabilityCalculationParser exceedanceProbabilityCalculationParser;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The with the
+ /// Hydra-Ring calculation settings.
+ /// Thrown when
+ /// is null.
+ /// Preprocessing is disabled when
+ /// equals .
+ public StructuresCalculator(HydraRingCalculationSettings calculationSettings) : base(calculationSettings)
+ {
+ exceedanceProbabilityCalculationParser = new ExceedanceProbabilityCalculationParser();
+ ExceedanceProbabilityBeta = double.NaN;
+ }
+
+ public double ExceedanceProbabilityBeta { get; private set; }
+
+ public void Calculate(TInput input)
+ {
+ Calculate(HydraRingUncertaintiesType.All, input);
+ }
+
+ protected override IEnumerable GetParsers()
+ {
+ yield return exceedanceProbabilityCalculationParser;
+ }
+
+ protected override void SetOutputs()
+ {
+ if (exceedanceProbabilityCalculationParser.Output.HasValue)
+ {
+ ExceedanceProbabilityBeta = exceedanceProbabilityCalculationParser.Output.Value;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/WaveConditionsCosineCalculator.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/WaveConditionsCosineCalculator.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/WaveConditionsCosineCalculator.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,105 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using Riskeer.HydraRing.Calculation.Data;
+using Riskeer.HydraRing.Calculation.Data.Input;
+using Riskeer.HydraRing.Calculation.Data.Input.WaveConditions;
+using Riskeer.HydraRing.Calculation.Parsers;
+
+namespace Riskeer.HydraRing.Calculation.Calculator
+{
+ ///
+ /// Interface for a calculator which calculates values for a wave at a water level.
+ /// These are used in different failure mechanisms as input.
+ ///
+ internal class WaveConditionsCosineCalculator : HydraRingCalculatorBase, IWaveConditionsCosineCalculator
+ {
+ private readonly WaveConditionsCalculationParser waveConditionsCalculationParser;
+ private readonly ReliabilityIndexCalculationParser reliabilityIndexCalculationParser;
+ private readonly ConvergenceParser convergenceParser;
+
+ ///
+ /// Create a new instance of .
+ ///
+ /// The with the
+ /// Hydra-Ring calculation settings.
+ /// Thrown when
+ /// is null.
+ /// Preprocessing is disabled when
+ /// equals .
+ internal WaveConditionsCosineCalculator(HydraRingCalculationSettings calculationSettings) : base(calculationSettings)
+ {
+ waveConditionsCalculationParser = new WaveConditionsCalculationParser();
+ reliabilityIndexCalculationParser = new ReliabilityIndexCalculationParser();
+ convergenceParser = new ConvergenceParser();
+
+ WaveHeight = double.NaN;
+ WaveAngle = double.NaN;
+ WavePeakPeriod = double.NaN;
+ WaveDirection = double.NaN;
+ ReliabilityIndex = double.NaN;
+ }
+
+ public double WaveHeight { get; private set; }
+
+ public double WaveAngle { get; private set; }
+
+ public double WavePeakPeriod { get; private set; }
+
+ public double WaveDirection { get; private set; }
+
+ public double ReliabilityIndex { get; private set; }
+
+ public bool? Converged { get; private set; }
+
+ public void Calculate(WaveConditionsCosineCalculationInput input)
+ {
+ Calculate(HydraRingUncertaintiesType.All, input);
+ }
+
+ protected override IEnumerable GetParsers()
+ {
+ yield return waveConditionsCalculationParser;
+ yield return reliabilityIndexCalculationParser;
+ yield return convergenceParser;
+ }
+
+ protected override void SetOutputs()
+ {
+ if (waveConditionsCalculationParser.Output != null)
+ {
+ WaveHeight = waveConditionsCalculationParser.Output.WaveHeight;
+ WaveAngle = waveConditionsCalculationParser.Output.WaveAngle;
+ WaveDirection = waveConditionsCalculationParser.Output.WaveDirection;
+ WavePeakPeriod = waveConditionsCalculationParser.Output.WavePeakPeriod;
+ }
+
+ if (reliabilityIndexCalculationParser.Output != null)
+ {
+ ReliabilityIndex = reliabilityIndexCalculationParser.Output.CalculatedReliabilityIndex;
+ }
+
+ Converged = convergenceParser.Output;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/WaveHeightCalculator.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/WaveHeightCalculator.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Calculator/WaveHeightCalculator.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,85 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using Riskeer.HydraRing.Calculation.Data;
+using Riskeer.HydraRing.Calculation.Data.Input;
+using Riskeer.HydraRing.Calculation.Data.Input.Hydraulics;
+using Riskeer.HydraRing.Calculation.Parsers;
+
+namespace Riskeer.HydraRing.Calculation.Calculator
+{
+ ///
+ /// Calculator which calculates the wave height associated to the result of iterating towards a
+ /// probability of failure given a norm.
+ ///
+ internal class WaveHeightCalculator : HydraRingCalculatorBase, IWaveHeightCalculator
+ {
+ private readonly ReliabilityIndexCalculationParser targetProbabilityParser;
+ private readonly ConvergenceParser convergenceParser;
+
+ ///
+ /// Create a new instance of .
+ ///
+ /// The with the
+ /// Hydra-Ring calculation settings.
+ /// Thrown when
+ /// is null.
+ /// Preprocessing is disabled when
+ /// equals .
+ internal WaveHeightCalculator(HydraRingCalculationSettings calculationSettings) : base(calculationSettings)
+ {
+ targetProbabilityParser = new ReliabilityIndexCalculationParser();
+ convergenceParser = new ConvergenceParser();
+
+ WaveHeight = double.NaN;
+ ReliabilityIndex = double.NaN;
+ }
+
+ public double WaveHeight { get; private set; }
+
+ public double ReliabilityIndex { get; private set; }
+ public bool? Converged { get; private set; }
+
+ public void Calculate(WaveHeightCalculationInput input)
+ {
+ Calculate(HydraRingUncertaintiesType.All, input);
+ }
+
+ protected override IEnumerable GetParsers()
+ {
+ yield return targetProbabilityParser;
+ yield return convergenceParser;
+ }
+
+ protected override void SetOutputs()
+ {
+ if (targetProbabilityParser.Output != null)
+ {
+ WaveHeight = targetProbabilityParser.Output.Result;
+ ReliabilityIndex = targetProbabilityParser.Output.CalculatedReliabilityIndex;
+ }
+
+ Converged = convergenceParser.Output;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Defaults/FailureMechanismDefaults.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Defaults/FailureMechanismDefaults.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Defaults/FailureMechanismDefaults.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,85 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Defaults
+{
+ ///
+ /// Container for failure mechanism defaults.
+ ///
+ public class FailureMechanismDefaults
+ {
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The mechanism id.
+ /// The sub mechanism ids that are applicable.
+ /// The fault tree model id.
+ /// The fault tree model id to be used when running the preprocessor.
+ /// The mechanism id to be used when running the preprocessor.
+ public FailureMechanismDefaults(int mechanismId, IEnumerable subMechanismIds, int faultTreeModelId,
+ int preprocessorFaultTreeModelId, int preprocessorMechanismId)
+ {
+ MechanismId = mechanismId;
+ SubMechanismIds = subMechanismIds;
+ FaultTreeModelId = faultTreeModelId;
+ PreprocessorFaultTreeModelId = preprocessorFaultTreeModelId;
+ PreprocessorMechanismId = preprocessorMechanismId;
+ }
+
+ ///
+ /// Gets the mechanism id.
+ ///
+ public int MechanismId { get; }
+
+ ///
+ /// Gets the sub mechanism ids that are applicable.
+ ///
+ public IEnumerable SubMechanismIds { get; }
+
+ ///
+ /// Gets the fault tree model id.
+ ///
+ public int FaultTreeModelId { get; }
+
+ ///
+ /// Gets the fault tree model id to be used when running the preprocessor.
+ ///
+ public int PreprocessorFaultTreeModelId { get; }
+
+ ///
+ /// Gets the mechanism id to be used when running the preprocessor.
+ ///
+ public int PreprocessorMechanismId { get; }
+
+ ///
+ /// Gets the sub mechanism id to be used when running the preprocessor.
+ ///
+ public int PreprocessorSubMechanismId
+ {
+ get
+ {
+ return 7;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Defaults/VariableDefaults.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Defaults/VariableDefaults.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Defaults/VariableDefaults.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Defaults
+{
+ ///
+ /// Container for variable defaults.
+ ///
+ internal class VariableDefaults
+ {
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The correlation length.
+ public VariableDefaults(double correlationLength)
+ {
+ CorrelationLength = correlationLength;
+ }
+
+ ///
+ /// Gets the correlation length.
+ ///
+ public double CorrelationLength { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingBreakWater.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingBreakWater.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingBreakWater.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,50 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data
+{
+ ///
+ /// Container for Hydra-Ring break water related data.
+ ///
+ public class HydraRingBreakWater
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The break water type.
+ /// The break water height.
+ public HydraRingBreakWater(int type, double height)
+ {
+ Type = type;
+ Height = height;
+ }
+
+ ///
+ /// Gets the type.
+ ///
+ public int Type { get; }
+
+ ///
+ /// Gets the height.
+ ///
+ public double Height { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingDeviationType.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingDeviationType.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingDeviationType.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,35 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data
+{
+ ///
+ /// Enumeration that defines the deviation types supported by Hydra-Ring.
+ ///
+ ///
+ /// The integer values correspond to deviation ids defined within Hydra-Ring.
+ ///
+ public enum HydraRingDeviationType
+ {
+ Variation = 0,
+ Standard = 1
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingDistributionType.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingDistributionType.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingDistributionType.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,38 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data
+{
+ ///
+ /// Enumeration that defines the distribution types supported by Hydra-Ring.
+ ///
+ ///
+ /// The integer values correspond to distribution ids defined within Hydra-Ring.
+ ///
+ public enum HydraRingDistributionType
+ {
+ Deterministic = 0,
+ Normal = 2,
+ LogNormal = 4, // Also applies to log-normal distributions with a non-zero shift
+ RayleighN = 18,
+ TruncatedNormal = 19
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingFailureMechanismType.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingFailureMechanismType.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingFailureMechanismType.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,46 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data
+{
+ ///
+ /// Enumeration that defines the failure mechanism types supported by Hydra-Ring.
+ ///
+ ///
+ /// The integer values DON'T correspond to failure mechanism ids defined within Hydra-Ring.
+ /// They DO, however, correspond to ids in the Hydra-Ring settings database files.
+ ///
+ public enum HydraRingFailureMechanismType
+ {
+ AssessmentLevel = 0,
+ QVariant = 1,
+ WaveHeight = 2,
+ WavePeakPeriod = 3,
+ WaveSpectralPeriod = 4,
+ DikeHeight = 5,
+ DikesOvertopping = 6,
+ StructuresOvertopping = 7,
+ StructuresClosure = 8,
+ StructuresStructuralFailure = 9,
+ DunesBoundaryConditions = 10,
+ OvertoppingRate = 11
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingForelandPoint.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingForelandPoint.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingForelandPoint.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,50 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data
+{
+ ///
+ /// Container for Hydra-Ring foreland point related data.
+ ///
+ public class HydraRingForelandPoint
+ {
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The X-coordinate.
+ /// The Z-coordinate.
+ public HydraRingForelandPoint(double x, double z)
+ {
+ X = x;
+ Z = z;
+ }
+
+ ///
+ /// Gets the X-coordinate.
+ ///
+ public double X { get; }
+
+ ///
+ /// Gets the Z-coordinate.
+ ///
+ public double Z { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingProfilePoint.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingProfilePoint.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingProfilePoint.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,61 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data
+{
+ ///
+ /// Container for Hydra-Ring profile point related data.
+ ///
+ public class HydraRingProfilePoint
+ {
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The X-coordinate.
+ /// The Z-coordinate.
+ public HydraRingProfilePoint(double x, double z)
+ {
+ X = x;
+ Z = z;
+ }
+
+ ///
+ /// Gets the X-coordinate.
+ ///
+ public double X { get; }
+
+ ///
+ /// Gets the Z-coordinate.
+ ///
+ public double Z { get; }
+
+ ///
+ /// Gets the reduction factor.
+ ///
+ public virtual double Roughness
+ {
+ get
+ {
+ return 1.0;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingSection.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingSection.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingSection.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,60 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data
+{
+ ///
+ /// Container for Hydra-Ring (cross) section data.
+ ///
+ public class HydraRingSection
+ {
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The unique identifier of the section.
+ /// The length of the section.
+ /// The normal of the cross section.
+ public HydraRingSection(int sectionId, double sectionLength, double crossSectionNormal)
+ {
+ SectionId = sectionId;
+ SectionLength = sectionLength;
+ CrossSectionNormal = crossSectionNormal;
+ }
+
+ ///
+ /// Gets the id of the section.
+ ///
+ public int SectionId { get; }
+
+ ///
+ /// Gets the length of the section.
+ ///
+ public double SectionLength { get; }
+
+ ///
+ /// Gets the normal of the cross section.
+ ///
+ ///
+ /// The normal corresponds to the angle of the straight line perpendicular to the stretch at the location of the cross section (with respect to the north).
+ ///
+ public double CrossSectionNormal { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingUncertaintiesType.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingUncertaintiesType.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/HydraRingUncertaintiesType.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,52 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data
+{
+ ///
+ /// Enumeration that defines the uncertainties types supported by Hydra-Ring.
+ ///
+ ///
+ /// The integer values correspond to uncertainties ids defined within Hydra-Ring.
+ ///
+ public enum HydraRingUncertaintiesType
+ {
+ ///
+ /// No uncertainties.
+ ///
+ None = 0,
+
+ ///
+ /// All uncertainties.
+ ///
+ All = 1,
+
+ ///
+ /// Only model uncertainties.
+ ///
+ Model = 2,
+
+ ///
+ /// Only statistical uncertainties.
+ ///
+ Statistic = 3
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/ExceedanceProbabilityCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/ExceedanceProbabilityCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/ExceedanceProbabilityCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,44 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Input
+{
+ ///
+ /// Container of all data necessary for performing Hydra-Ring calculations that compute a
+ /// probability of failure.
+ ///
+ public abstract class ExceedanceProbabilityCalculationInput : HydraRingCalculationInput
+ {
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The id of the hydraulic boundary location to use during the calculation.
+ protected ExceedanceProbabilityCalculationInput(long hydraulicBoundaryLocationId) : base(hydraulicBoundaryLocationId) {}
+
+ public override int CalculationTypeId
+ {
+ get
+ {
+ return 1;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/HydraRingCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/HydraRingCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/HydraRingCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,164 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Settings;
+using Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input
+{
+ ///
+ /// Container of all data necessary for performing a Hydra-Ring calculation.
+ ///
+ public abstract class HydraRingCalculationInput
+ {
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The id of the hydraulic boundary location to use during the calculation.
+ protected HydraRingCalculationInput(long hydraulicBoundaryLocationId)
+ {
+ HydraulicBoundaryLocationId = hydraulicBoundaryLocationId;
+ }
+
+ ///
+ /// Gets or sets the preprocessor settings.
+ ///
+ public PreprocessorSetting PreprocessorSetting { get; set; }
+
+ ///
+ /// Gets or sets the design tables settings.
+ ///
+ public DesignTablesSetting DesignTablesSetting { get; set; }
+
+ ///
+ /// Gets or sets the collection of numerics settings specified per sub mechanism.
+ ///
+ public Dictionary NumericsSettings { get; set; }
+
+ ///
+ /// Gets or sets the time integration settings.
+ ///
+ public TimeIntegrationSetting TimeIntegrationSetting { get; set; }
+
+ ///
+ /// 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 variable that is relevant during the calculation.
+ ///
+ public abstract int VariableId { get; }
+
+ ///
+ /// Gets the id of the hydraulic boundary location to use during the calculation.
+ ///
+ public long HydraulicBoundaryLocationId { get; }
+
+ ///
+ /// Gets the section to perform the calculation for.
+ ///
+ public abstract HydraRingSection Section { 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 foreland points to use during the calculation.
+ ///
+ public virtual IEnumerable ForelandsPoints
+ {
+ get
+ {
+ yield break;
+ }
+ }
+
+ ///
+ /// Gets the break water to use during the calculation.
+ ///
+ public virtual HydraRingBreakWater BreakWater
+ {
+ get
+ {
+ return null;
+ }
+ }
+
+ ///
+ /// Gets the reliability index to use during the calculation.
+ ///
+ /// Only relevant for calculations that iterate towards a reliability index.
+ public virtual double Beta
+ {
+ get
+ {
+ return double.NaN;
+ }
+ }
+
+ ///
+ /// Gets the iteration method id to use during the calculation.
+ ///
+ public virtual int IterationMethodId
+ {
+ get
+ {
+ return 3;
+ }
+ }
+
+ ///
+ /// Gets the sub mechanism model id corresponding to the provided sub mechanism id.
+ ///
+ /// The sub mechanism 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/Riskeer.HydraRing.Calculation/Data/Input/HydraRingCalculationSettings.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/HydraRingCalculationSettings.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/HydraRingCalculationSettings.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,64 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input
+{
+ ///
+ /// Class which holds all the general information to run a Hydra-Ring calculation.
+ ///
+ public class HydraRingCalculationSettings
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The path which points to the HLCD file.
+ /// The preprocessor directory to be used for the calculations.
+ /// Thrown when any parameter is null.
+ public HydraRingCalculationSettings(string hlcdFilePath,
+ string preprocessorDirectory)
+ {
+ if (hlcdFilePath == null)
+ {
+ throw new ArgumentNullException(nameof(hlcdFilePath));
+ }
+
+ if (preprocessorDirectory == null)
+ {
+ throw new ArgumentNullException(nameof(preprocessorDirectory));
+ }
+
+ HlcdFilePath = hlcdFilePath;
+ PreprocessorDirectory = preprocessorDirectory;
+ }
+
+ ///
+ /// Gets the HLCD filepath.
+ ///
+ public string HlcdFilePath { get; }
+
+ ///
+ /// Gets the preprocessor director.
+ ///
+ public string PreprocessorDirectory { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/AssessmentLevelCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/AssessmentLevelCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/AssessmentLevelCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,70 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.Hydraulics
+{
+ ///
+ /// Container of all data necessary for performing an assessment level calculation via Hydra-Ring.
+ ///
+ public class AssessmentLevelCalculationInput : ReliabilityIndexCalculationInput
+ {
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The id of the section.
+ /// The id of the hydraulic boundary location.
+ /// The norm.
+ public AssessmentLevelCalculationInput(int sectionId, long hydraulicBoundaryLocationId, double norm)
+ : base(hydraulicBoundaryLocationId, norm)
+ {
+ Section = new HydraRingSection(sectionId, double.NaN, double.NaN);
+ }
+
+ public override HydraRingFailureMechanismType FailureMechanismType
+ {
+ get
+ {
+ return HydraRingFailureMechanismType.AssessmentLevel;
+ }
+ }
+
+ public override int VariableId
+ {
+ get
+ {
+ return 26;
+ }
+ }
+
+ public override HydraRingSection Section { get; }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ yield return new DeterministicHydraRingVariable(26, 0);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/DikeHeightCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/DikeHeightCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/DikeHeightCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,128 @@
+// Copyright (C) Stichting Deltares 2018. 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 System.Linq;
+using Riskeer.HydraRing.Calculation.Data.Input.Overtopping;
+using Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.Hydraulics
+{
+ ///
+ /// Container for all data necessary for performing a dike height calculation via Hydra-Ring.
+ ///
+ public class DikeHeightCalculationInput : HydraulicLoadsCalculationInput
+ {
+ private readonly double criticalOvertoppingMean;
+ private readonly double criticalOvertoppingStandardDeviation;
+
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The id of the hydraulic boundary location.
+ /// The norm.
+ /// The normal of the section.
+ /// The profile points.
+ /// The foreland points.
+ /// The break water.
+ /// The model factor critical overtopping.
+ /// The mean of the factor Fb
+ /// The standard deviation of the factor Fb.
+ /// The lower boundary of the factor Fb.
+ /// The upper boundary of the factor Fb.
+ /// The mean of the factor Fn.
+ /// The standard deviation of the factor Fn.
+ /// The lower boundary of the factor Fn.
+ /// The upper boundary of the factor Fn.
+ /// The factor overtopping.
+ /// The mean of the critical overtopping.
+ /// The standard deviation of the critical overtopping.
+ /// The mean of the factor frunup.
+ /// The standard deviation of the factor frunup.
+ /// The lower boundary of the factor frunup.
+ /// The upper boundary of the factor frunup.
+ /// The mean of the exponent model factor shallow.
+ /// The standard deviation of the exponent model factor shallow.
+ /// The lower boundary of the exponent model factor shallow.
+ /// The upper boundary of the exponent model factor shallow.
+ public DikeHeightCalculationInput(long hydraulicBoundaryLocationId,
+ double norm,
+ double sectionNormal,
+ IEnumerable profilePoints,
+ IEnumerable forelandPoints,
+ HydraRingBreakWater breakWater,
+ double modelFactorCriticalOvertopping,
+ double factorFbMean, double factorFbStandardDeviation,
+ double factorFbLowerBoundary, double factorFbUpperBoundary,
+ double factorFnMean, double factorFnStandardDeviation,
+ double factorFnLowerBoundary, double factorFnUpperBoundary,
+ double modelFactorOvertopping,
+ double criticalOvertoppingMean, double criticalOvertoppingStandardDeviation,
+ double modelFactorFrunupMean, double modelFactorFrunupStandardDeviation,
+ double modelFactorFrunupLowerBoundary, double modelFactorFrunupUpperBoundary,
+ double exponentModelFactorShallowMean, double exponentModelFactorShallowStandardDeviation,
+ double exponentModelFactorShallowLowerBoundary, double exponentModelFactorShallowUpperBoundary)
+ : base(hydraulicBoundaryLocationId,
+ norm,
+ sectionNormal,
+ profilePoints,
+ forelandPoints,
+ breakWater,
+ modelFactorCriticalOvertopping,
+ factorFbMean, factorFbStandardDeviation,
+ factorFbLowerBoundary, factorFbUpperBoundary,
+ factorFnMean, factorFnStandardDeviation,
+ factorFnLowerBoundary, factorFnUpperBoundary,
+ modelFactorOvertopping,
+ modelFactorFrunupMean, modelFactorFrunupStandardDeviation,
+ modelFactorFrunupLowerBoundary, modelFactorFrunupUpperBoundary,
+ exponentModelFactorShallowMean, exponentModelFactorShallowStandardDeviation,
+ exponentModelFactorShallowLowerBoundary, exponentModelFactorShallowUpperBoundary)
+ {
+ this.criticalOvertoppingMean = criticalOvertoppingMean;
+ this.criticalOvertoppingStandardDeviation = criticalOvertoppingStandardDeviation;
+ }
+
+ public override HydraRingFailureMechanismType FailureMechanismType { get; } = HydraRingFailureMechanismType.DikeHeight;
+
+ public override int VariableId { get; } = 1;
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ List variables = base.Variables.ToList();
+ variables.AddRange(GetVariables());
+
+ return variables.OrderBy(v => v.VariableId);
+ }
+ }
+
+ private IEnumerable GetVariables()
+ {
+ yield return new DeterministicHydraRingVariable(1, 0.0);
+ yield return new LogNormalHydraRingVariable(17,
+ HydraRingDeviationType.Standard,
+ criticalOvertoppingMean,
+ criticalOvertoppingStandardDeviation);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/DunesBoundaryConditionsCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/DunesBoundaryConditionsCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/DunesBoundaryConditionsCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,42 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Input.Hydraulics
+{
+ ///
+ /// Container of all data necessary for performing a dunes boundary conditions calculation via Hydra-Ring.
+ ///
+ public class DunesBoundaryConditionsCalculationInput : AssessmentLevelCalculationInput
+ {
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The id of the section.
+ /// The id of the hydraulic boundary location.
+ /// The norm.
+ public DunesBoundaryConditionsCalculationInput(int sectionId, long hydraulicBoundaryLocationId, double norm)
+ : base(sectionId, hydraulicBoundaryLocationId, norm) {}
+
+ public override HydraRingFailureMechanismType FailureMechanismType { get; } = HydraRingFailureMechanismType.DunesBoundaryConditions;
+
+ public override int CalculationTypeId { get; } = 2;
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/HydraulicLoadsCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/HydraulicLoadsCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/HydraulicLoadsCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,160 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Input.Overtopping;
+using Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.Hydraulics
+{
+ ///
+ /// Container for all data necessary for performing a hydraulic loads calculation via Hydra-Ring.
+ ///
+ public abstract class HydraulicLoadsCalculationInput : ReliabilityIndexCalculationInput
+ {
+ private readonly double modelFactorCriticalOvertopping;
+ private readonly double factorFbMean;
+ private readonly double factorFbStandardDeviation;
+ private readonly double factorFbLowerBoundary;
+ private readonly double factorFbUpperBoundary;
+ private readonly double factorFnMean;
+ private readonly double factorFnStandardDeviation;
+ private readonly double factorFnLowerBoundary;
+ private readonly double factorFnUpperBoundary;
+ private readonly double modelFactorOvertopping;
+ private readonly double modelFactorFrunupMean;
+ private readonly double modelFactorFrunupStandardDeviation;
+ private readonly double modelFactorFrunupLowerBoundary;
+ private readonly double modelFactorFrunupUpperBoundary;
+ private readonly double exponentModelFactorShallowMean;
+ private readonly double exponentModelFactorShallowStandardDeviation;
+ private readonly double exponentModelFactorShallowLowerBoundary;
+ private readonly double exponentModelFactorShallowUpperBoundary;
+
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The id of the hydraulic boundary location.
+ /// The norm.
+ /// The normal of the section.
+ /// The profile points.
+ /// The foreland points.
+ /// The break water.
+ /// The model factor critical overtopping.
+ /// The mean of the factor Fb
+ /// The standard deviation of the factor Fb.
+ /// The lower boundary of the factor Fb.
+ /// The upper boundary of the factor Fb.
+ /// The mean of the factor Fn.
+ /// The standard deviation of the factor Fn.
+ /// The lower boundary of the factor Fn.
+ /// The upper boundary of the factor Fn.
+ /// The factor overtopping.
+ /// The mean of the factor frunup.
+ /// The standard deviation of the factor frunup.
+ /// The lower boundary of the factor frunup.
+ /// The upper boundary of the factor frunup.
+ /// The mean of the exponent model factor shallow.
+ /// The standard deviation of the exponent model factor shallow.
+ /// The lower boundary of the exponent model factor shallow.
+ /// The upper boundary of the exponent model factor shallow.
+ protected HydraulicLoadsCalculationInput(long hydraulicBoundaryLocationId, double norm,
+ double sectionNormal,
+ IEnumerable profilePoints,
+ IEnumerable forelandPoints,
+ HydraRingBreakWater breakWater,
+ double modelFactorCriticalOvertopping,
+ double factorFbMean, double factorFbStandardDeviation,
+ double factorFbLowerBoundary, double factorFbUpperBoundary,
+ double factorFnMean, double factorFnStandardDeviation,
+ double factorFnLowerBoundary, double factorFnUpperBoundary,
+ double modelFactorOvertopping,
+ double modelFactorFrunupMean, double modelFactorFrunupStandardDeviation,
+ double modelFactorFrunupLowerBoundary, double modelFactorFrunupUpperBoundary,
+ double exponentModelFactorShallowMean, double exponentModelFactorShallowStandardDeviation,
+ double exponentModelFactorShallowLowerBoundary, double exponentModelFactorShallowUpperBoundary)
+ : base(hydraulicBoundaryLocationId, norm)
+ {
+ Section = new HydraRingSection(1, double.NaN, sectionNormal);
+ ProfilePoints = profilePoints;
+ ForelandsPoints = forelandPoints;
+ BreakWater = breakWater;
+
+ this.modelFactorCriticalOvertopping = modelFactorCriticalOvertopping;
+ this.factorFbMean = factorFbMean;
+ this.factorFbStandardDeviation = factorFbStandardDeviation;
+ this.factorFbLowerBoundary = factorFbLowerBoundary;
+ this.factorFbUpperBoundary = factorFbUpperBoundary;
+ this.factorFnMean = factorFnMean;
+ this.factorFnStandardDeviation = factorFnStandardDeviation;
+ this.factorFnLowerBoundary = factorFnLowerBoundary;
+ this.factorFnUpperBoundary = factorFnUpperBoundary;
+ this.modelFactorOvertopping = modelFactorOvertopping;
+ this.modelFactorFrunupMean = modelFactorFrunupMean;
+ this.modelFactorFrunupStandardDeviation = modelFactorFrunupStandardDeviation;
+ this.modelFactorFrunupLowerBoundary = modelFactorFrunupLowerBoundary;
+ this.modelFactorFrunupUpperBoundary = modelFactorFrunupUpperBoundary;
+ this.exponentModelFactorShallowMean = exponentModelFactorShallowMean;
+ this.exponentModelFactorShallowStandardDeviation = exponentModelFactorShallowStandardDeviation;
+ this.exponentModelFactorShallowLowerBoundary = exponentModelFactorShallowLowerBoundary;
+ this.exponentModelFactorShallowUpperBoundary = exponentModelFactorShallowUpperBoundary;
+ }
+
+ public override HydraRingSection Section { get; }
+
+ public override IEnumerable ProfilePoints { get; }
+
+ public override IEnumerable ForelandsPoints { get; }
+
+ public override HydraRingBreakWater BreakWater { get; }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ yield return new DeterministicHydraRingVariable(8, modelFactorCriticalOvertopping);
+ yield return new TruncatedNormalHydraRingVariable(10, HydraRingDeviationType.Standard, factorFbMean, factorFbStandardDeviation,
+ factorFbLowerBoundary, factorFbUpperBoundary);
+ yield return new TruncatedNormalHydraRingVariable(11, HydraRingDeviationType.Standard, factorFnMean, factorFnStandardDeviation,
+ factorFnLowerBoundary, factorFnUpperBoundary);
+ yield return new DeterministicHydraRingVariable(12, modelFactorOvertopping);
+ yield return new TruncatedNormalHydraRingVariable(120, HydraRingDeviationType.Standard, modelFactorFrunupMean, modelFactorFrunupStandardDeviation,
+ modelFactorFrunupLowerBoundary, modelFactorFrunupUpperBoundary);
+ yield return new TruncatedNormalHydraRingVariable(123, HydraRingDeviationType.Standard, exponentModelFactorShallowMean,
+ exponentModelFactorShallowStandardDeviation, exponentModelFactorShallowLowerBoundary,
+ exponentModelFactorShallowUpperBoundary);
+ }
+ }
+
+ public override int? GetSubMechanismModelId(int subMechanismId)
+ {
+ switch (subMechanismId)
+ {
+ case 102:
+ return 94;
+ case 103:
+ return 95;
+ default:
+ return null;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/OvertoppingRateCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/OvertoppingRateCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/OvertoppingRateCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,130 @@
+// Copyright (C) Stichting Deltares 2018. 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 System.Linq;
+using Riskeer.HydraRing.Calculation.Data.Input.Overtopping;
+using Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.Hydraulics
+{
+ ///
+ /// Container for all data necessary for performing an overtopping rate calculation via Hydra-Ring.
+ ///
+ public class OvertoppingRateCalculationInput : HydraulicLoadsCalculationInput
+ {
+ private readonly double dikeHeight;
+
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The id of the hydraulic boundary location.
+ /// The norm.
+ /// The normal of the section.
+ /// The profile points.
+ /// The foreland points.
+ /// The break water.
+ /// The dike height.
+ /// The model factor critical overtopping.
+ /// The mean of the factor Fb
+ /// The standard deviation of the factor Fb.
+ /// The lower boundary of the factor Fb.
+ /// The upper boundary of the factor Fb.
+ /// The mean of the factor Fn.
+ /// The standard deviation of the factor Fn.
+ /// The lower boundary of the factor Fn.
+ /// The upper boundary of the factor Fn.
+ /// The factor overtopping.
+ /// The mean of the factor frunup.
+ /// The standard deviation of the factor frunup.
+ /// The lower boundary of the factor frunup.
+ /// The upper boundary of the factor frunup.
+ /// The mean of the exponent model factor shallow.
+ /// The standard deviation of the exponent model factor shallow.
+ /// The lower boundary of the exponent model factor shallow.
+ /// The upper boundary of the exponent model factor shallow.
+ public OvertoppingRateCalculationInput(long hydraulicBoundaryLocationId,
+ double norm,
+ double sectionNormal,
+ IEnumerable profilePoints,
+ IEnumerable forelandPoints,
+ HydraRingBreakWater breakWater,
+ double dikeHeight,
+ double modelFactorCriticalOvertopping,
+ double factorFbMean, double factorFbStandardDeviation,
+ double factorFbLowerBoundary, double factorFbUpperBoundary,
+ double factorFnMean, double factorFnStandardDeviation,
+ double factorFnLowerBoundary, double factorFnUpperBoundary,
+ double modelFactorOvertopping,
+ double modelFactorFrunupMean, double modelFactorFrunupStandardDeviation,
+ double modelFactorFrunupLowerBoundary, double modelFactorFrunupUpperBoundary,
+ double exponentModelFactorShallowMean, double exponentModelFactorShallowStandardDeviation,
+ double exponentModelFactorShallowLowerBoundary, double exponentModelFactorShallowUpperBoundary)
+ : base(hydraulicBoundaryLocationId,
+ norm,
+ sectionNormal,
+ profilePoints,
+ forelandPoints,
+ breakWater,
+ modelFactorCriticalOvertopping,
+ factorFbMean, factorFbStandardDeviation,
+ factorFbLowerBoundary, factorFbUpperBoundary,
+ factorFnMean, factorFnStandardDeviation,
+ factorFnLowerBoundary, factorFnUpperBoundary,
+ modelFactorOvertopping,
+ modelFactorFrunupMean, modelFactorFrunupStandardDeviation,
+ modelFactorFrunupLowerBoundary, modelFactorFrunupUpperBoundary,
+ exponentModelFactorShallowMean, exponentModelFactorShallowStandardDeviation,
+ exponentModelFactorShallowLowerBoundary, exponentModelFactorShallowUpperBoundary)
+ {
+ this.dikeHeight = dikeHeight;
+ }
+
+ public override HydraRingFailureMechanismType FailureMechanismType { get; } = HydraRingFailureMechanismType.OvertoppingRate;
+
+ public override int VariableId { get; } = 17;
+
+ public override int CalculationTypeId
+ {
+ get
+ {
+ return 2;
+ }
+ }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ List variables = base.Variables.ToList();
+ variables.AddRange(GetVariables());
+
+ return variables.OrderBy(v => v.VariableId);
+ }
+ }
+
+ private IEnumerable GetVariables()
+ {
+ yield return new DeterministicHydraRingVariable(1, dikeHeight);
+ yield return new DeterministicHydraRingVariable(17, 0.0);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/WaveHeightCalculationInput .cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/WaveHeightCalculationInput .cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Hydraulics/WaveHeightCalculationInput .cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,70 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.Hydraulics
+{
+ ///
+ /// Container of all data necessary for performing a wave height calculation via Hydra-Ring.
+ ///
+ public class WaveHeightCalculationInput : ReliabilityIndexCalculationInput
+ {
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The id of the section.
+ /// The id of the hydraulic boundary location.
+ /// The norm.
+ public WaveHeightCalculationInput(int sectionId, long hydraulicBoundaryLocationId, double norm)
+ : base(hydraulicBoundaryLocationId, norm)
+ {
+ Section = new HydraRingSection(sectionId, double.NaN, double.NaN);
+ }
+
+ public override HydraRingFailureMechanismType FailureMechanismType
+ {
+ get
+ {
+ return HydraRingFailureMechanismType.WaveHeight;
+ }
+ }
+
+ public override int VariableId
+ {
+ get
+ {
+ return 28;
+ }
+ }
+
+ public override HydraRingSection Section { get; }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ yield return new DeterministicHydraRingVariable(28, 0);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Overtopping/HydraRingRoughnessProfilePoint.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Overtopping/HydraRingRoughnessProfilePoint.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Overtopping/HydraRingRoughnessProfilePoint.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,42 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Input.Overtopping
+{
+ ///
+ /// Container for Hydra-Ring profile point related data with roughness.
+ ///
+ public class HydraRingRoughnessProfilePoint : HydraRingProfilePoint
+ {
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The X-coordinate.
+ /// The Z-coordinate.
+ /// The reduction factor.
+ public HydraRingRoughnessProfilePoint(double x, double z, double roughness) : base(x, z)
+ {
+ Roughness = roughness;
+ }
+
+ public override double Roughness { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Overtopping/OvertoppingCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Overtopping/OvertoppingCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Overtopping/OvertoppingCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,174 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.Overtopping
+{
+ ///
+ /// Container of all data necessary for performing an overtopping calculation via Hydra-Ring.
+ ///
+ public class OvertoppingCalculationInput : ExceedanceProbabilityCalculationInput
+ {
+ private readonly double dikeHeight;
+ private readonly double modelFactorCriticalOvertopping;
+ private readonly double factorFbMean;
+ private readonly double factorFbStandardDeviation;
+ private readonly double factorFbLowerBoundary;
+ private readonly double factorFbUpperBoundary;
+ private readonly double factorFnMean;
+ private readonly double factorFnStandardDeviation;
+ private readonly double factorFnLowerBoundary;
+ private readonly double factorFnUpperBoundary;
+ private readonly double modelFactorOvertopping;
+ private readonly double criticalOvertoppingMean;
+ private readonly double criticalOvertoppingStandardDeviation;
+ private readonly double modelFactorFrunupMean;
+ private readonly double modelFactorFrunupStandardDeviation;
+ private readonly double modelFactorFrunupLowerBoundary;
+ private readonly double modelFactorFrunupUpperBoundary;
+ private readonly double exponentModelFactorShallowMean;
+ private readonly double exponentModelFactorShallowStandardDeviation;
+ private readonly double exponentModelFactorShallowLowerBoundary;
+ private readonly double exponentModelFactorShallowUpperBoundary;
+
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The id of the hydraulic boundary location.
+ /// The normal of the section.
+ /// The profile points.
+ /// The foreland points.
+ /// The break water.
+ /// The dike height.
+ /// The model factor critical overtopping.
+ /// The mean of the factor Fb
+ /// The standard deviation of the factor Fb.
+ /// The lower boundary of the factor Fb.
+ /// The upper boundary of the factor Fb.
+ /// The mean of the factor Fn.
+ /// The standard deviation of the factor Fn.
+ /// The lower boundary of the factor Fn.
+ /// The upper boundary of the factor Fn.
+ /// The factor overtopping.
+ /// The mean of the critical overtopping.
+ /// The standard deviation of the critical overtopping.
+ /// The mean of the factor frunup.
+ /// The standard deviation of the factor frunup.
+ /// The lower boundary of the factor frunup.
+ /// The upper boundary of the factor frunup.
+ /// The mean of the exponent model factor shallow.
+ /// The standard deviation of the exponent model factor shallow.
+ /// The lower boundary of the exponent model factor shallow.
+ /// The upper boundary of the exponent model factor shallow.
+ public OvertoppingCalculationInput(long hydraulicBoundaryLocationId,
+ double sectionNormal,
+ IEnumerable profilePoints,
+ IEnumerable forelandPoints,
+ HydraRingBreakWater breakWater,
+ double dikeHeight,
+ double modelFactorCriticalOvertopping,
+ double factorFbMean, double factorFbStandardDeviation,
+ double factorFbLowerBoundary, double factorFbUpperBoundary,
+ double factorFnMean, double factorFnStandardDeviation,
+ double factorFnLowerBoundary, double factorFnUpperBoundary,
+ double modelFactorOvertopping,
+ double criticalOvertoppingMean, double criticalOvertoppingStandardDeviation,
+ double modelFactorFrunupMean, double modelFactorFrunupStandardDeviation,
+ double modelFactorFrunupLowerBoundary, double modelFactorFrunupUpperBoundary,
+ double exponentModelFactorShallowMean, double exponentModelFactorShallowStandardDeviation,
+ double exponentModelFactorShallowLowerBoundary, double exponentModelFactorShallowUpperBoundary)
+ : base(hydraulicBoundaryLocationId)
+ {
+ Section = new HydraRingSection(1, double.NaN, sectionNormal);
+ ProfilePoints = profilePoints;
+ ForelandsPoints = forelandPoints;
+ BreakWater = breakWater;
+ this.dikeHeight = dikeHeight;
+ this.modelFactorCriticalOvertopping = modelFactorCriticalOvertopping;
+ this.factorFbMean = factorFbMean;
+ this.factorFbStandardDeviation = factorFbStandardDeviation;
+ this.factorFbLowerBoundary = factorFbLowerBoundary;
+ this.factorFbUpperBoundary = factorFbUpperBoundary;
+ this.factorFnMean = factorFnMean;
+ this.factorFnStandardDeviation = factorFnStandardDeviation;
+ this.factorFnLowerBoundary = factorFnLowerBoundary;
+ this.factorFnUpperBoundary = factorFnUpperBoundary;
+ this.modelFactorOvertopping = modelFactorOvertopping;
+ this.criticalOvertoppingMean = criticalOvertoppingMean;
+ this.criticalOvertoppingStandardDeviation = criticalOvertoppingStandardDeviation;
+ this.modelFactorFrunupMean = modelFactorFrunupMean;
+ this.modelFactorFrunupStandardDeviation = modelFactorFrunupStandardDeviation;
+ this.modelFactorFrunupLowerBoundary = modelFactorFrunupLowerBoundary;
+ this.modelFactorFrunupUpperBoundary = modelFactorFrunupUpperBoundary;
+ this.exponentModelFactorShallowMean = exponentModelFactorShallowMean;
+ this.exponentModelFactorShallowStandardDeviation = exponentModelFactorShallowStandardDeviation;
+ this.exponentModelFactorShallowLowerBoundary = exponentModelFactorShallowLowerBoundary;
+ this.exponentModelFactorShallowUpperBoundary = exponentModelFactorShallowUpperBoundary;
+ }
+
+ public override HydraRingFailureMechanismType FailureMechanismType { get; } = HydraRingFailureMechanismType.DikesOvertopping;
+
+ public override int VariableId { get; } = 1;
+
+ public override HydraRingSection Section { get; }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ yield return new DeterministicHydraRingVariable(1, dikeHeight);
+ yield return new DeterministicHydraRingVariable(8, modelFactorCriticalOvertopping);
+ yield return new TruncatedNormalHydraRingVariable(10, HydraRingDeviationType.Standard, factorFbMean, factorFbStandardDeviation,
+ factorFbLowerBoundary, factorFbUpperBoundary);
+ yield return new TruncatedNormalHydraRingVariable(11, HydraRingDeviationType.Standard, factorFnMean, factorFnStandardDeviation,
+ factorFnLowerBoundary, factorFnUpperBoundary);
+ yield return new DeterministicHydraRingVariable(12, modelFactorOvertopping);
+ yield return new LogNormalHydraRingVariable(17, HydraRingDeviationType.Standard, criticalOvertoppingMean, criticalOvertoppingStandardDeviation);
+ yield return new TruncatedNormalHydraRingVariable(120, HydraRingDeviationType.Standard, modelFactorFrunupMean, modelFactorFrunupStandardDeviation,
+ modelFactorFrunupLowerBoundary, modelFactorFrunupUpperBoundary);
+ yield return new TruncatedNormalHydraRingVariable(123, HydraRingDeviationType.Standard, exponentModelFactorShallowMean,
+ exponentModelFactorShallowStandardDeviation, exponentModelFactorShallowLowerBoundary,
+ exponentModelFactorShallowUpperBoundary);
+ }
+ }
+
+ public override IEnumerable ProfilePoints { get; }
+
+ public override IEnumerable ForelandsPoints { get; }
+
+ public override HydraRingBreakWater BreakWater { get; }
+
+ public override int? GetSubMechanismModelId(int subMechanismId)
+ {
+ switch (subMechanismId)
+ {
+ case 102:
+ return 94;
+ case 103:
+ return 95;
+ default:
+ return null;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/ReliabilityIndexCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/ReliabilityIndexCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/ReliabilityIndexCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,53 @@
+// Copyright (C) Stichting Deltares 2018. 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.Util;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input
+{
+ ///
+ /// Container of all data necessary for performing Hydra-Ring calculations that
+ /// iterate towards a reliability index.
+ ///
+ public abstract class ReliabilityIndexCalculationInput : HydraRingCalculationInput
+ {
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The id of the hydraulic boundary location to use during the calculation.
+ /// The norm to use during the calculation.
+ /// As a part of the constructor, the is automatically converted into a reliability index.
+ protected ReliabilityIndexCalculationInput(long hydraulicBoundaryLocationId, double norm) : base(hydraulicBoundaryLocationId)
+ {
+ Beta = StatisticsConverter.ProbabilityToReliability(norm);
+ }
+
+ public override int CalculationTypeId
+ {
+ get
+ {
+ return 9;
+ }
+ }
+
+ public override double Beta { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresClosureCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresClosureCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresClosureCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,166 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.Structures
+{
+ ///
+ /// Container of all data necessary for performing a structures closure calculation via Hydra-Ring.
+ ///
+ public abstract class StructuresClosureCalculationInput : ExceedanceProbabilityCalculationInput
+ {
+ private readonly double gravitationalAcceleration;
+ private readonly double factorStormDurationOpenStructure;
+ private readonly double failureProbabilityOpenStructure;
+ private readonly double failureProbabilityReparation;
+ private readonly int identicalApertures;
+ private readonly double allowedLevelIncreaseStorageMean;
+ private readonly double allowedLevelIncreaseStorageStandardDeviation;
+ private readonly double modelFactorStorageVolumeMean;
+ private readonly double modelFactorStorageVolumeStandardDeviation;
+ private readonly double storageStructureAreaMean;
+ private readonly double storageStructureAreaVariation;
+ private readonly double modelFactorInflowVolume;
+ private readonly double flowWidthAtBottomProtectionMean;
+ private readonly double flowWidthAtBottomProtectionStandardDeviation;
+ private readonly double criticalOvertoppingDischargeMean;
+ private readonly double criticalOvertoppingDischargeVariation;
+ private readonly double failureProbabilityStructureWithErosion;
+ private readonly double stormDurationMean;
+ private readonly double stormDurationVariation;
+ private readonly double probabilityOpenStructureBeforeFlooding;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The id of the hydraulic boundary location.
+ /// The normal of the section.
+ /// The foreland points.
+ /// The break water.
+ /// The gravitational acceleration.
+ /// The factor of the storm duration for an open structure.
+ /// The failure probability for an open structure.
+ /// The reparation failure probability.
+ /// The number of identical apertures.
+ /// The mean of the allowed level of increase for storage.
+ /// The standard deviation of the allowed level of increase for storage.
+ /// The mean of the model factor storage volume.
+ /// The standard deviation of the model factor storage volume.
+ /// The mean of the storage structure area.
+ /// The variation of the storage structure area.
+ /// The model factor inflow volume.
+ /// The mean of the flow width at bottom protection.
+ /// The standard deviation of the flow width at bottom protection.
+ /// The mean of the critical overtopping discharge.
+ /// The variation of the critical overtopping discharge.
+ /// The failure probability structure with erosion.
+ /// The mean of the storm duration.
+ /// The variation of the storm duration.
+ /// The probability of an open structure before flooding.
+ protected StructuresClosureCalculationInput(long hydraulicBoundaryLocationId,
+ double sectionNormal,
+ IEnumerable forelandPoints,
+ HydraRingBreakWater breakWater,
+ double gravitationalAcceleration,
+ double factorStormDurationOpenStructure,
+ double failureProbabilityOpenStructure,
+ double failureProbabilityReparation,
+ int identicalApertures,
+ double allowedLevelIncreaseStorageMean, double allowedLevelIncreaseStorageStandardDeviation,
+ double modelFactorStorageVolumeMean, double modelFactorStorageVolumeStandardDeviation,
+ double storageStructureAreaMean, double storageStructureAreaVariation,
+ double modelFactorInflowVolume,
+ double flowWidthAtBottomProtectionMean, double flowWidthAtBottomProtectionStandardDeviation,
+ double criticalOvertoppingDischargeMean, double criticalOvertoppingDischargeVariation,
+ double failureProbabilityStructureWithErosion,
+ double stormDurationMean, double stormDurationVariation,
+ double probabilityOpenStructureBeforeFlooding)
+ : base(hydraulicBoundaryLocationId)
+ {
+ Section = new HydraRingSection(1, double.NaN, sectionNormal);
+ ForelandsPoints = forelandPoints;
+ BreakWater = breakWater;
+ this.gravitationalAcceleration = gravitationalAcceleration;
+ this.factorStormDurationOpenStructure = factorStormDurationOpenStructure;
+ this.failureProbabilityOpenStructure = failureProbabilityOpenStructure;
+ this.failureProbabilityReparation = failureProbabilityReparation;
+ this.identicalApertures = identicalApertures;
+ this.allowedLevelIncreaseStorageMean = allowedLevelIncreaseStorageMean;
+ this.allowedLevelIncreaseStorageStandardDeviation = allowedLevelIncreaseStorageStandardDeviation;
+ this.modelFactorStorageVolumeMean = modelFactorStorageVolumeMean;
+ this.modelFactorStorageVolumeStandardDeviation = modelFactorStorageVolumeStandardDeviation;
+ this.storageStructureAreaMean = storageStructureAreaMean;
+ this.storageStructureAreaVariation = storageStructureAreaVariation;
+ this.modelFactorInflowVolume = modelFactorInflowVolume;
+ this.flowWidthAtBottomProtectionMean = flowWidthAtBottomProtectionMean;
+ this.flowWidthAtBottomProtectionStandardDeviation = flowWidthAtBottomProtectionStandardDeviation;
+ this.criticalOvertoppingDischargeMean = criticalOvertoppingDischargeMean;
+ this.criticalOvertoppingDischargeVariation = criticalOvertoppingDischargeVariation;
+ this.failureProbabilityStructureWithErosion = failureProbabilityStructureWithErosion;
+ this.stormDurationMean = stormDurationMean;
+ this.stormDurationVariation = stormDurationVariation;
+ this.probabilityOpenStructureBeforeFlooding = probabilityOpenStructureBeforeFlooding;
+ }
+
+ public override HydraRingFailureMechanismType FailureMechanismType { get; } = HydraRingFailureMechanismType.StructuresClosure;
+
+ public override int VariableId { get; } = 58;
+
+ public override HydraRingSection Section { get; }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ yield return new DeterministicHydraRingVariable(58, gravitationalAcceleration);
+ yield return new DeterministicHydraRingVariable(63, factorStormDurationOpenStructure);
+ yield return new DeterministicHydraRingVariable(68, failureProbabilityOpenStructure);
+ yield return new DeterministicHydraRingVariable(69, failureProbabilityReparation);
+ yield return new DeterministicHydraRingVariable(71, identicalApertures);
+ yield return new LogNormalHydraRingVariable(94, HydraRingDeviationType.Standard, allowedLevelIncreaseStorageMean, allowedLevelIncreaseStorageStandardDeviation);
+ yield return new LogNormalHydraRingVariable(95, HydraRingDeviationType.Standard, modelFactorStorageVolumeMean, modelFactorStorageVolumeStandardDeviation);
+ yield return new LogNormalHydraRingVariable(96, HydraRingDeviationType.Variation, storageStructureAreaMean, storageStructureAreaVariation);
+ yield return new DeterministicHydraRingVariable(97, modelFactorInflowVolume);
+ yield return new LogNormalHydraRingVariable(103, HydraRingDeviationType.Standard, flowWidthAtBottomProtectionMean, flowWidthAtBottomProtectionStandardDeviation);
+ yield return new LogNormalHydraRingVariable(104, HydraRingDeviationType.Variation, criticalOvertoppingDischargeMean, criticalOvertoppingDischargeVariation);
+ yield return new DeterministicHydraRingVariable(105, failureProbabilityStructureWithErosion);
+ yield return new LogNormalHydraRingVariable(108, HydraRingDeviationType.Variation, stormDurationMean, stormDurationVariation);
+ yield return new DeterministicHydraRingVariable(129, probabilityOpenStructureBeforeFlooding);
+ }
+ }
+
+ public override IEnumerable ForelandsPoints { get; }
+
+ public override HydraRingBreakWater BreakWater { get; }
+
+ public override int IterationMethodId
+ {
+ get
+ {
+ return 6;
+ }
+ }
+
+ public abstract override int? GetSubMechanismModelId(int subMechanismId);
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresClosureFloodedCulvertCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresClosureFloodedCulvertCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresClosureFloodedCulvertCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,151 @@
+// Copyright (C) Stichting Deltares 2018. 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 System.Linq;
+using Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.Structures
+{
+ ///
+ /// Container of all data necessary for performing a flooded culvert based structures closure calculation via Hydra-Ring.
+ ///
+ public class StructuresClosureFloodedCulvertCalculationInput : StructuresClosureCalculationInput
+ {
+ private readonly double drainCoefficientMean;
+ private readonly double drainCoefficientStandardDeviation;
+ private readonly double areaFlowAperturesMean;
+ private readonly double areaFlowAperturesStandardDeviation;
+ private readonly double insideWaterLevelMean;
+ private readonly double insideWaterLevelStandardDeviation;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The id of the hydraulic boundary location.
+ /// The normal of the section.
+ /// The foreland points.
+ /// The break water.
+ /// The gravitational acceleration.
+ /// The factor of the storm duration for an open structure.
+ /// The failure probability for an open structure.
+ /// The reparation failure probability.
+ /// The number of identical apertures.
+ /// The mean of the allowed level of increase for storage.
+ /// The standard deviation of the allowed level of increase for storage.
+ /// The mean of the model factor storage volume.
+ /// The standard deviation of the model factor storage volume.
+ /// The mean of the storage structure area.
+ /// The variation of the storage structure area.
+ /// The model factor inflow volume.
+ /// The mean of the flow width at bottom protection.
+ /// The standard deviation of the flow width at bottom protection.
+ /// The mean of the critical overtopping discharge.
+ /// The variation of the critical overtopping discharge.
+ /// The failure probability structure with erosion.
+ /// The mean of the storm duration.
+ /// The variation of the storm duration.
+ /// The probability of an open structure before flooding.
+ /// The mean of the drain coefficient.
+ /// The standard deviation of the drain coefficient.
+ /// The mean of the area of flow apertures.
+ /// The standard deviation of the area of flow apertures.
+ /// The mean of the inside water level.
+ /// The standard deviation of the inside water level.
+ public StructuresClosureFloodedCulvertCalculationInput(long hydraulicBoundaryLocationId,
+ double sectionNormal,
+ IEnumerable forelandPoints,
+ HydraRingBreakWater breakWater,
+ double gravitationalAcceleration,
+ double factorStormDurationOpenStructure,
+ double failureProbabilityOpenStructure,
+ double failureProbabilityReparation,
+ int identicalApertures,
+ double allowedLevelIncreaseStorageMean, double allowedLevelIncreaseStorageStandardDeviation,
+ double modelFactorStorageVolumeMean, double modelFactorStorageVolumeStandardDeviation,
+ double storageStructureAreaMean, double storageStructureAreaVariation,
+ double modelFactorInflowVolume,
+ double flowWidthAtBottomProtectionMean, double flowWidthAtBottomProtectionStandardDeviation,
+ double criticalOvertoppingDischargeMean, double criticalOvertoppingDischargeVariation,
+ double failureProbabilityStructureWithErosion,
+ double stormDurationMean, double stormDurationVariation,
+ double probabilityOpenStructureBeforeFlooding,
+ double drainCoefficientMean, double drainCoefficientStandardDeviation,
+ double areaFlowAperturesMean, double areaFlowAperturesStandardDeviation,
+ double insideWaterLevelMean, double insideWaterLevelStandardDeviation)
+ : base(hydraulicBoundaryLocationId,
+ sectionNormal,
+ forelandPoints, breakWater,
+ gravitationalAcceleration,
+ factorStormDurationOpenStructure,
+ failureProbabilityOpenStructure,
+ failureProbabilityReparation,
+ identicalApertures,
+ allowedLevelIncreaseStorageMean, allowedLevelIncreaseStorageStandardDeviation,
+ modelFactorStorageVolumeMean, modelFactorStorageVolumeStandardDeviation,
+ storageStructureAreaMean, storageStructureAreaVariation,
+ modelFactorInflowVolume,
+ flowWidthAtBottomProtectionMean, flowWidthAtBottomProtectionStandardDeviation,
+ criticalOvertoppingDischargeMean, criticalOvertoppingDischargeVariation,
+ failureProbabilityStructureWithErosion,
+ stormDurationMean, stormDurationVariation,
+ probabilityOpenStructureBeforeFlooding)
+ {
+ this.drainCoefficientMean = drainCoefficientMean;
+ this.drainCoefficientStandardDeviation = drainCoefficientStandardDeviation;
+ this.areaFlowAperturesMean = areaFlowAperturesMean;
+ this.areaFlowAperturesStandardDeviation = areaFlowAperturesStandardDeviation;
+ this.insideWaterLevelMean = insideWaterLevelMean;
+ this.insideWaterLevelStandardDeviation = insideWaterLevelStandardDeviation;
+ }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ List variables = base.Variables.ToList();
+ variables.AddRange(GetVariables());
+
+ return variables.OrderBy(v => v.VariableId);
+ }
+ }
+
+ public override int? GetSubMechanismModelId(int subMechanismId)
+ {
+ switch (subMechanismId)
+ {
+ case 424:
+ return 107;
+ case 425:
+ return 113;
+ default:
+ return null;
+ }
+ }
+
+ private IEnumerable GetVariables()
+ {
+ yield return new NormalHydraRingVariable(66, HydraRingDeviationType.Standard, drainCoefficientMean, drainCoefficientStandardDeviation);
+ yield return new LogNormalHydraRingVariable(67, HydraRingDeviationType.Standard, areaFlowAperturesMean, areaFlowAperturesStandardDeviation);
+ yield return new NormalHydraRingVariable(93, HydraRingDeviationType.Standard, insideWaterLevelMean, insideWaterLevelStandardDeviation);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresClosureLowSillCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresClosureLowSillCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresClosureLowSillCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,159 @@
+// Copyright (C) Stichting Deltares 2018. 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 System.Linq;
+using Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.Structures
+{
+ ///
+ /// Container of all data necessary for performing a low sill based structures closure calculation via Hydra-Ring.
+ ///
+ public class StructuresClosureLowSillCalculationInput : StructuresClosureCalculationInput
+ {
+ private readonly double thresholdHeightOpenWeirMean;
+ private readonly double thresholdHeightOpenWeirStandardDeviation;
+ private readonly double insideWaterLevelMean;
+ private readonly double insideWaterLevelStandardDeviation;
+ private readonly double widthFlowAperturesMean;
+ private readonly double widthFlowAperturesStandardDeviation;
+ private readonly double modelFactorLongThresholdMean;
+ private readonly double modelFactorLongThresholdStandardDeviation;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The id of the hydraulic boundary location.
+ /// The normal of the section.
+ /// The foreland points.
+ /// The break water.
+ /// The gravitational acceleration.
+ /// The factor of the storm duration for an open structure.
+ /// The failure probability for an open structure.
+ /// The reparation failure probability.
+ /// The number of identical apertures.
+ /// The mean of the allowed level of increase for storage.
+ /// The standard deviation of the allowed level of increase for storage.
+ /// The mean of the model factor storage volume.
+ /// The standard deviation of the model factor storage volume.
+ /// The mean of the storage structure area.
+ /// The variation of the storage structure area.
+ /// The model factor inflow volume.
+ /// The mean of the flow width at bottom protection.
+ /// The standard deviation of the flow width at bottom protection.
+ /// The mean of the critical overtopping discharge.
+ /// The variation of the critical overtopping discharge.
+ /// The failure probability structure with erosion.
+ /// The mean of the storm duration.
+ /// The variation of the storm duration.
+ /// The probability of an open structure before flooding.
+ /// The mean of the threshold height open weir.
+ /// The standard deviation of the threshold height open weir.
+ /// The mean of the inside water level.
+ /// The standard deviation of the inside water level.
+ /// The mean of the width flow apertures.
+ /// The standard deviation of the width flow apertures.
+ /// The mean of the model factor long threshold.
+ /// The standard deviation of the model factor long threshold.
+ public StructuresClosureLowSillCalculationInput(long hydraulicBoundaryLocationId,
+ double sectionNormal,
+ IEnumerable forelandPoints,
+ HydraRingBreakWater breakWater,
+ double gravitationalAcceleration,
+ double factorStormDurationOpenStructure,
+ double failureProbabilityOpenStructure,
+ double failureProbabilityReparation,
+ int identicalApertures,
+ double allowedLevelIncreaseStorageMean, double allowedLevelIncreaseStorageStandardDeviation,
+ double modelFactorStorageVolumeMean, double modelFactorStorageVolumeStandardDeviation,
+ double storageStructureAreaMean, double storageStructureAreaVariation,
+ double modelFactorInflowVolume,
+ double flowWidthAtBottomProtectionMean, double flowWidthAtBottomProtectionStandardDeviation,
+ double criticalOvertoppingDischargeMean, double criticalOvertoppingDischargeVariation,
+ double failureProbabilityStructureWithErosion,
+ double stormDurationMean, double stormDurationVariation,
+ double probabilityOpenStructureBeforeFlooding,
+ double thresholdHeightOpenWeirMean, double thresholdHeightOpenWeirStandardDeviation,
+ double insideWaterLevelMean, double insideWaterLevelStandardDeviation,
+ double widthFlowAperturesMean, double widthFlowAperturesStandardDeviation,
+ double modelFactorLongThresholdMean, double modelFactorLongThresholdStandardDeviation)
+ : base(hydraulicBoundaryLocationId,
+ sectionNormal,
+ forelandPoints, breakWater,
+ gravitationalAcceleration,
+ factorStormDurationOpenStructure,
+ failureProbabilityOpenStructure,
+ failureProbabilityReparation,
+ identicalApertures,
+ allowedLevelIncreaseStorageMean, allowedLevelIncreaseStorageStandardDeviation,
+ modelFactorStorageVolumeMean, modelFactorStorageVolumeStandardDeviation,
+ storageStructureAreaMean, storageStructureAreaVariation,
+ modelFactorInflowVolume,
+ flowWidthAtBottomProtectionMean, flowWidthAtBottomProtectionStandardDeviation,
+ criticalOvertoppingDischargeMean, criticalOvertoppingDischargeVariation,
+ failureProbabilityStructureWithErosion,
+ stormDurationMean, stormDurationVariation,
+ probabilityOpenStructureBeforeFlooding)
+ {
+ this.thresholdHeightOpenWeirMean = thresholdHeightOpenWeirMean;
+ this.thresholdHeightOpenWeirStandardDeviation = thresholdHeightOpenWeirStandardDeviation;
+ this.insideWaterLevelMean = insideWaterLevelMean;
+ this.insideWaterLevelStandardDeviation = insideWaterLevelStandardDeviation;
+ this.widthFlowAperturesMean = widthFlowAperturesMean;
+ this.widthFlowAperturesStandardDeviation = widthFlowAperturesStandardDeviation;
+ this.modelFactorLongThresholdMean = modelFactorLongThresholdMean;
+ this.modelFactorLongThresholdStandardDeviation = modelFactorLongThresholdStandardDeviation;
+ }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ List variables = base.Variables.ToList();
+ variables.AddRange(GetVariables());
+
+ return variables.OrderBy(v => v.VariableId);
+ }
+ }
+
+ public override int? GetSubMechanismModelId(int subMechanismId)
+ {
+ switch (subMechanismId)
+ {
+ case 424:
+ return 106;
+ case 425:
+ return 111;
+ default:
+ return null;
+ }
+ }
+
+ private IEnumerable GetVariables()
+ {
+ yield return new NormalHydraRingVariable(65, HydraRingDeviationType.Standard, thresholdHeightOpenWeirMean, thresholdHeightOpenWeirStandardDeviation);
+ yield return new NormalHydraRingVariable(93, HydraRingDeviationType.Standard, insideWaterLevelMean, insideWaterLevelStandardDeviation);
+ yield return new NormalHydraRingVariable(106, HydraRingDeviationType.Standard, widthFlowAperturesMean, widthFlowAperturesStandardDeviation);
+ yield return new NormalHydraRingVariable(125, HydraRingDeviationType.Standard, modelFactorLongThresholdMean, modelFactorLongThresholdStandardDeviation);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresClosureVerticalWallCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresClosureVerticalWallCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresClosureVerticalWallCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,169 @@
+// Copyright (C) Stichting Deltares 2018. 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 System.Linq;
+using Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.Structures
+{
+ ///
+ /// Container of all data necessary for performing a vertical wall based structures closure calculation via Hydra-Ring.
+ ///
+ public class StructuresClosureVerticalWallCalculationInput : StructuresClosureCalculationInput
+ {
+ private readonly double modelFactorOvertoppingFlowMean;
+ private readonly double modelFactorOvertoppingFlowStandardDeviation;
+ private readonly double structureNormalOrientation;
+ private readonly double modelFactorSuperCriticalFlowMean;
+ private readonly double modelFactorSuperCriticalFlowStandardDeviation;
+ private readonly double levelCrestStructureNotClosingMean;
+ private readonly double levelCrestStructureNotClosingStandardDeviation;
+ private readonly double widthFlowAperturesMean;
+ private readonly double widthFlowAperturesStandardDeviation;
+ private readonly double deviationWaveDirection;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The id of the hydraulic boundary location.
+ /// The normal of the section.
+ /// The foreland points.
+ /// The break water.
+ /// The gravitational acceleration.
+ /// The factor of the storm duration for an open structure.
+ /// The failure probability for an open structure.
+ /// The reparation failure probability.
+ /// The number of identical apertures.
+ /// The mean of the allowed level of increase for storage.
+ /// The standard deviation of the allowed level of increase for storage.
+ /// The mean of the model factor storage volume.
+ /// The standard deviation of the model factor storage volume.
+ /// The mean of the storage structure area.
+ /// The variation of the storage structure area.
+ /// The model factor inflow volume.
+ /// The mean of the flow width at bottom protection.
+ /// The standard deviation of the flow width at bottom protection.
+ /// The mean of the critical overtopping discharge.
+ /// The variation of the critical overtopping discharge.
+ /// The failure probability structure with erosion.
+ /// The mean of the storm duration.
+ /// The variation of the storm duration.
+ /// The probability of an open structure before flooding.
+ /// The mean of the model factor overtopping flow.
+ /// The standard deviation of the model factor overtopping flow.
+ /// The orientation of the normal of the structure.
+ /// The mean of the model factor super critical flow.
+ /// The standard deviation of the model factor super critical flow.
+ /// The mean of the crest level of the structure when not closing.
+ /// The standard deviation of the crest level of the structure when not closing.
+ /// The mean of the width flow apertures.
+ /// The standard deviation of the width flow apertures.
+ /// The deviation of the wave direction.
+ public StructuresClosureVerticalWallCalculationInput(long hydraulicBoundaryLocationId,
+ double sectionNormal,
+ IEnumerable forelandPoints,
+ HydraRingBreakWater breakWater,
+ double gravitationalAcceleration,
+ double factorStormDurationOpenStructure,
+ double failureProbabilityOpenStructure,
+ double failureProbabilityReparation,
+ int identicalApertures,
+ double allowedLevelIncreaseStorageMean, double allowedLevelIncreaseStorageStandardDeviation,
+ double modelFactorStorageVolumeMean, double modelFactorStorageVolumeStandardDeviation,
+ double storageStructureAreaMean, double storageStructureAreaVariation,
+ double modelFactorInflowVolume,
+ double flowWidthAtBottomProtectionMean, double flowWidthAtBottomProtectionStandardDeviation,
+ double criticalOvertoppingDischargeMean, double criticalOvertoppingDischargeVariation,
+ double failureProbabilityStructureWithErosion,
+ double stormDurationMean, double stormDurationVariation,
+ double probabilityOpenStructureBeforeFlooding,
+ double modelFactorOvertoppingFlowMean, double modelFactorOvertoppingFlowStandardDeviation,
+ double structureNormalOrientation,
+ double modelFactorSuperCriticalFlowMean, double modelFactorSuperCriticalFlowStandardDeviation,
+ double levelCrestStructureNotClosingMean, double levelCrestStructureNotClosingStandardDeviation,
+ double widthFlowAperturesMean, double widthFlowAperturesStandardDeviation,
+ double deviationWaveDirection)
+ : base(hydraulicBoundaryLocationId,
+ sectionNormal,
+ forelandPoints, breakWater,
+ gravitationalAcceleration,
+ factorStormDurationOpenStructure,
+ failureProbabilityOpenStructure,
+ failureProbabilityReparation,
+ identicalApertures,
+ allowedLevelIncreaseStorageMean, allowedLevelIncreaseStorageStandardDeviation,
+ modelFactorStorageVolumeMean, modelFactorStorageVolumeStandardDeviation,
+ storageStructureAreaMean, storageStructureAreaVariation,
+ modelFactorInflowVolume,
+ flowWidthAtBottomProtectionMean, flowWidthAtBottomProtectionStandardDeviation,
+ criticalOvertoppingDischargeMean, criticalOvertoppingDischargeVariation,
+ failureProbabilityStructureWithErosion,
+ stormDurationMean, stormDurationVariation,
+ probabilityOpenStructureBeforeFlooding)
+ {
+ this.modelFactorOvertoppingFlowMean = modelFactorOvertoppingFlowMean;
+ this.modelFactorOvertoppingFlowStandardDeviation = modelFactorOvertoppingFlowStandardDeviation;
+ this.structureNormalOrientation = structureNormalOrientation;
+ this.modelFactorSuperCriticalFlowMean = modelFactorSuperCriticalFlowMean;
+ this.modelFactorSuperCriticalFlowStandardDeviation = modelFactorSuperCriticalFlowStandardDeviation;
+ this.levelCrestStructureNotClosingMean = levelCrestStructureNotClosingMean;
+ this.levelCrestStructureNotClosingStandardDeviation = levelCrestStructureNotClosingStandardDeviation;
+ this.widthFlowAperturesMean = widthFlowAperturesMean;
+ this.widthFlowAperturesStandardDeviation = widthFlowAperturesStandardDeviation;
+ this.deviationWaveDirection = deviationWaveDirection;
+ }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ List variables = base.Variables.ToList();
+ variables.AddRange(GetVariables());
+
+ return variables.OrderBy(v => v.VariableId);
+ }
+ }
+
+ public override int? GetSubMechanismModelId(int subMechanismId)
+ {
+ switch (subMechanismId)
+ {
+ case 424:
+ return 105;
+ case 425:
+ return 109;
+ default:
+ return null;
+ }
+ }
+
+ private IEnumerable GetVariables()
+ {
+ yield return new LogNormalHydraRingVariable(59, HydraRingDeviationType.Standard, modelFactorOvertoppingFlowMean, modelFactorOvertoppingFlowStandardDeviation);
+ yield return new DeterministicHydraRingVariable(61, structureNormalOrientation);
+ yield return new NormalHydraRingVariable(62, HydraRingDeviationType.Standard, modelFactorSuperCriticalFlowMean, modelFactorSuperCriticalFlowStandardDeviation);
+ yield return new NormalHydraRingVariable(72, HydraRingDeviationType.Standard, levelCrestStructureNotClosingMean, levelCrestStructureNotClosingStandardDeviation);
+ yield return new NormalHydraRingVariable(106, HydraRingDeviationType.Standard, widthFlowAperturesMean, widthFlowAperturesStandardDeviation);
+ yield return new DeterministicHydraRingVariable(107, deviationWaveDirection);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresOvertoppingCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresOvertoppingCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresOvertoppingCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,181 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.Structures
+{
+ ///
+ /// Container of all data necessary for performing a structures overtopping calculation via Hydra-Ring.
+ ///
+ public class StructuresOvertoppingCalculationInput : ExceedanceProbabilityCalculationInput
+ {
+ private readonly double gravitationalAcceleration;
+ private readonly double modelFactorOvertoppingFlowMean;
+ private readonly double modelFactorOvertoppingFlowStandardDeviation;
+ private readonly double levelCrestStructureMean;
+ private readonly double levelCrestStructureStandardDeviation;
+ private readonly double structureNormalOrientation;
+ private readonly double modelFactorSuperCriticalFlowMean;
+ private readonly double modelFactorSuperCriticalFlowStandardDeviation;
+ private readonly double allowedLevelIncreaseStorageMean;
+ private readonly double allowedLevelIncreaseStorageStandardDeviation;
+ private readonly double modelFactorStorageVolumeMean;
+ private readonly double modelFactorStorageVolumeStandardDeviation;
+ private readonly double storageStructureAreaMean;
+ private readonly double storageStructureAreaVariation;
+ private readonly double modelFactorInflowVolume;
+ private readonly double flowWidthAtBottomProtectionMean;
+ private readonly double flowWidthAtBottomProtectionStandardDeviation;
+ private readonly double criticalOvertoppingDischargeMean;
+ private readonly double criticalOvertoppingDischargeVariation;
+ private readonly double failureProbabilityStructureWithErosion;
+ private readonly double widthFlowAperturesMean;
+ private readonly double widthFlowAperturesStandardDeviation;
+ private readonly double deviationWaveDirection;
+ private readonly double stormDurationMean;
+ private readonly double stormDurationVariation;
+
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The id of the hydraulic boundary location.
+ /// The normal of the section.
+ /// The foreland points.
+ /// The break water.
+ /// The gravitational acceleration.
+ /// The mean of the model factor overtopping flow.
+ /// The standard deviation of the model factor overtopping flow.
+ /// The mean of the crest level of the structure.
+ /// The standard deviation of the crest level of the structure.
+ /// The orientation of the normal of the structure.
+ /// The mean of the model factor super critical flow.
+ /// The standard deviation of the model factor super critical flow.
+ /// The mean of the allowed level of increase for storage.
+ /// The standard deviation of the allowed level of increase for storage.
+ /// The mean of the model factor storage volume.
+ /// The standard deviation of the model factor storage volume.
+ /// The mean of the storage structure area.
+ /// The variation of the storage structure area.
+ /// The model factor inflow volume.
+ /// The mean of the flow width at bottom protection.
+ /// The standard deviation of the flow width at bottom protection.
+ /// The mean of the critical overtopping discharge.
+ /// The variation of the critical overtopping discharge.
+ /// The failure probability structure with erosion.
+ /// The mean of the width flow apertures.
+ /// The standard deviation of the width flow apertures.
+ /// The deviation of the wave direction.
+ /// The mean of the storm duration.
+ /// The variation of the storm duration.
+ public StructuresOvertoppingCalculationInput(long hydraulicBoundaryLocationId,
+ double sectionNormal,
+ IEnumerable forelandPoints,
+ HydraRingBreakWater breakWater,
+ double gravitationalAcceleration,
+ double modelFactorOvertoppingFlowMean, double modelFactorOvertoppingFlowStandardDeviation,
+ double levelCrestStructureMean, double levelCrestStructureStandardDeviation,
+ double structureNormalOrientation,
+ double modelFactorSuperCriticalFlowMean, double modelFactorSuperCriticalFlowStandardDeviation,
+ double allowedLevelIncreaseStorageMean, double allowedLevelIncreaseStorageStandardDeviation,
+ double modelFactorStorageVolumeMean, double modelFactorStorageVolumeStandardDeviation,
+ double storageStructureAreaMean, double storageStructureAreaVariation,
+ double modelFactorInflowVolume,
+ double flowWidthAtBottomProtectionMean, double flowWidthAtBottomProtectionStandardDeviation,
+ double criticalOvertoppingDischargeMean, double criticalOvertoppingDischargeVariation,
+ double failureProbabilityStructureWithErosion,
+ double widthFlowAperturesMean, double widthFlowAperturesStandardDeviation,
+ double deviationWaveDirection,
+ double stormDurationMean, double stormDurationVariation)
+ : base(hydraulicBoundaryLocationId)
+ {
+ Section = new HydraRingSection(1, double.NaN, sectionNormal);
+ ForelandsPoints = forelandPoints;
+ BreakWater = breakWater;
+ this.gravitationalAcceleration = gravitationalAcceleration;
+ this.modelFactorOvertoppingFlowMean = modelFactorOvertoppingFlowMean;
+ this.modelFactorOvertoppingFlowStandardDeviation = modelFactorOvertoppingFlowStandardDeviation;
+ this.levelCrestStructureMean = levelCrestStructureMean;
+ this.levelCrestStructureStandardDeviation = levelCrestStructureStandardDeviation;
+ this.structureNormalOrientation = structureNormalOrientation;
+ this.modelFactorSuperCriticalFlowMean = modelFactorSuperCriticalFlowMean;
+ this.modelFactorSuperCriticalFlowStandardDeviation = modelFactorSuperCriticalFlowStandardDeviation;
+ this.allowedLevelIncreaseStorageMean = allowedLevelIncreaseStorageMean;
+ this.allowedLevelIncreaseStorageStandardDeviation = allowedLevelIncreaseStorageStandardDeviation;
+ this.modelFactorStorageVolumeMean = modelFactorStorageVolumeMean;
+ this.modelFactorStorageVolumeStandardDeviation = modelFactorStorageVolumeStandardDeviation;
+ this.storageStructureAreaMean = storageStructureAreaMean;
+ this.storageStructureAreaVariation = storageStructureAreaVariation;
+ this.modelFactorInflowVolume = modelFactorInflowVolume;
+ this.flowWidthAtBottomProtectionMean = flowWidthAtBottomProtectionMean;
+ this.flowWidthAtBottomProtectionStandardDeviation = flowWidthAtBottomProtectionStandardDeviation;
+ this.criticalOvertoppingDischargeMean = criticalOvertoppingDischargeMean;
+ this.criticalOvertoppingDischargeVariation = criticalOvertoppingDischargeVariation;
+ this.failureProbabilityStructureWithErosion = failureProbabilityStructureWithErosion;
+ this.widthFlowAperturesMean = widthFlowAperturesMean;
+ this.widthFlowAperturesStandardDeviation = widthFlowAperturesStandardDeviation;
+ this.deviationWaveDirection = deviationWaveDirection;
+ this.stormDurationMean = stormDurationMean;
+ this.stormDurationVariation = stormDurationVariation;
+ }
+
+ public override HydraRingFailureMechanismType FailureMechanismType { get; } = HydraRingFailureMechanismType.StructuresOvertopping;
+
+ public override int VariableId { get; } = 60;
+
+ public override HydraRingSection Section { get; }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ yield return new DeterministicHydraRingVariable(58, gravitationalAcceleration);
+ yield return new LogNormalHydraRingVariable(59, HydraRingDeviationType.Standard, modelFactorOvertoppingFlowMean, modelFactorOvertoppingFlowStandardDeviation);
+ yield return new NormalHydraRingVariable(60, HydraRingDeviationType.Standard, levelCrestStructureMean, levelCrestStructureStandardDeviation);
+ yield return new DeterministicHydraRingVariable(61, structureNormalOrientation);
+ yield return new NormalHydraRingVariable(62, HydraRingDeviationType.Standard, modelFactorSuperCriticalFlowMean, modelFactorSuperCriticalFlowStandardDeviation);
+ yield return new LogNormalHydraRingVariable(94, HydraRingDeviationType.Standard, allowedLevelIncreaseStorageMean, allowedLevelIncreaseStorageStandardDeviation);
+ yield return new LogNormalHydraRingVariable(95, HydraRingDeviationType.Standard, modelFactorStorageVolumeMean, modelFactorStorageVolumeStandardDeviation);
+ yield return new LogNormalHydraRingVariable(96, HydraRingDeviationType.Variation, storageStructureAreaMean, storageStructureAreaVariation);
+ yield return new DeterministicHydraRingVariable(97, modelFactorInflowVolume);
+ yield return new LogNormalHydraRingVariable(103, HydraRingDeviationType.Standard, flowWidthAtBottomProtectionMean, flowWidthAtBottomProtectionStandardDeviation);
+ yield return new LogNormalHydraRingVariable(104, HydraRingDeviationType.Variation, criticalOvertoppingDischargeMean, criticalOvertoppingDischargeVariation);
+ yield return new DeterministicHydraRingVariable(105, failureProbabilityStructureWithErosion);
+ yield return new NormalHydraRingVariable(106, HydraRingDeviationType.Standard, widthFlowAperturesMean, widthFlowAperturesStandardDeviation);
+ yield return new DeterministicHydraRingVariable(107, deviationWaveDirection);
+ yield return new LogNormalHydraRingVariable(108, HydraRingDeviationType.Variation, stormDurationMean, stormDurationVariation);
+ }
+ }
+
+ public override IEnumerable ForelandsPoints { get; }
+
+ public override HydraRingBreakWater BreakWater { get; }
+
+ public override int IterationMethodId
+ {
+ get
+ {
+ return 6;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,295 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.Structures
+{
+ ///
+ /// Container of all data necessary for performing a structures stability point calculation via Hydra-Ring.
+ ///
+ public abstract class StructuresStabilityPointCalculationInput : ExceedanceProbabilityCalculationInput
+ {
+ private readonly double volumicWeightWater;
+ private readonly double gravitationalAcceleration;
+ private readonly double levelCrestStructureMean;
+ private readonly double levelCrestStructureStandardDeviation;
+ private readonly double structureNormalOrientation;
+ private readonly double factorStormDurationOpenStructure;
+ private readonly double thresholdHeightOpenWeirMean;
+ private readonly double thresholdHeightOpenWeirStandardDeviation;
+ private readonly double insideWaterLevelFailureConstructionMean;
+ private readonly double insideWaterLevelFailureConstructionStandardDeviation;
+ private readonly double failureProbabilityRepairClosure;
+ private readonly double failureCollisionEnergyMean;
+ private readonly double failureCollisionEnergyVariation;
+ private readonly double modelFactorCollisionLoadMean;
+ private readonly double modelFactorCollisionLoadVariation;
+ private readonly double shipMassMean;
+ private readonly double shipMassVariation;
+ private readonly double shipVelocityMean;
+ private readonly double shipVelocityVariation;
+ private readonly int levellingCount;
+ private readonly double probabilityCollisionSecondaryStructure;
+ private readonly double flowVelocityStructureClosableMean;
+ private readonly double flowVelocityStructureClosableVariation;
+ private readonly double insideWaterLevelMean;
+ private readonly double insideWaterLevelStandardDeviation;
+ private readonly double allowedLevelIncreaseStorageMean;
+ private readonly double allowedLevelIncreaseStorageStandardDeviation;
+ private readonly double modelFactorStorageVolumeMean;
+ private readonly double modelFactorStorageVolumeStandardDeviation;
+ private readonly double storageStructureAreaMean;
+ private readonly double storageStructureAreaVariation;
+ private readonly double modelFactorInflowVolume;
+ private readonly double flowWidthAtBottomProtectionMean;
+ private readonly double flowWidthAtBottomProtectionStandardDeviation;
+ private readonly double criticalOvertoppingDischargeMean;
+ private readonly double criticalOvertoppingDischargeVariation;
+ private readonly double failureProbabilityStructureWithErosion;
+ private readonly double stormDurationMean;
+ private readonly double stormDurationVariation;
+ private readonly double modelFactorLongThresholdMean;
+ private readonly double modelFactorLongThresholdStandardDeviation;
+ private readonly double bankWidthMean;
+ private readonly double bankWidthStandardDeviation;
+ private readonly double evaluationLevel;
+ private readonly double modelFactorLoadEffectMean;
+ private readonly double modelFactorLoadEffectStandardDeviation;
+ private readonly double waveRatioMaxHN;
+ private readonly double waveRatioMaxHStandardDeviation;
+ private readonly double verticalDistance;
+ private readonly double modificationFactorWavesSlowlyVaryingPressureComponent;
+ private readonly double modificationFactorDynamicOrImpulsivePressureComponent;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The id of the hydraulic boundary location.
+ /// The normal of the section.
+ /// The foreland points.
+ /// The break water.
+ /// The volumic weight of water.
+ /// The gravitational acceleration.
+ /// The mean of the crest level of the structure.
+ /// The standard deviation of the crest level of the structure.
+ /// The orientation of the normal of the structure.
+ /// The factor of the storm duration for an open structure.
+ /// The mean of the threshold height open weir.
+ /// The standard deviation of the threshold height open weir.
+ /// The mean of the inside water level at failure of construction.
+ /// The standard deviation of the inside water level at failure of construction.
+ /// The failure probability repair closure.
+ /// The mean of the failure collision energy.
+ /// The variation of the failure collision energy.
+ /// The mean of the model factor collision load.
+ /// The variation of the model factor collision load.
+ /// The mean of the ship mass.
+ /// The variation of the ship mass.
+ /// The mean of the ship velocity.
+ /// The variation of the ship velocity.
+ /// The levelling count.
+ /// The probability of collision of the secondary structure.
+ /// The mean of the flow velocity structure closable.
+ /// The variation of the flow velocity structure closable.
+ /// The mean of the inside water level.
+ /// The standard deviation of the inside water level.
+ /// The mean of the allowed level of increase for storage.
+ /// The standard deviation of the allowed level of increase for storage.
+ /// The mean of the model factor storage volume.
+ /// The standard deviation of the model factor storage volume.
+ /// The mean of the storage structure area.
+ /// The variation of the storage structure area.
+ /// The model factor inflow volume.
+ /// The mean of the flow width at bottom protection.
+ /// The standard deviation of the flow width at bottom protection.
+ /// The mean of the critical overtopping discharge.
+ /// The variation of the critical overtopping discharge.
+ /// The failure probability structure with erosion.
+ /// The mean of the storm duration.
+ /// The variation of the storm duration.
+ /// The mean of the model factor long threshold.
+ /// The standard deviation of the model factor long threshold.
+ /// The mean of the bank width.
+ /// The standard deviation of the bank width.
+ /// The evaluation level.
+ /// The mean of the model factor load effect.
+ /// The standard deviation of the model factor load effect.
+ /// The N of the wave ratio max h.
+ /// The standard deviation of the wave ratio max h.
+ /// The vertical distance.
+ /// The modification factor waves slowly-varying pressure component.
+ /// The modification factor dynamic or impulsive pressure component.
+ protected StructuresStabilityPointCalculationInput(long hydraulicBoundaryLocationId,
+ double sectionNormal,
+ IEnumerable forelandPoints,
+ HydraRingBreakWater breakWater,
+ double volumicWeightWater,
+ double gravitationalAcceleration,
+ double levelCrestStructureMean, double levelCrestStructureStandardDeviation,
+ double structureNormalOrientation,
+ double factorStormDurationOpenStructure,
+ double thresholdHeightOpenWeirMean, double thresholdHeightOpenWeirStandardDeviation,
+ double insideWaterLevelFailureConstructionMean, double insideWaterLevelFailureConstructionStandardDeviation,
+ double failureProbabilityRepairClosure,
+ double failureCollisionEnergyMean, double failureCollisionEnergyVariation,
+ double modelFactorCollisionLoadMean, double modelFactorCollisionLoadVariation,
+ double shipMassMean, double shipMassVariation,
+ double shipVelocityMean, double shipVelocityVariation,
+ int levellingCount,
+ double probabilityCollisionSecondaryStructure,
+ double flowVelocityStructureClosableMean, double flowVelocityStructureClosableVariation,
+ double insideWaterLevelMean, double insideWaterLevelStandardDeviation,
+ double allowedLevelIncreaseStorageMean, double allowedLevelIncreaseStorageStandardDeviation,
+ double modelFactorStorageVolumeMean, double modelFactorStorageVolumeStandardDeviation,
+ double storageStructureAreaMean, double storageStructureAreaVariation,
+ double modelFactorInflowVolume,
+ double flowWidthAtBottomProtectionMean, double flowWidthAtBottomProtectionStandardDeviation,
+ double criticalOvertoppingDischargeMean, double criticalOvertoppingDischargeVariation,
+ double failureProbabilityStructureWithErosion,
+ double stormDurationMean, double stormDurationVariation,
+ double modelFactorLongThresholdMean, double modelFactorLongThresholdStandardDeviation,
+ double bankWidthMean, double bankWidthStandardDeviation,
+ double evaluationLevel,
+ double modelFactorLoadEffectMean, double modelFactorLoadEffectStandardDeviation,
+ double waveRatioMaxHN, double waveRatioMaxHStandardDeviation,
+ double verticalDistance,
+ double modificationFactorWavesSlowlyVaryingPressureComponent,
+ double modificationFactorDynamicOrImpulsivePressureComponent)
+ : base(hydraulicBoundaryLocationId)
+ {
+ Section = new HydraRingSection(1, double.NaN, sectionNormal);
+ ForelandsPoints = forelandPoints;
+ BreakWater = breakWater;
+ this.volumicWeightWater = volumicWeightWater;
+ this.gravitationalAcceleration = gravitationalAcceleration;
+ this.levelCrestStructureMean = levelCrestStructureMean;
+ this.levelCrestStructureStandardDeviation = levelCrestStructureStandardDeviation;
+ this.structureNormalOrientation = structureNormalOrientation;
+ this.factorStormDurationOpenStructure = factorStormDurationOpenStructure;
+ this.thresholdHeightOpenWeirMean = thresholdHeightOpenWeirMean;
+ this.thresholdHeightOpenWeirStandardDeviation = thresholdHeightOpenWeirStandardDeviation;
+ this.insideWaterLevelFailureConstructionMean = insideWaterLevelFailureConstructionMean;
+ this.insideWaterLevelFailureConstructionStandardDeviation = insideWaterLevelFailureConstructionStandardDeviation;
+ this.failureProbabilityRepairClosure = failureProbabilityRepairClosure;
+ this.failureCollisionEnergyMean = failureCollisionEnergyMean;
+ this.failureCollisionEnergyVariation = failureCollisionEnergyVariation;
+ this.modelFactorCollisionLoadMean = modelFactorCollisionLoadMean;
+ this.modelFactorCollisionLoadVariation = modelFactorCollisionLoadVariation;
+ this.shipMassMean = shipMassMean;
+ this.shipMassVariation = shipMassVariation;
+ this.shipVelocityMean = shipVelocityMean;
+ this.shipVelocityVariation = shipVelocityVariation;
+ this.levellingCount = levellingCount;
+ this.probabilityCollisionSecondaryStructure = probabilityCollisionSecondaryStructure;
+ this.flowVelocityStructureClosableMean = flowVelocityStructureClosableMean;
+ this.flowVelocityStructureClosableVariation = flowVelocityStructureClosableVariation;
+ this.insideWaterLevelMean = insideWaterLevelMean;
+ this.insideWaterLevelStandardDeviation = insideWaterLevelStandardDeviation;
+ this.allowedLevelIncreaseStorageMean = allowedLevelIncreaseStorageMean;
+ this.allowedLevelIncreaseStorageStandardDeviation = allowedLevelIncreaseStorageStandardDeviation;
+ this.modelFactorStorageVolumeMean = modelFactorStorageVolumeMean;
+ this.modelFactorStorageVolumeStandardDeviation = modelFactorStorageVolumeStandardDeviation;
+ this.storageStructureAreaMean = storageStructureAreaMean;
+ this.storageStructureAreaVariation = storageStructureAreaVariation;
+ this.modelFactorInflowVolume = modelFactorInflowVolume;
+ this.flowWidthAtBottomProtectionMean = flowWidthAtBottomProtectionMean;
+ this.flowWidthAtBottomProtectionStandardDeviation = flowWidthAtBottomProtectionStandardDeviation;
+ this.criticalOvertoppingDischargeMean = criticalOvertoppingDischargeMean;
+ this.criticalOvertoppingDischargeVariation = criticalOvertoppingDischargeVariation;
+ this.failureProbabilityStructureWithErosion = failureProbabilityStructureWithErosion;
+ this.stormDurationMean = stormDurationMean;
+ this.stormDurationVariation = stormDurationVariation;
+ this.modelFactorLongThresholdMean = modelFactorLongThresholdMean;
+ this.modelFactorLongThresholdStandardDeviation = modelFactorLongThresholdStandardDeviation;
+ this.bankWidthMean = bankWidthMean;
+ this.bankWidthStandardDeviation = bankWidthStandardDeviation;
+ this.evaluationLevel = evaluationLevel;
+ this.modelFactorLoadEffectMean = modelFactorLoadEffectMean;
+ this.modelFactorLoadEffectStandardDeviation = modelFactorLoadEffectStandardDeviation;
+ this.waveRatioMaxHN = waveRatioMaxHN;
+ this.waveRatioMaxHStandardDeviation = waveRatioMaxHStandardDeviation;
+ this.verticalDistance = verticalDistance;
+ this.modificationFactorWavesSlowlyVaryingPressureComponent = modificationFactorWavesSlowlyVaryingPressureComponent;
+ this.modificationFactorDynamicOrImpulsivePressureComponent = modificationFactorDynamicOrImpulsivePressureComponent;
+ }
+
+ public override HydraRingFailureMechanismType FailureMechanismType { get; } = HydraRingFailureMechanismType.StructuresStructuralFailure;
+
+ public override int VariableId { get; } = 58;
+
+ public override HydraRingSection Section { get; }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ yield return new DeterministicHydraRingVariable(43, volumicWeightWater);
+ yield return new DeterministicHydraRingVariable(58, gravitationalAcceleration);
+ yield return new NormalHydraRingVariable(60, HydraRingDeviationType.Standard, levelCrestStructureMean, levelCrestStructureStandardDeviation);
+ yield return new DeterministicHydraRingVariable(61, structureNormalOrientation);
+ yield return new DeterministicHydraRingVariable(63, factorStormDurationOpenStructure);
+ yield return new NormalHydraRingVariable(65, HydraRingDeviationType.Standard, thresholdHeightOpenWeirMean, thresholdHeightOpenWeirStandardDeviation);
+ yield return new NormalHydraRingVariable(82, HydraRingDeviationType.Standard, insideWaterLevelFailureConstructionMean, insideWaterLevelFailureConstructionStandardDeviation);
+ yield return new DeterministicHydraRingVariable(85, failureProbabilityRepairClosure);
+ yield return new LogNormalHydraRingVariable(86, HydraRingDeviationType.Variation, failureCollisionEnergyMean, failureCollisionEnergyVariation);
+ yield return new NormalHydraRingVariable(87, HydraRingDeviationType.Variation, modelFactorCollisionLoadMean, modelFactorCollisionLoadVariation);
+ yield return new NormalHydraRingVariable(88, HydraRingDeviationType.Variation, shipMassMean, shipMassVariation);
+ yield return new NormalHydraRingVariable(89, HydraRingDeviationType.Variation, shipVelocityMean, shipVelocityVariation);
+ yield return new DeterministicHydraRingVariable(90, levellingCount);
+ yield return new DeterministicHydraRingVariable(91, probabilityCollisionSecondaryStructure);
+ yield return new NormalHydraRingVariable(92, HydraRingDeviationType.Variation, flowVelocityStructureClosableMean, flowVelocityStructureClosableVariation);
+ yield return new NormalHydraRingVariable(93, HydraRingDeviationType.Standard, insideWaterLevelMean, insideWaterLevelStandardDeviation);
+ yield return new LogNormalHydraRingVariable(94, HydraRingDeviationType.Standard, allowedLevelIncreaseStorageMean, allowedLevelIncreaseStorageStandardDeviation);
+ yield return new LogNormalHydraRingVariable(95, HydraRingDeviationType.Standard, modelFactorStorageVolumeMean, modelFactorStorageVolumeStandardDeviation);
+ yield return new LogNormalHydraRingVariable(96, HydraRingDeviationType.Variation, storageStructureAreaMean, storageStructureAreaVariation);
+ yield return new DeterministicHydraRingVariable(97, modelFactorInflowVolume);
+ yield return new LogNormalHydraRingVariable(103, HydraRingDeviationType.Standard, flowWidthAtBottomProtectionMean, flowWidthAtBottomProtectionStandardDeviation);
+ yield return new LogNormalHydraRingVariable(104, HydraRingDeviationType.Variation, criticalOvertoppingDischargeMean, criticalOvertoppingDischargeVariation);
+ yield return new DeterministicHydraRingVariable(105, failureProbabilityStructureWithErosion);
+ yield return new LogNormalHydraRingVariable(108, HydraRingDeviationType.Variation, stormDurationMean, stormDurationVariation);
+ yield return new NormalHydraRingVariable(125, HydraRingDeviationType.Standard, modelFactorLongThresholdMean, modelFactorLongThresholdStandardDeviation);
+ yield return new NormalHydraRingVariable(130, HydraRingDeviationType.Standard, bankWidthMean, bankWidthStandardDeviation);
+ yield return new DeterministicHydraRingVariable(131, evaluationLevel);
+ yield return new NormalHydraRingVariable(132, HydraRingDeviationType.Standard, modelFactorLoadEffectMean, modelFactorLoadEffectStandardDeviation);
+ yield return new RayleighNHydraRingVariable(133, HydraRingDeviationType.Standard, waveRatioMaxHN, waveRatioMaxHStandardDeviation);
+ yield return new DeterministicHydraRingVariable(134, verticalDistance);
+ yield return new DeterministicHydraRingVariable(135, modificationFactorWavesSlowlyVaryingPressureComponent);
+ yield return new DeterministicHydraRingVariable(136, modificationFactorDynamicOrImpulsivePressureComponent);
+ }
+ }
+
+ public override IEnumerable ForelandsPoints { get; }
+
+ public override HydraRingBreakWater BreakWater { get; }
+
+ public override int IterationMethodId
+ {
+ get
+ {
+ return 6;
+ }
+ }
+
+ public abstract override int? GetSubMechanismModelId(int subMechanismId);
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointFloodedCulvertLinearCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointFloodedCulvertLinearCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointFloodedCulvertLinearCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,230 @@
+// Copyright (C) Stichting Deltares 2018. 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 System.Linq;
+using Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.Structures
+{
+ ///
+ /// Container of all data necessary for performing a linear flooded culvert based structures stability point calculation via Hydra-Ring.
+ ///
+ public class StructuresStabilityPointFloodedCulvertLinearCalculationInput : StructuresStabilityPointCalculationInput
+ {
+ private readonly double drainCoefficientMean;
+ private readonly double drainCoefficientStandardDeviation;
+ private readonly double areaFlowAperturesMean;
+ private readonly double areaFlowAperturesStandardDeviation;
+ private readonly double constructiveStrengthLinearLoadModelMean;
+ private readonly double constructiveStrengthLinearLoadModelVariation;
+ private readonly double stabilityLinearLoadModelMean;
+ private readonly double stabilityLinearLoadModelVariation;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The id of the hydraulic boundary location.
+ /// The normal of the section.
+ /// The foreland points.
+ /// The break water.
+ /// The volumic weight of water.
+ /// The gravitational acceleration.
+ /// The mean of the crest level of the structure.
+ /// The standard deviation of the crest level of the structure.
+ /// The orientation of the normal of the structure.
+ /// The factor of the storm duration for an open structure.
+ /// The mean of the threshold height open weir.
+ /// The standard deviation of the threshold height open weir.
+ /// The mean of the inside water level at failure of construction.
+ /// The standard deviation of the inside water level at failure of construction.
+ /// The failure probability repair closure.
+ /// The mean of the failure collision energy.
+ /// The variation of the failure collision energy.
+ /// The mean of the model factor collision load.
+ /// The variation of the model factor collision load.
+ /// The mean of the ship mass.
+ /// The variation of the ship mass.
+ /// The mean of the ship velocity.
+ /// The variation of the ship velocity.
+ /// The levelling count.
+ /// The probability of collision of the secondary structure.
+ /// The mean of the flow velocity structure closable.
+ /// The variation of the flow velocity structure closable.
+ /// The mean of the inside water level.
+ /// The standard deviation of the inside water level.
+ /// The mean of the allowed level of increase for storage.
+ /// The standard deviation of the allowed level of increase for storage.
+ /// The mean of the model factor storage volume.
+ /// The standard deviation of the model factor storage volume.
+ /// The mean of the storage structure area.
+ /// The variation of the storage structure area.
+ /// The model factor inflow volume.
+ /// The mean of the flow width at bottom protection.
+ /// The standard deviation of the flow width at bottom protection.
+ /// The mean of the critical overtopping discharge.
+ /// The variation of the critical overtopping discharge.
+ /// The failure probability structure with erosion.
+ /// The mean of the storm duration.
+ /// The variation of the storm duration.
+ /// The mean of the model factor long threshold.
+ /// The standard deviation of the model factor long threshold.
+ /// The mean of the bank width.
+ /// The standard deviation of the bank width.
+ /// The evaluation level.
+ /// The mean of the model factor load effect.
+ /// The standard deviation of the model factor load effect.
+ /// The N of the wave ratio max h.
+ /// The standard deviation of the wave ratio max h.
+ /// The vertical distance.
+ /// The modification factor waves slowly-varying pressure component.
+ /// The modification factor dynamic or impulsive pressure component.
+ /// The mean of the drain coefficient.
+ /// The standard deviation of the drain coefficient.
+ /// The mean of the area of flow apertures.
+ /// The standard deviation of the area of flow apertures.
+ /// The mean of the constructive strength linear load model.
+ /// The variation of the constructive strength linear load model.
+ /// The mean of the stability linear load model.
+ /// The variation of the stability linear load model.
+ public StructuresStabilityPointFloodedCulvertLinearCalculationInput(long hydraulicBoundaryLocationId,
+ double sectionNormal,
+ IEnumerable forelandPoints,
+ HydraRingBreakWater breakWater,
+ double volumicWeightWater,
+ double gravitationalAcceleration,
+ double levelCrestStructureMean, double levelCrestStructureStandardDeviation,
+ double structureNormalOrientation,
+ double factorStormDurationOpenStructure,
+ double thresholdHeightOpenWeirMean, double thresholdHeightOpenWeirStandardDeviation,
+ double insideWaterLevelFailureConstructionMean, double insideWaterLevelFailureConstructionStandardDeviation,
+ double failureProbabilityRepairClosure,
+ double failureCollisionEnergyMean, double failureCollisionEnergyVariation,
+ double modelFactorCollisionLoadMean, double modelFactorCollisionLoadVariation,
+ double shipMassMean, double shipMassVariation,
+ double shipVelocityMean, double shipVelocityVariation,
+ int levellingCount,
+ double probabilityCollisionSecondaryStructure,
+ double flowVelocityStructureClosableMean, double flowVelocityStructureClosableVariation,
+ double insideWaterLevelMean, double insideWaterLevelStandardDeviation,
+ double allowedLevelIncreaseStorageMean, double allowedLevelIncreaseStorageStandardDeviation,
+ double modelFactorStorageVolumeMean, double modelFactorStorageVolumeStandardDeviation,
+ double storageStructureAreaMean, double storageStructureAreaVariation,
+ double modelFactorInflowVolume,
+ double flowWidthAtBottomProtectionMean, double flowWidthAtBottomProtectionStandardDeviation,
+ double criticalOvertoppingDischargeMean, double criticalOvertoppingDischargeVariation,
+ double failureProbabilityStructureWithErosion,
+ double stormDurationMean, double stormDurationVariation,
+ double modelFactorLongThresholdMean, double modelFactorLongThresholdStandardDeviation,
+ double bankWidthMean, double bankWidthStandardDeviation,
+ double evaluationLevel,
+ double modelFactorLoadEffectMean, double modelFactorLoadEffectStandardDeviation,
+ double waveRatioMaxHN, double waveRatioMaxHStandardDeviation,
+ double verticalDistance,
+ double modificationFactorWavesSlowlyVaryingPressureComponent,
+ double modificationFactorDynamicOrImpulsivePressureComponent,
+ double drainCoefficientMean, double drainCoefficientStandardDeviation,
+ double areaFlowAperturesMean, double areaFlowAperturesStandardDeviation,
+ double constructiveStrengthLinearLoadModelMean, double constructiveStrengthLinearLoadModelVariation,
+ double stabilityLinearLoadModelMean, double stabilityLinearLoadModelVariation)
+ : base(hydraulicBoundaryLocationId,
+ sectionNormal,
+ forelandPoints, breakWater,
+ volumicWeightWater,
+ gravitationalAcceleration,
+ levelCrestStructureMean, levelCrestStructureStandardDeviation,
+ structureNormalOrientation,
+ factorStormDurationOpenStructure,
+ thresholdHeightOpenWeirMean, thresholdHeightOpenWeirStandardDeviation,
+ insideWaterLevelFailureConstructionMean, insideWaterLevelFailureConstructionStandardDeviation,
+ failureProbabilityRepairClosure,
+ failureCollisionEnergyMean, failureCollisionEnergyVariation,
+ modelFactorCollisionLoadMean, modelFactorCollisionLoadVariation,
+ shipMassMean, shipMassVariation,
+ shipVelocityMean, shipVelocityVariation,
+ levellingCount,
+ probabilityCollisionSecondaryStructure,
+ flowVelocityStructureClosableMean, flowVelocityStructureClosableVariation,
+ insideWaterLevelMean, insideWaterLevelStandardDeviation,
+ allowedLevelIncreaseStorageMean, allowedLevelIncreaseStorageStandardDeviation,
+ modelFactorStorageVolumeMean, modelFactorStorageVolumeStandardDeviation,
+ storageStructureAreaMean, storageStructureAreaVariation,
+ modelFactorInflowVolume,
+ flowWidthAtBottomProtectionMean, flowWidthAtBottomProtectionStandardDeviation,
+ criticalOvertoppingDischargeMean, criticalOvertoppingDischargeVariation,
+ failureProbabilityStructureWithErosion,
+ stormDurationMean, stormDurationVariation,
+ modelFactorLongThresholdMean, modelFactorLongThresholdStandardDeviation,
+ bankWidthMean, bankWidthStandardDeviation,
+ evaluationLevel,
+ modelFactorLoadEffectMean, modelFactorLoadEffectStandardDeviation,
+ waveRatioMaxHN, waveRatioMaxHStandardDeviation,
+ verticalDistance,
+ modificationFactorWavesSlowlyVaryingPressureComponent,
+ modificationFactorDynamicOrImpulsivePressureComponent)
+ {
+ this.drainCoefficientMean = drainCoefficientMean;
+ this.drainCoefficientStandardDeviation = drainCoefficientStandardDeviation;
+ this.areaFlowAperturesMean = areaFlowAperturesMean;
+ this.areaFlowAperturesStandardDeviation = areaFlowAperturesStandardDeviation;
+ this.constructiveStrengthLinearLoadModelMean = constructiveStrengthLinearLoadModelMean;
+ this.constructiveStrengthLinearLoadModelVariation = constructiveStrengthLinearLoadModelVariation;
+ this.stabilityLinearLoadModelMean = stabilityLinearLoadModelMean;
+ this.stabilityLinearLoadModelVariation = stabilityLinearLoadModelVariation;
+ }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ List variables = base.Variables.ToList();
+ variables.AddRange(GetVariables());
+
+ return variables.OrderBy(v => v.VariableId);
+ }
+ }
+
+ public override int? GetSubMechanismModelId(int subMechanismId)
+ {
+ switch (subMechanismId)
+ {
+ case 424:
+ return 107;
+ case 425:
+ return 113;
+ case 430:
+ return 114;
+ case 435:
+ return 116;
+ default:
+ return null;
+ }
+ }
+
+ private IEnumerable GetVariables()
+ {
+ yield return new NormalHydraRingVariable(66, HydraRingDeviationType.Standard, drainCoefficientMean, drainCoefficientStandardDeviation);
+ yield return new LogNormalHydraRingVariable(67, HydraRingDeviationType.Standard, areaFlowAperturesMean, areaFlowAperturesStandardDeviation);
+ yield return new LogNormalHydraRingVariable(80, HydraRingDeviationType.Variation, constructiveStrengthLinearLoadModelMean, constructiveStrengthLinearLoadModelVariation);
+ yield return new LogNormalHydraRingVariable(83, HydraRingDeviationType.Variation, stabilityLinearLoadModelMean, stabilityLinearLoadModelVariation);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointFloodedCulvertQuadraticCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointFloodedCulvertQuadraticCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointFloodedCulvertQuadraticCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,230 @@
+// Copyright (C) Stichting Deltares 2018. 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 System.Linq;
+using Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.Structures
+{
+ ///
+ /// Container of all data necessary for performing a quadratic flooded culvert based structures stability point calculation via Hydra-Ring.
+ ///
+ public class StructuresStabilityPointFloodedCulvertQuadraticCalculationInput : StructuresStabilityPointCalculationInput
+ {
+ private readonly double drainCoefficientMean;
+ private readonly double drainCoefficientStandardDeviation;
+ private readonly double areaFlowAperturesMean;
+ private readonly double areaFlowAperturesStandardDeviation;
+ private readonly double constructiveStrengthQuadraticLoadModelMean;
+ private readonly double constructiveStrengthQuadraticLoadModelVariation;
+ private readonly double stabilityQuadraticLoadModelMean;
+ private readonly double stabilityQuadraticLoadModelVariation;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The id of the hydraulic boundary location.
+ /// The normal of the section.
+ /// The foreland points.
+ /// The break water.
+ /// The volumic weight of water.
+ /// The gravitational acceleration.
+ /// The mean of the crest level of the structure.
+ /// The standard deviation of the crest level of the structure.
+ /// The orientation of the normal of the structure.
+ /// The factor of the storm duration for an open structure.
+ /// The mean of the threshold height open weir.
+ /// The standard deviation of the threshold height open weir.
+ /// The mean of the inside water level at failure of construction.
+ /// The standard deviation of the inside water level at failure of construction.
+ /// The failure probability repair closure.
+ /// The mean of the failure collision energy.
+ /// The variation of the failure collision energy.
+ /// The mean of the model factor collision load.
+ /// The variation of the model factor collision load.
+ /// The mean of the ship mass.
+ /// The variation of the ship mass.
+ /// The mean of the ship velocity.
+ /// The variation of the ship velocity.
+ /// The levelling count.
+ /// The probability of collision of the secondary structure.
+ /// The mean of the flow velocity structure closable.
+ /// The variation of the flow velocity structure closable.
+ /// The mean of the inside water level.
+ /// The standard deviation of the inside water level.
+ /// The mean of the allowed level of increase for storage.
+ /// The standard deviation of the allowed level of increase for storage.
+ /// The mean of the model factor storage volume.
+ /// The standard deviation of the model factor storage volume.
+ /// The mean of the storage structure area.
+ /// The variation of the storage structure area.
+ /// The model factor inflow volume.
+ /// The mean of the flow width at bottom protection.
+ /// The standard deviation of the flow width at bottom protection.
+ /// The mean of the critical overtopping discharge.
+ /// The variation of the critical overtopping discharge.
+ /// The failure probability structure with erosion.
+ /// The mean of the storm duration.
+ /// The variation of the storm duration.
+ /// The mean of the model factor long threshold.
+ /// The standard deviation of the model factor long threshold.
+ /// The mean of the bank width.
+ /// The standard deviation of the bank width.
+ /// The evaluation level.
+ /// The mean of the model factor load effect.
+ /// The standard deviation of the model factor load effect.
+ /// The N of the wave ratio max h.
+ /// The standard deviation of the wave ratio max h.
+ /// The vertical distance.
+ /// The modification factor waves slowly-varying pressure component.
+ /// The modification factor dynamic or impulsive pressure component.
+ /// The mean of the drain coefficient.
+ /// The standard deviation of the drain coefficient.
+ /// The mean of the area of flow apertures.
+ /// The standard deviation of the area of flow apertures.
+ /// The mean of the constructive strength quadratic load model.
+ /// The variation of the constructive strength quadratic load model.
+ /// The mean of the stability quadratic load model.
+ /// The variation of the stability quadratic load model.
+ public StructuresStabilityPointFloodedCulvertQuadraticCalculationInput(long hydraulicBoundaryLocationId,
+ double sectionNormal,
+ IEnumerable forelandPoints,
+ HydraRingBreakWater breakWater,
+ double volumicWeightWater,
+ double gravitationalAcceleration,
+ double levelCrestStructureMean, double levelCrestStructureStandardDeviation,
+ double structureNormalOrientation,
+ double factorStormDurationOpenStructure,
+ double thresholdHeightOpenWeirMean, double thresholdHeightOpenWeirStandardDeviation,
+ double insideWaterLevelFailureConstructionMean, double insideWaterLevelFailureConstructionStandardDeviation,
+ double failureProbabilityRepairClosure,
+ double failureCollisionEnergyMean, double failureCollisionEnergyVariation,
+ double modelFactorCollisionLoadMean, double modelFactorCollisionLoadVariation,
+ double shipMassMean, double shipMassVariation,
+ double shipVelocityMean, double shipVelocityVariation,
+ int levellingCount,
+ double probabilityCollisionSecondaryStructure,
+ double flowVelocityStructureClosableMean, double flowVelocityStructureClosableVariation,
+ double insideWaterLevelMean, double insideWaterLevelStandardDeviation,
+ double allowedLevelIncreaseStorageMean, double allowedLevelIncreaseStorageStandardDeviation,
+ double modelFactorStorageVolumeMean, double modelFactorStorageVolumeStandardDeviation,
+ double storageStructureAreaMean, double storageStructureAreaVariation,
+ double modelFactorInflowVolume,
+ double flowWidthAtBottomProtectionMean, double flowWidthAtBottomProtectionStandardDeviation,
+ double criticalOvertoppingDischargeMean, double criticalOvertoppingDischargeVariation,
+ double failureProbabilityStructureWithErosion,
+ double stormDurationMean, double stormDurationVariation,
+ double modelFactorLongThresholdMean, double modelFactorLongThresholdStandardDeviation,
+ double bankWidthMean, double bankWidthStandardDeviation,
+ double evaluationLevel,
+ double modelFactorLoadEffectMean, double modelFactorLoadEffectStandardDeviation,
+ double waveRatioMaxHN, double waveRatioMaxHStandardDeviation,
+ double verticalDistance,
+ double modificationFactorWavesSlowlyVaryingPressureComponent,
+ double modificationFactorDynamicOrImpulsivePressureComponent,
+ double drainCoefficientMean, double drainCoefficientStandardDeviation,
+ double areaFlowAperturesMean, double areaFlowAperturesStandardDeviation,
+ double constructiveStrengthQuadraticLoadModelMean, double constructiveStrengthQuadraticLoadModelVariation,
+ double stabilityQuadraticLoadModelMean, double stabilityQuadraticLoadModelVariation)
+ : base(hydraulicBoundaryLocationId,
+ sectionNormal,
+ forelandPoints, breakWater,
+ volumicWeightWater,
+ gravitationalAcceleration,
+ levelCrestStructureMean, levelCrestStructureStandardDeviation,
+ structureNormalOrientation,
+ factorStormDurationOpenStructure,
+ thresholdHeightOpenWeirMean, thresholdHeightOpenWeirStandardDeviation,
+ insideWaterLevelFailureConstructionMean, insideWaterLevelFailureConstructionStandardDeviation,
+ failureProbabilityRepairClosure,
+ failureCollisionEnergyMean, failureCollisionEnergyVariation,
+ modelFactorCollisionLoadMean, modelFactorCollisionLoadVariation,
+ shipMassMean, shipMassVariation,
+ shipVelocityMean, shipVelocityVariation,
+ levellingCount,
+ probabilityCollisionSecondaryStructure,
+ flowVelocityStructureClosableMean, flowVelocityStructureClosableVariation,
+ insideWaterLevelMean, insideWaterLevelStandardDeviation,
+ allowedLevelIncreaseStorageMean, allowedLevelIncreaseStorageStandardDeviation,
+ modelFactorStorageVolumeMean, modelFactorStorageVolumeStandardDeviation,
+ storageStructureAreaMean, storageStructureAreaVariation,
+ modelFactorInflowVolume,
+ flowWidthAtBottomProtectionMean, flowWidthAtBottomProtectionStandardDeviation,
+ criticalOvertoppingDischargeMean, criticalOvertoppingDischargeVariation,
+ failureProbabilityStructureWithErosion,
+ stormDurationMean, stormDurationVariation,
+ modelFactorLongThresholdMean, modelFactorLongThresholdStandardDeviation,
+ bankWidthMean, bankWidthStandardDeviation,
+ evaluationLevel,
+ modelFactorLoadEffectMean, modelFactorLoadEffectStandardDeviation,
+ waveRatioMaxHN, waveRatioMaxHStandardDeviation,
+ verticalDistance,
+ modificationFactorWavesSlowlyVaryingPressureComponent,
+ modificationFactorDynamicOrImpulsivePressureComponent)
+ {
+ this.drainCoefficientMean = drainCoefficientMean;
+ this.drainCoefficientStandardDeviation = drainCoefficientStandardDeviation;
+ this.areaFlowAperturesMean = areaFlowAperturesMean;
+ this.areaFlowAperturesStandardDeviation = areaFlowAperturesStandardDeviation;
+ this.constructiveStrengthQuadraticLoadModelMean = constructiveStrengthQuadraticLoadModelMean;
+ this.constructiveStrengthQuadraticLoadModelVariation = constructiveStrengthQuadraticLoadModelVariation;
+ this.stabilityQuadraticLoadModelMean = stabilityQuadraticLoadModelMean;
+ this.stabilityQuadraticLoadModelVariation = stabilityQuadraticLoadModelVariation;
+ }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ List variables = base.Variables.ToList();
+ variables.AddRange(GetVariables());
+
+ return variables.OrderBy(v => v.VariableId);
+ }
+ }
+
+ public override int? GetSubMechanismModelId(int subMechanismId)
+ {
+ switch (subMechanismId)
+ {
+ case 424:
+ return 107;
+ case 425:
+ return 113;
+ case 430:
+ return 115;
+ case 435:
+ return 117;
+ default:
+ return null;
+ }
+ }
+
+ private IEnumerable GetVariables()
+ {
+ yield return new NormalHydraRingVariable(66, HydraRingDeviationType.Standard, drainCoefficientMean, drainCoefficientStandardDeviation);
+ yield return new LogNormalHydraRingVariable(67, HydraRingDeviationType.Standard, areaFlowAperturesMean, areaFlowAperturesStandardDeviation);
+ yield return new LogNormalHydraRingVariable(81, HydraRingDeviationType.Variation, constructiveStrengthQuadraticLoadModelMean, constructiveStrengthQuadraticLoadModelVariation);
+ yield return new LogNormalHydraRingVariable(84, HydraRingDeviationType.Variation, stabilityQuadraticLoadModelMean, stabilityQuadraticLoadModelVariation);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointLowSillLinearCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointLowSillLinearCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointLowSillLinearCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,222 @@
+// Copyright (C) Stichting Deltares 2018. 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 System.Linq;
+using Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.Structures
+{
+ ///
+ /// Container of all data necessary for performing a linear low sill based structures stability point calculation via Hydra-Ring.
+ ///
+ public class StructuresStabilityPointLowSillLinearCalculationInput : StructuresStabilityPointCalculationInput
+ {
+ private readonly double constructiveStrengthLinearLoadModelMean;
+ private readonly double constructiveStrengthLinearLoadModelVariation;
+ private readonly double stabilityLinearLoadModelMean;
+ private readonly double stabilityLinearLoadModelVariation;
+ private readonly double widthFlowAperturesMean;
+ private readonly double widthFlowAperturesStandardDeviation;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The id of the hydraulic boundary location.
+ /// The normal of the section.
+ /// The foreland points.
+ /// The break water.
+ /// The volumic weight of water.
+ /// The gravitational acceleration.
+ /// The mean of the crest level of the structure.
+ /// The standard deviation of the crest level of the structure.
+ /// The orientation of the normal of the structure.
+ /// The factor of the storm duration for an open structure.
+ /// The mean of the threshold height open weir.
+ /// The standard deviation of the threshold height open weir.
+ /// The mean of the inside water level at failure of construction.
+ /// The standard deviation of the inside water level at failure of construction.
+ /// The failure probability repair closure.
+ /// The mean of the failure collision energy.
+ /// The variation of the failure collision energy.
+ /// The mean of the model factor collision load.
+ /// The variation of the model factor collision load.
+ /// The mean of the ship mass.
+ /// The variation of the ship mass.
+ /// The mean of the ship velocity.
+ /// The variation of the ship velocity.
+ /// The levelling count.
+ /// The probability of collision of the secondary structure.
+ /// The mean of the flow velocity structure closable.
+ /// The variation of the flow velocity structure closable.
+ /// The mean of the inside water level.
+ /// The standard deviation of the inside water level.
+ /// The mean of the allowed level of increase for storage.
+ /// The standard deviation of the allowed level of increase for storage.
+ /// The mean of the model factor storage volume.
+ /// The standard deviation of the model factor storage volume.
+ /// The mean of the storage structure area.
+ /// The variation of the storage structure area.
+ /// The model factor inflow volume.
+ /// The mean of the flow width at bottom protection.
+ /// The standard deviation of the flow width at bottom protection.
+ /// The mean of the critical overtopping discharge.
+ /// The variation of the critical overtopping discharge.
+ /// The failure probability structure with erosion.
+ /// The mean of the storm duration.
+ /// The variation of the storm duration.
+ /// The mean of the model factor long threshold.
+ /// The standard deviation of the model factor long threshold.
+ /// The mean of the bank width.
+ /// The standard deviation of the bank width.
+ /// The evaluation level.
+ /// The mean of the model factor load effect.
+ /// The standard deviation of the model factor load effect.
+ /// The N of the wave ratio max h.
+ /// The standard deviation of the wave ratio max h.
+ /// The vertical distance.
+ /// The modification factor waves slowly-varying pressure component.
+ /// The modification factor dynamic or impulsive pressure component.
+ /// The mean of the constructive strength linear load model.
+ /// The variation of the constructive strength linear load model.
+ /// The mean of the stability linear load model.
+ /// The variation of the stability linear load model.
+ /// The mean of the width flow apertures.
+ /// The standard deviation of the width flow apertures.
+ public StructuresStabilityPointLowSillLinearCalculationInput(long hydraulicBoundaryLocationId,
+ double sectionNormal,
+ IEnumerable forelandPoints,
+ HydraRingBreakWater breakWater,
+ double volumicWeightWater,
+ double gravitationalAcceleration,
+ double levelCrestStructureMean, double levelCrestStructureStandardDeviation,
+ double structureNormalOrientation,
+ double factorStormDurationOpenStructure,
+ double thresholdHeightOpenWeirMean, double thresholdHeightOpenWeirStandardDeviation,
+ double insideWaterLevelFailureConstructionMean, double insideWaterLevelFailureConstructionStandardDeviation,
+ double failureProbabilityRepairClosure,
+ double failureCollisionEnergyMean, double failureCollisionEnergyVariation,
+ double modelFactorCollisionLoadMean, double modelFactorCollisionLoadVariation,
+ double shipMassMean, double shipMassVariation,
+ double shipVelocityMean, double shipVelocityVariation,
+ int levellingCount,
+ double probabilityCollisionSecondaryStructure,
+ double flowVelocityStructureClosableMean, double flowVelocityStructureClosableVariation,
+ double insideWaterLevelMean, double insideWaterLevelStandardDeviation,
+ double allowedLevelIncreaseStorageMean, double allowedLevelIncreaseStorageStandardDeviation,
+ double modelFactorStorageVolumeMean, double modelFactorStorageVolumeStandardDeviation,
+ double storageStructureAreaMean, double storageStructureAreaVariation,
+ double modelFactorInflowVolume,
+ double flowWidthAtBottomProtectionMean, double flowWidthAtBottomProtectionStandardDeviation,
+ double criticalOvertoppingDischargeMean, double criticalOvertoppingDischargeVariation,
+ double failureProbabilityStructureWithErosion,
+ double stormDurationMean, double stormDurationVariation,
+ double modelFactorLongThresholdMean, double modelFactorLongThresholdStandardDeviation,
+ double bankWidthMean, double bankWidthStandardDeviation,
+ double evaluationLevel,
+ double modelFactorLoadEffectMean, double modelFactorLoadEffectStandardDeviation,
+ double waveRatioMaxHN, double waveRatioMaxHStandardDeviation,
+ double verticalDistance,
+ double modificationFactorWavesSlowlyVaryingPressureComponent,
+ double modificationFactorDynamicOrImpulsivePressureComponent,
+ double constructiveStrengthLinearLoadModelMean, double constructiveStrengthLinearLoadModelVariation,
+ double stabilityLinearLoadModelMean, double stabilityLinearLoadModelVariation,
+ double widthFlowAperturesMean, double widthFlowAperturesStandardDeviation)
+ : base(hydraulicBoundaryLocationId,
+ sectionNormal,
+ forelandPoints, breakWater,
+ volumicWeightWater,
+ gravitationalAcceleration,
+ levelCrestStructureMean, levelCrestStructureStandardDeviation,
+ structureNormalOrientation,
+ factorStormDurationOpenStructure,
+ thresholdHeightOpenWeirMean, thresholdHeightOpenWeirStandardDeviation,
+ insideWaterLevelFailureConstructionMean, insideWaterLevelFailureConstructionStandardDeviation,
+ failureProbabilityRepairClosure,
+ failureCollisionEnergyMean, failureCollisionEnergyVariation,
+ modelFactorCollisionLoadMean, modelFactorCollisionLoadVariation,
+ shipMassMean, shipMassVariation,
+ shipVelocityMean, shipVelocityVariation,
+ levellingCount,
+ probabilityCollisionSecondaryStructure,
+ flowVelocityStructureClosableMean, flowVelocityStructureClosableVariation,
+ insideWaterLevelMean, insideWaterLevelStandardDeviation,
+ allowedLevelIncreaseStorageMean, allowedLevelIncreaseStorageStandardDeviation,
+ modelFactorStorageVolumeMean, modelFactorStorageVolumeStandardDeviation,
+ storageStructureAreaMean, storageStructureAreaVariation,
+ modelFactorInflowVolume,
+ flowWidthAtBottomProtectionMean, flowWidthAtBottomProtectionStandardDeviation,
+ criticalOvertoppingDischargeMean, criticalOvertoppingDischargeVariation,
+ failureProbabilityStructureWithErosion,
+ stormDurationMean, stormDurationVariation,
+ modelFactorLongThresholdMean, modelFactorLongThresholdStandardDeviation,
+ bankWidthMean, bankWidthStandardDeviation,
+ evaluationLevel,
+ modelFactorLoadEffectMean, modelFactorLoadEffectStandardDeviation,
+ waveRatioMaxHN, waveRatioMaxHStandardDeviation,
+ verticalDistance,
+ modificationFactorWavesSlowlyVaryingPressureComponent,
+ modificationFactorDynamicOrImpulsivePressureComponent)
+ {
+ this.constructiveStrengthLinearLoadModelMean = constructiveStrengthLinearLoadModelMean;
+ this.constructiveStrengthLinearLoadModelVariation = constructiveStrengthLinearLoadModelVariation;
+ this.stabilityLinearLoadModelMean = stabilityLinearLoadModelMean;
+ this.stabilityLinearLoadModelVariation = stabilityLinearLoadModelVariation;
+ this.widthFlowAperturesMean = widthFlowAperturesMean;
+ this.widthFlowAperturesStandardDeviation = widthFlowAperturesStandardDeviation;
+ }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ List variables = base.Variables.ToList();
+ variables.AddRange(GetVariables());
+
+ return variables.OrderBy(v => v.VariableId);
+ }
+ }
+
+ public override int? GetSubMechanismModelId(int subMechanismId)
+ {
+ switch (subMechanismId)
+ {
+ case 424:
+ return 106;
+ case 425:
+ return 111;
+ case 430:
+ return 114;
+ case 435:
+ return 116;
+ default:
+ return null;
+ }
+ }
+
+ private IEnumerable GetVariables()
+ {
+ yield return new LogNormalHydraRingVariable(80, HydraRingDeviationType.Variation, constructiveStrengthLinearLoadModelMean, constructiveStrengthLinearLoadModelVariation);
+ yield return new LogNormalHydraRingVariable(83, HydraRingDeviationType.Variation, stabilityLinearLoadModelMean, stabilityLinearLoadModelVariation);
+ yield return new NormalHydraRingVariable(106, HydraRingDeviationType.Standard, widthFlowAperturesMean, widthFlowAperturesStandardDeviation);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointLowSillQuadraticCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointLowSillQuadraticCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointLowSillQuadraticCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,222 @@
+// Copyright (C) Stichting Deltares 2018. 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 System.Linq;
+using Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.Structures
+{
+ ///
+ /// Container of all data necessary for performing a quadratic low sill based structures stability point calculation via Hydra-Ring.
+ ///
+ public class StructuresStabilityPointLowSillQuadraticCalculationInput : StructuresStabilityPointCalculationInput
+ {
+ private readonly double constructiveStrengthQuadraticLoadModelMean;
+ private readonly double constructiveStrengthQuadraticLoadModelVariation;
+ private readonly double stabilityQuadraticLoadModelMean;
+ private readonly double stabilityQuadraticLoadModelVariation;
+ private readonly double widthFlowAperturesMean;
+ private readonly double widthFlowAperturesStandardDeviation;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The id of the hydraulic boundary location.
+ /// The normal of the section.
+ /// The foreland points.
+ /// The break water.
+ /// The volumic weight of water.
+ /// The gravitational acceleration.
+ /// The mean of the crest level of the structure.
+ /// The standard deviation of the crest level of the structure.
+ /// The orientation of the normal of the structure.
+ /// The factor of the storm duration for an open structure.
+ /// The mean of the threshold height open weir.
+ /// The standard deviation of the threshold height open weir.
+ /// The mean of the inside water level at failure of construction.
+ /// The standard deviation of the inside water level at failure of construction.
+ /// The failure probability repair closure.
+ /// The mean of the failure collision energy.
+ /// The variation of the failure collision energy.
+ /// The mean of the model factor collision load.
+ /// The variation of the model factor collision load.
+ /// The mean of the ship mass.
+ /// The variation of the ship mass.
+ /// The mean of the ship velocity.
+ /// The variation of the ship velocity.
+ /// The levelling count.
+ /// The probability of collision of the secondary structure.
+ /// The mean of the flow velocity structure closable.
+ /// The variation of the flow velocity structure closable.
+ /// The mean of the inside water level.
+ /// The standard deviation of the inside water level.
+ /// The mean of the allowed level of increase for storage.
+ /// The standard deviation of the allowed level of increase for storage.
+ /// The mean of the model factor storage volume.
+ /// The standard deviation of the model factor storage volume.
+ /// The mean of the storage structure area.
+ /// The variation of the storage structure area.
+ /// The model factor inflow volume.
+ /// The mean of the flow width at bottom protection.
+ /// The standard deviation of the flow width at bottom protection.
+ /// The mean of the critical overtopping discharge.
+ /// The variation of the critical overtopping discharge.
+ /// The failure probability structure with erosion.
+ /// The mean of the storm duration.
+ /// The variation of the storm duration.
+ /// The mean of the model factor long threshold.
+ /// The standard deviation of the model factor long threshold.
+ /// The mean of the bank width.
+ /// The standard deviation of the bank width.
+ /// The evaluation level.
+ /// The mean of the model factor load effect.
+ /// The standard deviation of the model factor load effect.
+ /// The N of the wave ratio max h.
+ /// The standard deviation of the wave ratio max h.
+ /// The vertical distance.
+ /// The modification factor waves slowly-varying pressure component.
+ /// The modification factor dynamic or impulsive pressure component.
+ /// The mean of the constructive strength quadratic load model.
+ /// The variation of the constructive strength quadratic load model.
+ /// The mean of the stability quadratic load model.
+ /// The variation of the stability quadratic load model.
+ /// The mean of the width flow apertures.
+ /// The standard deviation of the width flow apertures.
+ public StructuresStabilityPointLowSillQuadraticCalculationInput(long hydraulicBoundaryLocationId,
+ double sectionNormal,
+ IEnumerable forelandPoints,
+ HydraRingBreakWater breakWater,
+ double volumicWeightWater,
+ double gravitationalAcceleration,
+ double levelCrestStructureMean, double levelCrestStructureStandardDeviation,
+ double structureNormalOrientation,
+ double factorStormDurationOpenStructure,
+ double thresholdHeightOpenWeirMean, double thresholdHeightOpenWeirStandardDeviation,
+ double insideWaterLevelFailureConstructionMean, double insideWaterLevelFailureConstructionStandardDeviation,
+ double failureProbabilityRepairClosure,
+ double failureCollisionEnergyMean, double failureCollisionEnergyVariation,
+ double modelFactorCollisionLoadMean, double modelFactorCollisionLoadVariation,
+ double shipMassMean, double shipMassVariation,
+ double shipVelocityMean, double shipVelocityVariation,
+ int levellingCount,
+ double probabilityCollisionSecondaryStructure,
+ double flowVelocityStructureClosableMean, double flowVelocityStructureClosableVariation,
+ double insideWaterLevelMean, double insideWaterLevelStandardDeviation,
+ double allowedLevelIncreaseStorageMean, double allowedLevelIncreaseStorageStandardDeviation,
+ double modelFactorStorageVolumeMean, double modelFactorStorageVolumeStandardDeviation,
+ double storageStructureAreaMean, double storageStructureAreaVariation,
+ double modelFactorInflowVolume,
+ double flowWidthAtBottomProtectionMean, double flowWidthAtBottomProtectionStandardDeviation,
+ double criticalOvertoppingDischargeMean, double criticalOvertoppingDischargeVariation,
+ double failureProbabilityStructureWithErosion,
+ double stormDurationMean, double stormDurationVariation,
+ double modelFactorLongThresholdMean, double modelFactorLongThresholdStandardDeviation,
+ double bankWidthMean, double bankWidthStandardDeviation,
+ double evaluationLevel,
+ double modelFactorLoadEffectMean, double modelFactorLoadEffectStandardDeviation,
+ double waveRatioMaxHN, double waveRatioMaxHStandardDeviation,
+ double verticalDistance,
+ double modificationFactorWavesSlowlyVaryingPressureComponent,
+ double modificationFactorDynamicOrImpulsivePressureComponent,
+ double constructiveStrengthQuadraticLoadModelMean, double constructiveStrengthQuadraticLoadModelVariation,
+ double stabilityQuadraticLoadModelMean, double stabilityQuadraticLoadModelVariation,
+ double widthFlowAperturesMean, double widthFlowAperturesStandardDeviation)
+ : base(hydraulicBoundaryLocationId,
+ sectionNormal,
+ forelandPoints, breakWater,
+ volumicWeightWater,
+ gravitationalAcceleration,
+ levelCrestStructureMean, levelCrestStructureStandardDeviation,
+ structureNormalOrientation,
+ factorStormDurationOpenStructure,
+ thresholdHeightOpenWeirMean, thresholdHeightOpenWeirStandardDeviation,
+ insideWaterLevelFailureConstructionMean, insideWaterLevelFailureConstructionStandardDeviation,
+ failureProbabilityRepairClosure,
+ failureCollisionEnergyMean, failureCollisionEnergyVariation,
+ modelFactorCollisionLoadMean, modelFactorCollisionLoadVariation,
+ shipMassMean, shipMassVariation,
+ shipVelocityMean, shipVelocityVariation,
+ levellingCount,
+ probabilityCollisionSecondaryStructure,
+ flowVelocityStructureClosableMean, flowVelocityStructureClosableVariation,
+ insideWaterLevelMean, insideWaterLevelStandardDeviation,
+ allowedLevelIncreaseStorageMean, allowedLevelIncreaseStorageStandardDeviation,
+ modelFactorStorageVolumeMean, modelFactorStorageVolumeStandardDeviation,
+ storageStructureAreaMean, storageStructureAreaVariation,
+ modelFactorInflowVolume,
+ flowWidthAtBottomProtectionMean, flowWidthAtBottomProtectionStandardDeviation,
+ criticalOvertoppingDischargeMean, criticalOvertoppingDischargeVariation,
+ failureProbabilityStructureWithErosion,
+ stormDurationMean, stormDurationVariation,
+ modelFactorLongThresholdMean, modelFactorLongThresholdStandardDeviation,
+ bankWidthMean, bankWidthStandardDeviation,
+ evaluationLevel,
+ modelFactorLoadEffectMean, modelFactorLoadEffectStandardDeviation,
+ waveRatioMaxHN, waveRatioMaxHStandardDeviation,
+ verticalDistance,
+ modificationFactorWavesSlowlyVaryingPressureComponent,
+ modificationFactorDynamicOrImpulsivePressureComponent)
+ {
+ this.constructiveStrengthQuadraticLoadModelMean = constructiveStrengthQuadraticLoadModelMean;
+ this.constructiveStrengthQuadraticLoadModelVariation = constructiveStrengthQuadraticLoadModelVariation;
+ this.stabilityQuadraticLoadModelMean = stabilityQuadraticLoadModelMean;
+ this.stabilityQuadraticLoadModelVariation = stabilityQuadraticLoadModelVariation;
+ this.widthFlowAperturesMean = widthFlowAperturesMean;
+ this.widthFlowAperturesStandardDeviation = widthFlowAperturesStandardDeviation;
+ }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ List variables = base.Variables.ToList();
+ variables.AddRange(GetVariables());
+
+ return variables.OrderBy(v => v.VariableId);
+ }
+ }
+
+ public override int? GetSubMechanismModelId(int subMechanismId)
+ {
+ switch (subMechanismId)
+ {
+ case 424:
+ return 106;
+ case 425:
+ return 111;
+ case 430:
+ return 115;
+ case 435:
+ return 117;
+ default:
+ return null;
+ }
+ }
+
+ private IEnumerable GetVariables()
+ {
+ yield return new LogNormalHydraRingVariable(81, HydraRingDeviationType.Variation, constructiveStrengthQuadraticLoadModelMean, constructiveStrengthQuadraticLoadModelVariation);
+ yield return new LogNormalHydraRingVariable(84, HydraRingDeviationType.Variation, stabilityQuadraticLoadModelMean, stabilityQuadraticLoadModelVariation);
+ yield return new NormalHydraRingVariable(106, HydraRingDeviationType.Standard, widthFlowAperturesMean, widthFlowAperturesStandardDeviation);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,114 @@
+// Copyright (C) Stichting Deltares 2018. 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 Core.Common.Util;
+using Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.WaveConditions
+{
+ ///
+ /// Container of all data necessary for performing a wave conditions calculation (Q-variant) via Hydra-Ring.
+ ///
+ public abstract class WaveConditionsCalculationInput : HydraRingCalculationInput
+ {
+ private readonly double waterLevel;
+ private readonly double a;
+ private readonly double b;
+
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The id of the section.
+ /// The normal of the section.
+ /// The id of the hydraulic boundary location.
+ /// The norm.
+ /// The foreland points.
+ /// The break water.
+ /// The water level to calculate the wave conditions for.
+ /// The a-value.
+ /// The b-value.
+ /// As a part of the constructor, the is automatically converted into a reliability index.
+ protected WaveConditionsCalculationInput(int sectionId,
+ double sectionNormal,
+ long hydraulicBoundaryLocationId,
+ double norm,
+ IEnumerable forelandPoints,
+ HydraRingBreakWater breakWater,
+ double waterLevel,
+ double a,
+ double b)
+ : base(hydraulicBoundaryLocationId)
+ {
+ Section = new HydraRingSection(sectionId, double.NaN, sectionNormal);
+ Beta = StatisticsConverter.ProbabilityToReliability(norm);
+ ForelandsPoints = forelandPoints;
+ BreakWater = breakWater;
+
+ this.waterLevel = waterLevel;
+ this.a = a;
+ this.b = b;
+ }
+
+ public override HydraRingFailureMechanismType FailureMechanismType
+ {
+ get
+ {
+ return HydraRingFailureMechanismType.QVariant;
+ }
+ }
+
+ public override int CalculationTypeId
+ {
+ get
+ {
+ return 8;
+ }
+ }
+
+ public override int VariableId
+ {
+ get
+ {
+ return 114;
+ }
+ }
+
+ public override HydraRingSection Section { get; }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ yield return new DeterministicHydraRingVariable(113, waterLevel);
+ yield return new DeterministicHydraRingVariable(114, 1.0);
+ yield return new DeterministicHydraRingVariable(115, a);
+ yield return new DeterministicHydraRingVariable(116, b);
+ }
+ }
+
+ public override IEnumerable ForelandsPoints { get; }
+
+ public override HydraRingBreakWater BreakWater { get; }
+
+ public override double Beta { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsCosineCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsCosineCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsCosineCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,94 @@
+// Copyright (C) Stichting Deltares 2018. 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 System.Linq;
+using Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.WaveConditions
+{
+ ///
+ /// Container of all data necessary for performing a cosine based wave conditions calculation (Q-variant) via Hydra-Ring.
+ ///
+ public class WaveConditionsCosineCalculationInput : WaveConditionsCalculationInput
+ {
+ private readonly double c;
+
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The id of the section.
+ /// The normal of the section.
+ /// The id of the hydraulic boundary location.
+ /// The norm.
+ /// The foreland points.
+ /// The break water.
+ /// The water level to calculate the wave conditions for.
+ /// The a-value.
+ /// The b-value.
+ /// The c-value.
+ public WaveConditionsCosineCalculationInput(int sectionId,
+ double sectionNormal,
+ long hydraulicBoundaryLocationId,
+ double norm,
+ IEnumerable forelandPoints,
+ HydraRingBreakWater breakWater,
+ double waterLevel,
+ double a,
+ double b,
+ double c)
+ : base(sectionId,
+ sectionNormal,
+ hydraulicBoundaryLocationId,
+ norm,
+ forelandPoints,
+ breakWater,
+ waterLevel,
+ a,
+ b)
+ {
+ this.c = c;
+ }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ List variables = base.Variables.ToList();
+
+ variables.Add(new DeterministicHydraRingVariable(119, c));
+
+ return variables;
+ }
+ }
+
+ public override int? GetSubMechanismModelId(int subMechanismId)
+ {
+ switch (subMechanismId)
+ {
+ case 5:
+ return 71;
+ default:
+ return null;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsTrapezoidCalculationInput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsTrapezoidCalculationInput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsTrapezoidCalculationInput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,99 @@
+// Copyright (C) Stichting Deltares 2018. 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 System.Linq;
+using Riskeer.HydraRing.Calculation.Data.Variables;
+
+namespace Riskeer.HydraRing.Calculation.Data.Input.WaveConditions
+{
+ ///
+ /// Container of all data necessary for performing a trapezoid based wave conditions calculation (Q-variant) via Hydra-Ring.
+ ///
+ public class WaveConditionsTrapezoidCalculationInput : WaveConditionsCalculationInput
+ {
+ private readonly double beta1;
+ private readonly double beta2;
+
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The id of the section.
+ /// The normal of the section.
+ /// The id of the hydraulic boundary location.
+ /// The norm.
+ /// The foreland points.
+ /// The break water.
+ /// The water level to calculate the wave conditions for.
+ /// The a-value.
+ /// The b-value.
+ /// The beta1-value.
+ /// The beta2-value.
+ public WaveConditionsTrapezoidCalculationInput(int sectionId,
+ double sectionNormal,
+ long hydraulicBoundaryLocationId,
+ double norm,
+ IEnumerable forelandPoints,
+ HydraRingBreakWater breakWater,
+ double waterLevel,
+ double a,
+ double b,
+ double beta1,
+ double beta2)
+ : base(sectionId,
+ sectionNormal,
+ hydraulicBoundaryLocationId,
+ norm,
+ forelandPoints,
+ breakWater,
+ waterLevel,
+ a,
+ b)
+ {
+ this.beta1 = beta1;
+ this.beta2 = beta2;
+ }
+
+ public override IEnumerable Variables
+ {
+ get
+ {
+ List variables = base.Variables.ToList();
+
+ variables.Add(new DeterministicHydraRingVariable(117, beta1));
+ variables.Add(new DeterministicHydraRingVariable(118, beta2));
+
+ return variables;
+ }
+ }
+
+ public override int? GetSubMechanismModelId(int subMechanismId)
+ {
+ switch (subMechanismId)
+ {
+ case 5:
+ return 70;
+ default:
+ return null;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/DunesBoundaryConditionsCalculationOutput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/DunesBoundaryConditionsCalculationOutput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/DunesBoundaryConditionsCalculationOutput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,57 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Output
+{
+ ///
+ /// Class containing the results of a Hydra-Ring dunes boundary conditions calculation.
+ ///
+ public class DunesBoundaryConditionsCalculationOutput
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The calculated water level.
+ /// The calculated wave height.
+ /// The calculated wave period.
+ public DunesBoundaryConditionsCalculationOutput(double waterLevel, double waveHeight, double wavePeriod)
+ {
+ WaterLevel = waterLevel;
+ WaveHeight = waveHeight;
+ WavePeriod = wavePeriod;
+ }
+
+ ///
+ /// Gets the calculated water level.
+ ///
+ public double WaterLevel { get; }
+
+ ///
+ /// Gets the calculated wave height.
+ ///
+ public double WaveHeight { get; }
+
+ ///
+ /// Gets the calculated wave period.
+ ///
+ public double WavePeriod { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/CombinationType.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/CombinationType.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/CombinationType.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,32 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints
+{
+ ///
+ /// The ways two illustration points can be combined in a result.
+ ///
+ public enum CombinationType
+ {
+ Or,
+ And
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/FaultTreeIllustrationPoint.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/FaultTreeIllustrationPoint.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/FaultTreeIllustrationPoint.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,83 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+
+namespace Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints
+{
+ ///
+ /// An illustration point which uses the results of two sub illustration points
+ /// to obtain a result.
+ ///
+ public class FaultTreeIllustrationPoint : IIllustrationPoint
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The name of the fault tree illustration point
+ /// The combined beta values of its children.
+ /// The combined stochasts of its children.
+ /// The way in which the sub illustration points are combined.
+ /// Thrown when is null.
+ public FaultTreeIllustrationPoint(string name,
+ double beta,
+ IEnumerable stochasts,
+ CombinationType combinationType)
+ {
+ if (name == null)
+ {
+ throw new ArgumentNullException(nameof(name));
+ }
+
+ if (stochasts == null)
+ {
+ throw new ArgumentNullException(nameof(stochasts));
+ }
+
+ Beta = beta;
+ CombinationType = combinationType;
+ Name = name;
+ Stochasts = stochasts;
+ }
+
+ ///
+ /// Gets the name.
+ ///
+ public string Name { get; }
+
+ ///
+ /// Gets the combined stochasts of its children.
+ ///
+ public IEnumerable Stochasts { get; }
+
+ ///
+ /// Gets the combined beta values of its children.
+ ///
+ public double Beta { get; }
+
+ ///
+ /// Gets the way in which the sub illustration points are combined to
+ /// obtain a result for the fault tree illustration point.
+ ///
+ public CombinationType CombinationType { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/GeneralResult.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/GeneralResult.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/GeneralResult.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,86 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+
+namespace Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints
+{
+ ///
+ /// The general illustration points result.
+ ///
+ public class GeneralResult
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The general beta value.
+ /// The governing wind direction.
+ /// The general alpha stochast values.
+ /// The trees of illustration points for each wind direction.
+ /// Thrown when ,
+ /// , or is null.
+ public GeneralResult(double beta, WindDirection governingWindDirection,
+ IEnumerable stochasts,
+ Dictionary illustrationPoints)
+ {
+ if (governingWindDirection == null)
+ {
+ throw new ArgumentNullException(nameof(governingWindDirection));
+ }
+
+ if (stochasts == null)
+ {
+ throw new ArgumentNullException(nameof(stochasts));
+ }
+
+ if (illustrationPoints == null)
+ {
+ throw new ArgumentNullException(nameof(illustrationPoints));
+ }
+
+ Beta = beta;
+ GoverningWindDirection = governingWindDirection;
+ Stochasts = stochasts;
+ IllustrationPoints = illustrationPoints;
+ }
+
+ ///
+ /// Gets the general beta value.
+ ///
+ public double Beta { get; }
+
+ ///
+ /// Gets the governing wind direction.
+ ///
+ public WindDirection GoverningWindDirection { get; }
+
+ ///
+ /// Gets the general alpha values.
+ ///
+ public IEnumerable Stochasts { get; }
+
+ ///
+ /// Gets the tree of illustration points for each wind direction and closing situation.
+ ///
+ public Dictionary IllustrationPoints { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/IIllustrationPoint.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/IIllustrationPoint.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/IIllustrationPoint.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,28 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints
+{
+ ///
+ /// Placeholder interface for an illustration point.
+ ///
+ public interface IIllustrationPoint {}
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/IllustrationPointResult.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/IllustrationPointResult.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/IllustrationPointResult.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,59 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+
+namespace Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints
+{
+ ///
+ /// An output variable for a sub mechanism illustration point.
+ ///
+ public class IllustrationPointResult
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The description.
+ /// The output of the sub mechanism illustration point.
+ /// Thrown when
+ /// is null.
+ public IllustrationPointResult(string description, double value)
+ {
+ if (description == null)
+ {
+ throw new ArgumentNullException(nameof(description));
+ }
+
+ Description = description;
+ Value = value;
+ }
+
+ ///
+ /// Gets the description.
+ ///
+ public string Description { get; }
+
+ ///
+ /// Gets the value.
+ ///
+ public double Value { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/IllustrationPointTreeNode.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/IllustrationPointTreeNode.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/IllustrationPointTreeNode.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,86 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using System.Linq;
+using Riskeer.HydraRing.Calculation.Properties;
+
+namespace Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints
+{
+ ///
+ /// A node that is part of a tree, that has illustration point data attached to it.
+ /// Multiple nodes form the tree structure describing how the illustration points are
+ /// related.
+ ///
+ public class IllustrationPointTreeNode
+ {
+ ///
+ /// Creates a new node with associated data.
+ ///
+ /// The data that is attached to this node.
+ /// Thrown when
+ /// is null.
+ public IllustrationPointTreeNode(IIllustrationPoint data)
+ {
+ if (data == null)
+ {
+ throw new ArgumentNullException(nameof(data));
+ }
+
+ Data = data;
+ Children = Enumerable.Empty();
+ }
+
+ ///
+ /// Gets the data attached to this node.
+ ///
+ public IIllustrationPoint Data { get; }
+
+ ///
+ /// Gets the child nodes of this node.
+ ///
+ public IEnumerable Children { get; private set; }
+
+ ///
+ /// Sets the children to this node.
+ ///
+ /// The children that are attached to this node.
+ /// Thrown when
+ /// does not contain 0 or 2 elements.
+ public void SetChildren(IllustrationPointTreeNode[] children)
+ {
+ if (children == null)
+ {
+ throw new ArgumentNullException(nameof(children));
+ }
+
+ int nrOfChildren = children.Length;
+ if (nrOfChildren != 0 && nrOfChildren != 2)
+ {
+ throw new ArgumentException(Resources.IllustrationPointTreeNode_SetChildren_Node_must_have_zero_or_two_child_nodes,
+ nameof(children));
+ }
+
+ Children = children;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/Stochast.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/Stochast.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/Stochast.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,66 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+
+namespace Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints
+{
+ ///
+ /// Container of alpha value definitions read from a Hydra-Ring output database.
+ ///
+ public class Stochast
+ {
+ ///
+ /// Creates an instance of .
+ ///
+ /// The name.
+ /// The duration.
+ /// The alpha value.
+ /// Thrown when
+ /// is null.
+ public Stochast(string name, double duration, double alpha)
+ {
+ if (name == null)
+ {
+ throw new ArgumentNullException(nameof(name));
+ }
+
+ Name = name;
+ Duration = duration;
+ Alpha = alpha;
+ }
+
+ ///
+ /// Gets the name.
+ ///
+ public string Name { get; }
+
+ ///
+ /// Gets the duration.
+ ///
+ public double Duration { get; }
+
+ ///
+ /// Gets the alpha value.
+ ///
+ public double Alpha { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/SubMechanismIllustrationPoint.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/SubMechanismIllustrationPoint.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/SubMechanismIllustrationPoint.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,90 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+
+namespace Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints
+{
+ ///
+ /// Illustration point which contains the result of applying the sub mechanism.
+ ///
+ public class SubMechanismIllustrationPoint : IIllustrationPoint
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The name of the illustration point.
+ /// A collection of
+ /// that are associated with this illustration point.
+ /// A collection of
+ /// that are associated with this
+ /// illustration point.
+ /// The beta value of the illustration point
+ /// Thrown when ,
+ /// , or is null.
+ public SubMechanismIllustrationPoint(string name,
+ IEnumerable stochasts,
+ IEnumerable illustrationPointResults,
+ double beta)
+ {
+ if (name == null)
+ {
+ throw new ArgumentNullException(nameof(name));
+ }
+
+ if (stochasts == null)
+ {
+ throw new ArgumentNullException(nameof(stochasts));
+ }
+
+ if (illustrationPointResults == null)
+ {
+ throw new ArgumentNullException(nameof(illustrationPointResults));
+ }
+
+ Name = name;
+ Beta = beta;
+ Stochasts = stochasts;
+ Results = illustrationPointResults;
+ }
+
+ ///
+ /// Gets the name of the illustration point.
+ ///
+ public string Name { get; }
+
+ ///
+ /// Gets the realized stochasts that belong to this sub mechanism illustration point.
+ ///
+ public IEnumerable Stochasts { get; }
+
+ ///
+ /// Gets the beta value that was realized.
+ ///
+ public double Beta { get; }
+
+ ///
+ /// Gets the output variables.
+ ///
+ public IEnumerable Results { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/SubMechanismIllustrationPointStochast.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/SubMechanismIllustrationPointStochast.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/SubMechanismIllustrationPointStochast.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,52 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+
+namespace Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints
+{
+ ///
+ /// Container of alpha value definitions read from a Hydra-Ring output database with
+ /// a realization of the described stochast.
+ ///
+ public class SubMechanismIllustrationPointStochast : Stochast
+ {
+ ///
+ /// Creates an new instance of .
+ ///
+ /// The name.
+ /// The duration.
+ /// The alpha.
+ /// The realization.
+ /// Thrown when
+ /// is null.
+ public SubMechanismIllustrationPointStochast(string name, double duration, double alpha, double realization)
+ : base(name, duration, alpha)
+ {
+ Realization = realization;
+ }
+
+ ///
+ /// Gets the realization.
+ ///
+ public double Realization { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/WindDirection.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/WindDirection.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/WindDirection.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,90 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+
+namespace Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints
+{
+ ///
+ /// A wind direction for which illustration points are determined.
+ ///
+ public class WindDirection
+ {
+ ///
+ /// Creates a .
+ ///
+ /// The descriptive name.
+ /// The angle.
+ public WindDirection(string name, double angle)
+ {
+ if (name == null)
+ {
+ throw new ArgumentNullException(nameof(name));
+ }
+
+ Name = name;
+ Angle = angle;
+ }
+
+ ///
+ /// Gets the descriptive name.
+ ///
+ public string Name { get; }
+
+ ///
+ /// Gets the angle.
+ ///
+ public double Angle { get; }
+
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj))
+ {
+ return false;
+ }
+
+ if (ReferenceEquals(this, obj))
+ {
+ return true;
+ }
+
+ if (GetType() != obj.GetType())
+ {
+ return false;
+ }
+
+ return Equals((WindDirection) obj);
+ }
+
+ public override int GetHashCode()
+ {
+ unchecked
+ {
+ return ((Name?.GetHashCode() ?? 0) * 397) ^ Angle.GetHashCode();
+ }
+ }
+
+ private bool Equals(WindDirection other)
+ {
+ return string.Equals(Name, other.Name) && Angle.Equals(other.Angle);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/WindDirectionClosingSituation.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/WindDirectionClosingSituation.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/IllustrationPoints/WindDirectionClosingSituation.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,98 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+
+namespace Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints
+{
+ ///
+ /// Combination of a wind direction and a closing situation.
+ ///
+ public class WindDirectionClosingSituation
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The wind direction.
+ /// The closing situation.
+ /// Thrown when any parameter is null.
+ ///
+ public WindDirectionClosingSituation(WindDirection windDirection, string closingSituation)
+ {
+ if (windDirection == null)
+ {
+ throw new ArgumentNullException(nameof(windDirection));
+ }
+
+ if (closingSituation == null)
+ {
+ throw new ArgumentNullException(nameof(closingSituation));
+ }
+
+ WindDirection = windDirection;
+ ClosingSituation = closingSituation;
+ }
+
+ ///
+ /// Gets the closing situation.
+ ///
+ public string ClosingSituation { get; }
+
+ ///
+ /// Gets the wind direction.
+ ///
+ public WindDirection WindDirection { get; }
+
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj))
+ {
+ return false;
+ }
+
+ if (ReferenceEquals(this, obj))
+ {
+ return true;
+ }
+
+ if (GetType() != obj.GetType())
+ {
+ return false;
+ }
+
+ return Equals((WindDirectionClosingSituation) obj);
+ }
+
+ public override int GetHashCode()
+ {
+ unchecked
+ {
+ return (WindDirection.GetHashCode() * 397) ^ ClosingSituation.GetHashCode();
+ }
+ }
+
+ private bool Equals(WindDirectionClosingSituation other)
+ {
+ return Equals(WindDirection, other.WindDirection)
+ && string.Equals(ClosingSituation, other.ClosingSituation);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/OvertoppingCalculationWaveHeightOutput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/OvertoppingCalculationWaveHeightOutput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/OvertoppingCalculationWaveHeightOutput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,52 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Output
+{
+ ///
+ /// Class containing the results of a Hydra-Ring calculation for the sub failure mechanism overtopping.
+ ///
+ public class OvertoppingCalculationWaveHeightOutput
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The resulting wave height.
+ /// The value indicating whether the overtopping
+ /// sub failure mechanism was dominant over the overflow sub failure mechanism.
+ public OvertoppingCalculationWaveHeightOutput(double waveHeight, bool isOvertoppingDominant)
+ {
+ WaveHeight = waveHeight;
+ IsOvertoppingDominant = isOvertoppingDominant;
+ }
+
+ ///
+ /// Gets the wave height that was a result of the overtopping calculation.
+ ///
+ public double WaveHeight { get; }
+
+ ///
+ /// Gets whether the overtopping sub failure mechanism was dominant over
+ /// the overflow sub failure mechanism.
+ ///
+ public bool IsOvertoppingDominant { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/ReliabilityIndexCalculationOutput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/ReliabilityIndexCalculationOutput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/ReliabilityIndexCalculationOutput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,51 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Output
+{
+ ///
+ /// Container of all relevant output generated by Hydra-Ring calculations that
+ /// iterate towards a reliability index.
+ ///
+ public class ReliabilityIndexCalculationOutput
+ {
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The result corresponding to .
+ /// The actual reliability index that was reached.
+ public ReliabilityIndexCalculationOutput(double result, double calculatedReliabilityIndex)
+ {
+ Result = result;
+ CalculatedReliabilityIndex = calculatedReliabilityIndex;
+ }
+
+ ///
+ /// Gets the result corresponding to .
+ ///
+ public double Result { get; }
+
+ ///
+ /// Gets the actual reliability index that was reached.
+ ///
+ public double CalculatedReliabilityIndex { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/WaveConditionsCalculationOutput.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/WaveConditionsCalculationOutput.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Output/WaveConditionsCalculationOutput.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,64 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Output
+{
+ ///
+ /// Class containing the results of a Hydra-Ring wave conditions calculation.
+ /// s
+ public class WaveConditionsCalculationOutput
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The calculated wave height.
+ /// The calculated wave peak period.
+ /// The calculated wave angle with respect to the dike normal..
+ /// The calculated wave direction with respect to North.
+ public WaveConditionsCalculationOutput(double waveHeight, double wavePeakPeriod, double waveAngle, double waveDirection)
+ {
+ WaveHeight = waveHeight;
+ WavePeakPeriod = wavePeakPeriod;
+ WaveAngle = waveAngle;
+ WaveDirection = waveDirection;
+ }
+
+ ///
+ /// Gets the calculated wave height.
+ ///
+ public double WaveHeight { get; }
+
+ ///
+ /// Gets the calculated wave peak period.
+ ///
+ public double WavePeakPeriod { get; }
+
+ ///
+ /// Gets the calculated wave angle with respect to the dike normal.
+ ///
+ public double WaveAngle { get; }
+
+ ///
+ /// Gets the calculated wave direction with respect to North.
+ ///
+ public double WaveDirection { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Settings/DesignTablesSetting.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Settings/DesignTablesSetting.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Settings/DesignTablesSetting.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,52 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Settings
+{
+ ///
+ /// Container for design tables settings.
+ ///
+ public class DesignTablesSetting
+ {
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The minimum value to use while iterating towards a reliability index.
+ /// The maximum value to use while iterating towards a reliability index.
+ public DesignTablesSetting(double valueMin, double valueMax)
+ {
+ ValueMin = valueMin;
+ ValueMax = valueMax;
+ }
+
+ ///
+ /// Gets the minimum value to use while iterating towards a reliability index.
+ ///
+ /// Only relevant for calculations that iterate towards a reliability index.
+ public double ValueMin { get; }
+
+ ///
+ /// Gets the maximum value to use while iterating towards a reliability index.
+ ///
+ /// Only relevant for calculations that iterate towards a reliability index.
+ public double ValueMax { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Settings/NumericsSetting.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Settings/NumericsSetting.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Settings/NumericsSetting.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,140 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Settings
+{
+ ///
+ /// Container for numerics settings.
+ ///
+ public class NumericsSetting
+ {
+ ///
+ /// 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 NumericsSetting(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)
+ {
+ CalculationTechniqueId = calculationTechniqueId;
+ FormStartMethod = formStartMethod;
+ FormNumberOfIterations = formNumberOfIterations;
+ FormRelaxationFactor = formRelaxationFactor;
+ FormEpsBeta = formEpsBeta;
+ FormEpsHoh = formEpsHoh;
+ FormEpsZFunc = formEpsZFunc;
+ DsStartMethod = dsStartMethod;
+ DsMinNumberOfIterations = dsMinNumberOfIterations;
+ DsMaxNumberOfIterations = dsMaxNumberOfIterations;
+ DsVarCoefficient = dsVarCoefficient;
+ NiUMin = niUMin;
+ NiUMax = niUMax;
+ NiNumberSteps = niNumberSteps;
+ }
+
+ ///
+ /// Gets the id of the calculation technique that should be used.
+ ///
+ public int CalculationTechniqueId { get; }
+
+ ///
+ /// Gets the FORM start method.
+ ///
+ public int FormStartMethod { get; }
+
+ ///
+ /// Gets the maximum number of FORM iterations to perform.
+ ///
+ public int FormNumberOfIterations { get; }
+
+ ///
+ /// Gets a relaxation towards the design point for FORM.
+ ///
+ public double FormRelaxationFactor { get; }
+
+ ///
+ /// Gets one of the three convergence criteria for FORM.
+ ///
+ ///
+ ///
+ public double FormEpsBeta { get; }
+
+ ///
+ /// Gets one of the three convergence criteria for FORM.
+ ///
+ ///
+ ///
+ public double FormEpsHoh { get; }
+
+ ///
+ /// Gets one of the three convergence criteria for FORM.
+ ///
+ ///
+ ///
+ public double FormEpsZFunc { get; }
+
+ ///
+ /// Gets the DIRS start method.
+ ///
+ public int DsStartMethod { get; }
+
+ ///
+ /// Gets the minimum number of DIRS iterations to perform.
+ ///
+ public int DsMinNumberOfIterations { get; }
+
+ ///
+ /// Gets the maximum number of DIRS iterations to perform.
+ ///
+ public int DsMaxNumberOfIterations { get; }
+
+ ///
+ /// Gets the variation coefficient to use within the DIRS iterations.
+ ///
+ public double DsVarCoefficient { get; }
+
+ ///
+ /// Gets the lower size limit of a uniform grid deployed by NINT.
+ ///
+ public double NiUMin { get; }
+
+ ///
+ /// Gets the upper size limit of a uniform grid deployed by NINT.
+ ///
+ public double NiUMax { get; }
+
+ ///
+ /// Gets the number of steps between and for NINT.
+ ///
+ public int NiNumberSteps { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Settings/PreprocessorSetting.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Settings/PreprocessorSetting.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Settings/PreprocessorSetting.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,83 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+
+namespace Riskeer.HydraRing.Calculation.Data.Settings
+{
+ ///
+ /// Container for preprocessor settings.
+ ///
+ public class PreprocessorSetting
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// is set to false; and
+ /// are set to ; is set to null.
+ public PreprocessorSetting()
+ {
+ ValueMin = double.NaN;
+ ValueMax = double.NaN;
+ }
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The minimum value to use while running the preprocessor.
+ /// The maximum value to use while running the preprocessor.
+ /// The numerics settings to use while running the preprocessor.
+ /// Thrown when is null.
+ /// is set to true.
+ public PreprocessorSetting(double valueMin, double valueMax, NumericsSetting numericsSetting)
+ {
+ if (numericsSetting == null)
+ {
+ throw new ArgumentNullException(nameof(numericsSetting));
+ }
+
+ RunPreprocessor = true;
+ ValueMin = valueMin;
+ ValueMax = valueMax;
+ NumericsSetting = numericsSetting;
+ }
+
+ ///
+ /// Gets a value indicating whether the preprocessor should be run.
+ ///
+ public bool RunPreprocessor { get; }
+
+ ///
+ /// Gets the minimum value to use while running the preprocessor.
+ ///
+ public double ValueMin { get; }
+
+ ///
+ /// Gets the maximum value to use while running the preprocessor.
+ ///
+ public double ValueMax { get; }
+
+ ///
+ /// Get the numerics settings to use while running the preprocessor.
+ ///
+ public NumericsSetting NumericsSetting { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Settings/TimeIntegrationSetting.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Settings/TimeIntegrationSetting.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Settings/TimeIntegrationSetting.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Settings
+{
+ ///
+ /// Container for time integration settings.
+ ///
+ public class TimeIntegrationSetting
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The time integration scheme id to use in a calculation.
+ public TimeIntegrationSetting(int timeIntegrationSchemeId)
+ {
+ TimeIntegrationSchemeId = timeIntegrationSchemeId;
+ }
+
+ ///
+ /// Gets the time integration scheme id to use in a calculation.
+ ///
+ public int TimeIntegrationSchemeId { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/DeterministicHydraRingVariable.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/DeterministicHydraRingVariable.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/DeterministicHydraRingVariable.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,58 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Variables
+{
+ ///
+ /// Class for Deterministic Hydra-Ring variable related data.
+ ///
+ public class DeterministicHydraRingVariable : HydraRingVariable
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The Hydra-Ring id corresponding to the variable that is considered.
+ /// The value of the variable.
+ public DeterministicHydraRingVariable(int variableId, double value)
+ : base(variableId)
+ {
+ Value = value;
+ }
+
+ public override double Value { get; }
+
+ public override HydraRingDistributionType DistributionType
+ {
+ get
+ {
+ return HydraRingDistributionType.Deterministic;
+ }
+ }
+
+ public override HydraRingDeviationType DeviationType
+ {
+ get
+ {
+ return HydraRingDeviationType.Standard;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/HydraRingVariable.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/HydraRingVariable.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/HydraRingVariable.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,119 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Variables
+{
+ ///
+ /// Abstract base class for Hydra-Ring variable related data.
+ ///
+ public abstract class HydraRingVariable
+ {
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The Hydra-Ring id corresponding to the variable that is considered.
+ protected HydraRingVariable(int variableId)
+ {
+ VariableId = variableId;
+ }
+
+ ///
+ /// Gets the Hydra-Ring id corresponding to the variable that is considered.
+ ///
+ public int VariableId { get; }
+
+ ///
+ /// Gets the value in case the variable is deterministic.
+ ///
+ public virtual double Value
+ {
+ get
+ {
+ return double.NaN;
+ }
+ }
+
+ ///
+ /// Gets the probability distribution of the variable.
+ ///
+ public abstract HydraRingDistributionType DistributionType { get; }
+
+ ///
+ /// Gets the deviation type of the variable.
+ ///
+ public abstract HydraRingDeviationType DeviationType { get; }
+
+ ///
+ /// Gets the parameter 1 value in case the variable is random.
+ ///
+ public virtual double Parameter1
+ {
+ get
+ {
+ return double.NaN;
+ }
+ }
+
+ ///
+ /// Gets the parameter 2 value in case the variable is random.
+ ///
+ public virtual double Parameter2
+ {
+ get
+ {
+ return double.NaN;
+ }
+ }
+
+ ///
+ /// Gets the parameter 3 value in case the variable is random.
+ ///
+ public virtual double Parameter3
+ {
+ get
+ {
+ return double.NaN;
+ }
+ }
+
+ ///
+ /// Gets the parameter 4 value in case the variable is random.
+ ///
+ public virtual double Parameter4
+ {
+ get
+ {
+ return double.NaN;
+ }
+ }
+
+ ///
+ /// Gets the coefficient of variation in case the variable is random.
+ ///
+ public virtual double CoefficientOfVariation
+ {
+ get
+ {
+ return double.NaN;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/LogNormalHydraRingVariable.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/LogNormalHydraRingVariable.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/LogNormalHydraRingVariable.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,54 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Variables
+{
+ ///
+ /// Class for LogNormal Hydra-Ring variable related data.
+ ///
+ public class LogNormalHydraRingVariable : RandomHydraRingVariable
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The Hydra-Ring id corresponding to the variable that is considered.
+ /// The deviation type of the variable.
+ /// The mean value of the variable.
+ /// The variance value of the variable.
+ /// The shift value of the variable.
+ public LogNormalHydraRingVariable(int variableId, HydraRingDeviationType deviationType,
+ double mean, double variance, double shift = double.NaN)
+ : base(variableId, deviationType, mean, variance)
+ {
+ Parameter3 = shift;
+ }
+
+ public override double Parameter3 { get; }
+
+ public override HydraRingDistributionType DistributionType
+ {
+ get
+ {
+ return HydraRingDistributionType.LogNormal;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/NormalHydraRingVariable.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/NormalHydraRingVariable.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/NormalHydraRingVariable.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,48 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Variables
+{
+ ///
+ /// Class for Normal Hydra-Ring variable related data.
+ ///
+ public class NormalHydraRingVariable : RandomHydraRingVariable
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The Hydra-Ring id corresponding to the variable that is considered.
+ /// The deviation type of the variable.
+ /// The mean value of the variable.
+ /// The variance value of the variable.
+ public NormalHydraRingVariable(int variableId, HydraRingDeviationType deviationType,
+ double mean, double variance)
+ : base(variableId, deviationType, mean, variance) {}
+
+ public override HydraRingDistributionType DistributionType
+ {
+ get
+ {
+ return HydraRingDistributionType.Normal;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/RandomHydraRingVariable.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/RandomHydraRingVariable.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/RandomHydraRingVariable.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,70 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Variables
+{
+ ///
+ /// Class for random Hydra-Ring variable related data.
+ ///
+ public abstract class RandomHydraRingVariable : HydraRingVariable
+ {
+ private readonly double variance;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The Hydra-Ring id corresponding to the variable that is considered.
+ /// The deviation type of the variable.
+ /// The mean value of the variable.
+ /// The variance value of the variable.
+ protected RandomHydraRingVariable(int variableId, HydraRingDeviationType deviationType, double mean, double variance)
+ : base(variableId)
+ {
+ DeviationType = deviationType;
+ Parameter1 = mean;
+ this.variance = variance;
+ }
+
+ public override double Parameter1 { get; }
+
+ public override double Parameter2
+ {
+ get
+ {
+ return DeviationType == HydraRingDeviationType.Standard
+ ? variance
+ : base.Parameter2;
+ }
+ }
+
+ public override double CoefficientOfVariation
+ {
+ get
+ {
+ return DeviationType == HydraRingDeviationType.Variation
+ ? variance
+ : base.CoefficientOfVariation;
+ }
+ }
+
+ public override HydraRingDeviationType DeviationType { get; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/RayleighNHydraRingVariable.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/RayleighNHydraRingVariable.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/RayleighNHydraRingVariable.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,48 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Variables
+{
+ ///
+ /// Class for Rayleigh N Hydra-Ring variable related data.
+ ///
+ public class RayleighNHydraRingVariable : RandomHydraRingVariable
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The Hydra-Ring id corresponding to the variable that is considered.
+ /// The deviation type of the variable.
+ /// The N value of the variable.
+ /// The variance value of the variable.
+ public RayleighNHydraRingVariable(int variableId, HydraRingDeviationType deviationType,
+ double n, double variance)
+ : base(variableId, deviationType, variance, n) {} // Note: Pass the N as "variability" and the variance as "mean"
+
+ public override HydraRingDistributionType DistributionType
+ {
+ get
+ {
+ return HydraRingDistributionType.RayleighN;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/TruncatedNormalHydraRingVariable.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/TruncatedNormalHydraRingVariable.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Data/Variables/TruncatedNormalHydraRingVariable.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,58 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data.Variables
+{
+ ///
+ /// Class for Truncated Normal Hydra-Ring variable related data.
+ ///
+ public class TruncatedNormalHydraRingVariable : RandomHydraRingVariable
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The Hydra-Ring id corresponding to the variable that is considered.
+ /// The deviation type of the variable.
+ /// The mean value of the variable.
+ /// The variance value of the variable.
+ /// The lower boundary value of the variable.
+ /// The upper boundary value of the variable.
+ public TruncatedNormalHydraRingVariable(int variableId, HydraRingDeviationType deviationType,
+ double mean, double variance, double lowerBoundary, double upperBoundary)
+ : base(variableId, deviationType, mean, variance)
+ {
+ Parameter3 = lowerBoundary;
+ Parameter4 = upperBoundary;
+ }
+
+ public override double Parameter3 { get; }
+
+ public override double Parameter4 { get; }
+
+ public override HydraRingDistributionType DistributionType
+ {
+ get
+ {
+ return HydraRingDistributionType.TruncatedNormal;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Exceptions/HydraRingCalculationException.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Exceptions/HydraRingCalculationException.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Exceptions/HydraRingCalculationException.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,68 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Runtime.Serialization;
+
+namespace Riskeer.HydraRing.Calculation.Exceptions
+{
+ ///
+ /// The exception that is thrown when a HydraRing calculation encounters an error while performing.
+ ///
+ [Serializable]
+ public class HydraRingCalculationException : Exception
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public HydraRingCalculationException() {}
+
+ ///
+ /// Initializes a new instance of the class
+ /// with a specified error message.
+ ///
+ /// The error message that explains the reason for the exception.
+ public HydraRingCalculationException(string message) : base(message) {}
+
+ ///
+ /// Initializes a new instance of the class
+ /// with a specified error message and a reference to the inner exception that is
+ /// the cause of this exception.
+ ///
+ /// The error message that explains the reason for the exception.
+ /// The exception that is the cause of the current exception,
+ /// or null if no inner exception is specified.
+ public HydraRingCalculationException(string message, Exception inner) : base(message, inner) {}
+
+ ///
+ /// Initializes a new instance of with
+ /// serialized data.
+ /// The that holds the serialized
+ /// object data about the exception being thrown.
+ /// The that contains contextual
+ /// information about the source or destination.
+ /// The parameter is
+ /// null.
+ /// The class name is null or
+ /// is zero (0).
+ protected HydraRingCalculationException(SerializationInfo info, StreamingContext context) : base(info, context) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Exceptions/HydraRingFileParserException.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Exceptions/HydraRingFileParserException.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Exceptions/HydraRingFileParserException.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,69 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Runtime.Serialization;
+
+namespace Riskeer.HydraRing.Calculation.Exceptions
+{
+ ///
+ /// The exception that is thrown when a HydraRing file parser encounters an error while
+ /// parsing HydraRing output.
+ ///
+ [Serializable]
+ public class HydraRingFileParserException : Exception
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public HydraRingFileParserException() {}
+
+ ///
+ /// Initializes a new instance of the class
+ /// with a specified error message.
+ ///
+ /// The error message that explains the reason for the exception.
+ public HydraRingFileParserException(string message) : base(message) {}
+
+ ///
+ /// Initializes a new instance of the class
+ /// with a specified error message and a reference to the inner exception that is
+ /// the cause of this exception.
+ ///
+ /// The error message that explains the reason for the exception.
+ /// The exception that is the cause of the current exception,
+ /// or null if no inner exception is specified.
+ public HydraRingFileParserException(string message, Exception inner) : base(message, inner) {}
+
+ ///
+ /// Initializes a new instance of with
+ /// serialized data.
+ /// The that holds the serialized
+ /// object data about the exception being thrown.
+ /// The that contains contextual
+ /// information about the source or destination.
+ /// The parameter is
+ /// null.
+ /// The class name is null or
+ /// is zero (0).
+ protected HydraRingFileParserException(SerializationInfo info, StreamingContext context) : base(info, context) {}
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/DelftTools.Utils.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/DeltaShell.Plugins.MorphAn.Domain.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/DeltaShell.Plugins.MorphAn.TRDA.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/Deltares.Geographic.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/Deltares.Geometry.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/Deltares.Geotechnics.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/Deltares.Mathematics.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/Deltares.Probabilistic.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/Deltares.Standard.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/Deltares.WTIPiping.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/Deltares.WTIStability.Calculation.Wrapper.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/Deltares.WTIStability.Calculation.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/Deltares.WTIStability.IO.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/Deltares.WTIStability.Levenberg.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/Deltares.WTIStability.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/Deltares.WTIStructuralFailure.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/Deltares.WaternetCreator.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/DikesOvertopping.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/DllLinearizedBetaAlpha.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/DynamicLib-DaF.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/HRutilitiesDll.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/HydraRing.Database.Test.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/HydraRing.Database.TestUtils.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/HydraRing.Database.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/HydraRing.DuneErosionWrapper.Tests.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/HydraRing.DuneErosionWrapper.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/HydraRing.IO.Native.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/HydraRing.IO.TestUtils.Native.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/HydraRing.MacroStability.Wrapper.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/HydraRing.Piping2017Wrapper.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/HydraRing.PluginShared.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/ICSharpCode.SharpZipLib.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/LicenseAGPL.txt
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/LicenseAGPL.txt (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/LicenseAGPL.txt (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,661 @@
+ GNU AFFERO GENERAL PUBLIC LICENSE
+ Version 3, 19 November 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU Affero General Public License is a free, copyleft license for
+software and other kinds of works, specifically designed to ensure
+cooperation with the community in the case of network server software.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+our General Public Licenses are intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ Developers that use our General Public Licenses protect your rights
+with two steps: (1) assert copyright on the software, and (2) offer
+you this License which gives you legal permission to copy, distribute
+and/or modify the software.
+
+ A secondary benefit of defending all users' freedom is that
+improvements made in alternate versions of the program, if they
+receive widespread use, become available for other developers to
+incorporate. Many developers of free software are heartened and
+encouraged by the resulting cooperation. However, in the case of
+software used on network servers, this result may fail to come about.
+The GNU General Public License permits making a modified version and
+letting the public access it on a server without ever releasing its
+source code to the public.
+
+ The GNU Affero General Public License is designed specifically to
+ensure that, in such cases, the modified source code becomes available
+to the community. It requires the operator of a network server to
+provide the source code of the modified version running there to the
+users of that server. Therefore, public use of a modified version, on
+a publicly accessible server, gives the public access to the source
+code of the modified version.
+
+ An older license, called the Affero General Public License and
+published by Affero, was designed to accomplish similar goals. This is
+a different license, not a version of the Affero GPL, but Affero has
+released a new version of the Affero GPL which permits relicensing under
+this license.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU Affero General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Remote Network Interaction; Use with the GNU General Public License.
+
+ Notwithstanding any other provision of this License, if you modify the
+Program, your modified version must prominently offer all users
+interacting with it remotely through a computer network (if your version
+supports such interaction) an opportunity to receive the Corresponding
+Source of your version by providing access to the Corresponding Source
+from a network server at no charge, through some standard or customary
+means of facilitating copying of software. This Corresponding Source
+shall include the Corresponding Source for any work covered by version 3
+of the GNU General Public License that is incorporated pursuant to the
+following paragraph.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the work with which it is combined will remain governed by version
+3 of the GNU General Public License.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU Affero General Public License from time to time. Such new versions
+will be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU Affero General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU Affero General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU Affero General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero 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 Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If your software can interact with users remotely through a computer
+network, you should also make sure that it provides a way for users to
+get its source. For example, if your program is a web application, its
+interface could display a "Source" link that leads users to an archive
+of the code. There are many ways you could offer source, and different
+solutions will be better for different programs; see section 13 for the
+specific requirements.
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU AGPL, see
+.
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/LumenWorks.Framework.IO.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/MathNet.Numerics.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/MechanismComputation.exe
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/NDepend.Helpers.FileDirectoryPath.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/PostSharp.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/ProtoBufRemote.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/StructuresStructuralFailure2017wrapper.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/System.Data.SQLite.Linq.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/System.Data.SQLite.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/config.sqlite
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/dikesOverflow.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/dllDikesOvertopping.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/dllHydraulicDunes.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/dllStructuresClosure2017.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/dllStructuresClosure2018.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/dllStructuresConstFailure2017.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/dllStructuresOvertopping2017.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/duneErosion.Native.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/exeRingComputation.exe
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/feedbackDLL.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/hydraring_computation.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/libifcoremd.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/libifcorert.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/libifportmd.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/libiomp5md.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/libiompstubs5md.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/libmmd.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/linearizedBetaAlpha.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/log4net.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/macroStability.Native.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/mfc110.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/mfc110u.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/mfcm110.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/mfcm110u.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/msvcp110.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/msvcr110.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/msvcrt.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/nunit.framework.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/piping2017.Native.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/protobuf-net.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/structuresClosure2017.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/structuresClosure2018.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/structuresOvertopping2017.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/structuresStructuralFailure2017.Native.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/svml_dispmd.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/winapi.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRing/x64/SQLite.Interop.dll
===================================================================
diff -u
Binary files differ
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRingDatabaseConstants.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRingDatabaseConstants.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRingDatabaseConstants.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,34 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation
+{
+ ///
+ /// Class containing database definitions that are used during a Hydra-Ring calculation.
+ ///
+ internal static class HydraRingDatabaseConstants
+ {
+ ///
+ /// The parameter name of the section id.
+ ///
+ internal const string SectionIdParameterName = "@sectionId";
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRingFileConstants.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRingFileConstants.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/HydraRingFileConstants.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,54 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation
+{
+ ///
+ /// Class containing (parts of) file names that are generated during a Hydra-Ring calculation.
+ ///
+ internal static class HydraRingFileConstants
+ {
+ ///
+ /// The file name of the file containing the output of a calculation.
+ ///
+ internal const string DesignTablesFileName = "designTable.txt";
+
+ ///
+ /// The tail and extension of the output database which contains output for a calculation.
+ ///
+ internal const string OutputDatabaseFileNameSuffix = "-output.sqlite";
+
+ ///
+ /// The file name of the executable of Hydra-Ring.
+ ///
+ internal const string HydraRingExecutableFileName = "MechanismComputation.exe";
+
+ ///
+ /// The database which contains configuration parameters.
+ ///
+ internal const string ConfigurationDatabaseFileName = "config.sqlite";
+
+ ///
+ /// The file name which contains the error of a calculation.
+ ///
+ internal const string LastErrorFileName = "last_error.txt";
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/ConvergenceParser.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/ConvergenceParser.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/ConvergenceParser.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,76 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using Riskeer.HydraRing.Calculation.Exceptions;
+using Riskeer.HydraRing.Calculation.Properties;
+
+namespace Riskeer.HydraRing.Calculation.Parsers
+{
+ ///
+ /// Parser for the convergence result of Hydra-Ring calculations.
+ ///
+ public class ConvergenceParser : IHydraRingFileParser
+ {
+ private const string convergedColumnName = "Converged";
+
+ private readonly string getLastResultQuery =
+ $"SELECT ConvOnBeta OR ConvOnValue OR ConvOnValueZeroQVariant AS {convergedColumnName} " +
+ "FROM IterateToGivenBetaConvergence " +
+ $"WHERE SectionId = {HydraRingDatabaseConstants.SectionIdParameterName} " +
+ "ORDER BY OuterIterationId DESC " +
+ "LIMIT 1";
+
+ ///
+ /// Gets the output that was parsed from the output file.
+ ///
+ public bool? Output { get; private set; }
+
+ public void Parse(string workingDirectory, int sectionId)
+ {
+ Dictionary result = HydraRingDatabaseParseHelper.ReadSingleLine(workingDirectory,
+ getLastResultQuery,
+ sectionId,
+ Resources.ConvergenceParser_No_convergence_found_in_output_file);
+
+ ReadResult(result);
+ }
+
+ ///
+ /// Reads the .
+ ///
+ /// The result from the database read.
+ /// Thrown when the result
+ /// cannot be converted to the output format.
+ private void ReadResult(IDictionary result)
+ {
+ try
+ {
+ Output = Convert.ToBoolean(result[convergedColumnName]);
+ }
+ catch (InvalidCastException e)
+ {
+ throw new HydraRingFileParserException(Resources.ConvergenceParser_No_convergence_found_in_output_file, e);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/DunesBoundaryConditionsCalculationParser.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/DunesBoundaryConditionsCalculationParser.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/DunesBoundaryConditionsCalculationParser.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,89 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using Riskeer.HydraRing.Calculation.Data.Output;
+using Riskeer.HydraRing.Calculation.Exceptions;
+using Riskeer.HydraRing.Calculation.Properties;
+
+namespace Riskeer.HydraRing.Calculation.Parsers
+{
+ ///
+ /// Parser for dunes boundary condition results.
+ ///
+ public class DunesBoundaryConditionsCalculationParser : IHydraRingFileParser
+ {
+ private const string waveHeightColumnName = "WaveHeight";
+ private const string wavePeriodColumnName = "WavePeriod";
+ private const string waterLevelColumnName = "WaterLevel";
+
+ private readonly string query = "SELECT " +
+ $"max(case when OutputVariableId is 3 then d.Value end) {waveHeightColumnName}, " +
+ $"max(case when OutputVariableId is 5 then d.Value end) {wavePeriodColumnName}, " +
+ $"max(case when OutputVariableId is 23 then d.Value end) {waterLevelColumnName} " +
+ "FROM DesignPointResults as d " +
+ $"WHERE SectionId = {HydraRingDatabaseConstants.SectionIdParameterName} " +
+ "GROUP BY OuterIterationId " +
+ "ORDER BY OuterIterationId DESC " +
+ "LIMIT 1;";
+
+ ///
+ /// Gets the output that was parsed from the output file.
+ ///
+ public DunesBoundaryConditionsCalculationOutput Output { get; private set; }
+
+ public void Parse(string workingDirectory, int sectionId)
+ {
+ Dictionary result = HydraRingDatabaseParseHelper.ReadSingleLine(
+ workingDirectory,
+ query,
+ sectionId,
+ Resources.DunesBoundaryConditionsCalculationParser_No_dunes_hydraulic_boundaries_found_in_output_file);
+
+ ReadResult(result);
+ }
+
+ ///
+ /// Reads the .
+ ///
+ /// The result from the database read.
+ /// Thrown when the result
+ /// cannot be converted to the output format.
+ private void ReadResult(IDictionary result)
+ {
+ try
+ {
+ double waveHeight = Convert.ToDouble(result[waveHeightColumnName]);
+ double wavePeriod = Convert.ToDouble(result[wavePeriodColumnName]);
+ double waterLevel = Convert.ToDouble(result[waterLevelColumnName]);
+
+ Output = new DunesBoundaryConditionsCalculationOutput(waterLevel,
+ waveHeight,
+ wavePeriod);
+ }
+ catch (InvalidCastException e)
+ {
+ throw new HydraRingFileParserException(Resources.DunesBoundaryConditionsCalculationParser_No_dunes_hydraulic_boundaries_found_in_output_file, e);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/ExceedanceProbabilityCalculationParser.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/ExceedanceProbabilityCalculationParser.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/ExceedanceProbabilityCalculationParser.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,76 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using Riskeer.HydraRing.Calculation.Exceptions;
+using Riskeer.HydraRing.Calculation.Properties;
+
+namespace Riskeer.HydraRing.Calculation.Parsers
+{
+ ///
+ /// Parser for the probability result of Hydra-Ring calculations.
+ ///
+ public class ExceedanceProbabilityCalculationParser : IHydraRingFileParser
+ {
+ private const string betaColumnName = "BetaValue";
+
+ private readonly string query = $"SELECT {betaColumnName} " +
+ "FROM DesignBeta " +
+ $"WHERE SectionId = {HydraRingDatabaseConstants.SectionIdParameterName} AND LevelTypeId = 4 " +
+ "ORDER BY OuterIterationId DESC " +
+ "LIMIT 1;";
+
+ ///
+ /// Gets the output that was parsed from the output file.
+ ///
+ public double? Output { get; private set; }
+
+ public void Parse(string workingDirectory, int sectionId)
+ {
+ Dictionary result = HydraRingDatabaseParseHelper.ReadSingleLine(
+ workingDirectory,
+ query,
+ sectionId,
+ Resources.ExceedanceProbabilityCalculationParser_No_beta_found_in_output_file);
+
+ ReadResult(result);
+ }
+
+ ///
+ /// Reads the .
+ ///
+ /// The result from the database read.
+ /// Thrown when the result
+ /// cannot be converted to the output format.
+ private void ReadResult(IDictionary result)
+ {
+ try
+ {
+ Output = Convert.ToDouble(result[betaColumnName]);
+ }
+ catch (InvalidCastException e)
+ {
+ throw new HydraRingFileParserException(Resources.ExceedanceProbabilityCalculationParser_No_beta_found_in_output_file, e);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/HydraRingDatabaseParseHelper.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/HydraRingDatabaseParseHelper.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/HydraRingDatabaseParseHelper.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,108 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using System.Data.SQLite;
+using Riskeer.HydraRing.Calculation.Exceptions;
+using Riskeer.HydraRing.Calculation.Properties;
+using Riskeer.HydraRing.Calculation.Readers;
+
+namespace Riskeer.HydraRing.Calculation.Parsers
+{
+ ///
+ /// Helper class for methods that apply for parsing output from a Hydra-Ring database.
+ ///
+ internal static class HydraRingDatabaseParseHelper
+ {
+ ///
+ /// Parses the Hydra-Ring output database.
+ ///
+ /// The path to the directory which contains
+ /// the output of the Hydra-Ring calculation.
+ /// The query to perform when reading the database.
+ /// The section id to get the output for.
+ /// The exception message when there is no result.
+ /// A with the key of the column and the value.
+ /// Thrown when any input parameter is null.
+ /// Thrown when the reader encounters an error while
+ /// reading the database.
+ public static Dictionary ReadSingleLine(string workingDirectory,
+ string query,
+ int sectionId,
+ string exceptionMessage)
+ {
+ ValidateParameters(workingDirectory, query, exceptionMessage);
+
+ try
+ {
+ using (var reader = new HydraRingDatabaseReader(workingDirectory, query, sectionId))
+ {
+ return ReadLineFromReader(exceptionMessage, reader);
+ }
+ }
+ catch (SQLiteException e)
+ {
+ throw new HydraRingFileParserException(Resources.Parse_Cannot_read_result_in_output_file, e);
+ }
+ }
+
+ ///
+ /// Tries to read a result from the reader and throws an exception if no row could be read.
+ ///
+ /// The message to use in the exception when reading fails.
+ /// The reader to read a row from.
+ /// A single row from the reader.
+ /// Thrown when no row could be read from the
+ /// .
+ private static Dictionary ReadLineFromReader(string exceptionMessage, HydraRingDatabaseReader reader)
+ {
+ Dictionary result = reader.ReadLine();
+
+ if (result != null)
+ {
+ return result;
+ }
+
+ throw new HydraRingFileParserException(exceptionMessage);
+ }
+
+ private static void ValidateParameters(string workingDirectory,
+ string query,
+ string exceptionMessage)
+ {
+ if (workingDirectory == null)
+ {
+ throw new ArgumentNullException(nameof(workingDirectory));
+ }
+
+ if (query == null)
+ {
+ throw new ArgumentNullException(nameof(query));
+ }
+
+ if (exceptionMessage == null)
+ {
+ throw new ArgumentNullException(nameof(exceptionMessage));
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/IHydraRingFileParser.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/IHydraRingFileParser.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/IHydraRingFileParser.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,50 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using Riskeer.HydraRing.Calculation.Exceptions;
+
+namespace Riskeer.HydraRing.Calculation.Parsers
+{
+ ///
+ /// This interface describes components that obtain results from the output files of a Hydra-Ring calculation.
+ ///
+ public interface IHydraRingFileParser
+ {
+ ///
+ /// Tries to parse output from a file in the based on a .
+ ///
+ /// The path to the directory which contains the output of the Hydra-Ring calculation.
+ /// The section id to get the output for.
+ /// Thrown when the is null.
+ /// Thrown when
+ ///
+ /// is zero-length, or
+ /// contains only whitespace, or
+ /// contains illegal characters, or
+ /// contains a colon which is not part of a volume identifier, or
+ /// is too long.
+ ///
+ /// Thrown when the HydraRing file parser
+ /// encounters an error while parsing HydraRing output.
+ void Parse(string workingDirectory, int sectionId);
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/IllustrationPoints/IllustrationPointQueries.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/IllustrationPoints/IllustrationPointQueries.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/IllustrationPoints/IllustrationPointQueries.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,224 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Parsers.IllustrationPoints
+{
+ ///
+ /// Collection of queries used for reading illustration points from the Hydra-Ring database.
+ ///
+ internal static class IllustrationPointQueries
+ {
+ ///
+ /// Selects all the closing situations.
+ ///
+ public static readonly string ClosingSituations =
+ $"SELECT {IllustrationPointsDatabaseConstants.ClosingSituationId}, " +
+ $"{IllustrationPointsDatabaseConstants.ClosingSituationName} " +
+ "FROM ClosingSituations;";
+
+ ///
+ /// Selects all wind direction with a flag whether the wind direction is governing.
+ ///
+ public static readonly string WindDirections =
+ $"SELECT WindDirections.{IllustrationPointsDatabaseConstants.WindDirectionId}, " +
+ $"{IllustrationPointsDatabaseConstants.WindDirectionName}, " +
+ $"{IllustrationPointsDatabaseConstants.WindDirectionAngle}, " +
+ $"WindDirections.WindDirectionId = GoverningWind.WindDirectionId AS {IllustrationPointsDatabaseConstants.IsGoverning} " +
+ "FROM WindDirections " +
+ "JOIN GoverningWind " +
+ $"WHERE {lastIteration}" +
+ $"AND {firstPeriod};";
+
+ ///
+ /// Selects all the sub mechanisms.
+ ///
+ public static readonly string SubMechanisms =
+ "SELECT " +
+ $"{IllustrationPointsDatabaseConstants.SubMechanismId}, " +
+ $"{IllustrationPointsDatabaseConstants.SubMechanismName} " +
+ "FROM SubMechanisms;";
+
+ ///
+ /// Selects all the fault trees.
+ ///
+ public static readonly string FaultTrees =
+ "SELECT " +
+ $"{IllustrationPointsDatabaseConstants.FaultTreeId}, " +
+ $"{IllustrationPointsDatabaseConstants.FaultTreeName} " +
+ "FROM FaultTrees;";
+
+ ///
+ /// Selects the alpha values for a general result.
+ ///
+ public static readonly string GeneralAlphaValues =
+ $"SELECT {IllustrationPointsDatabaseConstants.StochastName}, " +
+ $"{IllustrationPointsDatabaseConstants.AlphaValue}, " +
+ $"{IllustrationPointsDatabaseConstants.Duration} " +
+ "FROM DesignAlpha " +
+ "JOIN Stochasts USING(StochastId) " +
+ "WHERE LevelTypeId = 4 " +
+ $"AND {lastIteration};";
+
+ ///
+ /// Selects the beta values for a general result.
+ ///
+ public static readonly string GeneralBetaValues =
+ $"SELECT {IllustrationPointsDatabaseConstants.BetaValue} " +
+ "FROM DesignBeta " +
+ "WHERE LevelTypeId = 4 " +
+ $"AND {lastIteration};";
+
+ ///
+ /// Selects the alpha values for each fault tree illustration point.
+ ///
+ public static readonly string FaultTreeAlphaValues =
+ "SELECT " +
+ $"{IllustrationPointsDatabaseConstants.FaultTreeId}, " +
+ $"{IllustrationPointsDatabaseConstants.WindDirectionId}, " +
+ $"{IllustrationPointsDatabaseConstants.ClosingSituationId}, " +
+ $"{IllustrationPointsDatabaseConstants.StochastName}, " +
+ $"{IllustrationPointsDatabaseConstants.AlphaValue}," +
+ $"{IllustrationPointsDatabaseConstants.Duration} " +
+ "FROM FaultTrees " +
+ "JOIN DesignAlpha USING(FaultTreeId) " +
+ "JOIN Stochasts USING(StochastId) " +
+ "WHERE DesignAlpha.LevelTypeId = 5 " +
+ $"AND {lastIteration} " +
+ $"AND {firstPeriod};";
+
+ ///
+ /// Selects the beta values for each fault tree illustration point.
+ ///
+ public static readonly string FaultTreeBetaValues =
+ "SELECT " +
+ $"{IllustrationPointsDatabaseConstants.FaultTreeId}, " +
+ $"{IllustrationPointsDatabaseConstants.WindDirectionId}, " +
+ $"{IllustrationPointsDatabaseConstants.ClosingSituationId}, " +
+ $"{IllustrationPointsDatabaseConstants.BetaValue} " +
+ "FROM FaultTrees " +
+ "JOIN DesignBeta USING(FaultTreeId) " +
+ "WHERE DesignBeta.LevelTypeId = 5 " +
+ $"AND {lastIteration} " +
+ $"AND {firstPeriod};";
+
+ ///
+ /// Selects the alpha values for each sub mechanism illustration point.
+ ///
+ public static readonly string SubMechanismAlphaValues =
+ "SELECT " +
+ $"{IllustrationPointsDatabaseConstants.SubMechanismId}, " +
+ $"{IllustrationPointsDatabaseConstants.WindDirectionId}, " +
+ $"{IllustrationPointsDatabaseConstants.ClosingSituationId}, " +
+ $"{IllustrationPointsDatabaseConstants.StochastName}, " +
+ $"{IllustrationPointsDatabaseConstants.AlphaValue}," +
+ $"{IllustrationPointsDatabaseConstants.Duration}, " +
+ $"{IllustrationPointsDatabaseConstants.Realization} " +
+ "FROM SubMechanisms " +
+ "JOIN DesignAlpha USING(SubMechanismId) " +
+ "JOIN Stochasts USING(StochastId) " +
+ "WHERE DesignAlpha.LevelTypeId = 7 " +
+ $"AND {lastIteration} " +
+ $"AND {firstPeriod};";
+
+ ///
+ /// Selects the beta values for each sub mechanism illustration point.
+ ///
+ public static readonly string SubMechanismBetaValues =
+ "SELECT " +
+ $"{IllustrationPointsDatabaseConstants.SubMechanismId}, " +
+ $"{IllustrationPointsDatabaseConstants.WindDirectionId}, " +
+ $"{IllustrationPointsDatabaseConstants.ClosingSituationId}, " +
+ $"{IllustrationPointsDatabaseConstants.BetaValue} " +
+ "FROM SubMechanisms " +
+ "JOIN DesignBeta USING(SubMechanismId) " +
+ "WHERE DesignBeta.LevelTypeId = 7 " +
+ $"AND {lastIteration} " +
+ $"AND {firstPeriod};";
+
+ ///
+ /// Selects the output variables for each sub mechanism illustration point.
+ ///
+ public static readonly string SubMechanismIllustrationPointResults =
+ "SELECT " +
+ $"{IllustrationPointsDatabaseConstants.SubMechanismId}, " +
+ $"{IllustrationPointsDatabaseConstants.WindDirectionId}, " +
+ $"{IllustrationPointsDatabaseConstants.ClosingSituationId}, " +
+ $"DesignPointResults.{IllustrationPointsDatabaseConstants.IllustrationPointResultValue}, " +
+ $"{IllustrationPointsDatabaseConstants.IllustrationPointResultDescription} " +
+ "FROM SubMechanisms " +
+ "JOIN DesignPointResults USING(SubMechanismId) " +
+ "JOIN OutputVariables USING(OutputVariableId) " +
+ $"WHERE {lastIteration} " +
+ $"AND {firstPeriod};";
+
+ ///
+ /// Selects all the illustration points from the fault tree.
+ ///
+ public static readonly string RecursiveFaultTree =
+ "WITH RECURSIVE " +
+ "combineFunctions(id, combine) AS (" +
+ "SELECT FaultTreeId, CombinFunction " +
+ "FROM FaultTrees)," +
+ "child_of(" +
+ $"{IllustrationPointsDatabaseConstants.RecursiveFaultTreeId}, " +
+ $"{IllustrationPointsDatabaseConstants.RecursiveFaultTreeChildId}, " +
+ $"{IllustrationPointsDatabaseConstants.RecursiveFaultTreeType}, " +
+ $"{IllustrationPointsDatabaseConstants.RecursiveFaultTreeCombine}" +
+ ") AS (" +
+ "SELECT FaultTreeId, Id1, Type1, combine " +
+ "FROM FaultTrees " +
+ "LEFT OUTER JOIN combineFunctions ON combineFunctions.id = Id1 " +
+ "UNION " +
+ "SELECT FaultTreeId, Id2, Type2, combine " +
+ "FROM FaultTrees " +
+ "LEFT OUTER JOIN combineFunctions ON combineFunctions.id = Id2), " +
+ "children(" +
+ $"{IllustrationPointsDatabaseConstants.RecursiveFaultTreeParentId}, " +
+ $"{IllustrationPointsDatabaseConstants.RecursiveFaultTreeId}, " +
+ $"{IllustrationPointsDatabaseConstants.RecursiveFaultTreeType}, " +
+ $"{IllustrationPointsDatabaseConstants.RecursiveFaultTreeCombine}" +
+ ") AS (" +
+ "SELECT null, " +
+ "FaultTreeId, " +
+ "\"faulttree\", " +
+ "CombinFunction " +
+ "FROM FaultTrees " +
+ "WHERE FaultTreeId NOT IN " +
+ $"(SELECT {IllustrationPointsDatabaseConstants.RecursiveFaultTreeChildId} FROM child_of) " +
+ "UNION ALL " +
+ $"SELECT {IllustrationPointsDatabaseConstants.RecursiveFaultTreeId}, " +
+ $"{IllustrationPointsDatabaseConstants.RecursiveFaultTreeChildId}, " +
+ $"child_of.{IllustrationPointsDatabaseConstants.RecursiveFaultTreeType}, " +
+ $"child_of.{IllustrationPointsDatabaseConstants.RecursiveFaultTreeCombine} " +
+ "FROM child_of " +
+ $"JOIN children USING({IllustrationPointsDatabaseConstants.RecursiveFaultTreeId}) " +
+ $"WHERE children.{IllustrationPointsDatabaseConstants.RecursiveFaultTreeType} = \"faulttree\") " +
+ "SELECT DISTINCT " +
+ $"{IllustrationPointsDatabaseConstants.RecursiveFaultTreeParentId}, " +
+ $"{IllustrationPointsDatabaseConstants.RecursiveFaultTreeId}, " +
+ $"{IllustrationPointsDatabaseConstants.RecursiveFaultTreeType}, " +
+ $"{IllustrationPointsDatabaseConstants.RecursiveFaultTreeCombine} " +
+ "FROM children;";
+
+ private const string firstPeriod = "PeriodId = (SELECT MIN(PeriodId) FROM GoverningWind)";
+ private const string lastIteration = "OuterIterationId = (SELECT MAX(OuterIterationId) FROM GoverningWind)";
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/IllustrationPoints/IllustrationPointsDatabaseConstants.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/IllustrationPoints/IllustrationPointsDatabaseConstants.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/IllustrationPoints/IllustrationPointsDatabaseConstants.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,59 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Parsers.IllustrationPoints
+{
+ ///
+ /// Constants which are used for assigning values in database columns to values of
+ /// data objects.
+ ///
+ internal static class IllustrationPointsDatabaseConstants
+ {
+ public const string FaultTreeId = "FaultTreeId";
+ public const string FaultTreeName = "FaultTreeName";
+ public const string SubMechanismId = "SubMechanismId";
+ public const string SubMechanismName = "SubMechanismName";
+
+ public const string ClosingSituationId = "ClosingSituationId";
+ public const string ClosingSituationName = "ClosingSituationName";
+
+ public const string WindDirectionId = "WindDirectionId";
+ public const string WindDirectionName = "WindDirectionName";
+ public const string WindDirectionAngle = "WindDirectionAngle";
+ public const string IsGoverning = "IsGoverning";
+
+ public const string StochastName = "StochastName";
+ public const string AlphaValue = "AlphaValue";
+ public const string Duration = "Duration";
+ public const string Realization = "X";
+
+ public const string BetaValue = "BetaValue";
+
+ public const string IllustrationPointResultValue = "Value";
+ public const string IllustrationPointResultDescription = "OutputVarDescription";
+
+ public const string RecursiveFaultTreeId = "id";
+ public const string RecursiveFaultTreeChildId = "childId";
+ public const string RecursiveFaultTreeType = "type";
+ public const string RecursiveFaultTreeCombine = "combine";
+ public const string RecursiveFaultTreeParentId = "parentId";
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/IllustrationPoints/IllustrationPointsParser.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/IllustrationPoints/IllustrationPointsParser.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/IllustrationPoints/IllustrationPointsParser.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,615 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using System.Data.SQLite;
+using System.Linq;
+using Riskeer.HydraRing.Calculation.Data.Output.IllustrationPoints;
+using Riskeer.HydraRing.Calculation.Exceptions;
+using Riskeer.HydraRing.Calculation.Properties;
+using Riskeer.HydraRing.Calculation.Readers;
+
+namespace Riskeer.HydraRing.Calculation.Parsers.IllustrationPoints
+{
+ ///
+ /// Parser for transforming values for illustration points from the database into a data structure.
+ ///
+ public class IllustrationPointsParser : IHydraRingFileParser
+ {
+ private readonly Dictionary> faultTreeStochasts = new Dictionary>();
+ private readonly Dictionary faultTreeBetaValues = new Dictionary();
+
+ private readonly Dictionary> subMechanismStochasts = new Dictionary>();
+ private readonly Dictionary subMechanismBetaValues = new Dictionary();
+ private readonly Dictionary> subMechanismResults = new Dictionary>();
+
+ private double beta = double.NaN;
+ private WindDirection governingWindDirection;
+ private IEnumerable stochasts;
+
+ private IDictionary windDirections;
+ private IDictionary closingSituations;
+ private IDictionary subMechanisms;
+ private IDictionary faultTrees;
+
+ ///
+ /// The result of parsing the illustration points in the Hydra-Ring database.
+ ///
+ public GeneralResult Output { get; private set; }
+
+ public void Parse(string workingDirectory, int sectionId)
+ {
+ string query = string.Concat(
+ IllustrationPointQueries.ClosingSituations,
+ IllustrationPointQueries.WindDirections,
+ IllustrationPointQueries.SubMechanisms,
+ IllustrationPointQueries.FaultTrees,
+ IllustrationPointQueries.GeneralAlphaValues,
+ IllustrationPointQueries.GeneralBetaValues,
+ IllustrationPointQueries.FaultTreeAlphaValues,
+ IllustrationPointQueries.FaultTreeBetaValues,
+ IllustrationPointQueries.SubMechanismAlphaValues,
+ IllustrationPointQueries.SubMechanismBetaValues,
+ IllustrationPointQueries.SubMechanismIllustrationPointResults,
+ IllustrationPointQueries.RecursiveFaultTree);
+
+ try
+ {
+ using (var reader = new HydraRingDatabaseReader(workingDirectory, query, sectionId))
+ {
+ ParseResultsFromReader(reader);
+ }
+ }
+ catch (SQLiteException e)
+ {
+ throw new HydraRingFileParserException(Resources.IllustrationPointsParser_Parse_Could_not_read_illustration_point_data, e);
+ }
+ }
+
+ ///
+ /// Parses the illustration point database results.
+ ///
+ /// The database reader.
+ /// Thrown when parsing the results from .
+ private void ParseResultsFromReader(HydraRingDatabaseReader reader)
+ {
+ ParseClosingSituations(reader);
+ ProceedOrThrow(reader);
+ ParseWindDirections(reader);
+ ProceedOrThrow(reader);
+ ParseSubMechanisms(reader);
+ ProceedOrThrow(reader);
+ ParseFaultTrees(reader);
+ ProceedOrThrow(reader);
+ ParseGeneralAlphaValues(reader);
+ ProceedOrThrow(reader);
+ ParseGeneralBetaValue(reader);
+ ProceedOrThrow(reader);
+ ParseFaultTreeAlphaValues(reader);
+ ProceedOrThrow(reader);
+ ParseFaultTreeBetaValues(reader);
+ ProceedOrThrow(reader);
+ ParseSubMechanismAlphaValues(reader);
+ ProceedOrThrow(reader);
+ ParseSubMechanismBetaValues(reader);
+ ProceedOrThrow(reader);
+ ParseSubMechanismResults(reader);
+ ProceedOrThrow(reader);
+ Dictionary rootIllustrationPoints =
+ ParseFaultTree(reader)
+ ?? GetSubMechanismAsRootIllustrationPoint();
+
+ Output = new GeneralResult(beta, governingWindDirection, stochasts, rootIllustrationPoints);
+ }
+
+ ///
+ /// Proceeds to the next result in the data set.
+ ///
+ /// The database reader.
+ /// Thrown there was no other result in the data set.
+ private static void ProceedOrThrow(HydraRingDatabaseReader reader)
+ {
+ if (!reader.NextResult())
+ {
+ throw new HydraRingFileParserException(Resources.IllustrationPointsParser_Parse_Could_not_read_illustration_point_data);
+ }
+ }
+
+ ///
+ /// Parses objects from the .
+ ///
+ /// The database reader.
+ /// Thrown when the read
+ /// or is .
+ private void ParseFaultTreeAlphaValues(HydraRingDatabaseReader reader)
+ {
+ foreach (Dictionary readFaultTreeAlphaValue in GetIterator(reader))
+ {
+ int faultTreeId = Convert.ToInt32(readFaultTreeAlphaValue[IllustrationPointsDatabaseConstants.FaultTreeId]);
+ int windDirectionId = Convert.ToInt32(readFaultTreeAlphaValue[IllustrationPointsDatabaseConstants.WindDirectionId]);
+ int closingSituationid = Convert.ToInt32(readFaultTreeAlphaValue[IllustrationPointsDatabaseConstants.ClosingSituationId]);
+ string name = Convert.ToString(readFaultTreeAlphaValue[IllustrationPointsDatabaseConstants.StochastName]);
+ double duration = ConvertToDouble(readFaultTreeAlphaValue[IllustrationPointsDatabaseConstants.Duration],
+ IllustrationPointsDatabaseConstants.Duration);
+ double alpha = ConvertToDouble(readFaultTreeAlphaValue[IllustrationPointsDatabaseConstants.AlphaValue],
+ IllustrationPointsDatabaseConstants.AlphaValue);
+
+ var key = new ThreeKeyIndex(windDirectionId, closingSituationid, faultTreeId);
+ if (!faultTreeStochasts.ContainsKey(key))
+ {
+ faultTreeStochasts[key] = new List();
+ }
+
+ faultTreeStochasts[key].Add(new Stochast(name, duration, alpha));
+ }
+ }
+
+ ///
+ /// Parses fault tree beta values from the .
+ ///
+ /// The database reader.
+ /// Thrown when:
+ ///
+ /// The read is ;
+ /// Multiple values for beta of illustration point found.
+ ///
+ ///
+ private void ParseFaultTreeBetaValues(HydraRingDatabaseReader reader)
+ {
+ foreach (Dictionary readFaultTreeBetaValue in GetIterator(reader))
+ {
+ int faultTreeId = Convert.ToInt32(readFaultTreeBetaValue[IllustrationPointsDatabaseConstants.FaultTreeId]);
+ int windDirectionId = Convert.ToInt32(readFaultTreeBetaValue[IllustrationPointsDatabaseConstants.WindDirectionId]);
+ int closingSituationid = Convert.ToInt32(readFaultTreeBetaValue[IllustrationPointsDatabaseConstants.ClosingSituationId]);
+ double faultTreeBeta = ConvertToDouble(readFaultTreeBetaValue[IllustrationPointsDatabaseConstants.BetaValue],
+ IllustrationPointsDatabaseConstants.BetaValue);
+ var threeKeyIndex = new ThreeKeyIndex(windDirectionId, closingSituationid, faultTreeId);
+ if (faultTreeBetaValues.ContainsKey(threeKeyIndex))
+ {
+ throw new HydraRingFileParserException(Resources.IllustrationPointsParser_Parse_Multiple_values_for_beta_of_illustration_point_found);
+ }
+
+ faultTreeBetaValues[threeKeyIndex] = faultTreeBeta;
+ }
+ }
+
+ ///
+ /// Parses objects from the .
+ ///
+ /// The database reader.
+ /// Thrown when the read ,
+ /// , or
+ /// is .
+ private void ParseSubMechanismAlphaValues(HydraRingDatabaseReader reader)
+ {
+ foreach (Dictionary readSubMechanismAlphaValue in GetIterator(reader))
+ {
+ int subMechanismId = Convert.ToInt32(readSubMechanismAlphaValue[IllustrationPointsDatabaseConstants.SubMechanismId]);
+ int windDirectionId = Convert.ToInt32(readSubMechanismAlphaValue[IllustrationPointsDatabaseConstants.WindDirectionId]);
+ int closingSituationid = Convert.ToInt32(readSubMechanismAlphaValue[IllustrationPointsDatabaseConstants.ClosingSituationId]);
+ string name = Convert.ToString(readSubMechanismAlphaValue[IllustrationPointsDatabaseConstants.StochastName]);
+ double duration = ConvertToDouble(readSubMechanismAlphaValue[IllustrationPointsDatabaseConstants.Duration],
+ IllustrationPointsDatabaseConstants.Duration);
+ double alpha = ConvertToDouble(readSubMechanismAlphaValue[IllustrationPointsDatabaseConstants.AlphaValue],
+ IllustrationPointsDatabaseConstants.AlphaValue);
+ double realization = ConvertToDouble(readSubMechanismAlphaValue[IllustrationPointsDatabaseConstants.Realization],
+ IllustrationPointsDatabaseConstants.Realization);
+
+ var key = new ThreeKeyIndex(windDirectionId, closingSituationid, subMechanismId);
+ if (!subMechanismStochasts.ContainsKey(key))
+ {
+ subMechanismStochasts[key] = new List();
+ }
+
+ subMechanismStochasts[key].Add(new SubMechanismIllustrationPointStochast(name, duration, alpha, realization));
+ }
+ }
+
+ ///
+ /// Parses sub mechanism beta values from the .
+ ///
+ /// The database reader.
+ /// Thrown when:
+ ///
+ /// The read is ;
+ /// Multiple values for beta of illustration point found.
+ ///
+ ///
+ private void ParseSubMechanismBetaValues(HydraRingDatabaseReader reader)
+ {
+ foreach (Dictionary readSubMechanismBetaValue in GetIterator(reader))
+ {
+ int subMechanismId = Convert.ToInt32(readSubMechanismBetaValue[IllustrationPointsDatabaseConstants.SubMechanismId]);
+ int windDirectionId = Convert.ToInt32(readSubMechanismBetaValue[IllustrationPointsDatabaseConstants.WindDirectionId]);
+ int closingSituationid = Convert.ToInt32(readSubMechanismBetaValue[IllustrationPointsDatabaseConstants.ClosingSituationId]);
+ double subMechanismBeta = ConvertToDouble(readSubMechanismBetaValue[IllustrationPointsDatabaseConstants.BetaValue],
+ IllustrationPointsDatabaseConstants.BetaValue);
+
+ var threeKeyIndex = new ThreeKeyIndex(windDirectionId, closingSituationid, subMechanismId);
+ if (subMechanismBetaValues.ContainsKey(threeKeyIndex))
+ {
+ throw new HydraRingFileParserException(Resources.IllustrationPointsParser_Parse_Multiple_values_for_beta_of_illustration_point_found);
+ }
+
+ subMechanismBetaValues[threeKeyIndex] = subMechanismBeta;
+ }
+ }
+
+ ///
+ /// Parses objects from the .
+ ///
+ /// The database reader.
+ /// Thrown when the read
+ /// is .
+ private void ParseSubMechanismResults(HydraRingDatabaseReader reader)
+ {
+ foreach (Dictionary readSubMechanismResult in GetIterator(reader))
+ {
+ int subMechanismId = Convert.ToInt32(readSubMechanismResult[IllustrationPointsDatabaseConstants.SubMechanismId]);
+ int windDirectionId = Convert.ToInt32(readSubMechanismResult[IllustrationPointsDatabaseConstants.WindDirectionId]);
+ int closingSituationid = Convert.ToInt32(readSubMechanismResult[IllustrationPointsDatabaseConstants.ClosingSituationId]);
+ string description = Convert.ToString(readSubMechanismResult[IllustrationPointsDatabaseConstants.IllustrationPointResultDescription]);
+ double value = ConvertToDouble(readSubMechanismResult[IllustrationPointsDatabaseConstants.IllustrationPointResultValue],
+ IllustrationPointsDatabaseConstants.IllustrationPointResultValue);
+
+ var key = new ThreeKeyIndex(windDirectionId, closingSituationid, subMechanismId);
+ if (!subMechanismResults.ContainsKey(key))
+ {
+ subMechanismResults[key] = new List();
+ }
+
+ subMechanismResults[key].Add(new IllustrationPointResult(description, value));
+ }
+ }
+
+ private Dictionary ParseFaultTree(HydraRingDatabaseReader reader)
+ {
+ IEnumerable> windDirectionClosingSituations =
+ GetAllWindDirectionClosingSituationCombinations();
+
+ Dictionary[] readFaultTrees = GetIterator(reader).ToArray();
+ if (readFaultTrees.Length > 0)
+ {
+ IEnumerable> results = CreateResultTuples(readFaultTrees);
+
+ var rootIllustrationPoints = new Dictionary();
+ foreach (Tuple windDirectionClosingSituation in windDirectionClosingSituations)
+ {
+ Tuple root = results.Single(r => !r.Item1.HasValue);
+
+ IllustrationPointTreeNode illustrationPointTreeNode = BuildFaultTree(windDirectionClosingSituation, root.Item2, root.Item4, results);
+
+ if (illustrationPointTreeNode != null)
+ {
+ rootIllustrationPoints[CreateFaultTreeKey(windDirectionClosingSituation)] = illustrationPointTreeNode;
+ }
+ }
+
+ return rootIllustrationPoints;
+ }
+
+ return null;
+ }
+
+ private Dictionary GetSubMechanismAsRootIllustrationPoint()
+ {
+ var rootIllustrationPoints = new Dictionary();
+ int subMechanismId = subMechanisms.First().Key;
+
+ foreach (Tuple windDirectionClosingSituation in GetAllWindDirectionClosingSituationCombinations())
+ {
+ IllustrationPointTreeNode illustrationPointTreeNode = BuildSubMechanism(
+ windDirectionClosingSituation,
+ subMechanismId);
+
+ if (illustrationPointTreeNode != null)
+ {
+ rootIllustrationPoints[CreateFaultTreeKey(windDirectionClosingSituation)] = illustrationPointTreeNode;
+ }
+ }
+
+ return rootIllustrationPoints;
+ }
+
+ private static IEnumerable> CreateResultTuples(IEnumerable> readFaultTrees)
+ {
+ var results = new List>();
+
+ foreach (Dictionary readFaultTree in readFaultTrees)
+ {
+ object parentIdObject = readFaultTree[IllustrationPointsDatabaseConstants.RecursiveFaultTreeParentId];
+ int? parentId = parentIdObject != DBNull.Value ? Convert.ToInt32(parentIdObject) : (int?) null;
+ int id = Convert.ToInt32(readFaultTree[IllustrationPointsDatabaseConstants.RecursiveFaultTreeId]);
+ string type = Convert.ToString(readFaultTree[IllustrationPointsDatabaseConstants.RecursiveFaultTreeType]);
+ string combine = Convert.ToString(readFaultTree[IllustrationPointsDatabaseConstants.RecursiveFaultTreeCombine]);
+
+ results.Add(Tuple.Create(
+ parentId,
+ id,
+ type == "faulttree" ? typeof(FaultTreeIllustrationPoint) : typeof(SubMechanismIllustrationPoint),
+ combine == "and" ? CombinationType.And : CombinationType.Or));
+ }
+
+ return results;
+ }
+
+ private static WindDirectionClosingSituation CreateFaultTreeKey(Tuple windDirectionClosingSituation)
+ {
+ return new WindDirectionClosingSituation(windDirectionClosingSituation.Item2, windDirectionClosingSituation.Item4);
+ }
+
+ private IEnumerable> GetAllWindDirectionClosingSituationCombinations()
+ {
+ return windDirections.SelectMany(windDirection =>
+ closingSituations.Select(
+ closingSituation => Tuple.Create(windDirection.Key, windDirection.Value, closingSituation.Key, closingSituation.Value)))
+ .ToArray();
+ }
+
+ private IllustrationPointTreeNode BuildFaultTree(
+ Tuple windDirectionClosingSituation,
+ int faultTreeId,
+ CombinationType combinationType,
+ IEnumerable> results)
+ {
+ var dataKey = new ThreeKeyIndex(windDirectionClosingSituation.Item1, windDirectionClosingSituation.Item3, faultTreeId);
+ var faultTreeIllustrationPointStochasts = new List();
+
+ if (!faultTreeBetaValues.ContainsKey(dataKey))
+ {
+ return null;
+ }
+
+ if (faultTreeStochasts.ContainsKey(dataKey))
+ {
+ AddRange(faultTreeIllustrationPointStochasts, faultTreeStochasts[dataKey]);
+ }
+
+ var illustrationPoint = new FaultTreeIllustrationPoint(faultTrees[faultTreeId],
+ faultTreeBetaValues[dataKey],
+ faultTreeIllustrationPointStochasts,
+ combinationType);
+
+ var node = new IllustrationPointTreeNode(illustrationPoint);
+ node.SetChildren(results.Where(r => r.Item1 == faultTreeId)
+ .Select(child => child.Item3 == typeof(FaultTreeIllustrationPoint)
+ ? BuildFaultTree(windDirectionClosingSituation, child.Item2, child.Item4, results)
+ : BuildSubMechanism(windDirectionClosingSituation, child.Item2)).ToArray());
+ return node;
+ }
+
+ private IllustrationPointTreeNode BuildSubMechanism(Tuple windDirectionClosingSituation, int subMechanismId)
+ {
+ var dataKey = new ThreeKeyIndex(windDirectionClosingSituation.Item1, windDirectionClosingSituation.Item3, subMechanismId);
+
+ var illustrationPointStochasts = new List();
+ var illustrationPointResults = new List();
+
+ if (!subMechanismBetaValues.ContainsKey(dataKey))
+ {
+ return null;
+ }
+
+ double subMechanismIllustrationPointBeta = subMechanismBetaValues[dataKey];
+
+ if (subMechanismStochasts.ContainsKey(dataKey))
+ {
+ AddRange(illustrationPointStochasts, subMechanismStochasts[dataKey]);
+ }
+
+ if (subMechanismResults.ContainsKey(dataKey))
+ {
+ AddRange(illustrationPointResults, subMechanismResults[dataKey]);
+ }
+
+ string subMechanismIllustrationPointName = subMechanisms[subMechanismId];
+ var illustrationPoint = new SubMechanismIllustrationPoint(subMechanismIllustrationPointName,
+ illustrationPointStochasts,
+ illustrationPointResults,
+ subMechanismIllustrationPointBeta);
+
+ return new IllustrationPointTreeNode(illustrationPoint);
+ }
+
+ private static void AddRange(ICollection collection, IEnumerable itemsToAdd)
+ {
+ foreach (T item in itemsToAdd)
+ {
+ collection.Add(item);
+ }
+ }
+
+ ///
+ /// Parses beta values from the .
+ ///
+ /// The database reader.
+ /// Thrown when:
+ ///
+ /// The read is ;
+ /// Multiple values for beta of illustration point found.
+ ///
+ ///
+ private void ParseGeneralBetaValue(HydraRingDatabaseReader reader)
+ {
+ Dictionary[] betaValues = GetIterator(reader).ToArray();
+ if (betaValues.Length > 1)
+ {
+ throw new HydraRingFileParserException(Resources.IllustrationPointsParser_Parse_Multiple_values_for_beta_of_illustration_point_found);
+ }
+
+ if (betaValues.Length == 0)
+ {
+ throw new HydraRingFileParserException(Resources.IllustrationPointsParser_Parse_No_values_for_beta_of_illustration_point_found);
+ }
+
+ beta = ConvertToDouble(betaValues[0][IllustrationPointsDatabaseConstants.BetaValue],
+ IllustrationPointsDatabaseConstants.BetaValue);
+ }
+
+ ///
+ /// Converts to .
+ ///
+ /// The object to convert.
+ /// The identifier.
+ /// The converted double.
+ /// Thrown when
+ /// is .
+ ///
+ private static double ConvertToDouble(object doubleValue, string identifier)
+ {
+ if (doubleValue.Equals(DBNull.Value))
+ {
+ throw new HydraRingFileParserException(string.Format(Resources.IllustrationPointsParser_Parse_Column_0_is_Null, identifier));
+ }
+
+ return Convert.ToDouble(doubleValue);
+ }
+
+ ///
+ /// Parses objects from the .
+ ///
+ /// The database reader.
+ /// Thrown when the read
+ /// or is .
+ private void ParseGeneralAlphaValues(HydraRingDatabaseReader reader)
+ {
+ stochasts = GetIterator(reader).Select(a =>
+ {
+ string name = Convert.ToString(a[IllustrationPointsDatabaseConstants.StochastName]);
+ double duration = ConvertToDouble(a[IllustrationPointsDatabaseConstants.Duration], IllustrationPointsDatabaseConstants.Duration);
+ double alpha = ConvertToDouble(a[IllustrationPointsDatabaseConstants.AlphaValue], IllustrationPointsDatabaseConstants.AlphaValue);
+ return new Stochast(name, duration, alpha);
+ }).ToArray();
+ }
+
+ private void ParseClosingSituations(HydraRingDatabaseReader reader)
+ {
+ closingSituations = GetIterator(reader).ToDictionary(
+ r => Convert.ToInt32(r[IllustrationPointsDatabaseConstants.ClosingSituationId]),
+ r => Convert.ToString(r[IllustrationPointsDatabaseConstants.ClosingSituationName]));
+ }
+
+ ///
+ /// Parses objects from the .
+ ///
+ /// The database reader.
+ /// Thrown when the read
+ /// is or when no governing wind direction is found.
+ private void ParseWindDirections(HydraRingDatabaseReader reader)
+ {
+ windDirections = new Dictionary();
+
+ foreach (Dictionary readWindDirection in GetIterator(reader))
+ {
+ int key = Convert.ToInt32(readWindDirection[IllustrationPointsDatabaseConstants.WindDirectionId]);
+ string name = Convert.ToString(readWindDirection[IllustrationPointsDatabaseConstants.WindDirectionName]);
+ double angle = ConvertToDouble(readWindDirection[IllustrationPointsDatabaseConstants.WindDirectionAngle],
+ IllustrationPointsDatabaseConstants.WindDirectionAngle);
+ bool isGoverning = Convert.ToBoolean(readWindDirection[IllustrationPointsDatabaseConstants.IsGoverning]);
+
+ var windDirection = new WindDirection(name, angle);
+ windDirections[key] = windDirection;
+
+ if (isGoverning)
+ {
+ governingWindDirection = windDirection;
+ }
+ }
+
+ if (governingWindDirection == null)
+ {
+ throw new HydraRingFileParserException(Resources.IllustrationPointsParser_Parse_No_governing_wind_direction_found);
+ }
+ }
+
+ private void ParseSubMechanisms(HydraRingDatabaseReader reader)
+ {
+ subMechanisms = GetIterator(reader).ToDictionary(
+ r => Convert.ToInt32(r[IllustrationPointsDatabaseConstants.SubMechanismId]),
+ r => Convert.ToString(r[IllustrationPointsDatabaseConstants.SubMechanismName]));
+ }
+
+ private void ParseFaultTrees(HydraRingDatabaseReader reader)
+ {
+ faultTrees = GetIterator(reader).ToDictionary(
+ r => Convert.ToInt32(r[IllustrationPointsDatabaseConstants.FaultTreeId]),
+ r => Convert.ToString(r[IllustrationPointsDatabaseConstants.FaultTreeName]));
+ }
+
+ private static IEnumerable> GetIterator(HydraRingDatabaseReader reader)
+ {
+ Dictionary nextLine = reader.ReadLine();
+ while (nextLine != null)
+ {
+ yield return nextLine;
+ nextLine = reader.ReadLine();
+ }
+ }
+
+ private struct ThreeKeyIndex
+ {
+ private readonly int windDirectionId;
+ private readonly int closingSituationId;
+ private readonly int illustrationPointId;
+
+ public ThreeKeyIndex(int windDirectionId, int closingSituationId, int illustrationPointId)
+ {
+ this.windDirectionId = windDirectionId;
+ this.closingSituationId = closingSituationId;
+ this.illustrationPointId = illustrationPointId;
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj))
+ {
+ return false;
+ }
+
+ if (GetType() != obj.GetType())
+ {
+ return false;
+ }
+
+ return Equals((ThreeKeyIndex) obj);
+ }
+
+ public override int GetHashCode()
+ {
+ unchecked
+ {
+ int hashCode = windDirectionId;
+ hashCode = (hashCode * 397) ^ closingSituationId;
+ hashCode = (hashCode * 397) ^ illustrationPointId;
+ return hashCode;
+ }
+ }
+
+ private bool Equals(ThreeKeyIndex other)
+ {
+ return windDirectionId == other.windDirectionId
+ && closingSituationId == other.closingSituationId
+ && illustrationPointId == other.illustrationPointId;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/LastErrorFileParser.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/LastErrorFileParser.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/LastErrorFileParser.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,58 @@
+// Copyright (C) Stichting Deltares 2018. 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.IO;
+using Riskeer.HydraRing.Calculation.Exceptions;
+using Riskeer.HydraRing.Calculation.Properties;
+
+namespace Riskeer.HydraRing.Calculation.Parsers
+{
+ ///
+ /// Parser for the Hydra-Ring last_err file.
+ ///
+ public class LastErrorFileParser : IHydraRingFileParser
+ {
+ ///
+ /// Gets the error output file content from a failed Hydra-Ring calculation.
+ ///
+ public string ErrorFileContent { get; private set; }
+
+ public void Parse(string workingDirectory, int sectionId)
+ {
+ string errorOutputFilePath = Path.Combine(workingDirectory, HydraRingFileConstants.LastErrorFileName);
+
+ if (File.Exists(errorOutputFilePath))
+ {
+ try
+ {
+ ErrorFileContent = File.ReadAllText(errorOutputFilePath);
+ }
+ catch
+ {
+ string message = string.Format(Resources.Parse_Cannot_read_last_error_Filename_0_from_FolderPath_1_,
+ HydraRingFileConstants.LastErrorFileName,
+ workingDirectory);
+ throw new HydraRingFileParserException(message);
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/OvertoppingCalculationWaveHeightParser.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/OvertoppingCalculationWaveHeightParser.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/OvertoppingCalculationWaveHeightParser.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,103 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using Riskeer.HydraRing.Calculation.Data.Output;
+using Riskeer.HydraRing.Calculation.Exceptions;
+using Riskeer.HydraRing.Calculation.Properties;
+
+namespace Riskeer.HydraRing.Calculation.Parsers
+{
+ ///
+ /// Parser for overtopping results.
+ ///
+ public class OvertoppingCalculationWaveHeightParser : IHydraRingFileParser
+ {
+ private const string waveHeightColumn = "WaveHeight";
+ private const string isOvertoppingDominantColumn = "IsOvertoppingDominant";
+
+ private readonly string query =
+ "SELECT " +
+ "(SELECT Value FROM GoverningWind g " +
+ "JOIN DesignPointResults d ON d.WindDirectionId = g.WindDirectionId AND d.OuterIterationId = g.OuterIterationId AND d.PeriodId = g.PeriodId " +
+ "JOIN DesignBeta db ON db.WindDirectionId = d.WindDirectionId AND db.ClosingSituationId = d.ClosingSituationId AND db.OuterIterationId = d.OuterIterationId " +
+ "AND db.PeriodId = d.PeriodId " +
+ $"WHERE OutputVariableId = 3 AND db.LevelTypeId = 7 AND db.SectionId = {HydraRingDatabaseConstants.SectionIdParameterName} " +
+ $"ORDER BY g.OuterIterationId DESC, d.PeriodId, db.BetaValue LIMIT 1) AS {waveHeightColumn}, " +
+ "(SELECT SubMechanismId = 102 " +
+ "FROM DesignBeta db " +
+ "JOIN " +
+ "(SELECT ClosingSituationId, d.PeriodId, d.OuterIterationId, d.WindDirectionId, d.LevelTypeId " +
+ "FROM GoverningWind g " +
+ "JOIN DesignBeta d ON d.WindDirectionId = g.WindDirectionId AND d.OuterIterationId = g.OuterIterationId And d.PeriodId = g.PeriodId " +
+ $"WHERE LevelTypeId = 7 AND SectionId = {HydraRingDatabaseConstants.SectionIdParameterName} " +
+ "AND SubmechanismId = 102 " +
+ "ORDER BY d.OuterIterationId DESC, d.PeriodId, BetaValue " +
+ "LIMIT 1) as s on s.WindDirectionId = db.WindDirectionId AND s.OuterIterationId = db.OuterIterationId AND s.PeriodId = db.PeriodId " +
+ "AND s.ClosingSituationId = db.ClosingSituationId AND s.LevelTypeId = db.LevelTypeId " +
+ "ORDER BY BetaValue " +
+ $"LIMIT 1) AS {isOvertoppingDominantColumn};";
+
+ ///
+ /// Gets the output that was parsed from the output file.
+ ///
+ public OvertoppingCalculationWaveHeightOutput Output { get; private set; }
+
+ public void Parse(string workingDirectory, int sectionId)
+ {
+ Dictionary result = HydraRingDatabaseParseHelper.ReadSingleLine(
+ workingDirectory,
+ query,
+ sectionId,
+ Resources.OvertoppingCalculationWaveHeightParser_No_overtopping_found_in_output_file);
+
+ ReadResult(result);
+ }
+
+ ///
+ /// Reads the .
+ ///
+ /// The result from the database read.
+ /// Thrown when the result
+ /// cannot be converted to the output format.
+ private void ReadResult(IDictionary result)
+ {
+ try
+ {
+ object waveHeightResult = result[waveHeightColumn];
+
+ double waveHeight = waveHeightResult.GetType() != typeof(DBNull)
+ ? Convert.ToDouble(waveHeightResult)
+ : double.NaN;
+
+ bool isOvertoppingDominant = Convert.ToBoolean(result[isOvertoppingDominantColumn]);
+
+ Output = new OvertoppingCalculationWaveHeightOutput(waveHeight,
+ isOvertoppingDominant);
+ }
+ catch (InvalidCastException e)
+ {
+ throw new HydraRingFileParserException(Resources.OvertoppingCalculationWaveHeightParser_No_overtopping_found_in_output_file, e);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/ReliabilityIndexCalculationParser.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/ReliabilityIndexCalculationParser.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/ReliabilityIndexCalculationParser.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,80 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using Riskeer.HydraRing.Calculation.Data.Output;
+using Riskeer.HydraRing.Calculation.Exceptions;
+using Riskeer.HydraRing.Calculation.Properties;
+
+namespace Riskeer.HydraRing.Calculation.Parsers
+{
+ ///
+ /// Parser for the reliability index result of Hydra-Ring calculations.
+ ///
+ public class ReliabilityIndexCalculationParser : IHydraRingFileParser
+ {
+ private const string betaColumnName = "BetaValue";
+ private const string valueColumnName = "Value";
+
+ private readonly string query = $"SELECT {betaColumnName}, {valueColumnName} " +
+ "FROM IterateToGivenBetaConvergence " +
+ $"WHERE SectionId = {HydraRingDatabaseConstants.SectionIdParameterName} " +
+ "ORDER BY OuterIterationId DESC " +
+ "LIMIT 1;";
+
+ ///
+ /// Gets the output that was parsed from the output file.
+ ///
+ public ReliabilityIndexCalculationOutput Output { get; private set; }
+
+ public void Parse(string workingDirectory, int sectionId)
+ {
+ Dictionary result = HydraRingDatabaseParseHelper.ReadSingleLine(
+ workingDirectory,
+ query,
+ sectionId,
+ Resources.ReliabilityIndexCalculationParser_No_reliability_found_in_output_file);
+
+ ReadResult(result);
+ }
+
+ ///
+ /// Reads the .
+ ///
+ /// The result from the database read.
+ /// Thrown when the result
+ /// cannot be converted to the output format.
+ private void ReadResult(IDictionary result)
+ {
+ try
+ {
+ Output = new ReliabilityIndexCalculationOutput(
+ Convert.ToDouble(result[valueColumnName]),
+ Convert.ToDouble(result[betaColumnName]));
+ }
+ catch (InvalidCastException e)
+ {
+ throw new HydraRingFileParserException(Resources.ReliabilityIndexCalculationParser_No_reliability_found_in_output_file, e);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/WaveConditionsCalculationParser.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/WaveConditionsCalculationParser.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Parsers/WaveConditionsCalculationParser.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,83 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using Riskeer.HydraRing.Calculation.Data.Output;
+using Riskeer.HydraRing.Calculation.Exceptions;
+using Riskeer.HydraRing.Calculation.Properties;
+
+namespace Riskeer.HydraRing.Calculation.Parsers
+{
+ ///
+ /// Parser for wave condition results.
+ ///
+ public class WaveConditionsCalculationParser : IHydraRingFileParser
+ {
+ private const string waveHeightColumnName = "WaveHeight";
+ private const string wavePeriodColumnName = "WavePeriod";
+ private const string waveDirectionColumnName = "WaveDirection";
+ private const string waveAngleColumnName = "WaveAngle";
+
+ private readonly string query = $"SELECT {waveHeightColumnName}, {wavePeriodColumnName}, {waveAngleColumnName}, {waveDirectionColumnName} " +
+ "FROM QVariantResults " +
+ $"WHERE SectionId = {HydraRingDatabaseConstants.SectionIdParameterName}";
+
+ ///
+ /// Gets the output that was parsed from the output file.
+ ///
+ public WaveConditionsCalculationOutput Output { get; private set; }
+
+ public void Parse(string workingDirectory, int sectionId)
+ {
+ Dictionary result = HydraRingDatabaseParseHelper.ReadSingleLine(
+ workingDirectory,
+ query,
+ sectionId,
+ Resources.WaveConditionsCalculationParser_No_calculated_wave_conditions_found_in_output_file);
+
+ ReadResult(result);
+ }
+
+ ///
+ /// Reads the .
+ ///
+ /// The result from the database read.
+ /// Thrown when the result
+ /// cannot be converted to the output format.
+ private void ReadResult(IDictionary result)
+ {
+ try
+ {
+ double waveHeight = Convert.ToDouble(result[waveHeightColumnName]);
+ double wavePeriod = Convert.ToDouble(result[wavePeriodColumnName]);
+ double waveAngle = Convert.ToDouble(result[waveAngleColumnName]);
+ double waveDirection = Convert.ToDouble(result[waveDirectionColumnName]);
+
+ Output = new WaveConditionsCalculationOutput(waveHeight, wavePeriod, waveAngle, waveDirection);
+ }
+ catch (InvalidCastException e)
+ {
+ throw new HydraRingFileParserException(Resources.WaveConditionsCalculationParser_No_calculated_wave_conditions_found_in_output_file, e);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Properties/AssemblyInfo.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Properties/AssemblyInfo.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Properties/AssemblyInfo.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,28 @@
+// Copyright (C) Stichting Deltares 2018. 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.Reflection;
+using System.Runtime.CompilerServices;
+
+[assembly: AssemblyTitle("Riskeer.HydraRing.Calculation")]
+[assembly: AssemblyProduct("Riskeer.HydraRing.Calculation")]
+[assembly: InternalsVisibleTo("Ringtoets.HydraRing.Calculation.Test")]
+[assembly: InternalsVisibleTo("Ringtoets.HydraRing.Calculation.TestUtil")]
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Properties/Resources.Designer.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Properties/Resources.Designer.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Properties/Resources.Designer.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,202 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Riskeer.HydraRing.Calculation.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Riskeer.HydraRing.Calculation.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er is geen resultaat voor convergentie gevonden in de Hydra-Ring uitvoerdatabase..
+ ///
+ internal static string ConvergenceParser_No_convergence_found_in_output_file {
+ get {
+ return ResourceManager.GetString("ConvergenceParser_No_convergence_found_in_output_file", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er zijn geen berekende hydraulische belastingen voor duinen gevonden in de Hydra-Ring uitvoerdatabase..
+ ///
+ internal static string DunesBoundaryConditionsCalculationParser_No_dunes_hydraulic_boundaries_found_in_output_file {
+ get {
+ return ResourceManager.GetString("DunesBoundaryConditionsCalculationParser_No_dunes_hydraulic_boundaries_found_in_o" +
+ "utput_file", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er is geen resultaat voor de betrouwbaarheidsindex van de faalkans gevonden in de Hydra-Ring uitvoerdatabase..
+ ///
+ internal static string ExceedanceProbabilityCalculationParser_No_beta_found_in_output_file {
+ get {
+ return ResourceManager.GetString("ExceedanceProbabilityCalculationParser_No_beta_found_in_output_file", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Het besturingssysteem geeft de volgende melding:
+ ///{0}.
+ ///
+ internal static string HydraRingCalculatorBase_Calculate_Critical_error_during_calculation_Exception_0 {
+ get {
+ return ResourceManager.GetString("HydraRingCalculatorBase_Calculate_Critical_error_during_calculation_Exception_0", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er is geen waarde gevonden voor kolom '{0}' tijdens het uitlezen van de illustratiepunten in de uitvoer database..
+ ///
+ internal static string IllustrationPointsParser_Parse_Column_0_is_Null {
+ get {
+ return ResourceManager.GetString("IllustrationPointsParser_Parse_Column_0_is_Null", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er konden geen illustratiepunten worden uitgelezen..
+ ///
+ internal static string IllustrationPointsParser_Parse_Could_not_read_illustration_point_data {
+ get {
+ return ResourceManager.GetString("IllustrationPointsParser_Parse_Could_not_read_illustration_point_data", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Meerdere waarden voor de betrouwbaarheidsindex voor 1 illustratiepunt gevonden in de uitvoer database..
+ ///
+ internal static string IllustrationPointsParser_Parse_Multiple_values_for_beta_of_illustration_point_found {
+ get {
+ return ResourceManager.GetString("IllustrationPointsParser_Parse_Multiple_values_for_beta_of_illustration_point_fou" +
+ "nd", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er is geen maatgevende windrichting gevonden in de uitvoer database..
+ ///
+ internal static string IllustrationPointsParser_Parse_No_governing_wind_direction_found {
+ get {
+ return ResourceManager.GetString("IllustrationPointsParser_Parse_No_governing_wind_direction_found", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Geen waarde voor de betrouwbaarheidsindex voor het algemene resultaat gevonden in de uitvoer database..
+ ///
+ internal static string IllustrationPointsParser_Parse_No_values_for_beta_of_illustration_point_found {
+ get {
+ return ResourceManager.GetString("IllustrationPointsParser_Parse_No_values_for_beta_of_illustration_point_found", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Een illustratiepunt node in de foutenboom moet 0 of 2 onderliggende nodes hebben..
+ ///
+ internal static string IllustrationPointTreeNode_SetChildren_Node_must_have_zero_or_two_child_nodes {
+ get {
+ return ResourceManager.GetString("IllustrationPointTreeNode_SetChildren_Node_must_have_zero_or_two_child_nodes", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er is geen resultaat voor overslag en overloop gevonden in de Hydra-Ring uitvoerdatabase..
+ ///
+ internal static string OvertoppingCalculationWaveHeightParser_No_overtopping_found_in_output_file {
+ get {
+ return ResourceManager.GetString("OvertoppingCalculationWaveHeightParser_No_overtopping_found_in_output_file", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Kan het Hydra-Ring last_error bestand {0} niet lezen uit de map {1}..
+ ///
+ internal static string Parse_Cannot_read_last_error_Filename_0_from_FolderPath_1_ {
+ get {
+ return ResourceManager.GetString("Parse_Cannot_read_last_error_Filename_0_from_FolderPath_1_", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er kon geen resultaat gelezen worden uit de Hydra-Ring uitvoerdatabase..
+ ///
+ internal static string Parse_Cannot_read_result_in_output_file {
+ get {
+ return ResourceManager.GetString("Parse_Cannot_read_result_in_output_file", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er is geen resultaat voor de betrouwbaarheidsindex van de berekende kans van voorkomen gevonden in de Hydra-Ring uitvoerdatabase..
+ ///
+ internal static string ReliabilityIndexCalculationParser_No_reliability_found_in_output_file {
+ get {
+ return ResourceManager.GetString("ReliabilityIndexCalculationParser_No_reliability_found_in_output_file", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er zijn geen berekende golfcondities gevonden in de Hydra-Ring uitvoerdatabase..
+ ///
+ internal static string WaveConditionsCalculationParser_No_calculated_wave_conditions_found_in_output_file {
+ get {
+ return ResourceManager.GetString("WaveConditionsCalculationParser_No_calculated_wave_conditions_found_in_output_fil" +
+ "e", resourceCulture);
+ }
+ }
+ }
+}
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Properties/Resources.resx
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Properties/Resources.resx (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Properties/Resources.resx (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Kan het Hydra-Ring last_error bestand {0} niet lezen uit de map {1}.
+
+
+ Er kon geen resultaat gelezen worden uit de Hydra-Ring uitvoerdatabase.
+
+
+ Er is geen resultaat voor convergentie gevonden in de Hydra-Ring uitvoerdatabase.
+
+
+ Er zijn geen berekende hydraulische belastingen voor duinen gevonden in de Hydra-Ring uitvoerdatabase.
+
+
+ Er is geen resultaat voor de betrouwbaarheidsindex van de faalkans gevonden in de Hydra-Ring uitvoerdatabase.
+
+
+ Er is geen resultaat voor de betrouwbaarheidsindex van de berekende kans van voorkomen gevonden in de Hydra-Ring uitvoerdatabase.
+
+
+ Er zijn geen berekende golfcondities gevonden in de Hydra-Ring uitvoerdatabase.
+
+
+ Er is geen resultaat voor overslag en overloop gevonden in de Hydra-Ring uitvoerdatabase.
+
+
+ Er konden geen illustratiepunten worden uitgelezen.
+
+
+ Meerdere waarden voor de betrouwbaarheidsindex voor 1 illustratiepunt gevonden in de uitvoer database.
+
+
+ Geen waarde voor de betrouwbaarheidsindex voor het algemene resultaat gevonden in de uitvoer database.
+
+
+ Er is geen waarde gevonden voor kolom '{0}' tijdens het uitlezen van de illustratiepunten in de uitvoer database.
+
+
+ Het besturingssysteem geeft de volgende melding:
+{0}
+
+
+ Er is geen maatgevende windrichting gevonden in de uitvoer database.
+
+
+ Een illustratiepunt node in de foutenboom moet 0 of 2 onderliggende nodes hebben.
+
+
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Providers/FailureMechanismDefaultsProvider.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Providers/FailureMechanismDefaultsProvider.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Providers/FailureMechanismDefaultsProvider.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,146 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data;
+using Riskeer.HydraRing.Calculation.Data.Defaults;
+
+namespace Riskeer.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, new[]
+ {
+ 1
+ }, 1, 9, 1)
+ },
+ {
+ HydraRingFailureMechanismType.WaveHeight, new FailureMechanismDefaults(11, new[]
+ {
+ 11
+ }, 11, 9, 1)
+ },
+ {
+ HydraRingFailureMechanismType.WavePeakPeriod, new FailureMechanismDefaults(11, new[]
+ {
+ 14
+ }, 14, 9, 1)
+ },
+ {
+ HydraRingFailureMechanismType.WaveSpectralPeriod, new FailureMechanismDefaults(11, new[]
+ {
+ 16
+ }, 16, 9, 1)
+ },
+ {
+ HydraRingFailureMechanismType.QVariant, new FailureMechanismDefaults(3, new[]
+ {
+ 5
+ }, 6, 10, 4)
+ },
+ {
+ HydraRingFailureMechanismType.DikeHeight, GetOvertoppingDefaults()
+ },
+ {
+ HydraRingFailureMechanismType.DikesOvertopping, GetOvertoppingDefaults()
+ },
+ {
+ HydraRingFailureMechanismType.StructuresOvertopping, new FailureMechanismDefaults(110, new[]
+ {
+ 421,
+ 422,
+ 423
+ }, 4404, 9, 1)
+ },
+ {
+ HydraRingFailureMechanismType.StructuresClosure, new FailureMechanismDefaults(111, new[]
+ {
+ 422,
+ 424,
+ 425,
+ 426,
+ 427
+ }, 4505, 9, 1)
+ },
+ {
+ HydraRingFailureMechanismType.StructuresStructuralFailure, new FailureMechanismDefaults(112, new[]
+ {
+ 422,
+ 424,
+ 425,
+ 430,
+ 431,
+ 432,
+ 433,
+ 434,
+ 435
+ }, 4607, 9, 1)
+ },
+ {
+ HydraRingFailureMechanismType.DunesBoundaryConditions, new FailureMechanismDefaults(1, new[]
+ {
+ 6
+ }, 8, 9, 1)
+ },
+ {
+ HydraRingFailureMechanismType.OvertoppingRate, GetOvertoppingDefaults()
+ }
+ };
+ }
+
+ ///
+ /// Returns based on the provided .
+ ///
+ /// The to obtain the for.
+ /// The corresponding to the provided .
+ public FailureMechanismDefaults GetFailureMechanismDefaults(HydraRingFailureMechanismType failureMechanismType)
+ {
+ return failureMechanismDefaults[failureMechanismType];
+ }
+
+ private static FailureMechanismDefaults GetOvertoppingDefaults()
+ {
+ return new FailureMechanismDefaults(101, new[]
+ {
+ 102,
+ 103
+ }, 1017, 9, 1);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Providers/VariableDefaultsProvider.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Providers/VariableDefaultsProvider.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Providers/VariableDefaultsProvider.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,416 @@
+// Copyright (C) Stichting Deltares 2018. 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 Riskeer.HydraRing.Calculation.Data;
+using Riskeer.HydraRing.Calculation.Data.Defaults;
+
+namespace Riskeer.HydraRing.Calculation.Providers
+{
+ ///
+ /// Provider of .
+ ///
+ internal class VariableDefaultsProvider
+ {
+ private readonly IDictionary> variableDefaults;
+
+ ///
+ /// Creates a new instance of the class.
+ ///
+ public VariableDefaultsProvider()
+ {
+ const int notApplicableCorrelationLength = 999999;
+
+ 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
+ {
+ {
+ 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.DikeHeight, GetOvertoppingDefaults()
+ },
+ {
+ HydraRingFailureMechanismType.DikesOvertopping, GetOvertoppingDefaults()
+ },
+ {
+ HydraRingFailureMechanismType.StructuresOvertopping, new Dictionary
+ {
+ {
+ 58, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 59, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 60, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 61, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 62, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 94, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 95, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 96, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 97, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 103, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 104, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 105, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 106, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 107, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 108, new VariableDefaults(notApplicableCorrelationLength)
+ }
+ }
+ },
+ {
+ HydraRingFailureMechanismType.StructuresClosure, new Dictionary
+ {
+ {
+ 58, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 59, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 61, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 62, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 63, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 65, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 66, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 67, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 68, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 69, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 71, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 72, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 93, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 94, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 95, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 96, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 97, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 103, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 104, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 105, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 106, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 107, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 108, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 125, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 129, new VariableDefaults(notApplicableCorrelationLength)
+ }
+ }
+ },
+ {
+ HydraRingFailureMechanismType.StructuresStructuralFailure, new Dictionary
+ {
+ {
+ 43, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 58, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 60, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 61, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 63, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 65, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 66, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 67, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 80, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 81, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 82, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 83, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 84, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 85, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 86, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 87, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 88, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 89, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 90, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 91, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 92, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 93, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 94, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 95, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 96, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 97, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 103, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 104, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 105, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 106, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 108, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 125, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 130, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 131, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 132, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 133, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 134, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 135, new VariableDefaults(notApplicableCorrelationLength)
+ },
+ {
+ 136, new VariableDefaults(notApplicableCorrelationLength)
+ }
+ }
+ },
+ {
+ HydraRingFailureMechanismType.DunesBoundaryConditions, new Dictionary
+ {
+ {
+ 26, new VariableDefaults(300)
+ }
+ }
+ },
+ {
+ HydraRingFailureMechanismType.OvertoppingRate, GetOvertoppingDefaults()
+ }
+ };
+ }
+
+ ///
+ /// 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];
+ }
+
+ private static Dictionary GetOvertoppingDefaults()
+ {
+ return 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)
+ },
+ {
+ 120, new VariableDefaults(300)
+ },
+ {
+ 123, new VariableDefaults(300)
+ }
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Readers/HydraRingDatabaseReader.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Readers/HydraRingDatabaseReader.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Readers/HydraRingDatabaseReader.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,172 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SQLite;
+using System.IO;
+using Core.Common.Util;
+
+namespace Riskeer.HydraRing.Calculation.Readers
+{
+ ///
+ /// Class for reading the output database of a Hydra-Ring calculation.
+ ///
+ internal class HydraRingDatabaseReader : IDisposable
+ {
+ private readonly string workingDirectory;
+
+ private SQLiteConnection connection;
+ private SQLiteCommand command;
+ private SQLiteDataReader reader;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The path to the directory which contains the
+ /// output of the Hydra-Ring calculation.
+ /// The query to perform when reading the database.
+ /// The section id to get the output for.
+ /// Thrown when
+ /// or is null.
+ /// Thrown when
+ ///
+ /// is zero-length, or
+ /// contains only whitespace, or
+ /// contains illegal characters, or
+ /// contains a colon which is not part of a volume identifier, or
+ /// is too long.
+ ///
+ ///
+ /// Thrown when the reader encounters
+ /// an error while connecting to the database.
+ public HydraRingDatabaseReader(string workingDirectory, string query, int sectionId)
+ {
+ if (workingDirectory == null)
+ {
+ throw new ArgumentNullException(nameof(workingDirectory));
+ }
+
+ if (query == null)
+ {
+ throw new ArgumentNullException(nameof(query));
+ }
+
+ IOUtils.ValidateFilePath(workingDirectory);
+
+ this.workingDirectory = workingDirectory;
+
+ CreateConnection(sectionId);
+ CreateCommand(query, sectionId);
+ OpenConnection();
+ GetReader();
+ }
+
+ ///
+ /// Executes the query on the database and reads the next row.
+ ///
+ /// A with the key
+ /// of the column and the value. Or null if no row could
+ /// be read from the reader.
+ public Dictionary ReadLine()
+ {
+ if (reader.Read())
+ {
+ var results = new Dictionary();
+
+ for (var i = 0; i < reader.FieldCount; i++)
+ {
+ results.Add(reader.GetName(i), reader[i]);
+ }
+
+ return results;
+ }
+
+ return null;
+ }
+
+ ///
+ /// Progresses the reader to the next result in the data set.
+ ///
+ /// true if there was another result in the data set, false
+ /// otherwise.
+ public bool NextResult()
+ {
+ return reader.NextResult();
+ }
+
+ public void Dispose()
+ {
+ Dispose(true);
+ GC.SuppressFinalize(this);
+ }
+
+ protected virtual void Dispose(bool disposing)
+ {
+ if (disposing)
+ {
+ reader?.Dispose();
+ connection?.Dispose();
+ command?.Dispose();
+ }
+ }
+
+ private void CreateConnection(int sectionId)
+ {
+ string databaseFile = Path.Combine(workingDirectory, $"{sectionId}{HydraRingFileConstants.OutputDatabaseFileNameSuffix}");
+
+ string connectionStringBuilder = new SQLiteConnectionStringBuilder
+ {
+ FailIfMissing = true,
+ DataSource = databaseFile,
+ ReadOnly = true
+ }.ConnectionString;
+
+ connection = new SQLiteConnection(connectionStringBuilder);
+ }
+
+ private void CreateCommand(string query, int sectionId)
+ {
+ command = new SQLiteCommand(query, connection);
+ command.Parameters.Add(new SQLiteParameter
+ {
+ DbType = DbType.Int64,
+ ParameterName = HydraRingDatabaseConstants.SectionIdParameterName,
+ Value = sectionId
+ });
+ }
+
+ private void GetReader()
+ {
+ reader = command.ExecuteReader();
+ }
+
+ ///
+ /// Opens the connection.
+ ///
+ /// Thrown when the connection could not be opened.
+ private void OpenConnection()
+ {
+ connection.Open();
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Riskeer.HydraRing.Calculation.csproj
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Riskeer.HydraRing.Calculation.csproj (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Riskeer.HydraRing.Calculation.csproj (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,398 @@
+
+
+
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}
+ Riskeer.HydraRing.Calculation
+ Riskeer.HydraRing.Calculation
+
+
+
+
+
+
+
+ ..\..\..\..\packages\System.Data.SQLite.Core.1.0.106.0\lib\net40\System.Data.SQLite.dll
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+ True
+ Resources.resx
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {F49BD8B2-332A-4C91-A196-8CCE0A2C7D98}
+ Core.Common.Util
+ False
+
+
+
+
+ Copying.licenseheader
+
+
+ Always
+
+
+
+
+
+ ResXFileCodeGenerator
+ Designer
+ Resources.Designer.cs
+
+
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Services/HydraRingConfigurationService.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Services/HydraRingConfigurationService.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Services/HydraRingConfigurationService.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,826 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.Collections.Generic;
+using System.Collections.Specialized;
+using System.Globalization;
+using System.IO;
+using System.Linq;
+using System.Security;
+using Riskeer.HydraRing.Calculation.Data;
+using Riskeer.HydraRing.Calculation.Data.Defaults;
+using Riskeer.HydraRing.Calculation.Data.Input;
+using Riskeer.HydraRing.Calculation.Data.Settings;
+using Riskeer.HydraRing.Calculation.Data.Variables;
+using Riskeer.HydraRing.Calculation.Providers;
+
+namespace Riskeer.HydraRing.Calculation.Services
+{
+ ///
+ /// Service for generating the database creation script that is necessary for performing Hydra-Ring calculations.
+ /// The following Hydra-Ring features are not exposed (yet):
+ ///
+ ///
+ /// Combination of multiple sections
+ ///
+ ///
+ /// Coupling two hydraulic boundary locations
+ ///
+ ///
+ /// Performing revetment calculations (DesignTables > LayerId)
+ ///
+ ///
+ /// Performing piping calculations (DesignTables > AlternativeId)
+ ///
+ ///
+ /// Type III calculations (DesignTables > Method)
+ ///
+ ///
+ /// In the end, the configuration can be used to generate a Hydra-Ring database creation script.
+ ///
+ internal class HydraRingConfigurationService
+ {
+ private const double defaultLayerId = 1;
+ private const double defaultAlternativeId = 1;
+ private const double defaultHydraRingValue = 0.0;
+
+ private readonly double? defaultHydraRingNullValue = null;
+ private readonly List hydraRingInputs = new List();
+ private readonly FailureMechanismDefaultsProvider failureMechanismDefaultsProvider = new FailureMechanismDefaultsProvider();
+ private readonly VariableDefaultsProvider variableDefaultsProvider = new VariableDefaultsProvider();
+
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The to use while performing Hydra-Ring calculations.
+ public HydraRingConfigurationService(HydraRingUncertaintiesType uncertaintiesType)
+ {
+ UncertaintiesType = uncertaintiesType;
+ }
+
+ ///
+ /// Gets the to use while performing Hydra-Ring calculations.
+ ///
+ public HydraRingUncertaintiesType UncertaintiesType { get; }
+
+ ///
+ /// Adds Hydra-Ring calculation input to the configuration.
+ ///
+ /// The calculation input to add to the configuration.
+ /// Thrown when with
+ /// the same has already been added.
+ /// Thrown when is not unique.
+ /// Thrown when
+ /// is not the same with already added input.
+ public void AddHydraRingCalculationInput(HydraRingCalculationInput input)
+ {
+ if (hydraRingInputs.Any(h => h.Section.SectionId == input.Section.SectionId))
+ {
+ throw new ArgumentException(@"Section id is not unique", nameof(input));
+ }
+
+ if (hydraRingInputs.Count > 0 && hydraRingInputs.First().FailureMechanismType != input.FailureMechanismType)
+ {
+ throw new NotSupportedException("Running calculations for multiple failure mechanism types is not supported.");
+ }
+
+ hydraRingInputs.Add(input);
+ }
+
+ ///
+ /// Writes the database creation script necessary for performing Hydra-Ring calculations.
+ ///
+ /// The file path to write the database creation script to.
+ /// Thrown when an I/O error occurred while opening the file.
+ /// Thrown when the path can't be accessed due to missing permissions.
+ /// Thrown when the path can't be accessed due to missing permissions.
+ public void WriteDatabaseCreationScript(string databaseFilePath)
+ {
+ var configurationDictionary = new Dictionary>
+ {
+ ["HydraulicModels"] = GetHydraulicModelsConfiguration(),
+ ["Sections"] = GetSectionsConfiguration(),
+ ["SectionCalculationSchemes"] = GetSectionCalculationSchemesConfiguration(),
+ ["DesignTables"] = GetDesignTablesConfiguration(),
+ ["PreprocessorSettings"] = GetPreprocessorSettingsConfiguration(),
+ ["Numerics"] = GetNumericsConfiguration(),
+ ["VariableDatas"] = GetVariableDatasConfiguration(),
+ ["CalculationProfiles"] = GetCalculationProfilesConfiguration(),
+ ["SectionFaultTreeModels"] = GetSectionFaultTreeModelsConfiguration(),
+ ["SectionSubMechanismModels"] = GetSectionSubMechanismModelsConfiguration(),
+ ["Fetches"] = new List(),
+ ["AreaPoints"] = new List(),
+ ["PresentationSections"] = new List(),
+ ["Profiles"] = GetProfilesConfiguration(),
+ ["ForelandModels"] = GetForlandModelsConfiguration(),
+ ["Forelands"] = GetForelandsConfiguration(),
+ ["ProbabilityAlternatives"] = new List(),
+ ["SetUpHeights"] = new List(),
+ ["CalcWindDirections"] = new List(),
+ ["Swells"] = new List(),
+ ["WaveReductions"] = new List(),
+ ["Areas"] = GetAreasConfiguration(),
+ ["Projects"] = GetProjectsConfiguration(),
+ ["Breakwaters"] = GetBreakWatersConfiguration()
+ };
+
+ File.WriteAllText(databaseFilePath, GenerateDatabaseCreationScript(configurationDictionary));
+ }
+
+ private IEnumerable GetHydraulicModelsConfiguration()
+ {
+ return new List
+ {
+ new OrderedDictionary
+ {
+ {
+ "TimeIntegrationSchemeID", 1
+ },
+ {
+ "UncertaintiesID", (int) UncertaintiesType
+ },
+ {
+ "DataSetName", "WTI 2017" // Fixed: use the WTI 2017 set of hydraulic boundary locations
+ }
+ }
+ };
+ }
+
+ private IEnumerable GetSectionsConfiguration()
+ {
+ var orderedDictionaries = new List();
+
+ foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs)
+ {
+ HydraRingSection hydraRingSection = hydraRingCalculationInput.Section;
+
+ orderedDictionaries.Add(new OrderedDictionary
+ {
+ {
+ "SectionId", hydraRingSection.SectionId
+ },
+ {
+ "PresentationId", 1 // Fixed: no support for combination of multiple sections
+ },
+ {
+ "MainMechanismId", 1 // Fixed: no support for combination of multiple sections
+ },
+ {
+ "Name", hydraRingSection.SectionId // Just use the section id
+ },
+ {
+ "Description", hydraRingSection.SectionId // Just use the section id
+ },
+ {
+ "RingCoordinateBegin", defaultHydraRingValue // No support for coordinates
+ },
+ {
+ "RingCoordinateEnd", defaultHydraRingValue // No support for coordinates
+ },
+ {
+ "XCoordinate", defaultHydraRingValue // No support for coordinates
+ },
+ {
+ "YCoordinate", defaultHydraRingValue // No support for coordinates
+ },
+ {
+ "StationId1", hydraRingCalculationInput.HydraulicBoundaryLocationId
+ },
+ {
+ "StationId2", hydraRingCalculationInput.HydraulicBoundaryLocationId // Same as "StationId1": no support for coupling two hydraulic boundary locations
+ },
+ {
+ "Relative", 100.0 // Fixed: no support for coupling two hydraulic boundary locations
+ },
+ {
+ "Normal", GetHydraRingValue(hydraRingSection.CrossSectionNormal)
+ },
+ {
+ "Length", GetHydraRingValue(hydraRingSection.SectionLength)
+ }
+ });
+ }
+
+ return orderedDictionaries;
+ }
+
+ private IEnumerable GetSectionCalculationSchemesConfiguration()
+ {
+ var orderedDictionaries = new List();
+
+ foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs)
+ {
+ FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType);
+ TimeIntegrationSetting timeIntegrationSetting = hydraRingCalculationInput.TimeIntegrationSetting;
+
+ orderedDictionaries.Add(new OrderedDictionary
+ {
+ {
+ "SectionId", hydraRingCalculationInput.Section.SectionId
+ },
+ {
+ "MechanismId", failureMechanismDefaults.MechanismId
+ },
+ {
+ "TimeIntegrationSchemeID", timeIntegrationSetting.TimeIntegrationSchemeId
+ }
+ });
+ }
+
+ return orderedDictionaries;
+ }
+
+ private IEnumerable GetDesignTablesConfiguration()
+ {
+ var orderedDictionaries = new List();
+
+ foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs)
+ {
+ FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType);
+ DesignTablesSetting designTablesSetting = hydraRingCalculationInput.DesignTablesSetting;
+
+ orderedDictionaries.Add(new OrderedDictionary
+ {
+ {
+ "SectionId", hydraRingCalculationInput.Section.SectionId
+ },
+ {
+ "MechanismId", failureMechanismDefaults.MechanismId
+ },
+ {
+ "LayerId", defaultLayerId // Fixed: no support for revetments
+ },
+ {
+ "AlternativeId", defaultAlternativeId // Fixed: no support for piping
+ },
+ {
+ "Method", hydraRingCalculationInput.CalculationTypeId
+ },
+ {
+ "VariableId", hydraRingCalculationInput.VariableId
+ },
+ {
+ "LoadVariableId", defaultHydraRingValue // Fixed: not relevant
+ },
+ {
+ "TableMin", defaultHydraRingValue // Fixed: no support for type III calculations (see "Method")
+ },
+ {
+ "TableMax", defaultHydraRingValue // Fixed: no support for type III calculations (see "Method")
+ },
+ {
+ "TableStepSize", defaultHydraRingValue // Fixed: no support for type III calculations (see "Method")
+ },
+ {
+ "ValueMin", GetHydraRingValue(designTablesSetting.ValueMin)
+ },
+ {
+ "ValueMax", GetHydraRingValue(designTablesSetting.ValueMax)
+ },
+ {
+ "Beta", GetHydraRingValue(hydraRingCalculationInput.Beta)
+ }
+ });
+ }
+
+ return orderedDictionaries;
+ }
+
+ private IEnumerable GetPreprocessorSettingsConfiguration()
+ {
+ var orderedDictionaries = new List();
+
+ foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs)
+ {
+ PreprocessorSetting preprocessorSetting = hydraRingCalculationInput.PreprocessorSetting;
+
+ if (preprocessorSetting.RunPreprocessor)
+ {
+ orderedDictionaries.Add(new OrderedDictionary
+ {
+ {
+ "SectionId", hydraRingCalculationInput.Section.SectionId
+ },
+ {
+ "MinValueRunPreprocessor", preprocessorSetting.ValueMin
+ },
+ {
+ "MaxValueRunPreprocessor", preprocessorSetting.ValueMax
+ }
+ });
+ }
+ }
+
+ return orderedDictionaries;
+ }
+
+ private IEnumerable GetNumericsConfiguration()
+ {
+ var orderDictionaries = new List();
+
+ foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs)
+ {
+ FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType);
+
+ foreach (int subMechanismId in failureMechanismDefaults.SubMechanismIds)
+ {
+ NumericsSetting numericsSetting = hydraRingCalculationInput.NumericsSettings[subMechanismId];
+
+ orderDictionaries.Add(CreateNumericsRecord(hydraRingCalculationInput.Section.SectionId,
+ failureMechanismDefaults.MechanismId,
+ subMechanismId,
+ hydraRingCalculationInput.IterationMethodId,
+ numericsSetting));
+ }
+
+ if (hydraRingCalculationInput.PreprocessorSetting.RunPreprocessor)
+ {
+ orderDictionaries.Add(CreateNumericsRecord(hydraRingCalculationInput.Section.SectionId,
+ failureMechanismDefaults.PreprocessorMechanismId,
+ failureMechanismDefaults.PreprocessorSubMechanismId,
+ hydraRingCalculationInput.IterationMethodId,
+ hydraRingCalculationInput.PreprocessorSetting.NumericsSetting));
+ }
+ }
+
+ return orderDictionaries;
+ }
+
+ private static OrderedDictionary CreateNumericsRecord(int sectionId, int mechanismId, int subMechanismId, int iterationMethodId, NumericsSetting numericsSetting)
+ {
+ return new OrderedDictionary
+ {
+ {
+ "SectionId", sectionId
+ },
+ {
+ "MechanismId", mechanismId
+ },
+ {
+ "LayerId", defaultLayerId // Fixed: no support for revetments
+ },
+ {
+ "AlternativeId", defaultAlternativeId // Fixed: no support for piping
+ },
+ {
+ "SubMechanismId", subMechanismId
+ },
+ {
+ "Method", numericsSetting.CalculationTechniqueId
+ },
+ {
+ "FormStartMethod", numericsSetting.FormStartMethod
+ },
+ {
+ "FormNumberOfIterations", numericsSetting.FormNumberOfIterations
+ },
+ {
+ "FormRelaxationFactor", GetHydraRingValue(numericsSetting.FormRelaxationFactor)
+ },
+ {
+ "FormEpsBeta", GetHydraRingValue(numericsSetting.FormEpsBeta)
+ },
+ {
+ "FormEpsHOH", GetHydraRingValue(numericsSetting.FormEpsHoh)
+ },
+ {
+ "FormEpsZFunc", GetHydraRingValue(numericsSetting.FormEpsZFunc)
+ },
+ {
+ "DsStartMethod", numericsSetting.DsStartMethod
+ },
+ {
+ "DsIterationmethod", iterationMethodId
+ },
+ {
+ "DsMinNumberOfIterations", numericsSetting.DsMinNumberOfIterations
+ },
+ {
+ "DsMaxNumberOfIterations", numericsSetting.DsMaxNumberOfIterations
+ },
+ {
+ "DsVarCoefficient", GetHydraRingValue(numericsSetting.DsVarCoefficient)
+ },
+ {
+ "NiUMin", GetHydraRingValue(numericsSetting.NiUMin)
+ },
+ {
+ "NiUMax", GetHydraRingValue(numericsSetting.NiUMax)
+ },
+ {
+ "NiNumberSteps", numericsSetting.NiNumberSteps
+ }
+ };
+ }
+
+ private IEnumerable GetVariableDatasConfiguration()
+ {
+ var orderDictionaries = new List();
+
+ foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs)
+ {
+ FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType);
+
+ foreach (HydraRingVariable hydraRingVariable in hydraRingCalculationInput.Variables)
+ {
+ VariableDefaults variableDefaults = variableDefaultsProvider.GetVariableDefaults(hydraRingCalculationInput.FailureMechanismType, hydraRingVariable.VariableId);
+
+ orderDictionaries.Add(new OrderedDictionary
+ {
+ {
+ "SectionId", hydraRingCalculationInput.Section.SectionId
+ },
+ {
+ "MechanismId", failureMechanismDefaults.MechanismId
+ },
+ {
+ "LayerId", defaultLayerId // Fixed: no support for revetments
+ },
+ {
+ "AlternativeId", defaultAlternativeId // Fixed: no support for piping
+ },
+ {
+ "VariableId", hydraRingVariable.VariableId
+ },
+ {
+ "Value", GetHydraRingValue(hydraRingVariable.Value)
+ },
+ {
+ "DistributionType", (int?) hydraRingVariable.DistributionType
+ },
+ {
+ "Parameter1", GetHydraRingValue(hydraRingVariable.Parameter1)
+ },
+ {
+ "Parameter2", GetHydraRingNullableValue(hydraRingVariable.Parameter2)
+ },
+ {
+ "Parameter3", GetHydraRingNullableValue(hydraRingVariable.Parameter3)
+ },
+ {
+ "Parameter4", GetHydraRingNullableValue(hydraRingVariable.Parameter4)
+ },
+ {
+ "DeviationType", (int?) hydraRingVariable.DeviationType
+ },
+ {
+ "CoefficientOfVariation", GetHydraRingValue(hydraRingVariable.CoefficientOfVariation)
+ },
+ {
+ "CorrelationLength", GetHydraRingValue(variableDefaults.CorrelationLength)
+ }
+ });
+ }
+ }
+
+ return orderDictionaries;
+ }
+
+ private IEnumerable GetProfilesConfiguration()
+ {
+ var orderDictionaries = new List();
+
+ foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs)
+ {
+ for (var i = 0; i < hydraRingCalculationInput.ProfilePoints.Count(); i++)
+ {
+ HydraRingProfilePoint hydraRingProfilePoint = hydraRingCalculationInput.ProfilePoints.ElementAt(i);
+
+ orderDictionaries.Add(new OrderedDictionary
+ {
+ {
+ "SectionId", hydraRingCalculationInput.Section.SectionId
+ },
+ {
+ "SequenceNumber", i + 1
+ },
+ {
+ "XCoordinate", GetHydraRingValue(hydraRingProfilePoint.X)
+ },
+ {
+ "ZCoordinate", GetHydraRingValue(hydraRingProfilePoint.Z)
+ }
+ });
+ }
+ }
+
+ return orderDictionaries;
+ }
+
+ private IEnumerable GetCalculationProfilesConfiguration()
+ {
+ var orderDictionaries = new List();
+
+ foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs)
+ {
+ for (var i = 0; i < hydraRingCalculationInput.ProfilePoints.Count(); i++)
+ {
+ HydraRingProfilePoint hydraRingProfilePoint = hydraRingCalculationInput.ProfilePoints.ElementAt(i);
+
+ orderDictionaries.Add(new OrderedDictionary
+ {
+ {
+ "SectionId", hydraRingCalculationInput.Section.SectionId
+ },
+ {
+ "SequenceNumber", i + 1
+ },
+ {
+ "XCoordinate", GetHydraRingValue(hydraRingProfilePoint.X)
+ },
+ {
+ "ZCoordinate", GetHydraRingValue(hydraRingProfilePoint.Z)
+ },
+ {
+ "Roughness", GetHydraRingValue(hydraRingProfilePoint.Roughness)
+ }
+ });
+ }
+ }
+
+ return orderDictionaries;
+ }
+
+ private IEnumerable GetForlandModelsConfiguration()
+ {
+ var orderDictionaries = new List();
+ foreach (HydraRingCalculationInput input in hydraRingInputs.Where(i => i.ForelandsPoints.Any() || i.BreakWater != null))
+ {
+ FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(input.FailureMechanismType);
+ orderDictionaries.Add(new OrderedDictionary
+ {
+ {
+ "SectionId", input.Section.SectionId
+ },
+ {
+ "MechanismId", failureMechanismDefaults.MechanismId
+ },
+ {
+ "Model", 3
+ }
+ });
+ }
+
+ return orderDictionaries;
+ }
+
+ private IEnumerable GetForelandsConfiguration()
+ {
+ var orderDictionaries = new List();
+ foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs)
+ {
+ for (var i = 0; i < hydraRingCalculationInput.ForelandsPoints.Count(); i++)
+ {
+ HydraRingForelandPoint forelandPoint = hydraRingCalculationInput.ForelandsPoints.ElementAt(i);
+
+ orderDictionaries.Add(new OrderedDictionary
+ {
+ {
+ "SectionId", hydraRingCalculationInput.Section.SectionId
+ },
+ {
+ "SequenceNumber", i + 1
+ },
+ {
+ "XCoordinate", GetHydraRingValue(forelandPoint.X)
+ },
+ {
+ "ZCoordinate", GetHydraRingValue(forelandPoint.Z)
+ }
+ });
+ }
+ }
+
+ return orderDictionaries;
+ }
+
+ private IEnumerable GetBreakWatersConfiguration()
+ {
+ var orderedDictionaries = new List();
+ foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs)
+ {
+ if (hydraRingCalculationInput.BreakWater != null)
+ {
+ orderedDictionaries.Add(new OrderedDictionary
+ {
+ {
+ "SectionId", hydraRingCalculationInput.Section.SectionId
+ },
+ {
+ "Type", hydraRingCalculationInput.BreakWater.Type
+ },
+ {
+ "Height", GetHydraRingValue(hydraRingCalculationInput.BreakWater.Height)
+ }
+ });
+ }
+ }
+
+ return orderedDictionaries;
+ }
+
+ private IEnumerable GetSectionFaultTreeModelsConfiguration()
+ {
+ var orderedDictionaries = new List();
+
+ foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs)
+ {
+ FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType);
+
+ orderedDictionaries.Add(CreateFaultTreeModelsRecord(hydraRingCalculationInput.Section.SectionId,
+ failureMechanismDefaults.MechanismId,
+ failureMechanismDefaults.FaultTreeModelId));
+
+ if (hydraRingCalculationInput.PreprocessorSetting.RunPreprocessor)
+ {
+ orderedDictionaries.Add(CreateFaultTreeModelsRecord(hydraRingCalculationInput.Section.SectionId,
+ failureMechanismDefaults.PreprocessorMechanismId,
+ failureMechanismDefaults.PreprocessorFaultTreeModelId));
+ }
+ }
+
+ return orderedDictionaries;
+ }
+
+ private static OrderedDictionary CreateFaultTreeModelsRecord(int sectionId, int mechanismId, int faultTreeModelId)
+ {
+ return new OrderedDictionary
+ {
+ {
+ "SectionId", sectionId
+ },
+ {
+ "MechanismId", mechanismId
+ },
+ {
+ "LayerId", defaultLayerId // Fixed: no support for revetments
+ },
+ {
+ "AlternativeId", defaultAlternativeId // Fixed: no support for piping
+ },
+ {
+ "FaultTreeModelId", faultTreeModelId
+ }
+ };
+ }
+
+ private IEnumerable GetSectionSubMechanismModelsConfiguration()
+ {
+ var orderedDictionaries = new List();
+
+ foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs)
+ {
+ FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType);
+
+ foreach (int subMechanismId in failureMechanismDefaults.SubMechanismIds)
+ {
+ int? subMechanismModelId = hydraRingCalculationInput.GetSubMechanismModelId(subMechanismId);
+
+ if (subMechanismModelId != null)
+ {
+ orderedDictionaries.Add(new OrderedDictionary
+ {
+ {
+ "SectionId", hydraRingCalculationInput.Section.SectionId
+ },
+ {
+ "LayerId", defaultLayerId // Fixed: no support for revetments
+ },
+ {
+ "AlternativeId", defaultAlternativeId // Fixed: no support for piping
+ },
+ {
+ "SubMechanismId", subMechanismId
+ },
+ {
+ "SubMechanismModelId", subMechanismModelId
+ }
+ });
+ }
+ }
+ }
+
+ return orderedDictionaries;
+ }
+
+ private static IEnumerable GetAreasConfiguration()
+ {
+ return new List
+ {
+ new OrderedDictionary
+ {
+ {
+ "aDefault", 1 // Fixed: not relevant
+ },
+ {
+ "bDefault", "1" // Fixed: not relevant
+ },
+ {
+ "cDefault", "Nederland" // Fixed: not relevant
+ }
+ }
+ };
+ }
+
+ private static IEnumerable GetProjectsConfiguration()
+ {
+ return new List
+ {
+ new OrderedDictionary
+ {
+ {
+ "aDefault", 1 // Fixed: not relevant
+ },
+ {
+ "bDefault", "WTI 2017" // Fixed: not relevant
+ },
+ {
+ "cDefault", "Ringtoets calculation" // Fixed: not relevant
+ }
+ }
+ };
+ }
+
+ private static string GenerateDatabaseCreationScript(Dictionary> configurationDictionary)
+ {
+ var lines = new List();
+
+ foreach (string tableName in configurationDictionary.Keys)
+ {
+ lines.Add("DELETE FROM [" + tableName + "];");
+
+ if (!configurationDictionary[tableName].Any())
+ {
+ lines.Add("");
+
+ continue;
+ }
+
+ foreach (OrderedDictionary orderedDictionary in configurationDictionary[tableName])
+ {
+ var valueStrings = new List();
+
+ foreach (object val in orderedDictionary.Values)
+ {
+ if (val == null)
+ {
+ valueStrings.Add("NULL");
+ continue;
+ }
+
+ if (val is string)
+ {
+ valueStrings.Add("'" + val + "'");
+ continue;
+ }
+
+ if (val is double)
+ {
+ valueStrings.Add(((double) val).ToString(CultureInfo.InvariantCulture));
+ continue;
+ }
+
+ valueStrings.Add(val.ToString());
+ }
+
+ string valuesString = string.Join(", ", valueStrings);
+
+ lines.Add("INSERT INTO [" + tableName + "] VALUES (" + valuesString + ");");
+ }
+
+ lines.Add("");
+ }
+
+ return string.Join(Environment.NewLine, lines);
+ }
+
+ private static double GetHydraRingValue(double value)
+ {
+ return !double.IsNaN(value) ? value : defaultHydraRingValue;
+ }
+
+ private double? GetHydraRingNullableValue(double value)
+ {
+ return !double.IsNaN(value) ? value : defaultHydraRingNullValue;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Services/HydraRingInitializationService.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Services/HydraRingInitializationService.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Services/HydraRingInitializationService.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,159 @@
+// Copyright (C) Stichting Deltares 2018. 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;
+using System.IO;
+using System.Reflection;
+using System.Security;
+using Riskeer.HydraRing.Calculation.Data;
+using Riskeer.HydraRing.Calculation.Data.Input;
+using Riskeer.HydraRing.Calculation.Providers;
+
+namespace Riskeer.HydraRing.Calculation.Services
+{
+ ///
+ /// Service for:
+ ///
+ ///
+ /// generating an initialization script that is necessary for performing Hydra-Ring calculations;
+ ///
+ ///
+ /// providing the corresponding file paths.
+ ///
+ ///
+ ///
+ internal class HydraRingInitializationService
+ {
+ private const string hydraRingBinariesSubDirectory = "HydraRing";
+
+ private const string iniFileExtension = ".ini";
+ private const string databaseFileExtension = ".sql";
+ private const string logFileExtension = ".log";
+
+ private readonly int mechanismId;
+ private readonly int sectionId;
+
+ private readonly string hlcdFilePath;
+ private readonly string hydraRingDirectory;
+ private readonly string configurationDatabaseFilePath;
+ private readonly string preprocessorDirectory;
+
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The failure mechanism type.
+ /// The section id.
+ /// The working directory.
+ /// The
+ /// which holds all the general information to start a Hydra-Ring calculation.
+ /// Preprocessing is disabled when
+ /// matches .
+ /// Thrown when is null.
+ public HydraRingInitializationService(HydraRingFailureMechanismType failureMechanismType,
+ int sectionId,
+ string temporaryWorkingDirectory,
+ HydraRingCalculationSettings settings)
+ {
+ if (settings == null)
+ {
+ throw new ArgumentNullException(nameof(settings));
+ }
+
+ mechanismId = new FailureMechanismDefaultsProvider().GetFailureMechanismDefaults(failureMechanismType).MechanismId;
+ this.sectionId = sectionId;
+ TemporaryWorkingDirectory = temporaryWorkingDirectory;
+ hlcdFilePath = settings.HlcdFilePath;
+ hydraRingDirectory = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), hydraRingBinariesSubDirectory);
+ configurationDatabaseFilePath = Path.Combine(hydraRingDirectory, HydraRingFileConstants.ConfigurationDatabaseFileName);
+ preprocessorDirectory = settings.PreprocessorDirectory;
+ }
+
+ ///
+ /// Gets the ini file path.
+ ///
+ public string IniFilePath
+ {
+ get
+ {
+ return Path.Combine(TemporaryWorkingDirectory, sectionId + iniFileExtension);
+ }
+ }
+
+ ///
+ /// Gets the database creation script file path.
+ ///
+ public string DatabaseCreationScriptFilePath
+ {
+ get
+ {
+ return Path.Combine(TemporaryWorkingDirectory, sectionId + databaseFileExtension);
+ }
+ }
+
+ ///
+ /// Gets the path of the MechanismComputation.exe file.
+ ///
+ public string MechanismComputationExeFilePath
+ {
+ get
+ {
+ return Path.Combine(hydraRingDirectory, HydraRingFileConstants.HydraRingExecutableFileName);
+ }
+ }
+
+ ///
+ /// Gets the directory in which Hydra-Ring will place temporary input and output files created during a
+ /// calculation.
+ ///
+ public string TemporaryWorkingDirectory { get; }
+
+ ///
+ /// Generates the initialization script necessary for performing Hydra-Ring calculations.
+ ///
+ /// The initialization script.
+ /// Thrown when an I/O error occurred while opening the file.
+ /// Thrown when the path can't be accessed due to missing permissions.
+ /// Thrown when the path can't be accessed due to missing permissions.
+ public void WriteInitializationScript()
+ {
+ string initializationFileContent = string.Join(Environment.NewLine,
+ "section = " + sectionId,
+ "mechanism = " + mechanismId,
+ "alternative = 1", // Fixed: no support for piping
+ "layer = 1", // Fixed: no support for revetments
+ "logfile = " + sectionId + logFileExtension,
+ "outputverbosity = basic",
+ "outputtofile = file",
+ "projectdbfilename = " + sectionId + databaseFileExtension,
+ "outputfilename = " + HydraRingFileConstants.DesignTablesFileName,
+ "configdbfilename = " + configurationDatabaseFilePath,
+ "hydraulicdbfilename = " + hlcdFilePath,
+ "designpointOutput = sqlite");
+
+ if (preprocessorDirectory != string.Empty)
+ {
+ initializationFileContent += Environment.NewLine + "preprocessordbdirectory = " + preprocessorDirectory;
+ }
+
+ File.WriteAllText(IniFilePath, initializationFileContent);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Services/HydraRingProcessFactory.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Services/HydraRingProcessFactory.cs (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/Services/HydraRingProcessFactory.cs (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,54 @@
+// Copyright (C) Stichting Deltares 2018. 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.Diagnostics;
+
+namespace Riskeer.HydraRing.Calculation.Services
+{
+ ///
+ /// Factory for creating instances that can be used for performing Hydra-Ring calculations.
+ ///
+ internal static class HydraRingProcessFactory
+ {
+ ///
+ /// Creates a that can be used for performing a Hydra-Ring calculation.
+ ///
+ /// The path to the MechanismComputation.exe file that should be used for the calculation.
+ /// The path to the ini file that should be used during the calculation.
+ /// The working directory that should be used during the calculation.
+ /// The created process.
+ public static Process Create(string mechanismComputationExeFilePath, string iniFilePath, string workingDirectory)
+ {
+ return new Process
+ {
+ StartInfo = new ProcessStartInfo(mechanismComputationExeFilePath, iniFilePath)
+ {
+ WorkingDirectory = workingDirectory,
+ UseShellExecute = false,
+ CreateNoWindow = true,
+ RedirectStandardInput = true,
+ RedirectStandardOutput = true,
+ RedirectStandardError = true
+ }
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/packages.config
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/packages.config (revision 0)
+++ Ringtoets/HydraRing/src/Riskeer.HydraRing.Calculation/packages.config (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -0,0 +1,26 @@
+
+
+
+
+
\ No newline at end of file
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj (.../Ringtoets.HydraRing.Calculation.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj (.../Ringtoets.HydraRing.Calculation.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -120,7 +120,7 @@
{D749EE4C-CE50-4C17-BF01-9A953028C126}Core.Common.TestUtil
-
+ {888d4097-8bc2-4703-9fb1-8744c94d525e}Riskeer.HydraRing.Calculation
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil.Test/Ringtoets.HydraRing.Calculation.TestUtil.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil.Test/Ringtoets.HydraRing.Calculation.TestUtil.Test.csproj (.../Ringtoets.HydraRing.Calculation.TestUtil.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil.Test/Ringtoets.HydraRing.Calculation.TestUtil.Test.csproj (.../Ringtoets.HydraRing.Calculation.TestUtil.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -32,7 +32,7 @@
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil/Ringtoets.HydraRing.Calculation.TestUtil.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil/Ringtoets.HydraRing.Calculation.TestUtil.csproj (.../Ringtoets.HydraRing.Calculation.TestUtil.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil/Ringtoets.HydraRing.Calculation.TestUtil.csproj (.../Ringtoets.HydraRing.Calculation.TestUtil.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -35,7 +35,7 @@
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Ringtoets.Integration.Plugin.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Ringtoets.Integration.Plugin.Test.csproj (.../Ringtoets.Integration.Plugin.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Ringtoets.Integration.Plugin.Test.csproj (.../Ringtoets.Integration.Plugin.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -348,7 +348,7 @@
{F67E8AE8-1FF0-4680-9817-99E025CD9FF6}Ringtoets.HeightStructures.Data.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/Ringtoets.Integration.Service.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/Ringtoets.Integration.Service.Test.csproj (.../Ringtoets.Integration.Service.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/Ringtoets.Integration.Service.Test.csproj (.../Ringtoets.Integration.Service.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -100,7 +100,7 @@
{F67E8AE8-1FF0-4680-9817-99E025CD9FF6}Ringtoets.HeightStructures.Data.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/Revetment/src/Ringtoets.Revetment.Service/Ringtoets.Revetment.Service.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/Revetment/src/Ringtoets.Revetment.Service/Ringtoets.Revetment.Service.csproj (.../Ringtoets.Revetment.Service.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/Revetment/src/Ringtoets.Revetment.Service/Ringtoets.Revetment.Service.csproj (.../Ringtoets.Revetment.Service.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -61,7 +61,7 @@
Ringtoets.Common.ServiceFalse
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.CalculationFalse
Index: Ringtoets/Revetment/test/Ringtoets.Revetment.Service.Test/Ringtoets.Revetment.Service.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/Revetment/test/Ringtoets.Revetment.Service.Test/Ringtoets.Revetment.Service.Test.csproj (.../Ringtoets.Revetment.Service.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/Revetment/test/Ringtoets.Revetment.Service.Test/Ringtoets.Revetment.Service.Test.csproj (.../Ringtoets.Revetment.Service.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -50,7 +50,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Plugin/Ringtoets.StabilityPointStructures.Plugin.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Plugin/Ringtoets.StabilityPointStructures.Plugin.csproj (.../Ringtoets.StabilityPointStructures.Plugin.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Plugin/Ringtoets.StabilityPointStructures.Plugin.csproj (.../Ringtoets.StabilityPointStructures.Plugin.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -80,7 +80,7 @@
Ringtoets.Common.ServiceFalse
-
+ {888d4097-8bc2-4703-9fb1-8744c94d525e}Riskeer.HydraRing.CalculationFalse
Index: Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Service/Ringtoets.StabilityPointStructures.Service.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Service/Ringtoets.StabilityPointStructures.Service.csproj (.../Ringtoets.StabilityPointStructures.Service.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Service/Ringtoets.StabilityPointStructures.Service.csproj (.../Ringtoets.StabilityPointStructures.Service.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -50,7 +50,7 @@
Ringtoets.Common.ServiceFalse
-
+ {888d4097-8bc2-4703-9fb1-8744c94d525e}Riskeer.HydraRing.CalculationFalse
Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Integration.Test/Ringtoets.StabilityPointStructures.Integration.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Integration.Test/Ringtoets.StabilityPointStructures.Integration.Test.csproj (.../Ringtoets.StabilityPointStructures.Integration.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Integration.Test/Ringtoets.StabilityPointStructures.Integration.Test.csproj (.../Ringtoets.StabilityPointStructures.Integration.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -57,7 +57,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888d4097-8bc2-4703-9fb1-8744c94d525e}Riskeer.HydraRing.Calculation
Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Plugin.Test/Ringtoets.StabilityPointStructures.Plugin.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Plugin.Test/Ringtoets.StabilityPointStructures.Plugin.Test.csproj (.../Ringtoets.StabilityPointStructures.Plugin.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Plugin.Test/Ringtoets.StabilityPointStructures.Plugin.Test.csproj (.../Ringtoets.StabilityPointStructures.Plugin.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -131,7 +131,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Service.Test/Ringtoets.StabilityPointStructures.Service.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Service.Test/Ringtoets.StabilityPointStructures.Service.Test.csproj (.../Ringtoets.StabilityPointStructures.Service.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Service.Test/Ringtoets.StabilityPointStructures.Service.Test.csproj (.../Ringtoets.StabilityPointStructures.Service.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -58,7 +58,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Service/Ringtoets.StabilityStoneCover.Service.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Service/Ringtoets.StabilityStoneCover.Service.csproj (.../Ringtoets.StabilityStoneCover.Service.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Service/Ringtoets.StabilityStoneCover.Service.csproj (.../Ringtoets.StabilityStoneCover.Service.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -48,7 +48,7 @@
Ringtoets.Common.ServiceFalse
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.CalculationFalse
Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/Ringtoets.StabilityStoneCover.Integration.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/Ringtoets.StabilityStoneCover.Integration.Test.csproj (.../Ringtoets.StabilityStoneCover.Integration.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/Ringtoets.StabilityStoneCover.Integration.Test.csproj (.../Ringtoets.StabilityStoneCover.Integration.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -53,7 +53,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888d4097-8bc2-4703-9fb1-8744c94d525e}Riskeer.HydraRing.Calculation
Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Plugin.Test/Ringtoets.StabilityStoneCover.Plugin.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Plugin.Test/Ringtoets.StabilityStoneCover.Plugin.Test.csproj (.../Ringtoets.StabilityStoneCover.Plugin.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Plugin.Test/Ringtoets.StabilityStoneCover.Plugin.Test.csproj (.../Ringtoets.StabilityStoneCover.Plugin.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -134,7 +134,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Service.Test/Ringtoets.StabilityStoneCover.Service.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Service.Test/Ringtoets.StabilityStoneCover.Service.Test.csproj (.../Ringtoets.StabilityStoneCover.Service.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Service.Test/Ringtoets.StabilityStoneCover.Service.Test.csproj (.../Ringtoets.StabilityStoneCover.Service.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -56,7 +56,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888d4097-8bc2-4703-9fb1-8744c94d525e}Riskeer.HydraRing.Calculation
Index: Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Service/Ringtoets.WaveImpactAsphaltCover.Service.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Service/Ringtoets.WaveImpactAsphaltCover.Service.csproj (.../Ringtoets.WaveImpactAsphaltCover.Service.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Service/Ringtoets.WaveImpactAsphaltCover.Service.csproj (.../Ringtoets.WaveImpactAsphaltCover.Service.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -38,7 +38,7 @@
Ringtoets.Common.ServiceFalse
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.CalculationFalse
Index: Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Integration.Test/Ringtoets.WaveImpactAsphaltCover.Integration.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Integration.Test/Ringtoets.WaveImpactAsphaltCover.Integration.Test.csproj (.../Ringtoets.WaveImpactAsphaltCover.Integration.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Integration.Test/Ringtoets.WaveImpactAsphaltCover.Integration.Test.csproj (.../Ringtoets.WaveImpactAsphaltCover.Integration.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -53,7 +53,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888d4097-8bc2-4703-9fb1-8744c94d525e}Riskeer.HydraRing.Calculation
Index: Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test.csproj (.../Ringtoets.WaveImpactAsphaltCover.Plugin.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test.csproj (.../Ringtoets.WaveImpactAsphaltCover.Plugin.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -134,7 +134,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation
Index: Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Service.Test/Ringtoets.WaveImpactAsphaltCover.Service.Test.csproj
===================================================================
diff -u -rdd347e5ef5916532cce1004e1941e8523ec448b4 -r0bf87533c711b9fecb268139636ad9a19e36ebdd
--- Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Service.Test/Ringtoets.WaveImpactAsphaltCover.Service.Test.csproj (.../Ringtoets.WaveImpactAsphaltCover.Service.Test.csproj) (revision dd347e5ef5916532cce1004e1941e8523ec448b4)
+++ Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Service.Test/Ringtoets.WaveImpactAsphaltCover.Service.Test.csproj (.../Ringtoets.WaveImpactAsphaltCover.Service.Test.csproj) (revision 0bf87533c711b9fecb268139636ad9a19e36ebdd)
@@ -56,7 +56,7 @@
{52093DA6-D545-476A-ADFD-12F56625E36B}Ringtoets.Common.Service.TestUtil
-
+ {888D4097-8BC2-4703-9FB1-8744C94D525E}Riskeer.HydraRing.Calculation