Index: DamEngine/trunk/src/Deltares.DamEngine.Data/General/Location.cs
===================================================================
diff -u -r1686 -r1933
--- DamEngine/trunk/src/Deltares.DamEngine.Data/General/Location.cs (.../Location.cs) (revision 1686)
+++ DamEngine/trunk/src/Deltares.DamEngine.Data/General/Location.cs (.../Location.cs) (revision 1933)
@@ -1126,6 +1126,14 @@
#region PlLine creation parameters
///
+ /// Gets or sets the dike soil scenario.
+ ///
+ ///
+ /// The dike soil scenario.
+ ///
+ public DikeSoilScenario DikeSoilScenario { get; set; }
+
+ ///
/// Gets or sets the head pl 2.
///
///
Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillDamFromXmlInputTests.cs
===================================================================
diff -u -r1632 -r1933
--- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillDamFromXmlInputTests.cs (.../FillDamFromXmlInputTests.cs) (revision 1632)
+++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillDamFromXmlInputTests.cs (.../FillDamFromXmlInputTests.cs) (revision 1933)
@@ -430,6 +430,7 @@
location.HeadPl2 = 1.0 * i + 0.28;
location.HeadPl3 = 1.0 * i + 0.29;
location.HeadPl4 = 1.0 * i + 0.30;
+ location.DikeSoilScenario = (DikeSoilScenario)i;
// Used for regional assessment
location.DikeTableHeight = 1.0 * i + 0.31;
location.BoezemLevelHbp = 1.0 * i + 0.32;
Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs
===================================================================
diff -u -r1723 -r1933
--- DamEngine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs (.../ConversionHelper.cs) (revision 1723)
+++ DamEngine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs (.../ConversionHelper.cs) (revision 1933)
@@ -1481,5 +1481,38 @@
};
return translationTable[dataSourceTypeSensors];
}
+
+ ///
+ /// Converts to DikeSoilScenario type.
+ ///
+ /// Theinput DikeSoilScenario type.
+ ///
+ public static DikeSoilScenario ConvertToDikeSoilScenario(LocationWaternetOptionsDikeSoilScenario waternetOptionsDikeSoilScenario)
+ {
+ var translationTable = new Dictionary()
+ {
+ {LocationWaternetOptionsDikeSoilScenario.ClayDikeOnClay, DikeSoilScenario.ClayDikeOnClay},
+ {LocationWaternetOptionsDikeSoilScenario.ClayDikeOnSand, DikeSoilScenario.ClayDikeOnSand},
+ {LocationWaternetOptionsDikeSoilScenario.SandDikeOnClay, DikeSoilScenario.SandDikeOnClay},
+ {LocationWaternetOptionsDikeSoilScenario.SandDikeOnSand, DikeSoilScenario.SandDikeOnSand}
+ };
+ return translationTable[waternetOptionsDikeSoilScenario];
+ }
+ ///
+ /// Converts to input DikeSoilScenario type.
+ ///
+ /// The DikeSoilScenario type.
+ ///
+ public static LocationWaternetOptionsDikeSoilScenario ConvertToInputDikeSoilScenario(DikeSoilScenario waternetOptionsDikeSoilScenario)
+ {
+ var translationTable = new Dictionary()
+ {
+ {DikeSoilScenario.ClayDikeOnClay, LocationWaternetOptionsDikeSoilScenario.ClayDikeOnClay},
+ {DikeSoilScenario.ClayDikeOnSand, LocationWaternetOptionsDikeSoilScenario.ClayDikeOnSand},
+ {DikeSoilScenario.SandDikeOnClay, LocationWaternetOptionsDikeSoilScenario.SandDikeOnClay},
+ {DikeSoilScenario.SandDikeOnSand, LocationWaternetOptionsDikeSoilScenario.SandDikeOnSand}
+ };
+ return translationTable[waternetOptionsDikeSoilScenario];
+ }
}
}
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs
===================================================================
diff -u -r1687 -r1933
--- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 1687)
+++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 1933)
@@ -512,6 +512,7 @@
location.HeadPl2 = (waternetOptions.HeadPl2Specified ? (double?)waternetOptions.HeadPl2 : null);
location.HeadPl3 = (waternetOptions.HeadPl3Specified ? (double?)waternetOptions.HeadPl3 : null);
location.HeadPl4 = (waternetOptions.HeadPl4Specified ? (double?)waternetOptions.HeadPl4 : null);
+ location.DikeSoilScenario = ConversionHelper.ConvertToDikeSoilScenario(waternetOptions.DikeSoilScenario);
location.SlopeDampingPiezometricHeightPolderSide = waternetOptions.SlopeDampingFactor;
location.PlLineOffsetBelowDikeTopAtRiver = waternetOptions.Pl1BelowCrestRiverside;
location.PlLineOffsetBelowDikeTopAtPolder = waternetOptions.Pl1BelowCrestPolderside;
Index: DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs
===================================================================
diff -u -r1632 -r1933
--- DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs (.../DamInput.cs) (revision 1632)
+++ DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs (.../DamInput.cs) (revision 1933)
@@ -3416,6 +3416,8 @@
private LocationWaternetOptionsIntrusionVerticalWaterPressure intrusionVerticalWaterPressureField;
+ private LocationWaternetOptionsDikeSoilScenario dikeSoilScenarioField;
+
///
[System.Xml.Serialization.XmlAttributeAttribute()]
public LocationWaternetOptionsPhreaticLineCreationMethod PhreaticLineCreationMethod {
@@ -3800,6 +3802,17 @@
this.intrusionVerticalWaterPressureField = value;
}
}
+
+ ///
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public LocationWaternetOptionsDikeSoilScenario DikeSoilScenario {
+ get {
+ return this.dikeSoilScenarioField;
+ }
+ set {
+ this.dikeSoilScenarioField = value;
+ }
+ }
}
///
@@ -3849,6 +3862,25 @@
///
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
+ public enum LocationWaternetOptionsDikeSoilScenario {
+
+ ///
+ ClayDikeOnClay,
+
+ ///
+ SandDikeOnClay,
+
+ ///
+ ClayDikeOnSand,
+
+ ///
+ SandDikeOnSand,
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
+ [System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
Index: DamEngine/trunk/src/Deltares.DamEngine.Data/General/DAMEnumerations.cs
===================================================================
diff -u -r1712 -r1933
--- DamEngine/trunk/src/Deltares.DamEngine.Data/General/DAMEnumerations.cs (.../DAMEnumerations.cs) (revision 1712)
+++ DamEngine/trunk/src/Deltares.DamEngine.Data/General/DAMEnumerations.cs (.../DAMEnumerations.cs) (revision 1933)
@@ -297,6 +297,32 @@
Nonequidistant
}
+ ///
+ /// Dike soil scenario for the automatic creation of the waternet - 4 possibilities.
+ ///
+ public enum DikeSoilScenario
+ {
+ ///
+ /// Clay dike on clay subsoil
+ ///
+ ClayDikeOnClay,
+
+ ///
+ /// Sand dike on clay subsoil
+ ///
+ SandDikeOnClay,
+
+ ///
+ /// Clay dike on sand subsoil
+ ///
+ ClayDikeOnSand,
+
+ ///
+ /// Sand dike on sand subsoil
+ ///
+ SandDikeOnSand
+ }
+
// TODO: FM this is failure mechanism specific code and should be moved to ..\KernelWrappers
public enum IntrusionVerticalWaterPressureType
{
@@ -306,4 +332,5 @@
HydroStatic,
SemiTimeDependent
}
+
}
Index: DamEngine/trunk/xsd/DamLocation.xsd
===================================================================
diff -u -r1382 -r1933
--- DamEngine/trunk/xsd/DamLocation.xsd (.../DamLocation.xsd) (revision 1382)
+++ DamEngine/trunk/xsd/DamLocation.xsd (.../DamLocation.xsd) (revision 1933)
@@ -102,6 +102,16 @@
+
+
+
+
+
+
+
+
+
+
Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/ConversionHelperTests.cs
===================================================================
diff -u -r1723 -r1933
--- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/ConversionHelperTests.cs (.../ConversionHelperTests.cs) (revision 1723)
+++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/ConversionHelperTests.cs (.../ConversionHelperTests.cs) (revision 1933)
@@ -692,5 +692,23 @@
{
Assert.AreEqual(inputdataSourceTypeSensors, ConversionHelper.ConvertToInputDataSourceTypeSensors(dataSourceTypeSensors));
}
+
+ [TestCase(LocationWaternetOptionsDikeSoilScenario.ClayDikeOnClay, DikeSoilScenario.ClayDikeOnClay)]
+ [TestCase(LocationWaternetOptionsDikeSoilScenario.ClayDikeOnSand, DikeSoilScenario.ClayDikeOnSand)]
+ [TestCase(LocationWaternetOptionsDikeSoilScenario.SandDikeOnClay, DikeSoilScenario.SandDikeOnClay)]
+ [TestCase(LocationWaternetOptionsDikeSoilScenario.SandDikeOnSand, DikeSoilScenario.SandDikeOnSand)]
+ public void CanConvertToDikeSoilScenarioType(LocationWaternetOptionsDikeSoilScenario locationWaternetOptionsDikeSoilScenario, DikeSoilScenario dikeSoilScenario)
+ {
+ Assert.AreEqual(dikeSoilScenario, ConversionHelper.ConvertToDikeSoilScenario(locationWaternetOptionsDikeSoilScenario));
+ }
+
+ [TestCase(DikeSoilScenario.ClayDikeOnClay, LocationWaternetOptionsDikeSoilScenario.ClayDikeOnClay)]
+ [TestCase(DikeSoilScenario.ClayDikeOnSand, LocationWaternetOptionsDikeSoilScenario.ClayDikeOnSand)]
+ [TestCase(DikeSoilScenario.SandDikeOnClay, LocationWaternetOptionsDikeSoilScenario.SandDikeOnClay)]
+ [TestCase(DikeSoilScenario.SandDikeOnSand, LocationWaternetOptionsDikeSoilScenario.SandDikeOnSand)]
+ public void CanConvertToInputDikeSoilScenarioType(DikeSoilScenario dikeSoilScenario, LocationWaternetOptionsDikeSoilScenario locationWaternetOptionsDikeSoilScenario)
+ {
+ Assert.AreEqual(locationWaternetOptionsDikeSoilScenario, ConversionHelper.ConvertToInputDikeSoilScenario(dikeSoilScenario));
+ }
}
}
Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs
===================================================================
diff -u -r1689 -r1933
--- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 1689)
+++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 1933)
@@ -470,6 +470,7 @@
waternetOptions.HeadPl3 = location.HeadPl3 ?? 0.0;
waternetOptions.HeadPl4Specified = location.HeadPl4.HasValue;
waternetOptions.HeadPl4 = location.HeadPl4 ?? 0.0;
+ waternetOptions.DikeSoilScenario = ConversionHelper.ConvertToInputDikeSoilScenario(location.DikeSoilScenario);
waternetOptions.SlopeDampingFactor = location.SlopeDampingPiezometricHeightPolderSide;
waternetOptions.Pl1BelowCrestRiverside = location.PlLineOffsetBelowDikeTopAtRiver;
waternetOptions.Pl1BelowCrestPolderside = location.PlLineOffsetBelowDikeTopAtPolder;