Fisheye: Tag 6516 refers to a dead (removed) revision in file `DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillEngineFromMacroStabilityWrapperInput.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators.Tests/Deltares.DamEngine.Calculators.Tests.csproj =================================================================== diff -u -r6515 -r6516 --- DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators.Tests/Deltares.DamEngine.Calculators.Tests.csproj (.../Deltares.DamEngine.Calculators.Tests.csproj) (revision 6515) +++ DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators.Tests/Deltares.DamEngine.Calculators.Tests.csproj (.../Deltares.DamEngine.Calculators.Tests.csproj) (revision 6516) @@ -4,9 +4,48 @@ - - ..\..\lib\FailureMechanisms\MacroStabilityCSharpWrapperDeterministicSigned\Deltares.MacroStability.CSharpWrapper.dll + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.Geo.Common.Geometry.dll + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.Geo.Common.Standard.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.Geo.Common.WaterMesh.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Calculation.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Data.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Interface.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Io.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Kernel.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Preprocessing.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.XmlConversion.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.SearchAlgorithms.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.SoilStress.Calculation.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.SoilStress.Data.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.WaternetCreator.Creator.dll + ..\..\lib\FailureMechanisms\WtiPiping\Deltares.WTIPiping.dll @@ -60,8 +99,5 @@ 3.9.0 - - 25.1.1.39 - Fisheye: Tag 6516 refers to a dead (removed) revision in file `DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/CSharpWrapperConverters.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityOutputItem.cs =================================================================== diff -u -r6515 -r6516 --- DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityOutputItem.cs (.../MacroStabilityOutputItem.cs) (revision 6515) +++ DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityOutputItem.cs (.../MacroStabilityOutputItem.cs) (revision 6516) @@ -24,9 +24,7 @@ using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.General.Results; using Deltares.DamEngine.Data.Standard.Calculation; -using Deltares.MacroStability.CSharpWrapper; using Point2D = Deltares.DamEngine.Data.Geometry.Point2D; -using UpliftVanCalculationGrid = Deltares.MacroStability.CSharpWrapper.UpliftVanCalculationGrid; namespace Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityInwards; Fisheye: Tag 6516 refers to a dead (removed) revision in file `DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/StixFileWriterConnector.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6516 refers to a dead (removed) revision in file `DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillMacroStabilityWrapperInputFromEngine.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6516 refers to a dead (removed) revision in file `DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/CSharpWrapperConvertersTests.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6516 refers to a dead (removed) revision in file `DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/ConversionHelperTests.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/ConversionHelper.cs =================================================================== diff -u -r6515 -r6516 --- DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/ConversionHelper.cs (.../ConversionHelper.cs) (revision 6515) +++ DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/ConversionHelper.cs (.../ConversionHelper.cs) (revision 6516) @@ -25,22 +25,15 @@ using Deltares.DamEngine.Data.Geotechnics; using Deltares.DamEngine.Data.Standard.Calculation; using Deltares.DamEngine.Data.Standard.Logging; -using Deltares.MacroStability.CSharpWrapper.Input; -using Deltares.MacroStability.CSharpWrapper.Output; using Deltares.MacroStability.Data; using WaterPressureInterpolationModel = Deltares.DamEngine.Data.Geotechnics.WaterpressureInterpolationModel; -using CharacteristicPoint = Deltares.MacroStability.CSharpWrapper.Input.CharacteristicPointType; using CharacteristicPointType = Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType; -using SearchAlgorithm = Deltares.MacroStability.CSharpWrapper.Input.SearchAlgorithm; -using WaterPressureInterpolationModelKernel = Deltares.MacroStability.CSharpWrapper.Input.WaterPressureInterpolationModel; -using ShearStrengthModelKernel = Deltares.MacroStability.CSharpWrapper.ShearStrengthModelType; -using Soil = Deltares.MacroStability.CSharpWrapper.Input.Soil; namespace Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityCommon.MacroStabilityIo; public static class ConversionHelper { - + /// /// Converts result type from MacroStability kernel to Dam Engine result type /// using a translation table for mapping between enums. @@ -81,606 +74,607 @@ }; return translationTable[result]; } - - /// +} + +/// /// Converts the calculation result type from external kernel format to the internal Dam Engine format /// /// The external result type to convert /// The corresponding Dam Engine calculation result type - public static CalculationResult ConvertToDamResultType(CalculationResultType calculationResult) - { - var translationTable = new Dictionary - { - { - CalculationResultType.NoRun, CalculationResult.NoRun - }, - { - CalculationResultType.Succeeded, CalculationResult.Succeeded - }, - { - CalculationResultType.NoInput, CalculationResult.NoInput - }, - { - CalculationResultType.NoLicense, CalculationResult.NoLicense - }, - { - CalculationResultType.UserAbort, CalculationResult.UserAbort - }, - { - CalculationResultType.InvalidInputStructure, CalculationResult.InvalidInputStructure - }, - { - CalculationResultType.InvalidInputData, CalculationResult.InvalidInputData - }, - { - CalculationResultType.RunFailed, CalculationResult.RunFailed - }, - { - CalculationResultType.UnexpectedError, CalculationResult.UnexpectedError - } - }; - return translationTable[calculationResult]; - } - - /// - /// Converts a calculation result from the MacroStability kernel to its corresponding MacroStability result type - /// using a predefined translation table. - /// - /// The calculation result from the MacroStability kernel - /// The corresponding MacroStability result type - public static CalculationResultType ConvertToMacroStabilityResultType(CalculationResult calculationResult) - { - var translationTable = new Dictionary - { - { - CalculationResult.NoRun, CalculationResultType.NoRun - }, - { - CalculationResult.Succeeded, CalculationResultType.Succeeded - }, - { - CalculationResult.NoInput, CalculationResultType.NoInput - }, - { - CalculationResult.NoLicense, CalculationResultType.NoLicense - }, - { - CalculationResult.UserAbort, CalculationResultType.UserAbort - }, - { - CalculationResult.InvalidInputStructure, CalculationResultType.InvalidInputStructure - }, - { - CalculationResult.InvalidInputData, CalculationResultType.InvalidInputData - }, - { - CalculationResult.RunFailed, CalculationResultType.RunFailed - }, - { - CalculationResult.UnexpectedError, CalculationResultType.UnexpectedError - } - }; - return translationTable[calculationResult]; - } - - #region SearchMethod - - /// Converts SearchAlgorithm to MStabSearchMethod. - /// The MacroStability search algorithm. - /// - /// - public static StabilitySearchMethod ConvertToDamSearchMethod(SearchAlgorithm searchAlgorithm) - { - if (searchAlgorithm != SearchAlgorithm.Grid && searchAlgorithm != SearchAlgorithm.Genetic && searchAlgorithm != SearchAlgorithm.BeeswarmAndLevenbergMarquardt) - { - throw new ArgumentException($"Unsupported search algorithm: {searchAlgorithm}"); - } - - var translationTable = new Dictionary - { - { - SearchAlgorithm.Grid, StabilitySearchMethod.Grid - }, - { - SearchAlgorithm.BeeswarmAndLevenbergMarquardt, StabilitySearchMethod.BeeSwarm - } - }; - return translationTable[searchAlgorithm]; - } - - /// Converts MStabSearchMethod to SearchAlgorithm. - /// The Dam search algorithm. - /// - /// - public static SearchAlgorithm ConvertToMacroStabilitySearchMethod(StabilitySearchMethod stabilitySearchMethod) - { - var translationTable = new Dictionary - { - { - StabilitySearchMethod.Grid, SearchAlgorithm.Grid - }, - { - StabilitySearchMethod.BeeSwarm, SearchAlgorithm.BeeswarmAndLevenbergMarquardt - } - }; - return translationTable[stabilitySearchMethod]; - } - - #endregion - - #region ModelType - - /// Converts ModelOption to the MStabModelType. - /// This comes back from the kernel side so any model that can be matched is OK. - /// The model option. - /// the Dam MStabModelType - public static StabilityModelType ConvertToMStabModelType(StabilityModelOptionType modelOption) - { - var translationTable = new Dictionary - { - { - StabilityModelOptionType.Bishop, StabilityModelType.Bishop - }, - { - StabilityModelOptionType.UpliftVan, StabilityModelType.UpliftVan - } - //{MacroStability.CSharpWrapper.Output.StabilityModelOption.Spencer, MStabModelType.UpliftSpencerWti} - }; - return translationTable[modelOption]; - } - - /// Converts to ModelOptions type. - /// the MStabModelType. - /// the MacroStability ModelOption - /// - public static StabilityModelOptionType ConvertToModelOptions(StabilityModelType stabilityModelType) - { - // For the Macrostability kernel, the only supported options for now are Bishop and UpliftVan. - if (stabilityModelType != StabilityModelType.UpliftVan && stabilityModelType != StabilityModelType.Bishop) - { - throw new ArgumentException($"Unsupported MStabModelType: {stabilityModelType}"); - } - - var translationTable = new Dictionary - { - { - StabilityModelType.UpliftVan, StabilityModelOptionType.UpliftVan - }, - { - StabilityModelType.Bishop, StabilityModelOptionType.Bishop - } - }; - return translationTable[stabilityModelType]; - } - - /// Converts to ModelOptions type. - /// the MStabModelType. - /// the MacroStability ModelOption - /// - public static StabilityModelOptionType ConvertToModelOptionsOutput(StabilityModelType stabilityModelType) - { - // For the Macrostability kernel, the only supported options for now are Bishop and UpliftVan. - if (stabilityModelType != StabilityModelType.Bishop && stabilityModelType != StabilityModelType.UpliftVan) - { - throw new ArgumentException($"Unsupported MStabModelType: {stabilityModelType}"); - } - - var translationTable = new Dictionary - { - { - StabilityModelType.Bishop, StabilityModelOptionType.Bishop - }, - { - StabilityModelType.UpliftVan, StabilityModelOptionType.UpliftVan - } - }; - return translationTable[stabilityModelType]; - } - - #endregion - - #region GridOrientation - - /// Converts to MStabGridPosition. - /// The grid orientation. - /// - public static StabilityGridPosition ConvertToMStabGridPosition(Orientation gridOrientation) - { - var translationTable = new Dictionary - { - { - Orientation.Inwards, StabilityGridPosition.Right - }, - { - Orientation.Outwards, StabilityGridPosition.Left - } - }; - return translationTable[gridOrientation]; - } - - /// Converts to GridOrientation. - /// The MStabGridPosition. - /// - public static Orientation ConvertToGridOrientation(StabilityGridPosition stabilityGridPosition) - { - var translationTable = new Dictionary - { - { - StabilityGridPosition.Right, Orientation.Inwards - }, - { - StabilityGridPosition.Left, Orientation.Outwards - } - }; - return translationTable[stabilityGridPosition]; - } - - #endregion - - #region Soil - - /// Converts to MacroStability soil. - /// The Dam soil. - /// The MacroStability Soil. - public static Soil ConvertToMacroStabilitySoil(Data.Geotechnics.Soil soil) - { - var macroStabilitySoil = new Soil - { - Name = soil.Name, - AbovePhreaticLevel = soil.AbovePhreaticLevel, - BelowPhreaticLevel = soil.BelowPhreaticLevel, - Cohesion = soil.Cohesion, - FrictionAngle = soil.FrictionAngle, - Dilatancy = soil.FrictionAngle, - RatioCuPc = soil.RatioCuPc, - StrengthIncreaseExponent = soil.ShearStrengthModel == ShearStrengthModel.SuTable && double.IsNaN(soil.StrengthIncreaseExponent) ? 1.0 : soil.StrengthIncreaseExponent, // can't be NaN in MAC kernel because used for multi-stages - UseSoilClassification = false, // Soil type is not given so make sure it is not used. - BondStressCurve = null, // these are not supported in DAM so set to null. - SigmaTauTable = new List(), - SuTable = new List() - }; - - if (soil.ShearStrengthModel != null) - { - macroStabilitySoil.ShearStrengthAbovePhreaticLevelModel = ConvertToMacroStabilityShearStrengthModel(soil.ShearStrengthModel.Value); - macroStabilitySoil.ShearStrengthBelowPhreaticLevelModel = ConvertToMacroStabilityShearStrengthModel(soil.ShearStrengthModel.Value); - } - - if (soil.SigmaTauCurve != null) - { - foreach (SigmaTauPoint point in soil.SigmaTauCurve.Points) - { - macroStabilitySoil.SigmaTauTable.Add(new SigmaTauTablePoint - { - Sigma = point.Sigma, - Tau = point.Tau - }); - } - } - - if (soil.SuTableCurve != null) - { - foreach (SigmaSuPoint point in soil.SuTableCurve.Points) - { - macroStabilitySoil.SuTable.Add(new SuTablePoint - { - EffectiveStress = point.Sigma, - Su = point.Su - }); - } - } - - return macroStabilitySoil; - } - - /// Converts to Dam soil. - /// The MacroStability soil. - /// The Dam soil. - /// - public static Data.Geotechnics.Soil ConvertToDamSoil(Soil soil) - { - var damSoil = new Data.Geotechnics.Soil - { - Name = soil.Name, - AbovePhreaticLevel = soil.AbovePhreaticLevel, - BelowPhreaticLevel = soil.BelowPhreaticLevel, - Cohesion = soil.Cohesion, - FrictionAngle = soil.FrictionAngle, - RatioCuPc = soil.RatioCuPc, - StrengthIncreaseExponent = soil.StrengthIncreaseExponent, - //Todo #Bka We keep this as "truth" for now. But maybe Dam should become above/below too - ShearStrengthModel = ConvertToDamShearStrengthModel(soil.ShearStrengthAbovePhreaticLevelModel) - }; - - if (soil.SigmaTauTable != null) - { - damSoil.SigmaTauCurve = new SigmaTauCurve(); - foreach (SigmaTauTablePoint point in soil.SigmaTauTable) - { - damSoil.SigmaTauCurve.Points.Add(new SigmaTauPoint - { - Sigma = point.Sigma, - Tau = point.Tau - }); - } - } - - if (soil.SuTable != null) - { - damSoil.SuTableCurve = new SuTableCurve(); - foreach (SuTablePoint point in soil.SuTable) - { - damSoil.SuTableCurve.Points.Add(new SigmaSuPoint - { - Sigma = point.EffectiveStress, - Su = point.Su - }); - } - } - - return damSoil; - } - - /// Converts to dam ShearStrengthModel. - /// The kernel ShearStrengthModel. - /// - public static ShearStrengthModel ConvertToDamShearStrengthModel(ShearStrengthModelKernel kernelShearStrengthModel) - { - var translationTable = new Dictionary - { - { - ShearStrengthModelKernel.MohrCoulomb, ShearStrengthModel.CPhi - }, - { - ShearStrengthModelKernel.Shansep, ShearStrengthModel.SuCalculated - }, - { - ShearStrengthModelKernel.SigmaTauTable, ShearStrengthModel.SigmaTauCurve - }, - { - ShearStrengthModelKernel.SuTable, ShearStrengthModel.SuTable - } - }; - return translationTable[kernelShearStrengthModel]; - } - - /// Converts to macro stability ShearStrengthModel. - /// The dam ShearStrengthModel. - /// - /// - public static ShearStrengthModelKernel ConvertToMacroStabilityShearStrengthModel(ShearStrengthModel damShearStrengthModel) - { - var translationTable = new Dictionary - { - { - ShearStrengthModel.CPhi, ShearStrengthModelKernel.MohrCoulomb - }, - { - ShearStrengthModel.SuCalculated, ShearStrengthModelKernel.Shansep - }, - { - ShearStrengthModel.SigmaTauCurve, ShearStrengthModelKernel.SigmaTauTable - }, - { - ShearStrengthModel.SuTable, ShearStrengthModelKernel.SuTable - } - }; - return translationTable[damShearStrengthModel]; - } - - #endregion - - #region WaterpressureInterpolationModel - - /// Converts to macro stability waterpressure interpolation model. - /// The waterpressure interpolation model. - /// - public static WaterPressureInterpolationModelKernel ConvertToMacroStabilityWaterpressureInterpolationModel(WaterPressureInterpolationModel waterpressureInterpolationModel) - { - var translationTable = new Dictionary - { - { - WaterPressureInterpolationModel.Automatic, WaterPressureInterpolationModelKernel.Automatic - }, - { - WaterPressureInterpolationModel.Hydrostatic, WaterPressureInterpolationModelKernel.Hydrostatic - } - }; - return translationTable[waterpressureInterpolationModel]; - } - - /// Converts to dam waterpressure interpolation model. - /// The waterpressure interpolation model. - /// - public static WaterpressureInterpolationModel ConvertToDamWaterpressureInterpolationModel(WaterPressureInterpolationModelKernel waterpressureInterpolationModel) - { - var translationTable = new Dictionary - { - { - WaterPressureInterpolationModelKernel.Automatic, WaterPressureInterpolationModel.Automatic - }, - { - WaterPressureInterpolationModelKernel.Hydrostatic, WaterPressureInterpolationModel.Hydrostatic - } - }; - return translationTable[waterpressureInterpolationModel]; - } - - #endregion - - #region CharacteristicPointType - - /// Converts the type of to dam characteristic point. - /// Type of the kernel characteristic point. - /// - public static CharacteristicPointType ConvertToDamCharacteristicPointType(CharacteristicPoint kernelCharacteristicPointType) - { - var translationTable = new Dictionary - { - { - CharacteristicPoint.BottomDitchDikeSide, CharacteristicPointType.BottomDitchDikeSide - }, - { - CharacteristicPoint.BottomDitchPolderSide, CharacteristicPointType.BottomDitchPolderSide - }, - { - CharacteristicPoint.DikeToeAtPolder, CharacteristicPointType.DikeToeAtPolder - }, - { - CharacteristicPoint.DikeToeAtRiver, CharacteristicPointType.DikeToeAtRiver - }, - { - CharacteristicPoint.DikeTopAtPolder, CharacteristicPointType.DikeTopAtPolder - }, - { - CharacteristicPoint.DikeTopAtRiver, CharacteristicPointType.DikeTopAtRiver - }, - { - CharacteristicPoint.DitchDikeSide, CharacteristicPointType.DitchDikeSide - }, - { - CharacteristicPoint.DitchPolderSide, CharacteristicPointType.DitchPolderSide - }, - { - CharacteristicPoint.None, CharacteristicPointType.None - }, - { - CharacteristicPoint.ShoulderBaseInside, CharacteristicPointType.ShoulderBaseInside - }, - { - CharacteristicPoint.ShoulderBaseOutside, CharacteristicPointType.ShoulderBaseOutside - }, - { - CharacteristicPoint.ShoulderTopInside, CharacteristicPointType.ShoulderTopInside - }, - { - CharacteristicPoint.ShoulderTopOutside, CharacteristicPointType.ShoulderTopOutside - }, - { - CharacteristicPoint.SurfaceLevelInside, CharacteristicPointType.SurfaceLevelInside - }, - { - CharacteristicPoint.SurfaceLevelOutside, CharacteristicPointType.SurfaceLevelOutside - }, - { - CharacteristicPoint.TrafficLoadInside, CharacteristicPointType.TrafficLoadInside - }, - { - CharacteristicPoint.TrafficLoadOutside, CharacteristicPointType.TrafficLoadOutside - } - }; - return translationTable[kernelCharacteristicPointType]; - } - - /// Converts the type of to macro stability characteristic point. - /// Type of the dam characteristic point. - /// - public static CharacteristicPoint ConvertToMacroStabilityCharacteristicPointType(CharacteristicPointType damCharacteristicPointType) - { - var translationTable = new Dictionary - { - { - CharacteristicPointType.BottomDitchPolderSide, CharacteristicPoint.BottomDitchPolderSide - }, - { - CharacteristicPointType.BottomDitchDikeSide, CharacteristicPoint.BottomDitchDikeSide - }, - { - CharacteristicPointType.DikeToeAtPolder, CharacteristicPoint.DikeToeAtPolder - }, - { - CharacteristicPointType.DikeToeAtRiver, CharacteristicPoint.DikeToeAtRiver - }, - { - CharacteristicPointType.DikeTopAtPolder, CharacteristicPoint.DikeTopAtPolder - }, - { - CharacteristicPointType.DikeTopAtRiver, CharacteristicPoint.DikeTopAtRiver - }, - { - CharacteristicPointType.DitchDikeSide, CharacteristicPoint.DitchDikeSide - }, - { - CharacteristicPointType.DitchPolderSide, CharacteristicPoint.DitchPolderSide - }, - { - CharacteristicPointType.None, CharacteristicPoint.None - }, - { - CharacteristicPointType.ShoulderBaseInside, CharacteristicPoint.ShoulderBaseInside - }, - { - CharacteristicPointType.ShoulderBaseOutside, CharacteristicPoint.ShoulderBaseOutside - }, - { - CharacteristicPointType.ShoulderTopInside, CharacteristicPoint.ShoulderTopInside - }, - { - CharacteristicPointType.ShoulderTopOutside, CharacteristicPoint.ShoulderTopOutside - }, - { - CharacteristicPointType.SurfaceLevelInside, CharacteristicPoint.SurfaceLevelInside - }, - { - CharacteristicPointType.SurfaceLevelOutside, CharacteristicPoint.SurfaceLevelOutside - }, - { - CharacteristicPointType.TrafficLoadInside, CharacteristicPoint.TrafficLoadInside - }, - { - CharacteristicPointType.TrafficLoadOutside, CharacteristicPoint.TrafficLoadOutside - } - }; - return translationTable[damCharacteristicPointType]; - } - - #endregion - - #region LogMessages - - /// - /// Converts the kernel validation result type to log message type of DamEngine. - /// - /// Type of the message. - /// - public static MessageType ConvertLogMessageTypeToKernelLogMessageType(LogMessageType messageType) - { - var translationTable = new Dictionary - { - { - LogMessageType.Info, MessageType.Info - }, - { - LogMessageType.Warning, MessageType.Warning - }, - { - LogMessageType.Error, MessageType.Error - } - }; - return translationTable[messageType]; - } - - /// - /// Converts the kernel log message type to log message type of DamEngine. - /// - /// Type of the message. - /// - public static LogMessageType ConvertKernelLogMessageTypeToLogMessageType(MessageType messageType) - { - var translationTable = new Dictionary - { - { - MessageType.Info, LogMessageType.Info - }, - { - MessageType.Warning, LogMessageType.Warning - }, - { - MessageType.Error, LogMessageType.Error - } - }; - return translationTable[messageType]; - } - - #endregion -} \ No newline at end of file +// public static CalculationResult ConvertToDamResultType(CalculationResultType calculationResult) +// { +// var translationTable = new Dictionary +// { +// { +// CalculationResultType.NoRun, CalculationResult.NoRun +// }, +// { +// CalculationResultType.Succeeded, CalculationResult.Succeeded +// }, +// { +// CalculationResultType.NoInput, CalculationResult.NoInput +// }, +// { +// CalculationResultType.NoLicense, CalculationResult.NoLicense +// }, +// { +// CalculationResultType.UserAbort, CalculationResult.UserAbort +// }, +// { +// CalculationResultType.InvalidInputStructure, CalculationResult.InvalidInputStructure +// }, +// { +// CalculationResultType.InvalidInputData, CalculationResult.InvalidInputData +// }, +// { +// CalculationResultType.RunFailed, CalculationResult.RunFailed +// }, +// { +// CalculationResultType.UnexpectedError, CalculationResult.UnexpectedError +// } +// }; +// return translationTable[calculationResult]; +// } +// +// /// +// /// Converts a calculation result from the MacroStability kernel to its corresponding MacroStability result type +// /// using a predefined translation table. +// /// +// /// The calculation result from the MacroStability kernel +// /// The corresponding MacroStability result type +// public static CalculationResultType ConvertToMacroStabilityResultType(CalculationResult calculationResult) +// { +// var translationTable = new Dictionary +// { +// { +// CalculationResult.NoRun, CalculationResultType.NoRun +// }, +// { +// CalculationResult.Succeeded, CalculationResultType.Succeeded +// }, +// { +// CalculationResult.NoInput, CalculationResultType.NoInput +// }, +// { +// CalculationResult.NoLicense, CalculationResultType.NoLicense +// }, +// { +// CalculationResult.UserAbort, CalculationResultType.UserAbort +// }, +// { +// CalculationResult.InvalidInputStructure, CalculationResultType.InvalidInputStructure +// }, +// { +// CalculationResult.InvalidInputData, CalculationResultType.InvalidInputData +// }, +// { +// CalculationResult.RunFailed, CalculationResultType.RunFailed +// }, +// { +// CalculationResult.UnexpectedError, CalculationResultType.UnexpectedError +// } +// }; +// return translationTable[calculationResult]; +// } +// +// #region SearchMethod +// +// /// Converts SearchAlgorithm to MStabSearchMethod. +// /// The MacroStability search algorithm. +// /// +// /// +// public static StabilitySearchMethod ConvertToDamSearchMethod(SearchAlgorithm searchAlgorithm) +// { +// if (searchAlgorithm != SearchAlgorithm.Grid && searchAlgorithm != SearchAlgorithm.Genetic && searchAlgorithm != SearchAlgorithm.BeeswarmAndLevenbergMarquardt) +// { +// throw new ArgumentException($"Unsupported search algorithm: {searchAlgorithm}"); +// } +// +// var translationTable = new Dictionary +// { +// { +// SearchAlgorithm.Grid, StabilitySearchMethod.Grid +// }, +// { +// SearchAlgorithm.BeeswarmAndLevenbergMarquardt, StabilitySearchMethod.BeeSwarm +// } +// }; +// return translationTable[searchAlgorithm]; +// } +// +// /// Converts MStabSearchMethod to SearchAlgorithm. +// /// The Dam search algorithm. +// /// +// /// +// public static SearchAlgorithm ConvertToMacroStabilitySearchMethod(StabilitySearchMethod stabilitySearchMethod) +// { +// var translationTable = new Dictionary +// { +// { +// StabilitySearchMethod.Grid, SearchAlgorithm.Grid +// }, +// { +// StabilitySearchMethod.BeeSwarm, SearchAlgorithm.BeeswarmAndLevenbergMarquardt +// } +// }; +// return translationTable[stabilitySearchMethod]; +// } +// +// #endregion +// +// #region ModelType +// +// /// Converts ModelOption to the MStabModelType. +// /// This comes back from the kernel side so any model that can be matched is OK. +// /// The model option. +// /// the Dam MStabModelType +// public static StabilityModelType ConvertToMStabModelType(StabilityModelOptionType modelOption) +// { +// var translationTable = new Dictionary +// { +// { +// StabilityModelOptionType.Bishop, StabilityModelType.Bishop +// }, +// { +// StabilityModelOptionType.UpliftVan, StabilityModelType.UpliftVan +// } +// //{MacroStability.CSharpWrapper.Output.StabilityModelOption.Spencer, MStabModelType.UpliftSpencerWti} +// }; +// return translationTable[modelOption]; +// } +// +// /// Converts to ModelOptions type. +// /// the MStabModelType. +// /// the MacroStability ModelOption +// /// +// public static StabilityModelOptionType ConvertToModelOptions(StabilityModelType stabilityModelType) +// { +// // For the Macrostability kernel, the only supported options for now are Bishop and UpliftVan. +// if (stabilityModelType != StabilityModelType.UpliftVan && stabilityModelType != StabilityModelType.Bishop) +// { +// throw new ArgumentException($"Unsupported MStabModelType: {stabilityModelType}"); +// } +// +// var translationTable = new Dictionary +// { +// { +// StabilityModelType.UpliftVan, StabilityModelOptionType.UpliftVan +// }, +// { +// StabilityModelType.Bishop, StabilityModelOptionType.Bishop +// } +// }; +// return translationTable[stabilityModelType]; +// } +// +// /// Converts to ModelOptions type. +// /// the MStabModelType. +// /// the MacroStability ModelOption +// /// +// public static StabilityModelOptionType ConvertToModelOptionsOutput(StabilityModelType stabilityModelType) +// { +// // For the Macrostability kernel, the only supported options for now are Bishop and UpliftVan. +// if (stabilityModelType != StabilityModelType.Bishop && stabilityModelType != StabilityModelType.UpliftVan) +// { +// throw new ArgumentException($"Unsupported MStabModelType: {stabilityModelType}"); +// } +// +// var translationTable = new Dictionary +// { +// { +// StabilityModelType.Bishop, StabilityModelOptionType.Bishop +// }, +// { +// StabilityModelType.UpliftVan, StabilityModelOptionType.UpliftVan +// } +// }; +// return translationTable[stabilityModelType]; +// } +// +// #endregion +// +// #region GridOrientation +// +// /// Converts to MStabGridPosition. +// /// The grid orientation. +// /// +// public static StabilityGridPosition ConvertToMStabGridPosition(Orientation gridOrientation) +// { +// var translationTable = new Dictionary +// { +// { +// Orientation.Inwards, StabilityGridPosition.Right +// }, +// { +// Orientation.Outwards, StabilityGridPosition.Left +// } +// }; +// return translationTable[gridOrientation]; +// } +// +// /// Converts to GridOrientation. +// /// The MStabGridPosition. +// /// +// public static Orientation ConvertToGridOrientation(StabilityGridPosition stabilityGridPosition) +// { +// var translationTable = new Dictionary +// { +// { +// StabilityGridPosition.Right, Orientation.Inwards +// }, +// { +// StabilityGridPosition.Left, Orientation.Outwards +// } +// }; +// return translationTable[stabilityGridPosition]; +// } +// +// #endregion +// +// #region Soil +// +// /// Converts to MacroStability soil. +// /// The Dam soil. +// /// The MacroStability Soil. +// public static Soil ConvertToMacroStabilitySoil(Data.Geotechnics.Soil soil) +// { +// var macroStabilitySoil = new Soil +// { +// Name = soil.Name, +// AbovePhreaticLevel = soil.AbovePhreaticLevel, +// BelowPhreaticLevel = soil.BelowPhreaticLevel, +// Cohesion = soil.Cohesion, +// FrictionAngle = soil.FrictionAngle, +// Dilatancy = soil.FrictionAngle, +// RatioCuPc = soil.RatioCuPc, +// StrengthIncreaseExponent = soil.ShearStrengthModel == ShearStrengthModel.SuTable && double.IsNaN(soil.StrengthIncreaseExponent) ? 1.0 : soil.StrengthIncreaseExponent, // can't be NaN in MAC kernel because used for multi-stages +// UseSoilClassification = false, // Soil type is not given so make sure it is not used. +// BondStressCurve = null, // these are not supported in DAM so set to null. +// SigmaTauTable = new List(), +// SuTable = new List() +// }; +// +// if (soil.ShearStrengthModel != null) +// { +// macroStabilitySoil.ShearStrengthAbovePhreaticLevelModel = ConvertToMacroStabilityShearStrengthModel(soil.ShearStrengthModel.Value); +// macroStabilitySoil.ShearStrengthBelowPhreaticLevelModel = ConvertToMacroStabilityShearStrengthModel(soil.ShearStrengthModel.Value); +// } +// +// if (soil.SigmaTauCurve != null) +// { +// foreach (SigmaTauPoint point in soil.SigmaTauCurve.Points) +// { +// macroStabilitySoil.SigmaTauTable.Add(new SigmaTauTablePoint +// { +// Sigma = point.Sigma, +// Tau = point.Tau +// }); +// } +// } +// +// if (soil.SuTableCurve != null) +// { +// foreach (SigmaSuPoint point in soil.SuTableCurve.Points) +// { +// macroStabilitySoil.SuTable.Add(new SuTablePoint +// { +// EffectiveStress = point.Sigma, +// Su = point.Su +// }); +// } +// } +// +// return macroStabilitySoil; +// } +// +// /// Converts to Dam soil. +// /// The MacroStability soil. +// /// The Dam soil. +// /// +// public static Data.Geotechnics.Soil ConvertToDamSoil(Soil soil) +// { +// var damSoil = new Data.Geotechnics.Soil +// { +// Name = soil.Name, +// AbovePhreaticLevel = soil.AbovePhreaticLevel, +// BelowPhreaticLevel = soil.BelowPhreaticLevel, +// Cohesion = soil.Cohesion, +// FrictionAngle = soil.FrictionAngle, +// RatioCuPc = soil.RatioCuPc, +// StrengthIncreaseExponent = soil.StrengthIncreaseExponent, +// //Todo #Bka We keep this as "truth" for now. But maybe Dam should become above/below too +// ShearStrengthModel = ConvertToDamShearStrengthModel(soil.ShearStrengthAbovePhreaticLevelModel) +// }; +// +// if (soil.SigmaTauTable != null) +// { +// damSoil.SigmaTauCurve = new SigmaTauCurve(); +// foreach (SigmaTauTablePoint point in soil.SigmaTauTable) +// { +// damSoil.SigmaTauCurve.Points.Add(new SigmaTauPoint +// { +// Sigma = point.Sigma, +// Tau = point.Tau +// }); +// } +// } +// +// if (soil.SuTable != null) +// { +// damSoil.SuTableCurve = new SuTableCurve(); +// foreach (SuTablePoint point in soil.SuTable) +// { +// damSoil.SuTableCurve.Points.Add(new SigmaSuPoint +// { +// Sigma = point.EffectiveStress, +// Su = point.Su +// }); +// } +// } +// +// return damSoil; +// } +// +// /// Converts to dam ShearStrengthModel. +// /// The kernel ShearStrengthModel. +// /// +// public static ShearStrengthModel ConvertToDamShearStrengthModel(ShearStrengthModelKernel kernelShearStrengthModel) +// { +// var translationTable = new Dictionary +// { +// { +// ShearStrengthModelKernel.MohrCoulomb, ShearStrengthModel.CPhi +// }, +// { +// ShearStrengthModelKernel.Shansep, ShearStrengthModel.SuCalculated +// }, +// { +// ShearStrengthModelKernel.SigmaTauTable, ShearStrengthModel.SigmaTauCurve +// }, +// { +// ShearStrengthModelKernel.SuTable, ShearStrengthModel.SuTable +// } +// }; +// return translationTable[kernelShearStrengthModel]; +// } +// +// /// Converts to macro stability ShearStrengthModel. +// /// The dam ShearStrengthModel. +// /// +// /// +// public static ShearStrengthModelKernel ConvertToMacroStabilityShearStrengthModel(ShearStrengthModel damShearStrengthModel) +// { +// var translationTable = new Dictionary +// { +// { +// ShearStrengthModel.CPhi, ShearStrengthModelKernel.MohrCoulomb +// }, +// { +// ShearStrengthModel.SuCalculated, ShearStrengthModelKernel.Shansep +// }, +// { +// ShearStrengthModel.SigmaTauCurve, ShearStrengthModelKernel.SigmaTauTable +// }, +// { +// ShearStrengthModel.SuTable, ShearStrengthModelKernel.SuTable +// } +// }; +// return translationTable[damShearStrengthModel]; +// } +// +// #endregion +// +// #region WaterpressureInterpolationModel +// +// /// Converts to macro stability waterpressure interpolation model. +// /// The waterpressure interpolation model. +// /// +// public static WaterPressureInterpolationModelKernel ConvertToMacroStabilityWaterpressureInterpolationModel(WaterPressureInterpolationModel waterpressureInterpolationModel) +// { +// var translationTable = new Dictionary +// { +// { +// WaterPressureInterpolationModel.Automatic, WaterPressureInterpolationModelKernel.Automatic +// }, +// { +// WaterPressureInterpolationModel.Hydrostatic, WaterPressureInterpolationModelKernel.Hydrostatic +// } +// }; +// return translationTable[waterpressureInterpolationModel]; +// } +// +// /// Converts to dam waterpressure interpolation model. +// /// The waterpressure interpolation model. +// /// +// public static WaterpressureInterpolationModel ConvertToDamWaterpressureInterpolationModel(WaterPressureInterpolationModelKernel waterpressureInterpolationModel) +// { +// var translationTable = new Dictionary +// { +// { +// WaterPressureInterpolationModelKernel.Automatic, WaterPressureInterpolationModel.Automatic +// }, +// { +// WaterPressureInterpolationModelKernel.Hydrostatic, WaterPressureInterpolationModel.Hydrostatic +// } +// }; +// return translationTable[waterpressureInterpolationModel]; +// } +// +// #endregion +// +// #region CharacteristicPointType +// +// /// Converts the type of to dam characteristic point. +// /// Type of the kernel characteristic point. +// /// +// public static CharacteristicPointType ConvertToDamCharacteristicPointType(CharacteristicPoint kernelCharacteristicPointType) +// { +// var translationTable = new Dictionary +// { +// { +// CharacteristicPoint.BottomDitchDikeSide, CharacteristicPointType.BottomDitchDikeSide +// }, +// { +// CharacteristicPoint.BottomDitchPolderSide, CharacteristicPointType.BottomDitchPolderSide +// }, +// { +// CharacteristicPoint.DikeToeAtPolder, CharacteristicPointType.DikeToeAtPolder +// }, +// { +// CharacteristicPoint.DikeToeAtRiver, CharacteristicPointType.DikeToeAtRiver +// }, +// { +// CharacteristicPoint.DikeTopAtPolder, CharacteristicPointType.DikeTopAtPolder +// }, +// { +// CharacteristicPoint.DikeTopAtRiver, CharacteristicPointType.DikeTopAtRiver +// }, +// { +// CharacteristicPoint.DitchDikeSide, CharacteristicPointType.DitchDikeSide +// }, +// { +// CharacteristicPoint.DitchPolderSide, CharacteristicPointType.DitchPolderSide +// }, +// { +// CharacteristicPoint.None, CharacteristicPointType.None +// }, +// { +// CharacteristicPoint.ShoulderBaseInside, CharacteristicPointType.ShoulderBaseInside +// }, +// { +// CharacteristicPoint.ShoulderBaseOutside, CharacteristicPointType.ShoulderBaseOutside +// }, +// { +// CharacteristicPoint.ShoulderTopInside, CharacteristicPointType.ShoulderTopInside +// }, +// { +// CharacteristicPoint.ShoulderTopOutside, CharacteristicPointType.ShoulderTopOutside +// }, +// { +// CharacteristicPoint.SurfaceLevelInside, CharacteristicPointType.SurfaceLevelInside +// }, +// { +// CharacteristicPoint.SurfaceLevelOutside, CharacteristicPointType.SurfaceLevelOutside +// }, +// { +// CharacteristicPoint.TrafficLoadInside, CharacteristicPointType.TrafficLoadInside +// }, +// { +// CharacteristicPoint.TrafficLoadOutside, CharacteristicPointType.TrafficLoadOutside +// } +// }; +// return translationTable[kernelCharacteristicPointType]; +// } +// +// /// Converts the type of to macro stability characteristic point. +// /// Type of the dam characteristic point. +// /// +// public static CharacteristicPoint ConvertToMacroStabilityCharacteristicPointType(CharacteristicPointType damCharacteristicPointType) +// { +// var translationTable = new Dictionary +// { +// { +// CharacteristicPointType.BottomDitchPolderSide, CharacteristicPoint.BottomDitchPolderSide +// }, +// { +// CharacteristicPointType.BottomDitchDikeSide, CharacteristicPoint.BottomDitchDikeSide +// }, +// { +// CharacteristicPointType.DikeToeAtPolder, CharacteristicPoint.DikeToeAtPolder +// }, +// { +// CharacteristicPointType.DikeToeAtRiver, CharacteristicPoint.DikeToeAtRiver +// }, +// { +// CharacteristicPointType.DikeTopAtPolder, CharacteristicPoint.DikeTopAtPolder +// }, +// { +// CharacteristicPointType.DikeTopAtRiver, CharacteristicPoint.DikeTopAtRiver +// }, +// { +// CharacteristicPointType.DitchDikeSide, CharacteristicPoint.DitchDikeSide +// }, +// { +// CharacteristicPointType.DitchPolderSide, CharacteristicPoint.DitchPolderSide +// }, +// { +// CharacteristicPointType.None, CharacteristicPoint.None +// }, +// { +// CharacteristicPointType.ShoulderBaseInside, CharacteristicPoint.ShoulderBaseInside +// }, +// { +// CharacteristicPointType.ShoulderBaseOutside, CharacteristicPoint.ShoulderBaseOutside +// }, +// { +// CharacteristicPointType.ShoulderTopInside, CharacteristicPoint.ShoulderTopInside +// }, +// { +// CharacteristicPointType.ShoulderTopOutside, CharacteristicPoint.ShoulderTopOutside +// }, +// { +// CharacteristicPointType.SurfaceLevelInside, CharacteristicPoint.SurfaceLevelInside +// }, +// { +// CharacteristicPointType.SurfaceLevelOutside, CharacteristicPoint.SurfaceLevelOutside +// }, +// { +// CharacteristicPointType.TrafficLoadInside, CharacteristicPoint.TrafficLoadInside +// }, +// { +// CharacteristicPointType.TrafficLoadOutside, CharacteristicPoint.TrafficLoadOutside +// } +// }; +// return translationTable[damCharacteristicPointType]; +// } +// +// #endregion +// +// #region LogMessages +// +// /// +// /// Converts the kernel validation result type to log message type of DamEngine. +// /// +// /// Type of the message. +// /// +// public static MessageType ConvertLogMessageTypeToKernelLogMessageType(LogMessageType messageType) +// { +// var translationTable = new Dictionary +// { +// { +// LogMessageType.Info, MessageType.Info +// }, +// { +// LogMessageType.Warning, MessageType.Warning +// }, +// { +// LogMessageType.Error, MessageType.Error +// } +// }; +// return translationTable[messageType]; +// } +// +// /// +// /// Converts the kernel log message type to log message type of DamEngine. +// /// +// /// Type of the message. +// /// +// public static LogMessageType ConvertKernelLogMessageTypeToLogMessageType(MessageType messageType) +// { +// var translationTable = new Dictionary +// { +// { +// MessageType.Info, LogMessageType.Info +// }, +// { +// MessageType.Warning, LogMessageType.Warning +// }, +// { +// MessageType.Error, LogMessageType.Error +// } +// }; +// return translationTable[messageType]; +// } +// +// #endregion +// } \ No newline at end of file Fisheye: Tag 6516 refers to a dead (removed) revision in file `DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIoTests.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj =================================================================== diff -u -r6515 -r6516 --- DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj (.../Deltares.DamEngine.Calculators.csproj) (revision 6515) +++ DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj (.../Deltares.DamEngine.Calculators.csproj) (revision 6516) @@ -12,17 +12,56 @@ + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.Geo.Common.Geometry.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.Geo.Common.Standard.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.Geo.Common.WaterMesh.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Calculation.dll + ..\..\lib\FailureMechanisms\MacroStabilityCSharpWrapperDeterministicSigned\Deltares.MacroStability.CSharpWrapper.dll + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Data.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Interface.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Io.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Kernel.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Preprocessing.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.XmlConversion.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.SearchAlgorithms.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.SoilStress.Calculation.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.SoilStress.Data.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.WaternetCreator.Creator.dll + ..\..\lib\FailureMechanisms\WtiPiping\Deltares.WTIPiping.dll - - 25.1.1.39 - 4.2.0 Index: DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.TestHelpers/GeneralHelper.cs =================================================================== diff -u -r6515 -r6516 --- DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.TestHelpers/GeneralHelper.cs (.../GeneralHelper.cs) (revision 6515) +++ DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.TestHelpers/GeneralHelper.cs (.../GeneralHelper.cs) (revision 6516) @@ -31,7 +31,6 @@ using Deltares.DamEngine.Interface; using Deltares.DamEngine.Io; using Deltares.DamEngine.Io.XmlOutput; -using DGeoSuite.Common; using KellermanSoftware.CompareNetObjects; using NUnit.Framework; using ConversionHelper = Deltares.DamEngine.Interface.ConversionHelper; @@ -93,11 +92,10 @@ switch (engineInterface.DamProjectData.DamProjectType) { case DamProjectType.Design: - isNoResultAvailable = output.Results.CalculationResults.IsNullOrEmpty(); + isNoResultAvailable = output.Results.CalculationResults == null || !output.Results.CalculationResults.Any(); break; default: - isNoResultAvailable = output.Results.OperationalOutputTimeSeries.IsNullOrEmpty(); - break; + isNoResultAvailable = output.Results.OperationalOutputTimeSeries == null || !output.Results.OperationalOutputTimeSeries.Any(); break; } if (!isNoResultAvailable) @@ -216,7 +214,7 @@ string fileName = calculationResult.BaseFileName; // Note: only check for the iterated file if the design calculation was successful isIteratedFilePresent = isIteratedFilePresent || - (!fileName.IsNullOrEmpty() && fileName.Contains("Ite(") && !fileName.Contains("Ite(1)")) + (!string.IsNullOrEmpty(fileName) && fileName.Contains("Ite(") && !fileName.Contains("Ite(1)")) || !isDesignSuccessful; } Index: DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.IntegrationTests/Deltares.DamEngine.IntegrationTests.csproj =================================================================== diff -u -r6515 -r6516 --- DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.IntegrationTests/Deltares.DamEngine.IntegrationTests.csproj (.../Deltares.DamEngine.IntegrationTests.csproj) (revision 6515) +++ DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.IntegrationTests/Deltares.DamEngine.IntegrationTests.csproj (.../Deltares.DamEngine.IntegrationTests.csproj) (revision 6516) @@ -145,8 +145,49 @@ 3.9.0 - - 25.1.1.39 - + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.Geo.Common.Geometry.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.Geo.Common.Standard.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.Geo.Common.WaterMesh.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Calculation.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Data.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Interface.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Io.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Kernel.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.Preprocessing.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.MacroStability.XmlConversion.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.SearchAlgorithms.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.SoilStress.Calculation.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.SoilStress.Data.dll + + + ..\..\lib\FailureMechanisms\Macrostability\Deltares.WaternetCreator.Creator.dll + + Index: DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelper.cs =================================================================== diff -u -r6515 -r6516 --- DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelper.cs (.../MacroStabilityCommonHelper.cs) (revision 6515) +++ DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelper.cs (.../MacroStabilityCommonHelper.cs) (revision 6516) @@ -445,14 +445,14 @@ if (macroStabilityOutput.CalculationResult != CalculationResult.UnexpectedError) { - StixFileWriterConnector.WriteStixFileWithInput(macroStabilityKernelDataInput.DamKernelInput, macroStabilityKernelDataInput.MStabParameters, - macroStabilityKernelDataInput.WaterNet, - macroStabilityKernelDataInput.XCoordinateLowestUpliftFactorPoint, - macroStabilityOutput, fileName, new List()); - StixFileWriterConnector.WriteStixFileWithInputAndResults(macroStabilityKernelDataInput.DamKernelInput, macroStabilityKernelDataInput.MStabParameters, - macroStabilityKernelDataInput.WaterNet, - macroStabilityKernelDataInput.XCoordinateLowestUpliftFactorPoint, - macroStabilityOutput, fileName, errorMessages); + // StixFileWriterConnector.WriteStixFileWithInput(macroStabilityKernelDataInput.DamKernelInput, macroStabilityKernelDataInput.MStabParameters, + // macroStabilityKernelDataInput.WaterNet, + // macroStabilityKernelDataInput.XCoordinateLowestUpliftFactorPoint, + // macroStabilityOutput, fileName, new List()); + // StixFileWriterConnector.WriteStixFileWithInputAndResults(macroStabilityKernelDataInput.DamKernelInput, macroStabilityKernelDataInput.MStabParameters, + // macroStabilityKernelDataInput.WaterNet, + // macroStabilityKernelDataInput.XCoordinateLowestUpliftFactorPoint, + // macroStabilityOutput, fileName, errorMessages); } } Index: DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/EngineToMacroStabilityKernelInputTests.cs =================================================================== diff -u -r6515 -r6516 --- DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/EngineToMacroStabilityKernelInputTests.cs (.../EngineToMacroStabilityKernelInputTests.cs) (revision 6515) +++ DamEngine/branches/InvestigateMultiCore/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/EngineToMacroStabilityKernelInputTests.cs (.../EngineToMacroStabilityKernelInputTests.cs) (revision 6516) @@ -28,15 +28,21 @@ using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.Geometry; using Deltares.DamEngine.Data.Geotechnics; +using Deltares.DamEngine.Io.XmlOutput; using Deltares.DamEngine.TestHelpers.Factories; using Deltares.MacroStability.Io.XmlInput; using KellermanSoftware.CompareNetObjects; using NUnit.Framework; using CharacteristicPointType = Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType; +using HeadLineType = Deltares.MacroStability.Io.XmlInput.HeadLineType; using Point2D = Deltares.DamEngine.Data.Geometry.Point2D; +using Point2DType = Deltares.MacroStability.Io.XmlInput.Point2DType; using Soil = Deltares.DamEngine.Data.Geotechnics.Soil; using SoilProfileType = Deltares.MacroStability.Io.XmlInput.SoilProfileType; using UpliftVanCalculationGrid = Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityCommon.UpliftVanCalculationGrid; +using UpliftVanCalculationGridType = Deltares.MacroStability.Io.XmlInput.UpliftVanCalculationGridType; +using WaternetType = Deltares.MacroStability.Io.XmlInput.WaternetType; +using WaternetTypeWaternetLine = Deltares.MacroStability.Io.XmlInput.WaternetTypeWaternetLine; namespace Deltares.DamEngine.Calculators.Tests.KernelWrappers.MacroStabilityCommon.MacroStabilityIo;