Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/PlLinesHelper.cs
===================================================================
diff -u -r686 -r715
--- dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/PlLinesHelper.cs (.../PlLinesHelper.cs) (revision 686)
+++ dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/PlLinesHelper.cs (.../PlLinesHelper.cs) (revision 715)
@@ -23,6 +23,49 @@
/// The water level.
/// The uplift situation.
///
+ public static PLLines CreatePlLinesForStability(Location location, SoilGeometryProbability subSoilScenario,
+ double waterLevel, string soilGeometry2DName, out UpliftSituation upliftSituation)
+ {
+ var plLinesCreator = new PLLinesCreator
+ {
+ WaterLevelRiverHigh = waterLevel,
+ SurfaceLine = location.SurfaceLine,
+ WaterLevelPolder = location.PolderLevel,
+ HeadInPLLine2 = location.HeadPl2,
+ HeadInPLLine3 = location.HeadPl3,
+ HeadInPLLine4 = location.HeadPl4,
+ ModelParametersForPLLines = location.ModelParametersForPLLines,
+ SoilProfile = subSoilScenario.SoilProfile1D,
+ SoilProfileType = subSoilScenario.SoilProfileType,
+ SoilGeometry2DName = soilGeometry2DName,
+ GaugePLLines = null, // TODO: Operational
+ Gauges = null, // TODO: Operational
+ IsAdjustPL3AndPL4SoNoUpliftWillOccurEnabled = true, // for stability this must be set to true
+ PlLineOffsetBelowDikeTopAtRiver = location.PlLineOffsetBelowDikeTopAtRiver,
+ PlLineOffsetBelowDikeTopAtPolder = location.PlLineOffsetBelowDikeTopAtPolder,
+ DikeEmbankmentMaterial = location.GetDikeEmbankmentSoil(),
+ IsHydraulicShortcut = false, // TODO: Regional
+ XSoilGeometry2DOrigin = location.XSoilGeometry2DOrigin
+ };
+ var plLines = plLinesCreator.CreateAllPLLines(location);
+ upliftSituation.Pl3HeadAdjusted = plLinesCreator.Pl3HeadAdjusted;
+ upliftSituation.Pl3LocationXMinUplift = plLinesCreator.Pl3LocationXMinUplift;
+ upliftSituation.Pl3MinUplift = plLinesCreator.Pl3MinUplift;
+ upliftSituation.Pl4HeadAdjusted = plLinesCreator.Pl4HeadAdjusted;
+ upliftSituation.Pl4LocationXMinUplift = plLinesCreator.Pl4LocationXMinUplift;
+ upliftSituation.Pl4MinUplift = plLinesCreator.Pl4MinUplift;
+ upliftSituation.IsUplift = false; // must be determined later on; just to avoid compiler error
+ return plLines;
+ }
+
+ ///
+ /// Creates the pl lines.
+ ///
+ /// The location.
+ /// The soil profile.
+ /// The water level.
+ /// The uplift situation.
+ ///
public static PLLines CreatePlLines(Location location, SoilProfile1D soilProfile, double waterLevel, out UpliftSituation upliftSituation)
{
var plLinesCreator = new PLLinesCreator