Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs =================================================================== diff -u -r929 -r992 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 929) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 992) @@ -21,6 +21,7 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.Geotechnics; @@ -48,14 +49,15 @@ ValidateDamProjectData(damProjectData); Input input = new Input(); - input.ProjectWorkingPath = damProjectData.ProjectWorkingPath; + input.ProjectPath = damProjectData.ProjectPath; + input.CalculationMap = damProjectData.CalculationMap; TransferAnalysisSpecification(damProjectData, input); TransferStabilityParameters(damProjectData, input); Dike dike = damProjectData.Dike; input.Locations = new Io.XmlInput.Location[dike.Locations.Count]; - TransferLocations(dike.Locations, input.Locations); + TransferLocations(damProjectData.ProjectPath, dike.Locations, input.Locations); input.SurfaceLines = new SurfaceLine[dike.SurfaceLines2.Count]; TransferSurfaceLines(dike.SurfaceLines2, input.SurfaceLines); input.Soils = new Soil[dike.SoilList.Soils.Count]; @@ -276,7 +278,7 @@ } } - private static void TransferLocations(IList dikeLocations, Io.XmlInput.Location[] inputLocations) + private static void TransferLocations(string projectPath, IList dikeLocations, Io.XmlInput.Location[] inputLocations) { int locationCount = dikeLocations.Count; for (int i = 0; i < locationCount; i++) @@ -399,9 +401,20 @@ inputLocation.DikeEmbankmentMaterial = location.DikeEmbankmentMaterial; if (location.StabilityOptions != null) { + var tmpPath = projectPath ?? Directory.GetCurrentDirectory(); + var tmpMap = location.StabilityOptions.SoilGeometries2DPath; + if (tmpMap.StartsWith(tmpPath)) + { + tmpMap = tmpMap.Remove(0, tmpPath.Length); + } + if (tmpMap.StartsWith(Path.DirectorySeparatorChar.ToString())) + { + tmpMap = tmpMap.Remove(0, 1); + } + inputLocation.StabilityOptions = new LocationStabilityOptions { - MapForSoilgeometries2D = location.StabilityOptions.MapForSoilGeometries2D, + MapForSoilgeometries2D = tmpMap, SoilDatabaseName = location.StabilityOptions.SoilDatabaseName, ZoneType = ConversionHelper.ConvertToInputZoneType(location.StabilityOptions.StabilityZoneType), ForbiddenZoneFactorSpecified = location.StabilityOptions.ForbiddenZoneFactor.HasValue Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs =================================================================== diff -u -r968 -r992 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs (.../DamMacroStabilityOutwardsKernelWrapper.cs) (revision 968) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs (.../DamMacroStabilityOutwardsKernelWrapper.cs) (revision 992) @@ -96,7 +96,7 @@ if (damKernelInput.SubSoilScenario.SoilProfileType == SoilProfileType.ProfileTypeStiFile) { damKernelInput.SubSoilScenario.StiFileName = Path.Combine( - damKernelInput.Location.StabilityOptions.MapForSoilGeometries2D, + damKernelInput.Location.StabilityOptions.SoilGeometries2DPath, damKernelInput.SubSoilScenario.StiFileName); } var damMacroStabilityInput = new DamMacroStabilityInput() Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityCommon/TestData/testProjectMap/testSoilMaterials.mdb =================================================================== diff -u Binary files differ Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapperTests.cs =================================================================== diff -u -r947 -r992 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapperTests.cs (.../DamMacroStabilityOutwardsKernelWrapperTests.cs) (revision 947) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapperTests.cs (.../DamMacroStabilityOutwardsKernelWrapperTests.cs) (revision 992) @@ -231,7 +231,7 @@ scenario.Location.StabilityOptions = new StabilityOptions { TrafficLoad = 10.0, - MapForSoilGeometries2D = testFolder + SoilGeometries2DPath = testFolder }; scenario.Location.StabilityOptions.SoilDatabaseName = soilDbName; scenario.ModelFactors.RequiredSafetyFactorStabilityOuterSlope = 1.1; @@ -461,7 +461,7 @@ scenario.Location.StabilityOptions = new StabilityOptions { TrafficLoad = 10.0, - MapForSoilGeometries2D = testFolder + SoilGeometries2DPath = testFolder }; scenario.Location.StabilityOptions.SoilDatabaseName = soilDbName; scenario.ModelFactors.RequiredSafetyFactorStabilityInnerSlope = 1.1; Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapperTests.cs =================================================================== diff -u -r986 -r992 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapperTests.cs (.../DamMacroStabilityInwardsKernelWrapperTests.cs) (revision 986) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapperTests.cs (.../DamMacroStabilityInwardsKernelWrapperTests.cs) (revision 992) @@ -74,26 +74,29 @@ FullCalculation(MStabModelType.BishopUpliftVan, expectedValues, expectedOutputValues); } - private static DamKernelInput CreateDamKernelInput(bool realOut = false) + private static DamKernelInput CreateDamKernelInput(string calculationMap) { - var soilDbName = Path.Combine(TestFolder, "soilmaterials.mdb"); - var soilGeometry2DName = "1D1.sti"; - - var absoluteFolder = Path.GetFullPath(Path.Combine(Directory.GetCurrentDirectory(), TestFolder)); - var workingDir = Path.Combine(absoluteFolder, "FullOut"); // Relative paths in ini file do not work yet in DGeoStability 16.2. This is fixed in 18.1. + var absoluteFolder = Path.GetFullPath(Path.Combine(Directory.GetCurrentDirectory(), TestFolder)); + var projectPath = Path.Combine(absoluteFolder, "testProjectMap"); + var soilDbName = Path.Combine(projectPath, "testSoilMaterials.mdb"); + var geometryFolder = "testGeomMap"; + var geometryPath = Path.Combine(projectPath, geometryFolder); + var soilGeometry2DName = "test1D1.sti"; + var workingDir = Path.Combine(projectPath, calculationMap); if (Directory.Exists(workingDir)) { Directory.Delete(workingDir, true); } + Directory.CreateDirectory(workingDir); var line = FactoryForSurfaceLines.CreateSurfaceLineTutorial1(); var location = new Location(); var scenario = DamMacroStabilityTestHelper.CreateScenarioForLocation(location, line); scenario.Location.StabilityOptions = new StabilityOptions(); scenario.Location.StabilityOptions.TrafficLoad = 10.0; - scenario.Location.StabilityOptions.MapForSoilGeometries2D = TestFolder; + scenario.Location.StabilityOptions.SoilGeometries2DPath = geometryPath; scenario.Location.StabilityOptions.SoilDatabaseName = soilDbName; scenario.ModelFactors.RequiredSafetyFactorStabilityInnerSlope = 1.1; scenario.ModelFactors.UpliftCriterionStability = 1.2; @@ -115,7 +118,7 @@ List expectedOutputValues) { const double diff = 0.01; - var damKernelInput = CreateDamKernelInput(); + var damKernelInput = CreateDamKernelInput("Calc" + model); var failureMechanismParametersMStab = new FailureMechanismParametersMStab(); failureMechanismParametersMStab.MStabParameters.GridPosition = MStabGridPosition.Right; failureMechanismParametersMStab.MStabParameters.SearchMethod = MStabSearchMethod.GeneticAlgorithm; @@ -256,7 +259,7 @@ public void TestPostProcess() { var kernelWrapper = new DamMacroStabilityInwardsKernelWrapper(); - var damKernelInput = CreateDamKernelInput(); + var damKernelInput = CreateDamKernelInput("TestPostProcess"); DamMacroStabilityOutputItem outputItem = new DamMacroStabilityOutputItem(); var zone1 = new DamMacroStabilityOutputItem.ResultsSingleZone(); Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityCommon/TestData/testProjectMap/testGeomMap/test1D1.sti =================================================================== diff -u --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityCommon/TestData/testProjectMap/testGeomMap/test1D1.sti (revision 0) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityCommon/TestData/testProjectMap/testGeomMap/test1D1.sti (revision 992) @@ -0,0 +1,1081 @@ +Input file for MStab : Stability of earth slopes. +============================================================================== +COMPANY : WL | Delft Hydraulics +LICENSE : L09795-070 +DATE : 16-6-2010 +TIME : 15:14:58 +FILENAME : D:\src\delftgeosystems\trunk\sources\Bin\Debug\TestData\1D1.sti +CREATED BY : MStab version 9.11.1.902 +========================== BEGINNING OF DATA ========================== +[VERSION] +Soil=1001 +Geometry=1000 +StressCurve=1000 +BondStressDiagram=1000 +MStab=1003 +[END OF VERSION] + +[SOIL COLLECTION] + 5 = number of items +[SOIL] +DKN5 +SoilColor=7050602 +SoilSoilType=3 +SoilUseSoilType=0 +SoilExcessPorePressure=0.00 +SoilPorePressureFactor=1.00 +SoilGamDry=15.80 +SoilGamWet=15.80 +SoilRestSlope=0 +SoilCohesion=3.00 +SoilPhi=21.20 +SoilDilatancy=0.00 +SoilCuTop=0.00 +SoilCuBottom=0.00 +SoilCuGradient=0.00 +SoilStressTableName= +SoilBondStressTableName= +SoilMatStrengthType=0 +SoilProbInputValues=0 +SoilRatioCuPc=0.22 +SoilPOP=10.00 +SoilRheologicalCoefficient=0.00 +SoilUseProbDefaults=1 +SoilStdCohesion=0.75 +SoilStdPhi=3.18 +SoilStdRatioCuPc=0.06 +SoilStdRatioCuPcPassive=0.06 +SoilStdRatioCuPcActive=0.06 +SoilStdCu=0.00 +SoilStdCuTop=0.00 +SoilStdCuGradient=0.00 +SoilStdPn=0.50 +SoilDistCohesion=3 +SoilDistPhi=3 +SoilDistStressTable=3 +SoilDistRatioCuPc=3 +SoilDistRatioCuPcPassive=3 +SoilDistRatioCuPcActive=3 +SoilDistCu=3 +SoilDistCuTop=3 +SoilDistCuGradient=3 +SoilDistPn=3 +SoilCorrelationCPhi=0.00 +SoilRatioCuPcPassive=0.22 +SoilRatioCuPcActive=0.22 +SoilCuPassiveTop=0.00 +SoilCuPassiveBottom=0.00 +SoilCuActiveTop=0.00 +SoilCuActiveBottom=0.00 +SoilUniformRatioCuPc=1 +SoilUniformCu=1 +SoilDesignPartialCohesion=1.25 +SoilDesignStdCohesion=-1.65 +SoilDesignPartialPhi=1.10 +SoilDesignStdPhi=-1.65 +SoilDesignPartialStressTable=1.15 +SoilDesignStdStressTable=-1.65 +SoilDesignPartialRatioCuPc=1.15 +SoilDesignStdRatioCuPc=-1.65 +SoilDesignPartialCu=1.15 +SoilDesignStdCu=-1.65 +SoilDesignPartialPOP=1.10 +SoilDesignStdPOP=-1.65 +SoilDesignPartialRRatio=1.00 +SoilDesignStdRRatio=0.00 +SoilSoilGroup=0 +SoilStdPOP=1.00 +SoilDistPOP=3 +SoilHorFluctScaleCoh=50.00 +SoilVertFluctScaleCoh=0.25 +SoilNumberOfTestsCoh=1 +SoilVarianceRatioCoh=0.75 +SoilHorFluctScalePhi=50.00 +SoilVertFluctScalePhi=0.25 +SoilNumberOfTestsPhi=1 +SoilVarianceRatioPhi=0.75 +SoilRRatio=1.0000000 +SoilDistCu=3 +SoilDistCuTop=3 +SoilDistCuGradient=3 +[END OF SOIL] +[SOIL] +DKN4 +SoilColor=32768 +SoilSoilType=3 +SoilUseSoilType=0 +SoilExcessPorePressure=0.00 +SoilPorePressureFactor=1.00 +SoilGamDry=15.80 +SoilGamWet=15.80 +SoilRestSlope=0 +SoilCohesion=1.60 +SoilPhi=21.30 +SoilDilatancy=0.00 +SoilCuTop=0.00 +SoilCuBottom=0.00 +SoilCuGradient=0.00 +SoilStressTableName= +SoilBondStressTableName= +SoilMatStrengthType=0 +SoilProbInputValues=0 +SoilRatioCuPc=0.22 +SoilPOP=10.00 +SoilRheologicalCoefficient=0.00 +SoilUseProbDefaults=1 +SoilStdCohesion=0.40 +SoilStdPhi=3.20 +SoilStdRatioCuPc=0.06 +SoilStdRatioCuPcPassive=0.06 +SoilStdRatioCuPcActive=0.06 +SoilStdCu=0.00 +SoilStdCuTop=0.00 +SoilStdCuGradient=0.00 +SoilStdPn=0.50 +SoilDistCohesion=3 +SoilDistPhi=3 +SoilDistStressTable=3 +SoilDistRatioCuPc=3 +SoilDistRatioCuPcPassive=3 +SoilDistRatioCuPcActive=3 +SoilDistCu=3 +SoilDistCuTop=3 +SoilDistCuGradient=3 +SoilDistPn=3 +SoilCorrelationCPhi=0.00 +SoilRatioCuPcPassive=0.22 +SoilRatioCuPcActive=0.22 +SoilCuPassiveTop=0.00 +SoilCuPassiveBottom=0.00 +SoilCuActiveTop=0.00 +SoilCuActiveBottom=0.00 +SoilUniformRatioCuPc=1 +SoilUniformCu=1 +SoilDesignPartialCohesion=1.25 +SoilDesignStdCohesion=-1.65 +SoilDesignPartialPhi=1.10 +SoilDesignStdPhi=-1.65 +SoilDesignPartialStressTable=1.15 +SoilDesignStdStressTable=-1.65 +SoilDesignPartialRatioCuPc=1.15 +SoilDesignStdRatioCuPc=-1.65 +SoilDesignPartialCu=1.15 +SoilDesignStdCu=-1.65 +SoilDesignPartialPOP=1.10 +SoilDesignStdPOP=-1.65 +SoilDesignPartialRRatio=1.00 +SoilDesignStdRRatio=0.00 +SoilSoilGroup=0 +SoilStdPOP=1.00 +SoilDistPOP=3 +SoilHorFluctScaleCoh=50.00 +SoilVertFluctScaleCoh=0.25 +SoilNumberOfTestsCoh=1 +SoilVarianceRatioCoh=0.75 +SoilHorFluctScalePhi=50.00 +SoilVertFluctScalePhi=0.25 +SoilNumberOfTestsPhi=1 +SoilVarianceRatioPhi=0.75 +SoilRRatio=1.0000000 +SoilDistCu=3 +SoilDistCuTop=3 +SoilDistCuGradient=3 +[END OF SOIL] +[SOIL] +OA +SoilColor=120796 +SoilSoilType=1 +SoilUseSoilType=0 +SoilExcessPorePressure=0.00 +SoilPorePressureFactor=1.00 +SoilGamDry=17.70 +SoilGamWet=17.70 +SoilRestSlope=1 +SoilCohesion=4.00 +SoilPhi=17.60 +SoilDilatancy=0.00 +SoilCuTop=0.00 +SoilCuBottom=0.00 +SoilCuGradient=0.00 +SoilStressTableName= +SoilBondStressTableName= +SoilMatStrengthType=0 +SoilProbInputValues=0 +SoilRatioCuPc=0.22 +SoilPOP=10.00 +SoilRheologicalCoefficient=0.00 +SoilUseProbDefaults=1 +SoilStdCohesion=1.00 +SoilStdPhi=2.64 +SoilStdRatioCuPc=0.06 +SoilStdRatioCuPcPassive=0.06 +SoilStdRatioCuPcActive=0.06 +SoilStdCu=0.00 +SoilStdCuTop=0.00 +SoilStdCuGradient=0.00 +SoilStdPn=0.50 +SoilDistCohesion=3 +SoilDistPhi=3 +SoilDistStressTable=3 +SoilDistRatioCuPc=3 +SoilDistRatioCuPcPassive=3 +SoilDistRatioCuPcActive=3 +SoilDistCu=3 +SoilDistCuTop=3 +SoilDistCuGradient=3 +SoilDistPn=3 +SoilCorrelationCPhi=0.00 +SoilRatioCuPcPassive=0.22 +SoilRatioCuPcActive=0.22 +SoilCuPassiveTop=0.00 +SoilCuPassiveBottom=0.00 +SoilCuActiveTop=0.00 +SoilCuActiveBottom=0.00 +SoilUniformRatioCuPc=1 +SoilUniformCu=1 +SoilDesignPartialCohesion=1.25 +SoilDesignStdCohesion=-1.65 +SoilDesignPartialPhi=1.10 +SoilDesignStdPhi=-1.65 +SoilDesignPartialStressTable=1.15 +SoilDesignStdStressTable=-1.65 +SoilDesignPartialRatioCuPc=1.15 +SoilDesignStdRatioCuPc=-1.65 +SoilDesignPartialCu=1.15 +SoilDesignStdCu=-1.65 +SoilDesignPartialPOP=1.10 +SoilDesignStdPOP=-1.65 +SoilDesignPartialRRatio=1.00 +SoilDesignStdRRatio=0.00 +SoilSoilGroup=0 +SoilStdPOP=1.00 +SoilDistPOP=3 +SoilHorFluctScaleCoh=50.00 +SoilVertFluctScaleCoh=0.25 +SoilNumberOfTestsCoh=1 +SoilVarianceRatioCoh=0.75 +SoilHorFluctScalePhi=50.00 +SoilVertFluctScalePhi=0.25 +SoilNumberOfTestsPhi=1 +SoilVarianceRatioPhi=0.75 +SoilRRatio=1.0000000 +SoilDistCu=3 +SoilDistCuTop=3 +SoilDistCuGradient=3 +[END OF SOIL] +[SOIL] +DKN3 +SoilColor=4227072 +SoilSoilType=4 +SoilUseSoilType=0 +SoilExcessPorePressure=0.00 +SoilPorePressureFactor=1.00 +SoilGamDry=10.40 +SoilGamWet=10.40 +SoilRestSlope=1 +SoilCohesion=4.50 +SoilPhi=17.50 +SoilDilatancy=0.00 +SoilCuTop=0.00 +SoilCuBottom=0.00 +SoilCuGradient=0.00 +SoilStressTableName= +SoilBondStressTableName= +SoilMatStrengthType=0 +SoilProbInputValues=0 +SoilRatioCuPc=0.22 +SoilPOP=10.00 +SoilRheologicalCoefficient=0.00 +SoilUseProbDefaults=1 +SoilStdCohesion=1.13 +SoilStdPhi=2.63 +SoilStdRatioCuPc=0.06 +SoilStdRatioCuPcPassive=0.06 +SoilStdRatioCuPcActive=0.06 +SoilStdCu=0.00 +SoilStdCuTop=0.00 +SoilStdCuGradient=0.00 +SoilStdPn=0.50 +SoilDistCohesion=3 +SoilDistPhi=3 +SoilDistStressTable=3 +SoilDistRatioCuPc=3 +SoilDistRatioCuPcPassive=3 +SoilDistRatioCuPcActive=3 +SoilDistCu=3 +SoilDistCuTop=3 +SoilDistCuGradient=3 +SoilDistPn=3 +SoilCorrelationCPhi=0.00 +SoilRatioCuPcPassive=0.22 +SoilRatioCuPcActive=0.22 +SoilCuPassiveTop=0.00 +SoilCuPassiveBottom=0.00 +SoilCuActiveTop=0.00 +SoilCuActiveBottom=0.00 +SoilUniformRatioCuPc=1 +SoilUniformCu=1 +SoilDesignPartialCohesion=1.25 +SoilDesignStdCohesion=-1.65 +SoilDesignPartialPhi=1.10 +SoilDesignStdPhi=-1.65 +SoilDesignPartialStressTable=1.15 +SoilDesignStdStressTable=-1.65 +SoilDesignPartialRatioCuPc=1.15 +SoilDesignStdRatioCuPc=-1.65 +SoilDesignPartialCu=1.15 +SoilDesignStdCu=-1.65 +SoilDesignPartialPOP=1.10 +SoilDesignStdPOP=-1.65 +SoilDesignPartialRRatio=1.00 +SoilDesignStdRRatio=0.00 +SoilSoilGroup=0 +SoilStdPOP=1.00 +SoilDistPOP=3 +SoilHorFluctScaleCoh=50.00 +SoilVertFluctScaleCoh=0.25 +SoilNumberOfTestsCoh=1 +SoilVarianceRatioCoh=0.75 +SoilHorFluctScalePhi=50.00 +SoilVertFluctScalePhi=0.25 +SoilNumberOfTestsPhi=1 +SoilVarianceRatioPhi=0.75 +SoilRRatio=1.0000000 +SoilDistCu=3 +SoilDistCuTop=3 +SoilDistCuGradient=3 +[END OF SOIL] +[SOIL] +LM +SoilColor=9764853 +SoilSoilType=1 +SoilUseSoilType=0 +SoilExcessPorePressure=0.00 +SoilPorePressureFactor=1.00 +SoilGamDry=18.00 +SoilGamWet=18.00 +SoilRestSlope=1 +SoilCohesion=4.60 +SoilPhi=21.90 +SoilDilatancy=0.00 +SoilCuTop=0.00 +SoilCuBottom=0.00 +SoilCuGradient=0.00 +SoilStressTableName= +SoilBondStressTableName= +SoilMatStrengthType=0 +SoilProbInputValues=0 +SoilRatioCuPc=0.22 +SoilPOP=10.00 +SoilRheologicalCoefficient=0.00 +SoilUseProbDefaults=1 +SoilStdCohesion=1.15 +SoilStdPhi=3.29 +SoilStdRatioCuPc=0.06 +SoilStdRatioCuPcPassive=0.06 +SoilStdRatioCuPcActive=0.06 +SoilStdCu=0.00 +SoilStdCuTop=0.00 +SoilStdCuGradient=0.00 +SoilStdPn=0.50 +SoilDistCohesion=3 +SoilDistPhi=3 +SoilDistStressTable=3 +SoilDistRatioCuPc=3 +SoilDistRatioCuPcPassive=3 +SoilDistRatioCuPcActive=3 +SoilDistCu=3 +SoilDistCuTop=3 +SoilDistCuGradient=3 +SoilDistPn=3 +SoilCorrelationCPhi=0.00 +SoilRatioCuPcPassive=0.22 +SoilRatioCuPcActive=0.22 +SoilCuPassiveTop=0.00 +SoilCuPassiveBottom=0.00 +SoilCuActiveTop=0.00 +SoilCuActiveBottom=0.00 +SoilUniformRatioCuPc=1 +SoilUniformCu=1 +SoilDesignPartialCohesion=1.25 +SoilDesignStdCohesion=-1.65 +SoilDesignPartialPhi=1.10 +SoilDesignStdPhi=-1.65 +SoilDesignPartialStressTable=1.15 +SoilDesignStdStressTable=-1.65 +SoilDesignPartialRatioCuPc=1.15 +SoilDesignStdRatioCuPc=-1.65 +SoilDesignPartialCu=1.15 +SoilDesignStdCu=-1.65 +SoilDesignPartialPOP=1.10 +SoilDesignStdPOP=-1.65 +SoilDesignPartialRRatio=1.00 +SoilDesignStdRRatio=0.00 +SoilSoilGroup=0 +SoilStdPOP=1.00 +SoilDistPOP=3 +SoilHorFluctScaleCoh=50.00 +SoilVertFluctScaleCoh=0.25 +SoilNumberOfTestsCoh=1 +SoilVarianceRatioCoh=0.75 +SoilHorFluctScalePhi=50.00 +SoilVertFluctScalePhi=0.25 +SoilNumberOfTestsPhi=1 +SoilVarianceRatioPhi=0.75 +SoilRRatio=1.0000000 +SoilDistCu=3 +SoilDistCuTop=3 +SoilDistCuGradient=3 +[END OF SOIL] +[END OF SOIL COLLECTION] + +[GEOMETRY DATA] +[ACCURACY] + 0.0010 +[END OF ACCURACY] + +[POINTS] + 68 - Number of geometry points - + 1 0.000 0.680 0.000 + 2 21.110 1.120 0.000 + 3 31.600 1.300 0.000 + 4 31.730 1.610 0.000 + 5 32.210 1.670 0.000 + 6 35.580 1.580 0.000 + 7 40.480 1.940 0.000 + 8 47.860 3.790 0.000 + 9 50.110 4.460 0.000 + 10 51.750 4.662 0.000 + 11 52.630 4.770 0.000 + 12 54.250 4.690 0.000 + 13 55.170 4.460 0.000 + 14 58.850 2.980 0.000 + 15 60.290 2.460 0.000 + 16 63.310 1.360 0.000 + 17 67.900 1.070 0.000 + 18 69.410 0.600 0.000 + 19 69.800 0.480 0.000 + 20 70.530 0.000 0.000 + 21 70.820 -0.190 0.000 + 22 71.550 -0.600 0.000 + 23 72.370 -1.060 0.000 + 24 72.380 -1.170 0.000 + 25 72.550 -1.460 0.000 + 26 73.860 -1.390 0.000 + 27 73.990 -1.160 0.000 + 28 74.570 -0.840 0.000 + 29 74.970 -0.600 0.000 + 30 76.170 0.110 0.000 + 31 86.660 0.270 0.000 + 32 103.280 0.220 0.000 + 33 123.950 0.120 0.000 + 34 0.000 -10.000 0.000 + 35 123.950 -10.000 0.000 + 36 0.000 -0.600 0.000 + 37 123.950 -0.600 0.000 + 38 0.000 -1.800 0.000 + 39 123.950 -1.800 0.000 + 40 0.000 -2.800 0.000 + 41 123.950 -2.800 0.000 + 42 0.000 -4.000 0.000 + 43 123.950 -4.000 0.000 + 44 0.000 -5.000 0.000 + 45 123.950 -5.000 0.000 + 46 0.000 3.500 0.000 + 47 46.703 3.500 0.000 + 48 50.110 3.000 0.000 + 49 55.170 2.000 0.000 + 50 63.310 1.260 0.000 + 51 67.900 -1.200 0.000 + 52 76.170 -1.200 0.000 + 53 123.950 -1.200 0.000 + 54 0.000 4.000 0.000 + 55 123.950 4.000 0.000 + 56 0.000 3.500 0.000 + 57 31.600 3.500 0.000 + 58 72.550 1.144 0.000 + 59 74.570 1.144 0.000 + 60 123.950 -0.339 0.000 + 61 0.000 3.500 0.000 + 62 31.600 3.500 0.000 + 63 72.550 0.208 0.000 + 64 74.970 0.208 0.000 + 65 110.875 -1.200 0.000 + 66 123.950 -1.200 0.000 + 67 37.109 -1.456 0.000 + 68 43.947 -6.785 0.000 +[END OF POINTS] + +[CURVES] + 58 - Number of curves - + 1 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 36 22 + 2 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 29 37 + 3 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 40 41 + 4 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 42 43 + 5 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 1 2 + 6 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 2 3 + 7 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 3 4 + 8 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 4 5 + 9 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 5 6 + 10 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 6 7 + 11 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 7 8 + 12 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 8 9 + 13 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 9 10 + 14 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 10 11 + 15 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 11 12 + 16 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 12 13 + 17 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 13 14 + 18 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 14 15 + 19 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 15 16 + 20 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 16 17 + 21 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 17 18 + 22 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 18 19 + 23 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 19 20 + 24 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 20 21 + 25 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 21 22 + 26 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 22 23 + 27 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 23 24 + 28 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 24 25 + 29 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 25 26 + 30 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 26 27 + 31 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 27 28 + 32 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 28 29 + 33 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 29 30 + 34 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 30 31 + 35 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 31 32 + 36 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 32 33 + 37 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 46 47 + 38 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 47 48 + 39 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 48 49 + 40 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 49 50 + 41 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 50 51 + 42 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 51 52 + 43 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 52 53 + 44 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 54 55 + 45 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 56 57 + 46 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 57 58 + 47 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 58 59 + 48 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 59 60 + 49 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 61 62 + 50 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 62 63 + 51 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 63 64 + 52 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 64 65 + 53 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 65 66 + 54 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 38 67 + 55 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 67 39 + 56 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 44 68 + 57 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 68 45 + 58 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 34 35 +[END OF CURVES] + +[BOUNDARIES] + 8 - Number of boundaries - + 0 - Boundary number + 1 - number of curves on boundary, next line(s) are curvenumbers + 58 + 1 - Boundary number + 2 - number of curves on boundary, next line(s) are curvenumbers + 56 57 + 2 - Boundary number + 1 - number of curves on boundary, next line(s) are curvenumbers + 4 + 3 - Boundary number + 1 - number of curves on boundary, next line(s) are curvenumbers + 3 + 4 - Boundary number + 2 - number of curves on boundary, next line(s) are curvenumbers + 54 55 + 5 - Boundary number + 9 - number of curves on boundary, next line(s) are curvenumbers + 1 26 27 28 29 30 31 32 2 + 6 - Boundary number + 12 - number of curves on boundary, next line(s) are curvenumbers + 1 26 27 28 29 30 31 32 33 34 + 35 36 + 7 - Boundary number + 32 - number of curves on boundary, next line(s) are curvenumbers + 5 6 7 8 9 10 11 12 13 14 + 15 16 17 18 19 20 21 22 23 24 + 25 26 27 28 29 30 31 32 33 34 + 35 36 +[END OF BOUNDARIES] + +[USE PROBABILISTIC DEFAULTS BOUNDARIES] + 8 - Number of boundaries - + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 +[END OF USE PROBABILISTIC DEFAULTS BOUNDARIES] + +[STDV BOUNDARIES] + 8 - Number of boundaries - + 0.00000000000000E+0000 + 0.00000000000000E+0000 + 0.00000000000000E+0000 + 0.00000000000000E+0000 + 0.00000000000000E+0000 + 0.00000000000000E+0000 + 0.00000000000000E+0000 + 0.00000000000000E+0000 +[END OF STDV BOUNDARIES] + +[DISTRIBUTION BOUNDARIES] + 8 - Number of boundaries - + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +[END OF DISTRIBUTION BOUNDARIES] + +[PIEZO LINES] + 4 - Number of piezometric level lines - + 1 - PlLine number + 7 - number of curves on PlLine, next line(s) are curvenumbers + 37 38 39 40 41 42 43 + 2 - PlLine number + 1 - number of curves on PlLine, next line(s) are curvenumbers + 44 + 3 - PlLine number + 4 - number of curves on PlLine, next line(s) are curvenumbers + 45 46 47 48 + 4 - PlLine number + 5 - number of curves on PlLine, next line(s) are curvenumbers + 49 50 51 52 53 +[END OF PIEZO LINES] + +[PHREATIC LINE] + 1 - Number of the piezometric level line acting as phreatic line - +[END OF PHREATIC LINE] + +[WORLD CO-ORDINATES] + 0.000 - X world 1 - + 0.000 - Y world 1 - + 0.000 - X world 2 - + 0.000 - Y world 2 - +[END OF WORLD CO-ORDINATES] + +[LAYERS] + 7 - Number of layers - + 1 - Layer number, next line is material of layer + LM + 3 - Piezometric level line at top of layer + 3 - Piezometric level line at bottom of layer + 1 - Boundarynumber at top of layer + 0 - Boundarynumber at bottom of layer + 2 - Layer number, next line is material of layer + DKN3 + 2 - Piezometric level line at top of layer + 3 - Piezometric level line at bottom of layer + 2 - Boundarynumber at top of layer + 1 - Boundarynumber at bottom of layer + 3 - Layer number, next line is material of layer + DKN3 + 99 - Piezometric level line at top of layer + 99 - Piezometric level line at bottom of layer + 3 - Boundarynumber at top of layer + 2 - Boundarynumber at bottom of layer + 4 - Layer number, next line is material of layer + OA + 4 - Piezometric level line at top of layer + 4 - Piezometric level line at bottom of layer + 4 - Boundarynumber at top of layer + 3 - Boundarynumber at bottom of layer + 5 - Layer number, next line is material of layer + DKN4 + 1 - Piezometric level line at top of layer + 99 - Piezometric level line at bottom of layer + 5 - Boundarynumber at top of layer + 4 - Boundarynumber at bottom of layer + 6 - Layer number, next line is material of layer + DKN5 + 1 - Piezometric level line at top of layer + 99 - Piezometric level line at bottom of layer + 6 - Boundarynumber at top of layer + 5 - Boundarynumber at bottom of layer + 7 - Layer number, next line is material of layer + DKN5 + 1 - Piezometric level line at top of layer + 99 - Piezometric level line at bottom of layer + 7 - Boundarynumber at top of layer + 6 - Boundarynumber at bottom of layer +[END OF LAYERS] + +[LAYERLOADS] + - Layers which are loads - + +[END OF LAYERLOADS] + +[END OF GEOMETRY DATA] +[RUN IDENTIFICATION TITLES] + + + +[MODEL] + 1 : Bishop + 1 : C phi + 1 : Probabilistic on + 1 : Mean + 0 : Geotextiles off + 0 : Nails off + 0 : Zone plot off + 0 : Local measurements +[END OF MODEL] +[MSEEPNET] + Use potential file + 0 : Do not use water net of MSeep file + 0 : Do not make negative pressures 0 +[UNIT WEIGHT WATER] + 9.81 : Unit weight water +[DEGREE OF CONSOLIDATION] + 7 Number of layers + 7 100 + 6 100 100 + 5 100 100 100 + 4 100 100 100 100 + 3 100 100 100 100 100 + 2 100 100 100 100 100 100 + 1 100 100 100 100 100 100 100 + 0 capillary water not included +[degree Temporary loads] + 100 100 100 100 100 100 100 + 0 capillary water not included +[degree Free water(Cu)] + 100 100 100 100 100 100 100 +[degree earth quake] + 100 100 100 100 100 100 100 +[CIRCLES] + 54.250 59.250 6 X-direction + 5.270 17.730 13 Y-direction + -1.460 -7.690 13 Tangent lines + 0.000 0.000 0 no fixed point used +[SPENCER SLIP DATA] + 0 Number of points +[SPENCER SLIP DATA 2] + 0 Number of points +[SPENCER SLIP INTERVAL] + 2 : Slip spencer interval +[LINE LOADS] + 0 = number of items +[UNIFORM LOADS ] + 1 = number of items +Verkeersbelasting + 13.00 = magnitude + 51.75 54.25 = xstart and xend + 0.00 = distribution angle + 1 = permanent load +[TREE ON SLOPE] +0.00 = WindForce +0.00 = XCoordinate +0.00 = YCoordinate +10.00 = width of root zone +0.0 = AngleOfDistribution +[END OF TREE ON SLOPE] +[EARTH QUAKE] + 0.000 = horizontal acceleration + 0.000 = vertical acceleration + 0.000 = free water moment factor +[SIGMA-TAU CURVES] + 0 = number of items +[END OF SIGMA-TAU CURVES] +[BOND STRESS DIAGRAMS] + 0 = number of items +[END OF BOND STRESS DIAGRAMS] +[MINIMAL REQUIRED CIRCLE DEPTH] + 0.00 [m] +[START VALUE SAFETY FACTOR] + 1.000 [-] +[REFERENCE LEVEL CU] + 7 +[LIFT SLIP DATA] + 0.000 0.000 1 X-direction Left + 0.000 0.000 1 Y-direction Left + 0.000 0.000 1 X-direction Right + 0.000 0.000 1 Y-direction Right + 0.000 0.000 1 Y-direction tangent lines + 0 Automatic grid calculation (1) +[EXTERNAL WATER LEVELS] + 0 = No water data used + 0.00 = Design level + 0.30 = Decimate height + 1 norm = 1/10000 + 1 = number of items +Water data (1) + 1 = Phreatic line + 0.00 = Level + Piezo lines + 7 - Number of layers + 3 3 = Pl-top and pl-bottom + 2 3 = Pl-top and pl-bottom + 99 99 = Pl-top and pl-bottom + 4 4 = Pl-top and pl-bottom + 1 99 = Pl-top and pl-bottom + 1 99 = Pl-top and pl-bottom + 1 99 = Pl-top and pl-bottom +[MODEL FACTOR] + 1.00 = Limit value stability factor + 0.08 = Standard deviation for limit value stability factor + 0.00 = Reference standard deviation for degree of consolidation + 100.00 = Length of the section + 0 = Use contribution of end section + 0.00 = Lateral stress ratio + 0.25 = Coefficient of variation contribution edge of section +[CALCULATION OPTIONS] +MoveCalculationGrid=1 +ProbCalculationType=2 +SearchMethod=0 +[END OF CALCULATION OPTIONS] +[PROBABILISTIC DEFAULTS] +CohesionVariationTotal=0.25 +CohesionDesignPartial=1.25 +CohesionDesignStdDev=-1.65 +CohesionDistribution=3 +PhiVariationTotal=0.15 +PhiDesignPartial=1.10 +PhiDesignStdDev=-1.65 +PhiDistribution=3 +StressTableVariationTotal=0.20 +StressTableDesignPartial=1.15 +StressTableDesignStdDev=-1.65 +StressTableDistribution=3 +RatioCuPcVariationTotal=0.25 +RatioCuPcDesignPartial=1.15 +RatioCuPcDesignStdDev=-1.65 +RatioCuPcDistribution=3 +CuVariationTotal=0.25 +CuDesignPartial=1.15 +CuDesignStdDev=-1.65 +CuDistribution=3 +POPVariationTotal=0.10 +POPDesignPartial=1.10 +POPDesignStdDev=-1.65 +POPDistribution=3 +CompressionRatioVariationTotal=0.25 +CompressionRatioDesignPartial=1.00 +CompressionRatioDesignStdDev=0.00 +CompressionRatioDistribution=3 +ConsolidationCoefTotalStdDev=20.00 +ConsolidationCoefDesignPartial=1.00 +ConsolidationCoefDesignStdDev=1.65 +ConsolidationCoefDistribution=2 +HydraulicPressureTotalStdDev=0.50 +HydraulicPressureDesignPartial=1.00 +HydraulicPressureDesignStdDev=1.65 +HydraulicPressureDistribution=3 +LimitValueBishopMean=1.00 +LimitValueBishopStdDev=0.08 +LimitValueBishopDistribution=3 +LimitValueVanMean=0.95 +LimitValueVanStdDev=0.08 +LimitValueVanDistribution=3 +[END OF PROBABILISTIC DEFAULTS] +[NEWZONE PLOT DATA] + 0.00 = Diketable Height [m] + 0.00 = X co-ordinate indicating start of zone [m] + 117.93 = Boundary of M.H.W influence at X [m] + 4.76 = Boundary of M.H.W influence at Y [m] + 0.00 = Required safety in zone 1a + 0.00 = Required safety in zone 1b + 1.05 = Required safety in zone 2a + 1.03 = Required safety in zone 2b + 0.01 = Left side minimum road [m] + 0.01 = Right side minimum road [m] + 0.90 = Required safety in zone 3a + 0.90 = Required safety in zone 3b + 1 Stability calculation at right side + 0.50 = Remolding reduction factor + 0.80 = Schematization reduction factor + 1 Overtopping condition less or equal 0.1 l/m/s +[HORIZONTAL BALANCE] +HorizontalBalanceXLeft=0.000 +HorizontalBalanceXRight=0.000 +HorizontalBalanceYTop=0.00 +HorizontalBalanceYBottom=0.00 +HorizontalBalanceNYInterval=1 +[END OF HORIZONTAL BALANCE] +[REQUESTED CIRCLE SLICES] + 30 = number of slices +[REQUESTED LIFT SLICES] + 50 = number of slices +[REQUESTED SPENCER SLICES] + 50 = number of slices +[SOIL RESISTANCE] +SoilResistanceDowelAction=1 +SoilResistancePullOut=1 +[END OF SOIL RESISTANCE] +[GENETIC ALGORITHM OPTIONS BISHOP] +PopulationCount=30 +GenerationCount=30 +EliteCount=2 +MutationRate=0.20 +CrossOverScatterFraction=1.00 +CrossOverSinglePointFraction=0.00 +CrossOverDoublePointFraction=0.00 +MutationJumpFraction=1.00 +MutationCreepFraction=0.00 +MutationInverseFraction=0.00 +MutationCreepReduction=0.05 +[END OF GENETIC ALGORITHM OPTIONS BISHOP] +[GENETIC ALGORITHM OPTIONS LIFTVAN] +PopulationCount=30 +GenerationCount=60 +EliteCount=2 +MutationRate=0.20 +CrossOverScatterFraction=1.00 +CrossOverSinglePointFraction=0.00 +CrossOverDoublePointFraction=0.00 +MutationJumpFraction=1.00 +MutationCreepFraction=0.00 +MutationInverseFraction=0.00 +MutationCreepReduction=0.05 +[END OF GENETIC ALGORITHM OPTIONS LIFTVAN] +[GENETIC ALGORITHM OPTIONS SPENCER] +PopulationCount=50 +GenerationCount=50 +EliteCount=2 +MutationRate=0.30 +CrossOverScatterFraction=1.00 +CrossOverSinglePointFraction=0.00 +CrossOverDoublePointFraction=0.00 +MutationJumpFraction=1.00 +MutationCreepFraction=0.00 +MutationInverseFraction=0.00 +MutationCreepReduction=0.05 +[END OF GENETIC ALGORITHM OPTIONS SPENCER] +[MODEL SPECIAL] +IsAlternativeStrength=0 +[END OF MODEL SPECIAL] +[NAIL TYPE DEFAULTS] +NailTypeLengthNail=0.00 +NailTypeDiameterNail=0.00 +NailTypeDiameterGrout=0.00 +NailTypeYieldForceNail=0.00 +NailTypePlasticMomentNail=0.00 +NailTypeBendingStiffnessNail=0.00E+00 +NailTypeUseFacingOrBearingPlate=0 +[END OF NAIL TYPE DEFAULTS] +[END OF INPUT FILE] Index: DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs =================================================================== diff -u -r929 -r992 --- DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs (.../DamInput.cs) (revision 929) +++ DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs (.../DamInput.cs) (revision 992) @@ -53,8 +53,10 @@ private bool analysisTypeFieldSpecified; - private string projectWorkingPathField; + private string projectPathField; + private string calculationMapField; + /// [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)] public Location[] Locations { @@ -221,14 +223,25 @@ /// [System.Xml.Serialization.XmlAttributeAttribute()] - public string ProjectWorkingPath { + public string ProjectPath { get { - return this.projectWorkingPathField; + return this.projectPathField; } set { - this.projectWorkingPathField = value; + this.projectPathField = value; } } + + /// + [System.Xml.Serialization.XmlAttributeAttribute()] + public string CalculationMap { + get { + return this.calculationMapField; + } + set { + this.calculationMapField = value; + } + } } /// Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/TestFiles/PipingVoorbeeld1_BlighDesignInputFile.xml =================================================================== diff -u -r981 -r992 --- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/TestFiles/PipingVoorbeeld1_BlighDesignInputFile.xml (.../PipingVoorbeeld1_BlighDesignInputFile.xml) (revision 981) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/TestFiles/PipingVoorbeeld1_BlighDesignInputFile.xml (.../PipingVoorbeeld1_BlighDesignInputFile.xml) (revision 992) @@ -1,5 +1,5 @@ - + Index: DamEngine/trunk/xsd/DamInput.xsd =================================================================== diff -u -r972 -r992 --- DamEngine/trunk/xsd/DamInput.xsd (.../DamInput.xsd) (revision 972) +++ DamEngine/trunk/xsd/DamInput.xsd (.../DamInput.xsd) (revision 992) @@ -100,7 +100,8 @@ - + + \ No newline at end of file Index: DamEngine/trunk/src/Deltares.DamEngine.Data/General/DamProjectData.cs =================================================================== diff -u -r962 -r992 --- DamEngine/trunk/src/Deltares.DamEngine.Data/General/DamProjectData.cs (.../DamProjectData.cs) (revision 962) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/General/DamProjectData.cs (.../DamProjectData.cs) (revision 992) @@ -56,6 +56,8 @@ /// public List CalculationMessages { get; set; } = null; private SensorData sensorData; + private string calculationMap = ""; + private string projectPath = ""; /// /// Constructor @@ -68,8 +70,6 @@ segments = new List(); } - public static string ProjectMap = ""; - // TODO: FM this is failure mechanism specific code and should be moved to ..\KernelWrappers public static string MStabExePath { @@ -425,9 +425,32 @@ get { return programType; } } - public string ProjectWorkingPath { get; set; } = ""; + /// + /// Gets or sets the project path. + /// + /// + /// The project path. + /// + public string ProjectPath + { + get { return projectPath; } + set { projectPath = value ?? ""; } + } /// + /// Gets or sets the calculation map. + /// This does not include a full path but can include a relative path + /// + /// + /// The calculation map. + /// + public string CalculationMap + { + get { return calculationMap; } + set { calculationMap = value?? ""; } + } + + /// /// Gets or sets the sensor data. /// /// Index: DamEngine/trunk/src/Deltares.DamEngine.Data/General/StabilityOptions.cs =================================================================== diff -u -r929 -r992 --- DamEngine/trunk/src/Deltares.DamEngine.Data/General/StabilityOptions.cs (.../StabilityOptions.cs) (revision 929) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/General/StabilityOptions.cs (.../StabilityOptions.cs) (revision 992) @@ -40,7 +40,7 @@ /// /// The map for soilgeometries2d. /// - public string MapForSoilGeometries2D { get; set; } = ""; + public string SoilGeometries2DPath { get; set; } = ""; /// /// Gets or sets the name of the soil database. Index: DamEngine/trunk/src/Deltares.DamEngine.Data/General/Dike.cs =================================================================== diff -u -r916 -r992 --- DamEngine/trunk/src/Deltares.DamEngine.Data/General/Dike.cs (.../Dike.cs) (revision 916) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/General/Dike.cs (.../Dike.cs) (revision 992) @@ -400,7 +400,7 @@ location.SoilList = this.SoilList; if (location.StabilityOptions != null) { - location.StabilityOptions.MapForSoilGeometries2D = this.MapForSoilGeometries2D; + location.StabilityOptions.SoilGeometries2DPath = this.MapForSoilGeometries2D; } location.Gauges.Clear(); Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs =================================================================== diff -u -r986 -r992 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs (.../DamMacroStabilityInwardsKernelWrapper.cs) (revision 986) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs (.../DamMacroStabilityInwardsKernelWrapper.cs) (revision 992) @@ -28,10 +28,8 @@ using Deltares.DamEngine.Calculators.KernelWrappers.DamMacroStabilityCommon; using Deltares.DamEngine.Calculators.KernelWrappers.Interfaces; using Deltares.DamEngine.Calculators.Properties; -using Deltares.DamEngine.Data.Design; using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.General.Results; -using Deltares.DamEngine.Data.Geotechnics; using Deltares.DamEngine.Data.Standard.Calculation; using Deltares.DamEngine.Data.Standard.Logging; using Deltares.DamMacroStability.Calculator; @@ -91,7 +89,7 @@ if (damKernelInput.SubSoilScenario.SoilProfileType == SoilProfileType.ProfileTypeStiFile) { damKernelInput.SubSoilScenario.StiFileName = - Path.Combine(damKernelInput.Location.StabilityOptions.MapForSoilGeometries2D, + Path.Combine(damKernelInput.Location.StabilityOptions.SoilGeometries2DPath, damKernelInput.SubSoilScenario.StiFileName); } Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs =================================================================== diff -u -r929 -r992 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 929) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 992) @@ -21,6 +21,7 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using Deltares.DamEngine.Data.Design; using Deltares.DamEngine.Data.General; @@ -56,7 +57,8 @@ Dike dike = damProjectData.Dike; - damProjectData.ProjectWorkingPath = input.ProjectWorkingPath; + damProjectData.ProjectPath = input.ProjectPath; + damProjectData.CalculationMap = input.CalculationMap; TransferAnalysisSpecification(input, damProjectData); TransferStabilityParameters(input, damProjectData); @@ -67,7 +69,7 @@ TransferSoilProfiles1D(input.SoilProfiles1D, dike.SoilProfiles, dike.SoilList); TransferSoilProfiles2D(input.SoilProfiles2D, dike.SoilProfiles2D, dike.SoilList); TransferSegments(input.Segments, damProjectData.Segments); - TransferLocations(input.Locations, dike.Locations, dike.SurfaceLines2, damProjectData.Segments); + TransferLocations(input.ProjectPath ,input.Locations, dike.Locations, dike.SurfaceLines2, damProjectData.Segments); PostProcess(damProjectData); return damProjectData; @@ -324,7 +326,8 @@ surfaceLine.Geometry.SyncCalcPoints(); } - private static void TransferLocations(Io.XmlInput.Location[] inputLocations, IList dikeLocations, IList dikeSurfaceLines, IList segments) + private static void TransferLocations(string projectPath, Io.XmlInput.Location[] inputLocations, + IList dikeLocations, IList dikeSurfaceLines, IList segments) { for (int i = 0; i < inputLocations.Length; i++) { @@ -425,9 +428,10 @@ location.DikeEmbankmentMaterial = inputLocation.DikeEmbankmentMaterial; if (inputLocation.StabilityOptions != null) { + var tmpPath = projectPath ?? Directory.GetCurrentDirectory(); location.StabilityOptions = new StabilityOptions { - MapForSoilGeometries2D = inputLocation.StabilityOptions.MapForSoilgeometries2D, + SoilGeometries2DPath = Path.Combine(tmpPath, inputLocation.StabilityOptions.MapForSoilgeometries2D), SoilDatabaseName = inputLocation.StabilityOptions.SoilDatabaseName, StabilityZoneType = ConversionHelper.ConvertToZoneType(inputLocation.StabilityOptions.ZoneType) }; Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/MacroStabilityTests.cs =================================================================== diff -u -r950 -r992 --- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/MacroStabilityTests.cs (.../MacroStabilityTests.cs) (revision 950) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/MacroStabilityTests.cs (.../MacroStabilityTests.cs) (revision 992) @@ -43,15 +43,15 @@ { // Expected results are determined by running dam\dam clients\DamUI\trunk\data\DamEngineTestProjects\DAM Tutorial Design // with Dam Classic rev.833 - const string outDir = "TestOutStabBishop"; - if (Directory.Exists(outDir)) + const string calcDir = "TestOutStabBishop"; + if (Directory.Exists(calcDir)) { - Directory.Delete(outDir, true); // delete previous results + Directory.Delete(calcDir, true); // delete previous results } - var workingDir = Path.Combine(Directory.GetCurrentDirectory(), outDir); const string fileName = @"TestFiles\MacroStabilityTutorialDesignInputFile.xml"; string inputString = File.ReadAllText(fileName); - inputString = ChangeValueInXml(inputString, "ProjectWorkingPath", workingDir); + inputString = ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used + inputString = ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used inputString = ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DAM Tutorial Design.geometries2D.0\"); inputString = ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb"); EngineInterface engineInterface = new EngineInterface(inputString); @@ -69,16 +69,16 @@ { // Expected results are determined by running dam\dam clients\DamUI\trunk\data\DamEngineTestProjects\DAM Tutorial Design // with Dam Classic rev.833 - const string outDir = "TestOutStabUpliftVan"; - if (Directory.Exists(outDir)) + const string calcDir = "TestOutStabUpliftVan"; + if (Directory.Exists(calcDir)) { - Directory.Delete(outDir, true); // delete previous results + Directory.Delete(calcDir, true); // delete previous results } - var workingDir = Path.Combine(Directory.GetCurrentDirectory(), outDir); const string fileName = @"TestFiles\MacroStabilityTutorialDesignInputFile.xml"; string inputString = File.ReadAllText(fileName); inputString = ChangeInputModel(inputString, InputStabilityModelType.UpliftVan); - inputString = ChangeValueInXml(inputString, "ProjectWorkingPath", workingDir); + inputString = ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used + inputString = ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used inputString = ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DAM Tutorial Design.geometries2D.0\"); inputString = ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb"); EngineInterface engineInterface = new EngineInterface(inputString); @@ -96,16 +96,16 @@ { // Expected results are determined by running dam\dam clients\DamUI\trunk\data\DamEngineTestProjects\DAM Tutorial Design // with Dam Classic rev.833 - const string outDir = "TestOutStabBishopUpliftVan"; - if (Directory.Exists(outDir)) + const string calcDir = "TestOutStabBishopUpliftVan"; + if (Directory.Exists(calcDir)) { - Directory.Delete(outDir, true); // delete previous results + Directory.Delete(calcDir, true); // delete previous results } - var workingDir = Path.Combine(Directory.GetCurrentDirectory(), outDir); const string fileName = @"TestFiles\MacroStabilityTutorialDesignInputFile.xml"; string inputString = File.ReadAllText(fileName); inputString = ChangeInputModel(inputString, InputStabilityModelType.BishopUpliftVan); - inputString = ChangeValueInXml(inputString, "ProjectWorkingPath", workingDir); + inputString = ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used + inputString = ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used inputString = ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DAM Tutorial Design.geometries2D.0\"); inputString = ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb"); EngineInterface engineInterface = new EngineInterface(inputString); Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs =================================================================== diff -u -r990 -r992 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 990) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 992) @@ -21,6 +21,7 @@ using System; using System.Collections.Generic; +using System.IO; using System.Text; using Deltares.DamEngine.Calculators.KernelWrappers.Common; using Deltares.DamEngine.Calculators.KernelWrappers.Interfaces; @@ -63,7 +64,8 @@ // Prepare input var damKernelInput = new DamKernelInput(); - damKernelInput.WorkingDir = damProjectData.ProjectWorkingPath; + var projectPath = damProjectData.ProjectPath != "" ? damProjectData.ProjectPath : Directory.GetCurrentDirectory(); + damKernelInput.WorkingDir = Path.Combine(projectPath, damProjectData.CalculationMap); damKernelInput.Location = location; damKernelInput.SubSoilScenario = soiProfileProbability; damKernelInput.DesignScenario = location.Scenarios[designScenarioIndex]; Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillDamFromXmlInputTests.cs =================================================================== diff -u -r929 -r992 --- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillDamFromXmlInputTests.cs (.../FillDamFromXmlInputTests.cs) (revision 929) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillDamFromXmlInputTests.cs (.../FillDamFromXmlInputTests.cs) (revision 992) @@ -21,6 +21,7 @@ using System; using System.Collections.Generic; +using System.IO; using Deltares.DamEngine.Data.Design; using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.Geometry; @@ -93,7 +94,8 @@ private DamProjectData CreateExampleDamProjectData() { var damProjectData = new DamProjectData(); - damProjectData.ProjectWorkingPath = @"D:\TestDir"; + damProjectData.ProjectPath = @"D:\TestDir"; + damProjectData.CalculationMap = @"Sub\Calc"; FillAnalysisSpecification(damProjectData); FillStabilityParameters(damProjectData); @@ -105,7 +107,7 @@ FillSoilProfiles1D(dike); FillSoilProfiles2D(dike); FillSegments(damProjectData); - FillLocations(dike, damProjectData.Segments); + FillLocations(dike, damProjectData.Segments, damProjectData.ProjectPath); return damProjectData; } @@ -230,7 +232,7 @@ AddPointToSurfaceLine(surfaceLine, 24.0, 1.0, CharacteristicPointType.SurfaceLevelInside); } - private static void FillLocations(Dike dike, IList segments) + private static void FillLocations(Dike dike, IList segments, string projectPath) { const int locationCount = 3; for (int i = 0; i < locationCount; i++) @@ -269,7 +271,7 @@ location.DikeEmbankmentMaterial = "DikeMat"; location.StabilityOptions = new StabilityOptions { - MapForSoilGeometries2D = "TestMap", + SoilGeometries2DPath = Path.Combine(projectPath, @"Sub\TestMap"), StabilityZoneType = MStabZonesType.NoZones, ForbiddenZoneFactor = 1.23, ZoneAreaRestSlopeCrestWidth = 8.23, Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/TestFiles/MacroStabilityTutorialDesignInputFile.xml =================================================================== diff -u -r929 -r992 --- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/TestFiles/MacroStabilityTutorialDesignInputFile.xml (.../MacroStabilityTutorialDesignInputFile.xml) (revision 929) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/TestFiles/MacroStabilityTutorialDesignInputFile.xml (.../MacroStabilityTutorialDesignInputFile.xml) (revision 992) @@ -1,5 +1,5 @@  - +