Index: DamEngine/trunk/src/Deltares.DamEngine.Data/General/Results/DesignResult.cs =================================================================== diff -u -r977 -r1012 --- DamEngine/trunk/src/Deltares.DamEngine.Data/General/Results/DesignResult.cs (.../DesignResult.cs) (revision 977) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/General/Results/DesignResult.cs (.../DesignResult.cs) (revision 1012) @@ -38,6 +38,7 @@ private double? safetyFactor; private string baseFileName; + private string calculationSubDir; private string locationName; private string scenarioName; @@ -290,6 +291,18 @@ } /// + /// Gets or sets the calculation sub dir (as relative path). + /// + /// + /// The calculation sub dir. + /// + public string CalculationSubDir + { + get { return calculationSubDir; } + set { calculationSubDir = value; } + } + + /// /// Gets or sets the calculation result. /// This is a derived result. /// @@ -350,6 +363,7 @@ // copy direct data baseFileName = designResult.BaseFileName; + calculationSubDir = designResult.CalculationSubDir; locationName = designResult.LocationName; scenarioName = designResult.ScenarioName; profileName = designResult.ProfileName; Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs =================================================================== diff -u -r1008 -r1012 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs (.../DamMacroStabilityOutwardsKernelWrapper.cs) (revision 1008) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs (.../DamMacroStabilityOutwardsKernelWrapper.cs) (revision 1012) @@ -278,6 +278,7 @@ stabilityDesignResults.RedesignedSurfaceLine = damKernelInput.Location.SurfaceLine; designResult.StabilityDesignResults = stabilityDesignResults; designResult.CalculationResult = damMacroStabilityOutputItem.CalculationResult; + designResult.CalculationSubDir = DamMacroStabilityUtils.GetCalculationSubDir(damKernelInput.DamFailureMechanismeCalculationSpecification.StabilityModelType); } designResults.Add(designResult); } Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityCommon/DamMacroStabilityUtils.cs =================================================================== diff -u -r1007 -r1012 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityCommon/DamMacroStabilityUtils.cs (.../DamMacroStabilityUtils.cs) (revision 1007) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityCommon/DamMacroStabilityUtils.cs (.../DamMacroStabilityUtils.cs) (revision 1012) @@ -75,14 +75,24 @@ return Regex.Replace(calculationName, @"[\\\/:\*\?""'<>|.]", "_"); } + /// + /// Gets the calculation sub dir as relative path. + /// + /// The model. + /// + public static string GetCalculationSubDir(MStabModelType model) + { + const string stabilitySubDir = @"Stability\"; + var modelSubDirectory = model.ToString(); + var dir = Path.Combine(stabilitySubDir, modelSubDirectory); + return dir; + } + private static string GetStabilityCalculationDirectory(MStabModelType model, string projectWorkingPath) { string calculationBaseDirectory = projectWorkingPath; - const string stabilitySubDir = @"Stability\"; + var stabilitySubDir = GetCalculationSubDir(model); string stabilityDirectory = Path.Combine(calculationBaseDirectory, stabilitySubDir); - var modelSubDirectory = model.ToString(); - if (modelSubDirectory != "") - stabilityDirectory = Path.Combine(stabilityDirectory, modelSubDirectory); if (!Directory.Exists(stabilityDirectory)) Directory.CreateDirectory(stabilityDirectory); return stabilityDirectory; Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs =================================================================== diff -u -r1007 -r1012 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs (.../DamMacroStabilityInwardsKernelWrapper.cs) (revision 1007) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs (.../DamMacroStabilityInwardsKernelWrapper.cs) (revision 1012) @@ -374,6 +374,7 @@ stabilityDesignResults.RedesignedSurfaceLine = damKernelInput.Location.SurfaceLine; designResult.ProfileName = soilProfile2DName; designResult.StabilityDesignResults = stabilityDesignResults; + designResult.CalculationSubDir = DamMacroStabilityUtils.GetCalculationSubDir(FailureMechanismParametersMStab.MStabParameters.Model); return designResult; } Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapperTests.cs =================================================================== diff -u -r1007 -r1012 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapperTests.cs (.../DamMacroStabilityInwardsKernelWrapperTests.cs) (revision 1007) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapperTests.cs (.../DamMacroStabilityInwardsKernelWrapperTests.cs) (revision 1012) @@ -277,6 +277,12 @@ output.StabilityOutputItems = new List(); output.StabilityOutputItems.Add(outputItem); List results; + var failureMechanismParametersMStab = new FailureMechanismParametersMStab(); + failureMechanismParametersMStab.MStabParameters.GridPosition = MStabGridPosition.Right; + failureMechanismParametersMStab.MStabParameters.SearchMethod = MStabSearchMethod.GeneticAlgorithm; + failureMechanismParametersMStab.MStabParameters.CalculationOptions.MinimalCircleDepth = 1.0; + failureMechanismParametersMStab.MStabParameters.Model = MStabModelType.Bishop; + kernelWrapper.FailureMechanismParametersMStab = failureMechanismParametersMStab; kernelWrapper.PostProcess(damKernelInput, output, "", out results); Assert.AreEqual(0.9, results[0].StabilityDesignResults.SafetyFactor); Assert.AreEqual(1.1, results[0].StabilityDesignResults.Zone1SafetyFactor); Index: DamEngine/trunk/src/Deltares.DamEngine.Io/DamOutput.cs =================================================================== diff -u -r877 -r1012 --- DamEngine/trunk/src/Deltares.DamEngine.Io/DamOutput.cs (.../DamOutput.cs) (revision 877) +++ DamEngine/trunk/src/Deltares.DamEngine.Io/DamOutput.cs (.../DamOutput.cs) (revision 1012) @@ -1,25 +1,4 @@ -// Copyright (C) Stichting Deltares 2018. 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. - -//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ // // This code was generated by a tool. // Runtime Version:4.0.30319.42000 @@ -797,6 +776,8 @@ private string baseFileNameField; + private string calculationSubDirField; + private string locationNameField; private string scenarioNameField; @@ -838,6 +819,17 @@ /// [System.Xml.Serialization.XmlAttributeAttribute()] + public string CalculationSubDir { + get { + return this.calculationSubDirField; + } + set { + this.calculationSubDirField = value; + } + } + + /// + [System.Xml.Serialization.XmlAttributeAttribute()] public string LocationName { get { return this.locationNameField; Index: DamEngine/trunk/xsd/DamDesignResult.xsd =================================================================== diff -u -r972 -r1012 --- DamEngine/trunk/xsd/DamDesignResult.xsd (.../DamDesignResult.xsd) (revision 972) +++ DamEngine/trunk/xsd/DamDesignResult.xsd (.../DamDesignResult.xsd) (revision 1012) @@ -44,6 +44,7 @@ +