Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/UpliftHelper.cs
===================================================================
diff -u -r4000 -r4052
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/UpliftHelper.cs (.../UpliftHelper.cs) (revision 4000)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/UpliftHelper.cs (.../UpliftHelper.cs) (revision 4052)
@@ -25,90 +25,89 @@
using Deltares.DamEngine.Data.General.Sensors;
using Deltares.DamEngine.Data.Geotechnics;
-namespace Deltares.DamEngine.Calculators.KernelWrappers.Common
+namespace Deltares.DamEngine.Calculators.KernelWrappers.Common;
+
+///
+/// Helper for Uplift
+///
+public class UpliftHelper
{
///
- /// Helper for Uplift
+ /// Determines the stability uplift situation.
///
- public class UpliftHelper
+ /// The dam kernel input.
+ /// if set to true [use rivel level low].
+ /// The uplift situation
+ public UpliftSituation DetermineStabilityUplift(DamKernelInput damKernelInput, bool useRivelLevelLow)
{
- ///
- /// Determines the stability uplift situation.
- ///
- /// The dam kernel input.
- /// if set to true [use rivel level low].
- /// The uplift situation
- public UpliftSituation DetermineStabilityUplift(DamKernelInput damKernelInput, bool useRivelLevelLow)
- {
- UpliftSituation upliftSituation;
- PlLines plLines = DeterminePlLinesForStability(damKernelInput, useRivelLevelLow, out upliftSituation);
- upliftSituation.IsUplift = DetermineIsUplift(plLines, damKernelInput.Location, damKernelInput.SubSoilScenario);
- return upliftSituation;
- }
+ UpliftSituation upliftSituation;
+ PlLines plLines = DeterminePlLinesForStability(damKernelInput, useRivelLevelLow, out upliftSituation);
+ upliftSituation.IsUplift = DetermineIsUplift(plLines, damKernelInput.Location, damKernelInput.SubSoilScenario);
+ return upliftSituation;
+ }
- ///
- /// Determines the pl lines for stability.
- ///
- /// The dam kernel input.
- /// if set to true [use rivel level low].
- /// The uplift situation.
- /// pl lines
- public PlLines DeterminePlLinesForStability(DamKernelInput damKernelInput, bool useRivelLevelLow,
- out UpliftSituation upliftSituation)
+ ///
+ /// Determines the pl lines for stability.
+ ///
+ /// The dam kernel input.
+ /// if set to true [use rivel level low].
+ /// The uplift situation.
+ /// pl lines
+ public PlLines DeterminePlLinesForStability(DamKernelInput damKernelInput, bool useRivelLevelLow,
+ out UpliftSituation upliftSituation)
+ {
+ double riverLevel = damKernelInput.RiverLevelHigh;
+ double? riverLevelLow = null;
+ if (useRivelLevelLow)
{
- double riverLevel = damKernelInput.RiverLevelHigh;
- double? riverLevelLow = null;
- if (useRivelLevelLow)
- {
- riverLevelLow = damKernelInput.RiverLevelLow;
- }
-
- var sensorPlLineCreatorSettings = new SensorPlLineCreatorSettings();
- sensorPlLineCreatorSettings.SensorLocation = damKernelInput.Location.SensorLocation;
- sensorPlLineCreatorSettings.DateTime = damKernelInput.TimeStepDateTime;
- PlLines plLines = PlLinesHelper.CreatePlLinesForStability(damKernelInput.Location, damKernelInput.SubSoilScenario, riverLevel,
- riverLevelLow, sensorPlLineCreatorSettings, out upliftSituation);
- return plLines;
+ riverLevelLow = damKernelInput.RiverLevelLow;
}
- ///
- /// Determines if there is uplift.
- ///
- /// The pl lines.
- /// The location.
- /// The sub soil scenario.
- /// true if there is uplift
- public bool DetermineIsUplift(PlLines plLines, Location location, SoilGeometryProbability subSoilScenario)
- {
- if (plLines == null)
- {
- return false;
- }
+ var sensorPlLineCreatorSettings = new SensorPlLineCreatorSettings();
+ sensorPlLineCreatorSettings.SensorLocation = damKernelInput.Location.SensorLocation;
+ sensorPlLineCreatorSettings.DateTime = damKernelInput.TimeStepDateTime;
+ PlLines plLines = PlLinesHelper.CreatePlLinesForStability(damKernelInput.Location, damKernelInput.SubSoilScenario, riverLevel,
+ riverLevelLow, sensorPlLineCreatorSettings, out upliftSituation);
+ return plLines;
+ }
- double upliftCriterion = location.ModelFactors.UpliftCriterionStability;
- SurfaceLine2 surfaceLineWithNewHeight = location.SurfaceLine;
- double? upliftFactor = GetLowestUpliftFactor(surfaceLineWithNewHeight,
- subSoilScenario.SoilProfile1D, subSoilScenario.FullStiFileName,
- subSoilScenario.SoilProfile2D, plLines, location);
- return upliftFactor < upliftCriterion;
+ ///
+ /// Determines if there is uplift.
+ ///
+ /// The pl lines.
+ /// The location.
+ /// The sub soil scenario.
+ /// true if there is uplift
+ public bool DetermineIsUplift(PlLines plLines, Location location, SoilGeometryProbability subSoilScenario)
+ {
+ if (plLines == null)
+ {
+ return false;
}
- private double? GetLowestUpliftFactor(SurfaceLine2 surfaceLine, SoilProfile1D soilProfile1D, string soilGeometry2DName,
- SoilProfile2D soilProfile2D, PlLines plLines, Location location)
+ double upliftCriterion = location.ModelFactors.UpliftCriterionStability;
+ SurfaceLine2 surfaceLineWithNewHeight = location.SurfaceLine;
+ double? upliftFactor = GetLowestUpliftFactor(surfaceLineWithNewHeight,
+ subSoilScenario.SoilProfile1D, subSoilScenario.FullStiFileName,
+ subSoilScenario.SoilProfile2D, plLines, location);
+ return upliftFactor < upliftCriterion;
+ }
+
+ private double? GetLowestUpliftFactor(SurfaceLine2 surfaceLine, SoilProfile1D soilProfile1D, string soilGeometry2DName,
+ SoilProfile2D soilProfile2D, PlLines plLines, Location location)
+ {
+ var upliftLocationDeterminator = new UpliftLocationDeterminator
{
- var upliftLocationDeterminator = new UpliftLocationDeterminator
- {
- SurfaceLine = surfaceLine,
- SoilProfile = soilProfile1D,
- SoilProfile2D = soilProfile2D,
- SoilGeometry2DName = soilGeometry2DName,
- SoilList = location.SoilList,
- DikeEmbankmentMaterial = location.GetDikeEmbankmentSoil(),
- PlLines = plLines,
- XSoilGeometry2DOrigin = location.XSoilGeometry2DOrigin
- };
- UpliftLocationAndResult upliftLocationAndResult = upliftLocationDeterminator.GetLocationAtWithLowestUpliftFactor();
- return upliftLocationAndResult?.UpliftFactor;
- }
+ SurfaceLine = surfaceLine,
+ SoilProfile = soilProfile1D,
+ SoilProfile2D = soilProfile2D,
+ SoilGeometry2DName = soilGeometry2DName,
+ SoilList = location.SoilList,
+ DikeEmbankmentMaterial = location.GetDikeEmbankmentSoil(),
+ PlLines = plLines,
+ XSoilGeometry2DOrigin = location.XSoilGeometry2DOrigin
+ };
+ UpliftLocationAndResult upliftLocationAndResult = upliftLocationDeterminator.GetLocationAtWithLowestUpliftFactor();
+ return upliftLocationAndResult?.UpliftFactor;
}
}
\ No newline at end of file