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