Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelperTests.cs
===================================================================
diff -u
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelperTests.cs (revision 0)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelperTests.cs (revision 4979)
@@ -0,0 +1,64 @@
+// Copyright (C) Stichting Deltares 2024. All rights reserved.
+//
+// This file is part of the Dam Engine.
+//
+// The Dam Engine is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Linq;
+using Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityCommon;
+using Deltares.DamEngine.Data.General;
+using Deltares.DamEngine.Data.Geometry;
+using Deltares.DamEngine.Data.Geotechnics;
+using Deltares.DamEngine.TestHelpers.Factories;
+using Deltares.DamEngine.TestHelpers.Geometry;
+using NUnit.Framework;
+using Soil = Deltares.DamEngine.Data.Geotechnics.Soil;
+
+namespace Deltares.DamEngine.Calculators.Tests.KernelWrappers.MacroStabilityCommon;
+
+[TestFixture]
+public class MacroStabilityCommonHelperTests
+{
+ // For debugging purposes
+ private const string visualizationFolder = @"D:\src\dam\DamTools\GeometryVisualizer\";
+ private readonly double cTolerance = 0.001;
+
+ [Test]
+ public void GivenSoilGeometryProbabilityWithSoilProfile1DAndSurfaceLineWhenCombiningThenSoilProfile2DIsCreated()
+ {
+ SoilGeometryProbability soilGeometryProbability = FactoryForSoilGeometryProbabilities.CreateSoilGeometryProbabilityWithSoilProfile1D();
+ SurfaceLine2 surfaceLine = FactoryForSurfaceLines.CreateSurfaceLineTutorial1();
+ MacroStabilityCommonHelper.CombineSoilProfileWithSurfaceLine(soilGeometryProbability, surfaceLine, new Soil());
+ GeometryData geometry = soilGeometryProbability.SoilProfile2D.Geometry;
+ // For debugging purposes
+ // GeometryExporter.ExportToFile(geometry, visualizationFolder + "Geometry.txt");
+ // GeometryExporter.ExportToJsonFile(geometry, visualizationFolder + "Geometry.json");
+ Assert.Multiple(() =>
+ {
+ Assert.That(soilGeometryProbability.SoilProfileType, Is.EqualTo(SoilProfileType.ProfileType2D));
+ Assert.That(geometry.Surfaces, Has.Count.EqualTo(1));
+ Assert.That(geometry.Left, Is.EqualTo(0.0).Within(cTolerance));
+ Assert.That(geometry.Right, Is.EqualTo(75.0).Within(cTolerance));
+ Assert.That(geometry.Bottom, Is.EqualTo(-20.0).Within(cTolerance));
+ Assert.That(geometry.SurfaceLine.Points.First().X, Is.EqualTo(0.0).Within(cTolerance));
+ Assert.That(geometry.SurfaceLine.Points.First().Z, Is.EqualTo(0.0).Within(cTolerance));
+ Assert.That(geometry.SurfaceLine.Points.Last().X, Is.EqualTo(75.0).Within(cTolerance));
+ Assert.That(geometry.SurfaceLine.Points.Last().Z, Is.EqualTo(0.0).Within(cTolerance));
+ });
+ }
+}
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityOutwards/MacroStabilityOutwardsKernelWrapper.cs
===================================================================
diff -u -r4962 -r4979
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityOutwards/MacroStabilityOutwardsKernelWrapper.cs (.../MacroStabilityOutwardsKernelWrapper.cs) (revision 4962)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityOutwards/MacroStabilityOutwardsKernelWrapper.cs (.../MacroStabilityOutwardsKernelWrapper.cs) (revision 4979)
@@ -97,7 +97,7 @@
throw new NotImplementedException();
}
- macroStabilityCommonHelper.CombineSoilProfileWithSurfaceLine(damKernelInput.SubSoilScenario, damKernelInput.Location.SurfaceLine,
+ MacroStabilityCommonHelper.CombineSoilProfileWithSurfaceLine(damKernelInput.SubSoilScenario, damKernelInput.Location.SurfaceLine,
damKernelInput.Location.GetDikeEmbankmentSoil());
const bool useRiverLevelLow = true;
@@ -107,12 +107,12 @@
var fillMacroStabilityWrapperFromEngine = new FillMacroStabilityWrapperInputFromEngine
{
- TrafficLoad = macroStabilityCommonHelper.FillTrafficLoad(damKernelInput)
+ TrafficLoad = MacroStabilityCommonHelper.FillTrafficLoad(damKernelInput)
};
FailureMechanismParametersMStab.MStabParameters.GridPosition = MStabGridPosition.Left;
damKernelInput.DamFailureMechanismeCalculationSpecification.FailureMechanismParametersMStab
.MStabParameters.GridPosition = MStabGridPosition.Left;
- fillMacroStabilityWrapperFromEngine.BishopCalculationGrid = macroStabilityCommonHelper.FillBishopCalculationGrid(damKernelInput);
+ fillMacroStabilityWrapperFromEngine.BishopCalculationGrid = MacroStabilityCommonHelper.FillBishopCalculationGrid(damKernelInput);
double left = damKernelInput.Location.SurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.SurfaceLevelOutside).X;
double right = damKernelInput.Location.SurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.SurfaceLevelInside).X;
@@ -124,9 +124,9 @@
Waternet waterNet = PlLinesToWaternetConverter.CreateWaternetBasedOnPlLines(plLines, soilProfile1D, surfaceLine, penetrationLength, left, right, pressureType);
macroStabilityInput.Input = fillMacroStabilityWrapperFromEngine.CreateMacroStabilityInput(damKernelInput, FailureMechanismParametersMStab.MStabParameters, waterNet);
- fileNameForCalculation = macroStabilityCommonHelper.GetStabilityInputFileName(damKernelInput, iterationIndex, FailureMechanismParametersMStab.MStabParameters.Model);
+ fileNameForCalculation = MacroStabilityCommonHelper.GetStabilityInputFileName(damKernelInput, iterationIndex, FailureMechanismParametersMStab.MStabParameters.Model);
stabilityCalculator = new Calculator(macroStabilityInput.Input);
- PrepareResult firstPrepareResult = macroStabilityCommonHelper.PrepareKernel(stabilityCalculator, fileNameForCalculation);
+ PrepareResult firstPrepareResult = MacroStabilityCommonHelper.PrepareKernel(stabilityCalculator, fileNameForCalculation);
return firstPrepareResult;
}
@@ -157,7 +157,7 @@
///
public int Validate(IKernelDataInput kernelDataInput, IKernelDataOutput kernelDataOutput, out List messages)
{
- return macroStabilityCommonHelper.Validate(kernelDataInput, kernelDataOutput, out messages);
+ return MacroStabilityCommonHelper.Validate(kernelDataInput, kernelDataOutput, out messages);
}
///
@@ -170,8 +170,8 @@
{
var macroStabilityKernelDataInput = (MacroStabilityKernelDataInput) kernelDataInput;
var macroStabilityOutput = (MacroStabilityOutput) kernelDataOutput;
- macroStabilityCommonHelper.ThrowWhenMacroStabilityKernelInputNull(macroStabilityKernelDataInput);
- macroStabilityCommonHelper.ThrowWhenMacroStabilityKernelOutputNull(macroStabilityOutput);
+ MacroStabilityCommonHelper.ThrowWhenMacroStabilityKernelInputNull(macroStabilityKernelDataInput);
+ MacroStabilityCommonHelper.ThrowWhenMacroStabilityKernelOutputNull(macroStabilityOutput);
macroStabilityCommonHelper.PerformStabilityCalculation(macroStabilityKernelDataInput.Input, macroStabilityOutput,
fileNameForCalculation, stabilityCalculator, out messages);
@@ -194,17 +194,17 @@
public void PostProcess(DamKernelInput damKernelInput, IKernelDataOutput kernelDataOutput, DesignScenario designScenario,
string resultMessage, out List designResults)
{
- macroStabilityCommonHelper.ThrowWhenMacroStabilityDamKernelInputNull(damKernelInput);
+ MacroStabilityCommonHelper.ThrowWhenMacroStabilityDamKernelInputNull(damKernelInput);
var macroStabilityOutput = kernelDataOutput as MacroStabilityOutput;
- macroStabilityCommonHelper.ThrowWhenMacroStabilityKernelOutputNull(macroStabilityOutput);
+ MacroStabilityCommonHelper.ThrowWhenMacroStabilityKernelOutputNull(macroStabilityOutput);
designResults = new List();
if (macroStabilityOutput?.StabilityOutputItems != null && macroStabilityOutput.StabilityOutputItems.Count > 0)
{
MacroStabilityOutputItem macroStabilityOutputItem = macroStabilityOutput.StabilityOutputItems[0];
if (macroStabilityOutputItem != null)
{
- DesignResult designResult = macroStabilityCommonHelper.NewDesignResult(damKernelInput, designScenario);
- macroStabilityCommonHelper.FillDesignResult(macroStabilityOutputItem, designResult);
+ DesignResult designResult = MacroStabilityCommonHelper.NewDesignResult(damKernelInput, designScenario);
+ MacroStabilityCommonHelper.FillDesignResult(macroStabilityOutputItem, designResult);
designResult.StabilityDesignResults.NumberOfIterations = 0;
designResult.StabilityDesignResults.UpliftSituation = macroStabilityOutput.UpliftSituation;
designResults.Add(designResult);
Index: DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSurfaceLines.cs
===================================================================
diff -u -r4540 -r4979
--- DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSurfaceLines.cs (.../FactoryForSurfaceLines.cs) (revision 4540)
+++ DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSurfaceLines.cs (.../FactoryForSurfaceLines.cs) (revision 4979)
@@ -58,7 +58,7 @@
surfaceLine.EnsurePointOfType(58.5, 0, CharacteristicPointType.DitchDikeSide);
surfaceLine.EnsurePointOfType(59.5, -2, CharacteristicPointType.BottomDitchDikeSide);
surfaceLine.EnsurePointOfType(61.5, -2, CharacteristicPointType.BottomDitchPolderSide);
- surfaceLine.EnsurePointOfType(61.5, 0, CharacteristicPointType.DitchPolderSide);
+ surfaceLine.EnsurePointOfType(61.51, 0, CharacteristicPointType.DitchPolderSide);
surfaceLine.EnsurePointOfType(75.0, 0, CharacteristicPointType.SurfaceLevelInside);
surfaceLine.Geometry.SyncCalcPoints();
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs
===================================================================
diff -u -r4962 -r4979
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs (.../MacroStabilityInwardsKernelWrapper.cs) (revision 4962)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs (.../MacroStabilityInwardsKernelWrapper.cs) (revision 4979)
@@ -102,7 +102,7 @@
model = MStabModelType.Bishop;
}
- macroStabilityCommonHelper.CombineSoilProfileWithSurfaceLine(damKernelInput.SubSoilScenario, damKernelInput.Location.SurfaceLine,
+ MacroStabilityCommonHelper.CombineSoilProfileWithSurfaceLine(damKernelInput.SubSoilScenario, damKernelInput.Location.SurfaceLine,
damKernelInput.Location.GetDikeEmbankmentSoil());
// Check if the surface-line is within the SoilProfile2D boundaries (left/right)
if (!SoilProfile2DSurfaceLineHelper.IsSurfaceLineInsideSoilProfile2D(damKernelInput.Location.SurfaceLine, damKernelInput.SubSoilScenario.SoilProfile2D))
@@ -124,13 +124,13 @@
var fillMacroStabilityWrapperFromEngine = new FillMacroStabilityWrapperInputFromEngine
{
- TrafficLoad = macroStabilityCommonHelper.FillTrafficLoad(damKernelInput)
+ TrafficLoad = MacroStabilityCommonHelper.FillTrafficLoad(damKernelInput)
};
if (FailureMechanismParametersMStab.MStabParameters.Model == MStabModelType.Bishop ||
FailureMechanismParametersMStab.MStabParameters.Model == MStabModelType.BishopUpliftVan)
{
- fillMacroStabilityWrapperFromEngine.BishopCalculationGrid = macroStabilityCommonHelper.FillBishopCalculationGrid(damKernelInput);
+ fillMacroStabilityWrapperFromEngine.BishopCalculationGrid = MacroStabilityCommonHelper.FillBishopCalculationGrid(damKernelInput);
}
if (FailureMechanismParametersMStab.MStabParameters.Model == MStabModelType.UpliftVan ||
@@ -156,22 +156,22 @@
Waternet waterNet = PlLinesToWaternetConverter.CreateWaternetBasedOnPlLines(plLines, soilProfile1D, surfaceLine, penetrationLength, left, right, pressureType);
macroStabilityInput.Input = fillMacroStabilityWrapperFromEngine.CreateMacroStabilityInput(damKernelInput, FailureMechanismParametersMStab.MStabParameters, waterNet);
- fileNameForCalculation = macroStabilityCommonHelper.GetStabilityInputFileName(damKernelInput, iterationIndex, FailureMechanismParametersMStab.MStabParameters.Model);
+ fileNameForCalculation = MacroStabilityCommonHelper.GetStabilityInputFileName(damKernelInput, iterationIndex, FailureMechanismParametersMStab.MStabParameters.Model);
stabilityCalculator = new Calculator(macroStabilityInput.Input);
- PrepareResult firstPrepareResult = macroStabilityCommonHelper.PrepareKernel(stabilityCalculator, fileNameForCalculation);
+ PrepareResult firstPrepareResult = MacroStabilityCommonHelper.PrepareKernel(stabilityCalculator, fileNameForCalculation);
if (isBishopUpliftVan && upliftSituation.IsUplift && firstPrepareResult == PrepareResult.Successful)
{
model = MStabModelType.UpliftVan;
FailureMechanismParametersMStab.MStabParameters.Model = model;
macroStabilityInput.Input = fillMacroStabilityWrapperFromEngine.CreateMacroStabilityInput(damKernelInput, FailureMechanismParametersMStab.MStabParameters, waterNet);
- fileNameForSecondCalculation = macroStabilityCommonHelper.GetStabilityInputFileName(damKernelInput, iterationIndex, FailureMechanismParametersMStab.MStabParameters.Model);
+ fileNameForSecondCalculation = MacroStabilityCommonHelper.GetStabilityInputFileName(damKernelInput, iterationIndex, FailureMechanismParametersMStab.MStabParameters.Model);
// reset model
FailureMechanismParametersMStab.MStabParameters.Model = MStabModelType.BishopUpliftVan;
stabilityCalculatorForSecondCalculation = new Calculator(macroStabilityInput.Input);
- return macroStabilityCommonHelper.PrepareKernel(stabilityCalculatorForSecondCalculation, fileNameForSecondCalculation);
+ return MacroStabilityCommonHelper.PrepareKernel(stabilityCalculatorForSecondCalculation, fileNameForSecondCalculation);
}
if (isBishopUpliftVan)
@@ -209,7 +209,7 @@
///
public int Validate(IKernelDataInput kernelDataInput, IKernelDataOutput kernelDataOutput, out List messages)
{
- return macroStabilityCommonHelper.Validate(kernelDataInput, kernelDataOutput, out messages);
+ return MacroStabilityCommonHelper.Validate(kernelDataInput, kernelDataOutput, out messages);
}
///
@@ -222,8 +222,8 @@
{
var macroStabilityKernelDataInput = (MacroStabilityKernelDataInput) kernelDataInput;
var macroStabilityOutput = (MacroStabilityOutput) kernelDataOutput;
- macroStabilityCommonHelper.ThrowWhenMacroStabilityKernelInputNull(macroStabilityKernelDataInput);
- macroStabilityCommonHelper.ThrowWhenMacroStabilityKernelOutputNull(macroStabilityOutput);
+ MacroStabilityCommonHelper.ThrowWhenMacroStabilityKernelInputNull(macroStabilityKernelDataInput);
+ MacroStabilityCommonHelper.ThrowWhenMacroStabilityKernelOutputNull(macroStabilityOutput);
bool isBishopUpliftVan = FailureMechanismParametersMStab.MStabParameters.Model == MStabModelType.BishopUpliftVan;
if (isBishopUpliftVan)
@@ -264,9 +264,9 @@
public void PostProcess(DamKernelInput damKernelInput, IKernelDataOutput kernelDataOutput, DesignScenario designScenario,
string resultMessage, out List designResults)
{
- macroStabilityCommonHelper.ThrowWhenMacroStabilityDamKernelInputNull(damKernelInput);
+ MacroStabilityCommonHelper.ThrowWhenMacroStabilityDamKernelInputNull(damKernelInput);
var macroStabilityOutput = kernelDataOutput as MacroStabilityOutput;
- macroStabilityCommonHelper.ThrowWhenMacroStabilityKernelOutputNull(macroStabilityOutput);
+ MacroStabilityCommonHelper.ThrowWhenMacroStabilityKernelOutputNull(macroStabilityOutput);
designResults = new List();
if (macroStabilityOutput == null)
{
@@ -276,8 +276,8 @@
MacroStabilityOutputItem macroStabilityOutputItem = ProperMacroStabilityResultsItem(macroStabilityOutput, 0);
if (macroStabilityOutputItem != null)
{
- DesignResult designResult = macroStabilityCommonHelper.NewDesignResult(damKernelInput, designScenario);
- macroStabilityCommonHelper.FillDesignResult(macroStabilityOutputItem, designResult);
+ DesignResult designResult = MacroStabilityCommonHelper.NewDesignResult(damKernelInput, designScenario);
+ MacroStabilityCommonHelper.FillDesignResult(macroStabilityOutputItem, designResult);
designResult.StabilityDesignResults.NumberOfIterations = lastIterationIndex;
designResult.StabilityDesignResults.UpliftSituation = macroStabilityOutput.UpliftSituation;
designResults.Add(designResult);
@@ -292,8 +292,8 @@
macroStabilityOutputItem = macroStabilityOutput.StabilityOutputItems[1];
if (macroStabilityOutputItem != null)
{
- DesignResult designResult = macroStabilityCommonHelper.NewDesignResult(damKernelInput, designScenario);
- macroStabilityCommonHelper.FillDesignResult(macroStabilityOutputItem, designResult);
+ DesignResult designResult = MacroStabilityCommonHelper.NewDesignResult(damKernelInput, designScenario);
+ MacroStabilityCommonHelper.FillDesignResult(macroStabilityOutputItem, designResult);
designResult.StabilityDesignResults.NumberOfIterations = lastIterationIndex;
designResult.StabilityDesignResults.UpliftSituation = macroStabilityOutput.UpliftSituation;
designResults.Add(designResult);
@@ -333,8 +333,8 @@
macroStabilityOutputItem = ProperMacroStabilityResultsItem(macroStabilityOutput, index);
if (macroStabilityOutputItem != null)
{
- DesignResult overallResult = macroStabilityCommonHelper.NewDesignResult(damKernelInput, designScenario);
- macroStabilityCommonHelper.FillDesignResult(macroStabilityOutputItem, overallResult);
+ DesignResult overallResult = MacroStabilityCommonHelper.NewDesignResult(damKernelInput, designScenario);
+ MacroStabilityCommonHelper.FillDesignResult(macroStabilityOutputItem, overallResult);
overallResult.StabilityDesignResults.UpliftSituation = macroStabilityOutput.UpliftSituation;
overallResult.StabilityDesignResults.StabilityModelType = MStabModelType.BishopUpliftVan;
designResults.Add(overallResult);
@@ -376,9 +376,9 @@
{
var macroStabilityKernelDataInput = kernelDataInput as MacroStabilityKernelDataInput;
var macroStabilityOutput = kernelDataOutput as MacroStabilityOutput;
- macroStabilityCommonHelper.ThrowWhenMacroStabilityKernelInputNull(macroStabilityKernelDataInput);
- macroStabilityCommonHelper.ThrowWhenMacroStabilityKernelOutputNull(macroStabilityOutput);
- macroStabilityCommonHelper.ThrowWhenMacroStabilityDamKernelInputNull(damKernelInput);
+ MacroStabilityCommonHelper.ThrowWhenMacroStabilityKernelInputNull(macroStabilityKernelDataInput);
+ MacroStabilityCommonHelper.ThrowWhenMacroStabilityKernelOutputNull(macroStabilityOutput);
+ MacroStabilityCommonHelper.ThrowWhenMacroStabilityDamKernelInputNull(damKernelInput);
double fosRequired = damKernelInput.Location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope;
if (macroStabilityOutput != null)
@@ -422,7 +422,7 @@
int iterationIndex, out EmbankmentDesignParameters embankmentDesignParameters)
{
var macroStabilityKernelDataInput = kernelDataInput as MacroStabilityKernelDataInput;
- macroStabilityCommonHelper.ThrowWhenMacroStabilityKernelInputNull(macroStabilityKernelDataInput);
+ MacroStabilityCommonHelper.ThrowWhenMacroStabilityKernelInputNull(macroStabilityKernelDataInput);
lastIterationIndex = iterationIndex;
Location location = damKernelInput.Location;
Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelper.cs
===================================================================
diff -u -r4962 -r4979
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelper.cs (.../MacroStabilityCommonHelper.cs) (revision 4962)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelper.cs (.../MacroStabilityCommonHelper.cs) (revision 4979)
@@ -59,7 +59,7 @@
/// The dike embankment soil.
/// Thrown when subSoilScenario.SoilProfileType is ProfileTypeStiFile
///
- public void CombineSoilProfileWithSurfaceLine(SoilGeometryProbability subSoilScenario, SurfaceLine2 surfaceLine2, Soil dikeEmbankmentSoil)
+ public static void CombineSoilProfileWithSurfaceLine(SoilGeometryProbability subSoilScenario, SurfaceLine2 surfaceLine2, Soil dikeEmbankmentSoil)
{
switch (subSoilScenario.SoilProfileType)
{
@@ -79,7 +79,7 @@
///
/// The dam kernel input.
///
- public TrafficLoad FillTrafficLoad(DamKernelInput damKernelInput)
+ public static TrafficLoad FillTrafficLoad(DamKernelInput damKernelInput)
{
TrafficLoad trafficLoad = null;
if (damKernelInput.Location.StabilityOptions != null && damKernelInput.Location.StabilityOptions.TrafficLoad.HasValue &&
@@ -103,7 +103,7 @@
///
/// The dam kernel input.
///
- public BishopCalculationGrid FillBishopCalculationGrid(DamKernelInput damKernelInput)
+ public static BishopCalculationGrid FillBishopCalculationGrid(DamKernelInput damKernelInput)
{
SlipCircleDefinition slipCircleDefinition = damKernelInput.DamFailureMechanismeCalculationSpecification
.FailureMechanismParametersMStab.MStabParameters.SlipCircleDefinition;
@@ -145,7 +145,7 @@
/// Index of the iteration.
/// The model.
///
- public string GetStabilityInputFileName(DamKernelInput damKernelInput, int iterationIndex, MStabModelType model)
+ public static string GetStabilityInputFileName(DamKernelInput damKernelInput, int iterationIndex, MStabModelType model)
{
// Assume 2D sti-file, then check on type being 1D
string soilGeometryName = damKernelInput.SubSoilScenario.SoilProfile2DName;
@@ -161,7 +161,7 @@
///
/// The dam macro stability input.
///
- public void ThrowWhenMacroStabilityKernelInputNull(MacroStabilityKernelDataInput macroStabilityKernelDataInput)
+ public static void ThrowWhenMacroStabilityKernelInputNull(MacroStabilityKernelDataInput macroStabilityKernelDataInput)
{
if (macroStabilityKernelDataInput == null)
{
@@ -174,7 +174,7 @@
///
/// The dam macro stability output.
///
- public void ThrowWhenMacroStabilityKernelOutputNull(MacroStabilityOutput macroStabilityOutput)
+ public static void ThrowWhenMacroStabilityKernelOutputNull(MacroStabilityOutput macroStabilityOutput)
{
if (macroStabilityOutput == null)
{
@@ -187,7 +187,7 @@
///
/// The dam kernel input.
///
- public void ThrowWhenMacroStabilityDamKernelInputNull(DamKernelInput damKernelInput)
+ public static void ThrowWhenMacroStabilityDamKernelInputNull(DamKernelInput damKernelInput)
{
if (damKernelInput == null)
{
@@ -201,7 +201,7 @@
/// The dam kernel input.
/// The design scenario.
///
- public DesignResult NewDesignResult(DamKernelInput damKernelInput, DesignScenario designScenario)
+ public static DesignResult NewDesignResult(DamKernelInput damKernelInput, DesignScenario designScenario)
{
var soilProfile2DName = damKernelInput.SubSoilScenario.ToString();
var designResult = new DesignResult(damKernelInput.DamFailureMechanismeCalculationSpecification,
@@ -226,7 +226,7 @@
///
/// The macro stability output item.
/// The design result.
- public void FillDesignResult(MacroStabilityOutputItem macroStabilityOutputItem, DesignResult designResult)
+ public static void FillDesignResult(MacroStabilityOutputItem macroStabilityOutputItem, DesignResult designResult)
{
designResult.BaseFileName = Path.GetFileNameWithoutExtension(macroStabilityOutputItem.ProjectName);
designResult.CalculationSubDir = macroStabilityOutputItem.CalculationPath;
@@ -258,7 +258,7 @@
/// The calculator.
/// Name of the file.
///
- public PrepareResult PrepareKernel(Calculator calculator, string fileName)
+ public static PrepareResult PrepareKernel(Calculator calculator, string fileName)
{
try
{
@@ -289,7 +289,7 @@
///
/// Zero when there are no errors, one when there are errors that prevent a calculation
///
- public int Validate(IKernelDataInput kernelDataInput, IKernelDataOutput kernelDataOutput, out List messages)
+ public static int Validate(IKernelDataInput kernelDataInput, IKernelDataOutput kernelDataOutput, out List messages)
{
var macroStabilityKernelDataInput = (MacroStabilityKernelDataInput) kernelDataInput;
messages = new List();
@@ -413,7 +413,7 @@
/// The surfaceline.
/// The dike embankment soil.
/// Thrown when no SoilProfile2D is defined
- private void CombineSoilProfile2DWithSurfaceLine(SoilGeometryProbability subSoilScenario, SurfaceLine2 surfaceLine2, Soil dikeEmbankmentSoil)
+ private static void CombineSoilProfile2DWithSurfaceLine(SoilGeometryProbability subSoilScenario, SurfaceLine2 surfaceLine2, Soil dikeEmbankmentSoil)
{
if (subSoilScenario.SoilProfile2D == null)
{
@@ -428,7 +428,7 @@
/// The surfaceline.
/// The dike embankment soil.
/// Thrown when no SoilProfile1D is defined
- private void CombineSoilProfile1DWithSurfaceLine(SoilGeometryProbability subSoilScenario, SurfaceLine2 surfaceLine2, Soil dikeEmbankmentSoil)
+ private static void CombineSoilProfile1DWithSurfaceLine(SoilGeometryProbability subSoilScenario, SurfaceLine2 surfaceLine2, Soil dikeEmbankmentSoil)
{
if (subSoilScenario.SoilProfile1D == null)
{
@@ -461,7 +461,7 @@
/// Name of the soil geometry.
/// Index of the iteration.
///
- private string DetermineCalculationFilename(string filenamePrefix, string soilGeometryName, int iterationIndex)
+ private static string DetermineCalculationFilename(string filenamePrefix, string soilGeometryName, int iterationIndex)
{
string calculationName;
if (iterationIndex <= 0)
@@ -482,7 +482,7 @@
/// The model.
/// The project working path.
///
- private string GetStabilityCalculationDirectory(MStabModelType model, string projectWorkingPath)
+ private static string GetStabilityCalculationDirectory(MStabModelType model, string projectWorkingPath)
{
string calculationBaseDirectory = projectWorkingPath;
string stabilitySubDir = GetCalculationSubDir(model);
@@ -500,7 +500,7 @@
///
/// The model.
///
- private string GetCalculationSubDir(MStabModelType model)
+ private static string GetCalculationSubDir(MStabModelType model)
{
const string stabilitySubDir = @"Stability\";
var modelSubDirectory = model.ToString();
@@ -514,7 +514,7 @@
///
/// Name of the file.
/// The input.
- private void WriteStixFileBasedOnInputAndResultsSearchGrid(string fileName, MacroStabilityInput input)
+ private static void WriteStixFileBasedOnInputAndResultsSearchGrid(string fileName, MacroStabilityInput input)
{
if (!(input.StabilityModel.ModelOption == StabilityModelOptionType.UpliftVan &&
input.StabilityModel.SearchAlgorithm == SearchAlgorithm.Beeswarm))
@@ -534,8 +534,8 @@
/// Name of the file.
/// The input.
/// The macro stability output.
- private void WriteStixFileBasedOnInputAndResultsSlipPlane(string fileName, MacroStabilityInput input,
- MacroStabilityOutput macroStabilityOutput)
+ private static void WriteStixFileBasedOnInputAndResultsSlipPlane(string fileName, MacroStabilityInput input,
+ MacroStabilityOutput macroStabilityOutput)
{
if (macroStabilityOutput.CalculationResult == CalculationResult.Succeeded)
{
@@ -555,7 +555,7 @@
}
}
- private void StixFileWrite(StixWriter stixWriter, string fileName, MacroStabilityInput input)
+ private static void StixFileWrite(StixWriter stixWriter, string fileName, MacroStabilityInput input)
{
if (File.Exists(fileName))
{
@@ -565,7 +565,7 @@
stixWriter.WriteStixFile(fileName, input);
}
- private string DetermineStixFilename(string fileNameForCalc, string suffix, string extension = ".stix")
+ private static string DetermineStixFilename(string fileNameForCalc, string suffix, string extension = ".stix")
{
return Path.Combine(Path.GetDirectoryName(fileNameForCalc) ?? string.Empty,
$"{Path.GetFileNameWithoutExtension(fileNameForCalc)}_{suffix}{extension}");
Index: DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSoilGeometryProbabilities.cs
===================================================================
diff -u
--- DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSoilGeometryProbabilities.cs (revision 0)
+++ DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSoilGeometryProbabilities.cs (revision 4979)
@@ -0,0 +1,44 @@
+// Copyright (C) Stichting Deltares 2024. All rights reserved.
+//
+// This file is part of the Dam Engine.
+//
+// The Dam Engine is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Deltares.DamEngine.Data.General;
+
+namespace Deltares.DamEngine.TestHelpers.Factories;
+
+///
+/// Factory for creating instances.
+///
+public static class FactoryForSoilGeometryProbabilities
+{
+ ///
+ /// Crete a with a .
+ ///
+ /// The
+ public static SoilGeometryProbability CreateSoilGeometryProbabilityWithSoilProfile1D()
+ {
+ return new SoilGeometryProbability
+ {
+ SoilProfile1D = FactoryForSoilProfiles.CreateSimpleProfile(),
+ SoilProfile1DName = "SoilProfile1D",
+ SoilProfileType = SoilProfileType.ProfileType1D
+ };
+ }
+}
\ No newline at end of file