Index: DamEngine/trunk/lib/StixWriter/Deltares.MacroStability.Preprocessing.dll =================================================================== diff -u Binary files differ Index: DamEngine/trunk/lib/StixWriter/Deltares.MacroStability.Kernel.dll =================================================================== diff -u Binary files differ Index: DamEngine/trunk/lib/StixWriter/Deltares.SoilStress.Calculation.dll =================================================================== diff -u Binary files differ Index: DamEngine/trunk/lib/StixWriter/Deltares.MacroStability.Io.dll =================================================================== diff -u Binary files differ Index: DamEngine/trunk/lib/StixWriter/Deltares.Geo.Common.Geometry.dll =================================================================== diff -u Binary files differ Index: DamEngine/trunk/lib/StixWriter/Deltares.Geo.Common.Standard.dll =================================================================== diff -u Binary files differ Index: DamEngine/trunk/lib/StixWriter/Components.Persistence.Stability.dll =================================================================== diff -u Binary files differ Index: DamEngine/trunk/lib/StixWriter/Deltares.WaternetCreator.Creator.dll =================================================================== diff -u Binary files differ Index: DamEngine/trunk/lib/StixWriter/Deltares.MacroStability.Data.dll =================================================================== diff -u Binary files differ Index: DamEngine/trunk/lib/StixWriter/Deltares.MacroStability.Interface.dll =================================================================== diff -u Binary files differ Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs =================================================================== diff -u -r3507 -r3510 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs (.../MacroStabilityInwardsKernelWrapper.cs) (revision 3507) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs (.../MacroStabilityInwardsKernelWrapper.cs) (revision 3510) @@ -38,6 +38,7 @@ using Deltares.MacroStability.CSharpWrapper; using Deltares.MacroStability.CSharpWrapper.Output; using Deltares.Geo.Common.Standard; +using Deltares.StixFileWriter; using CharacteristicPointType = Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType; using GeometryPoint = Deltares.DamEngine.Data.Geometry.GeometryPoint; using LogMessage = Deltares.DamEngine.Data.Standard.Logging.LogMessage; @@ -281,15 +282,15 @@ MacroStabilityOutput macroStabilityOutput = (MacroStabilityOutput)kernelDataOutput; ThrowWhenMacroStabilityKernelInputNull(macroStabilityKernelDataInput); ThrowWhenMacroStabilityKernelOutputNull(macroStabilityOutput); - PerformStabilityCalculation(macroStabilityOutput, out messages); + PerformStabilityCalculation(macroStabilityKernelDataInput, macroStabilityOutput, out messages); var fileName = Path.GetFileNameWithoutExtension(fileNameForCalculation); foreach (var logMessage in messages) { logMessage.Message = fileName + ": " + logMessage.Message; } } - private void PerformStabilityCalculation(MacroStabilityOutput macroStabilityOutput, out List messages) + private void PerformStabilityCalculation(MacroStabilityKernelDataInput input, MacroStabilityOutput macroStabilityOutput, out List messages) { macroStabilityOutput.CalculationResult = CalculationResult.NoRun; macroStabilityOutput.StabilityOutputItems = new List(); @@ -300,6 +301,8 @@ var macroStabilityOutputKernel = stabilityCalculator.Calculate(); FillEngineFromMacroStabilityWrapperOutput.FillEngineDataWithResults(macroStabilityOutputKernel, macroStabilityOutput, out messages); + WriteStixFileBasedOnInputAndResultsSlipPlane(input, macroStabilityOutput); + } catch (Exception e) { @@ -308,6 +311,28 @@ } } + private void WriteStixFileBasedOnInputAndResultsSlipPlane(MacroStabilityKernelDataInput input, + MacroStabilityOutput macroStabilityOutput) + { + if (macroStabilityOutput.CalculationResult == CalculationResult.Succeeded) + { + foreach (var macroStabilityOutputItem in macroStabilityOutput.StabilityOutputItems) + { + if (macroStabilityOutputItem.StabilityModelType == MStabModelType.UpliftVan) + { + var calculationPath = Path.GetDirectoryName(fileNameForCalculation); + var projectName = Path.GetFileName(fileNameForCalculation); + StixWriter.FillInfo("DAM Engine", calculationPath, projectName, true); + StixWriter.FillCalculatedDualCircle(macroStabilityOutputItem.ActiveCenterPoint.X, + macroStabilityOutputItem.ActiveCenterPoint.Z, + macroStabilityOutputItem.ActiveCenterPointRadius, macroStabilityOutputItem.PassiveCenterPoint.X, + macroStabilityOutputItem.PassiveCenterPoint.Z); + StixWriter.WriteStixFile(Path.ChangeExtension(fileNameForCalculation, ".stix"), input.Input); + } + } + } + } + /// /// Fills the design results with the kernel output. /// Index: DamEngine/trunk/lib/StixWriter/Deltares.MacroStability.CSharpWrapper.dll =================================================================== diff -u Binary files differ Index: DamEngine/trunk/lib/StixWriter/Deltares.StixFileWriter.dll =================================================================== diff -u Binary files differ Index: DamEngine/trunk/lib/StixWriter/Deltares.StixFileWriter.Tests.dll =================================================================== diff -u Binary files differ Index: DamEngine/trunk/lib/StixWriter/Deltares.MacroStability.Calculation.dll =================================================================== diff -u Binary files differ Index: DamEngine/trunk/lib/StixWriter/Deltares.StixFileWriter.Version.dll =================================================================== diff -u Binary files differ Index: DamEngine/trunk/lib/StixWriter/Deltares.SearchAlgorithms.dll =================================================================== diff -u Binary files differ Index: DamEngine/trunk/lib/StixWriter/Deltares.SoilStress.Data.dll =================================================================== diff -u Binary files differ Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj =================================================================== diff -u -r3444 -r3510 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj (.../Deltares.DamEngine.Calculators.csproj) (revision 3444) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj (.../Deltares.DamEngine.Calculators.csproj) (revision 3510) @@ -59,6 +59,9 @@ ..\..\lib\FailureMechanisms\MacrostabilityCSharpWrapper\Deltares.SoilStress.Data.dll + + ..\..\lib\StixWriter\Deltares.StixFileWriter.dll + False ..\..\lib\FailureMechanisms\WtiPipingMerged\Deltares.WTIPiping.Merged.dll Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs =================================================================== diff -u -r3505 -r3510 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs (.../MacroStabilityInwardsTests.cs) (revision 3505) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs (.../MacroStabilityInwardsTests.cs) (revision 3510) @@ -64,7 +64,7 @@ { if (Directory.Exists(directory)) { - Directory.Delete(directory, true); + Directory.Delete(directory, true); } } @@ -503,7 +503,7 @@ Assert.AreEqual("6-4-1-A-1-F_2_s", output.Results.CalculationResults[1].ProfileName); var result = output.Results.CalculationResults[0]; - // SafetyFactor=1.638 + // SafetyFactor=1.638 DSTAB 1.518 (1.079) Assert.AreEqual(1.638, result.StabilityDesignResults.SafetyFactor, Tolerance); // skip testing some of the results like uplift etc. @@ -513,9 +513,13 @@ // test safety factor for other profiles result = output.Results.CalculationResults[1]; - // SafetyFactor=1.551 + // SafetyFactor=1.551 DSTAB 1.414. 1.097 Assert.AreEqual(1.551, result.StabilityDesignResults.SafetyFactor, Tolerance); Assert.AreEqual(CalculationResult.Succeeded, ConversionHelper.ConvertToCalculationResult(result.CalculationResult)); + var file1 = Path.Combine(Path.GetFullPath(calcDir), "Stability\\UpliftVan\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_1_s).stix"); + Assert.IsTrue(File.Exists(file1)); + var file2 = Path.Combine(Path.GetFullPath(calcDir), "Stability\\UpliftVan\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_2_s).stix"); + Assert.IsTrue(File.Exists(file2)); } [Test, Category("Slow")]