Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs
===================================================================
diff -u -r1157 -r1165
--- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 1157)
+++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 1165)
@@ -452,6 +452,22 @@
inputLocation.StabilityOptions.MinimumCircleDepth = location.StabilityOptions.MinimalCircleDepth.Value;
}
}
+ // Modelfactors
+ if (location.ModelFactors != null)
+ {
+ inputLocation.ModelFactors = new LocationModelFactors();
+ inputLocation.ModelFactors.RequiredSafetyFactorPipingSpecified = location.ModelFactors.RequiredSafetyFactorPiping.HasValue;
+ inputLocation.ModelFactors.RequiredSafetyFactorPiping = location.ModelFactors.RequiredSafetyFactorPiping ?? 0.0;
+ inputLocation.ModelFactors.RequiredSafetyFactorStabilityInnerSlopeSpecified = location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope.HasValue;
+ inputLocation.ModelFactors.RequiredSafetyFactorStabilityInnerSlope = location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope ?? 0.0;
+ inputLocation.ModelFactors.RequiredSafetyFactorStabilityOuterSlopeSpecified = location.ModelFactors.RequiredSafetyFactorStabilityOuterSlope.HasValue;
+ inputLocation.ModelFactors.RequiredSafetyFactorStabilityOuterSlope = location.ModelFactors.RequiredSafetyFactorStabilityOuterSlope ?? 0.0;
+ inputLocation.ModelFactors.UpliftCriterionPipingSpecified = location.ModelFactors.UpliftCriterionPiping.HasValue;
+ inputLocation.ModelFactors.UpliftCriterionPiping = location.ModelFactors.UpliftCriterionPiping ?? 0.0;
+ inputLocation.ModelFactors.UpliftCriterionStabilitySpecified = location.ModelFactors.UpliftCriterionStability.HasValue;
+ inputLocation.ModelFactors.UpliftCriterionStability = location.ModelFactors.UpliftCriterionStability ?? 0.0;
+ }
+
inputLocations[i] = inputLocation;
}
}
Index: DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs
===================================================================
diff -u -r1156 -r1165
--- DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs (.../DamInput.cs) (revision 1156)
+++ DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs (.../DamInput.cs) (revision 1165)
@@ -295,6 +295,8 @@
private LocationStabilityOptions stabilityOptionsField;
+ private LocationModelFactors modelFactorsField;
+
private string surfaceLineNameField;
private string segmentNameField;
@@ -401,6 +403,17 @@
}
///
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public LocationModelFactors ModelFactors {
+ get {
+ return this.modelFactorsField;
+ }
+ set {
+ this.modelFactorsField = value;
+ }
+ }
+
+ ///
[System.Xml.Serialization.XmlAttributeAttribute()]
public string SurfaceLineName {
get {
@@ -3748,7 +3761,146 @@
///
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
+ public partial class LocationModelFactors {
+
+ private double requiredSafetyFactorStabilityInnerSlopeField;
+
+ private bool requiredSafetyFactorStabilityInnerSlopeFieldSpecified;
+
+ private double requiredSafetyFactorStabilityOuterSlopeField;
+
+ private bool requiredSafetyFactorStabilityOuterSlopeFieldSpecified;
+
+ private double requiredSafetyFactorPipingField;
+
+ private bool requiredSafetyFactorPipingFieldSpecified;
+
+ private double upliftCriterionPipingField;
+
+ private bool upliftCriterionPipingFieldSpecified;
+
+ private double upliftCriterionStabilityField;
+
+ private bool upliftCriterionStabilityFieldSpecified;
+
+ ///
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public double RequiredSafetyFactorStabilityInnerSlope {
+ get {
+ return this.requiredSafetyFactorStabilityInnerSlopeField;
+ }
+ set {
+ this.requiredSafetyFactorStabilityInnerSlopeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool RequiredSafetyFactorStabilityInnerSlopeSpecified {
+ get {
+ return this.requiredSafetyFactorStabilityInnerSlopeFieldSpecified;
+ }
+ set {
+ this.requiredSafetyFactorStabilityInnerSlopeFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public double RequiredSafetyFactorStabilityOuterSlope {
+ get {
+ return this.requiredSafetyFactorStabilityOuterSlopeField;
+ }
+ set {
+ this.requiredSafetyFactorStabilityOuterSlopeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool RequiredSafetyFactorStabilityOuterSlopeSpecified {
+ get {
+ return this.requiredSafetyFactorStabilityOuterSlopeFieldSpecified;
+ }
+ set {
+ this.requiredSafetyFactorStabilityOuterSlopeFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public double RequiredSafetyFactorPiping {
+ get {
+ return this.requiredSafetyFactorPipingField;
+ }
+ set {
+ this.requiredSafetyFactorPipingField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool RequiredSafetyFactorPipingSpecified {
+ get {
+ return this.requiredSafetyFactorPipingFieldSpecified;
+ }
+ set {
+ this.requiredSafetyFactorPipingFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public double UpliftCriterionPiping {
+ get {
+ return this.upliftCriterionPipingField;
+ }
+ set {
+ this.upliftCriterionPipingField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool UpliftCriterionPipingSpecified {
+ get {
+ return this.upliftCriterionPipingFieldSpecified;
+ }
+ set {
+ this.upliftCriterionPipingFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public double UpliftCriterionStability {
+ get {
+ return this.upliftCriterionStabilityField;
+ }
+ set {
+ this.upliftCriterionStabilityField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool UpliftCriterionStabilitySpecified {
+ get {
+ return this.upliftCriterionStabilityFieldSpecified;
+ }
+ set {
+ this.upliftCriterionStabilityFieldSpecified = value;
+ }
+ }
+ }
+
+ ///
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public enum InputDamProjectType {
///
Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillDamFromXmlInputTests.cs
===================================================================
diff -u -r1156 -r1165
--- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillDamFromXmlInputTests.cs (.../FillDamFromXmlInputTests.cs) (revision 1156)
+++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillDamFromXmlInputTests.cs (.../FillDamFromXmlInputTests.cs) (revision 1165)
@@ -293,12 +293,12 @@
location.RedesignDikeHeight = false;
location.RedesignDikeShoulder = false;
location.ShoulderEmbankmentMaterial = "ShoulderMat" + (i + 1).ToString(); ;
- location.StabilityShoulderGrowSlope = 10.0 * i + 0.10;
- location.StabilityShoulderGrowDeltaX = 10.0 * i + 0.11;
- location.StabilitySlopeAdaptionDeltaX = 10.0 * i + 0.12;
- location.SlopeAdaptionStartCotangent = 10.0 * i + 0.13;
- location.SlopeAdaptionEndCotangent = 10.0 * i + 0.14;
- location.SlopeAdaptionStepCotangent = 10.0 * i + 0.15;
+ location.StabilityShoulderGrowSlope = 10.0 * i + 0.50;
+ location.StabilityShoulderGrowDeltaX = 10.0 * i + 0.51;
+ location.StabilitySlopeAdaptionDeltaX = 10.0 * i + 0.52;
+ location.SlopeAdaptionStartCotangent = 10.0 * i + 0.53;
+ location.SlopeAdaptionEndCotangent = 10.0 * i + 0.54;
+ location.SlopeAdaptionStepCotangent = 10.0 * i + 0.55;
location.UseNewDikeTopWidth = true;
location.UseNewDikeSlopeInside = true;
location.UseNewDikeSlopeOutside = true;
@@ -307,19 +307,28 @@
location.UseNewMaxHeightShoulderAsFraction = true;
location.UseNewMinDistanceDikeToeStartDitch = true;
location.UseNewDitchDefinition = true;
- location.NewDikeTopWidth = 10.0 * i + 0.16;
- location.NewDikeSlopeInside = 10.0 * i + 0.17;
- location.NewDikeSlopeOutside = 10.0 * i + 0.18;
- location.NewShoulderTopSlope = 10.0 * i + 0.19;
- location.NewShoulderBaseSlope = 10.0 * i + 0.20;
- location.NewMaxHeightShoulderAsFraction = 10.0 * i + 0.21;
- location.NewMinDistanceDikeToeStartDitch = 10.0 * i + 0.22;
+ location.NewDikeTopWidth = 10.0 * i + 0.56;
+ location.NewDikeSlopeInside = 10.0 * i + 0.57;
+ location.NewDikeSlopeOutside = 10.0 * i + 0.58;
+ location.NewShoulderTopSlope = 10.0 * i + 0.59;
+ location.NewShoulderBaseSlope = 10.0 * i + 0.60;
+ location.NewMaxHeightShoulderAsFraction = 10.0 * i + 0.61;
+ location.NewMinDistanceDikeToeStartDitch = 10.0 * i + 0.62;
location.UseNewDitchDefinition = true;
- location.NewWidthDitchBottom = 10.0 * i + 0.23;
- location.NewSlopeAngleDitch = 10.0 * i + 0.24;
- location.NewDepthDitch = 10.0 * i + 0.25;
+ location.NewWidthDitchBottom = 10.0 * i + 0.63;
+ location.NewSlopeAngleDitch = 10.0 * i + 0.64;
+ location.NewDepthDitch = 10.0 * i + 0.65;
location.StabilityDesignMethod = StabilityDesignMethod.SlopeAdaptionBeforeShoulderAdaption;
location.SoilList = dike.SoilList;
+ // ModelFactors
+ location.ModelFactors = new ModelFactors()
+ {
+ RequiredSafetyFactorPiping = 10.0 * i + 0.65,
+ RequiredSafetyFactorStabilityInnerSlope = 10.0 * i + 0.66,
+ RequiredSafetyFactorStabilityOuterSlope = 10.0 * i + 0.67,
+ UpliftCriterionStability = 10.0 * i + 0.68,
+ UpliftCriterionPiping = 10.0 * i + 0.69
+ };
dike.Locations.Add(location);
}
}
Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs
===================================================================
diff -u -r1160 -r1165
--- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 1160)
+++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 1165)
@@ -471,6 +471,29 @@
location.StabilityOptions.MinimalCircleDepth = inputLocation.StabilityOptions.MinimumCircleDepth;
}
}
+ // Modelfactors
+ var modelFactors = inputLocation.ModelFactors;
+ if (modelFactors != null)
+ {
+ location.ModelFactors = new ModelFactors();
+ location.ModelFactors.RequiredSafetyFactorPiping = (modelFactors.RequiredSafetyFactorPipingSpecified ? (double?)modelFactors.RequiredSafetyFactorPiping : null);
+ location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope = (modelFactors.RequiredSafetyFactorStabilityInnerSlopeSpecified ? (double?)modelFactors.RequiredSafetyFactorStabilityInnerSlope : null);
+ location.ModelFactors.RequiredSafetyFactorStabilityOuterSlope = (modelFactors.RequiredSafetyFactorStabilityOuterSlopeSpecified ? (double?)modelFactors.RequiredSafetyFactorStabilityOuterSlope : null);
+ location.ModelFactors.UpliftCriterionPiping = (modelFactors.UpliftCriterionPipingSpecified ? (double?)modelFactors.UpliftCriterionPiping : null);
+ location.ModelFactors.UpliftCriterionStability = (modelFactors.UpliftCriterionStabilitySpecified ? (double?)modelFactors.UpliftCriterionStability : null);
+
+ inputLocation.ModelFactors.RequiredSafetyFactorStabilityInnerSlopeSpecified = location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope.HasValue;
+ inputLocation.ModelFactors.RequiredSafetyFactorStabilityInnerSlope = location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope ?? 0.0;
+ inputLocation.ModelFactors.RequiredSafetyFactorStabilityOuterSlopeSpecified = location.ModelFactors.RequiredSafetyFactorStabilityOuterSlope.HasValue;
+ inputLocation.ModelFactors.RequiredSafetyFactorStabilityOuterSlope = location.ModelFactors.RequiredSafetyFactorStabilityOuterSlope ?? 0.0;
+ inputLocation.ModelFactors.RequiredSafetyFactorStabilityInnerSlopeSpecified = location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope.HasValue;
+ inputLocation.ModelFactors.RequiredSafetyFactorStabilityInnerSlope = location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope ?? 0.0;
+ inputLocation.ModelFactors.UpliftCriterionPipingSpecified = location.ModelFactors.UpliftCriterionPiping.HasValue;
+ inputLocation.ModelFactors.UpliftCriterionPiping = location.ModelFactors.UpliftCriterionPiping ?? 0.0;
+ inputLocation.ModelFactors.UpliftCriterionStabilitySpecified = location.ModelFactors.UpliftCriterionStability.HasValue;
+ inputLocation.ModelFactors.UpliftCriterionStability = location.ModelFactors.UpliftCriterionStability ?? 0.0;
+ }
+
dikeLocations.Add(location);
}
}
Index: DamEngine/trunk/xsd/DamLocation.xsd
===================================================================
diff -u -r1156 -r1165
--- DamEngine/trunk/xsd/DamLocation.xsd (.../DamLocation.xsd) (revision 1156)
+++ DamEngine/trunk/xsd/DamLocation.xsd (.../DamLocation.xsd) (revision 1165)
@@ -190,6 +190,15 @@
+
+
+
+
+
+
+
+
+