Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/DamMacroStabilityInput.cs =================================================================== diff -u -r543 -r583 --- dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/DamMacroStabilityInput.cs (.../DamMacroStabilityInput.cs) (revision 543) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/DamMacroStabilityInput.cs (.../DamMacroStabilityInput.cs) (revision 583) @@ -4,5 +4,7 @@ { public class DamMacroStabilityInput : IKernelDataInput { + public string DGeoStabilityInputFileName { get; set; } + public string DGeoStabilityExePath { get; set; } } } Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/DGSStandardDLLInterface.cs =================================================================== diff -u --- dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/DGSStandardDLLInterface.cs (revision 0) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/DGSStandardDLLInterface.cs (revision 583) @@ -0,0 +1,132 @@ +// Copyright (C) Stichting Deltares 2017. All rights reserved. +// +// This file is part of the Delta Shell Light Library. +// +// The Delta Shell Light Library is free software: you can redistribute it and/or modify +// it under the terms of the GNU 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 General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System.Runtime.InteropServices; + +namespace Deltares.DamEngine.Calculators.KernelWrappers.DamMacroStability + +{ + /// + /// Structure for dll information + /// + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct DllVersionInfoStructure + { + /// + /// Size of the structure, in bytes + /// + public uint CbSize; + + /// + /// Major version of the DLL + /// + public uint DwMajorVersion; + + /// + /// Minor version of the DLL + /// + public uint DwMinorVersion; + + /// + /// Build number of the DLL + /// + public uint DwBuildNumber; + + /// + /// Identifies the platform for which the DLL was built + /// + public uint DwPlatformID; + } + + /// + /// The standard DLL interface for DGS. + /// + public class DgsStandardDllInterface + { + /// + /// No Licence error + /// + public const int DllUErrorNoLicense = 1; + + /// + /// User has aborted error + /// + public const int DllErrorUserAborted = 2; + + /// + /// Non compliant xml error + /// + public const int DllErrorNonCompliantXml = 3; + + /// + /// Invalid input data error + /// + public const int DllErrorInvalidInputData = 4; + + /// + /// Handled fatal error + /// + public const int DllErrorHandledFatal = 5; + + /// + /// Unhandled fatal error + /// + public const int DllErrorUnhandledFatal = 6; + + /// + /// Invalid handle for dll error + /// + public const int DllErrorInvalidHandle = 7; + + /// + /// Output buffer too small error + /// + public const int DllErrorOutputBufferTooSmall = 8; + + /// + /// Error constants + /// + public static int DllErrorNone = 0; + + /// + /// Used to hold the last error encountered + /// + public static int DllErrorLastErrorCode = 0; + + /// + /// Example! (remove this wrapper if not needed) + /// + /// + public string GetDllVersion() + { + return "To be implemented"; + } + + /// + /// List of errormessages + /// + /// + public string ErrorMessage() + { + return "To be implemented"; + } + } +} \ No newline at end of file Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/MacroStabilityException.cs =================================================================== diff -u --- dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/MacroStabilityException.cs (revision 0) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/MacroStabilityException.cs (revision 583) @@ -0,0 +1,21 @@ +using System; +using System.Runtime.Serialization; + +namespace Deltares.DamEngine.Calculators.KernelWrappers.DamMacroStability +{ + public class MacroStabilityException : Exception + { + public MacroStabilityException() { } + + public MacroStabilityException(string message) + : base(message) { } + + public MacroStabilityException(string message, Exception inner) + : base(message, inner) { } + + protected MacroStabilityException( + SerializationInfo info, + StreamingContext context) + : base(info, context) { } + } +} \ No newline at end of file Index: dam engine/trunk/src/Deltares.DamEngine.Calculators.Tests/Files/MacroStability/expectedTest.sti =================================================================== diff -u --- dam engine/trunk/src/Deltares.DamEngine.Calculators.Tests/Files/MacroStability/expectedTest.sti (revision 0) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators.Tests/Files/MacroStability/expectedTest.sti (revision 583) @@ -0,0 +1,1417 @@ +Input file for DGSMstabDAM : Stability of earth slopes. +============================================================================== +COMPANY : +LICENSE : Unknown +DATE : 11-10-2017 +TIME : 14:53:48 +FILENAME : D:\src\dam\dam classic\trunk\data\Dam\Benchmarks\KernelComparison\Dam Tutorial Design\DAM Tutorial Design.Calc\Stability\Bishop\Loc(DWP_1)_Sce(1)_Pro(DWP_1_sti).sti +CREATED BY : DGeoStability version 15.1.2.4 +========================== BEGINNING OF DATA ========================== +[VERSION] +Soil=1001 +Geometry=1000 +StressCurve=1000 +BondStressDiagram=1000 +D-Geo Stability=1004 +[END OF VERSION] + +[SOIL COLLECTION] + 6 = number of items +[SOIL] +wl_zand +SoilColor=12171263 +SoilSoilType=1 +SoilUseSoilType=0 +SoilExcessPorePressure=0.00 +SoilPorePressureFactor=1.00 +SoilGamDry=18.00 +SoilGamWet=20.00 +SoilRestSlope=0 +SoilCohesion=0.00 +SoilPhi=30.00 +SoilDilatancy=0.00 +SoilCuTop=0.00 +SoilCuBottom=0.00 +SoilCuGradient=0.00 +SoilStressTableName= +SoilBondStressTableName= +SoilMatStrengthType=0 +SoilProbInputValues=0 +SoilRatioCuPc=0.22 +SoilPc=0.00E+00 +StrengthIncreaseExponent=0.70 +SoilPOP=10.00 +SoilRheologicalCoefficient=0.00 +xCoorSoilPc=-100.000 +yCoorSoilPc=-100.000 +IsPopCalculated=0 +IsOCRCalculated=0 +SoilIsAquifer=1 +SoilUseProbDefaults=1 +SoilStdCohesion=0.00 +SoilStdPhi=0.00 +SoilStdRatioCuPc=0.00 +SoilStdRatioCuPcPassive=0.00 +SoilStdRatioCuPcActive=0.00 +SoilStdCu=0.00 +SoilStdCuTop=0.00 +SoilStdCuGradient=0.00 +SoilStdPn=0.20 +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.00 +SoilRatioCuPcActive=0.00 +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=0.00 +SoilDistPOP=2 +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] +veen +SoilColor=10944420 +SoilSoilType=4 +SoilUseSoilType=0 +SoilExcessPorePressure=0.00 +SoilPorePressureFactor=1.00 +SoilGamDry=11.00 +SoilGamWet=11.00 +SoilRestSlope=0 +SoilCohesion=2.00 +SoilPhi=20.50 +SoilDilatancy=0.00 +SoilCuTop=0.00 +SoilCuBottom=0.00 +SoilCuGradient=0.00 +SoilStressTableName= +SoilBondStressTableName= +SoilMatStrengthType=0 +SoilProbInputValues=0 +SoilRatioCuPc=0.22 +SoilPc=0.00E+00 +StrengthIncreaseExponent=0.70 +SoilPOP=10.00 +SoilRheologicalCoefficient=0.00 +xCoorSoilPc=-100.000 +yCoorSoilPc=-100.000 +IsPopCalculated=0 +IsOCRCalculated=0 +SoilIsAquifer=0 +SoilUseProbDefaults=1 +SoilStdCohesion=0.00 +SoilStdPhi=0.00 +SoilStdRatioCuPc=0.00 +SoilStdRatioCuPcPassive=0.00 +SoilStdRatioCuPcActive=0.00 +SoilStdCu=0.00 +SoilStdCuTop=0.00 +SoilStdCuGradient=0.00 +SoilStdPn=0.20 +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.00 +SoilRatioCuPcActive=0.00 +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=0.00 +SoilDistPOP=2 +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] +klei +SoilColor=16777215 +SoilSoilType=3 +SoilUseSoilType=0 +SoilExcessPorePressure=0.00 +SoilPorePressureFactor=1.00 +SoilGamDry=17.50 +SoilGamWet=17.50 +SoilRestSlope=0 +SoilCohesion=3.50 +SoilPhi=18.50 +SoilDilatancy=0.00 +SoilCuTop=0.00 +SoilCuBottom=0.00 +SoilCuGradient=0.00 +SoilStressTableName= +SoilBondStressTableName= +SoilMatStrengthType=0 +SoilProbInputValues=0 +SoilRatioCuPc=0.22 +SoilPc=0.00E+00 +StrengthIncreaseExponent=0.70 +SoilPOP=10.00 +SoilRheologicalCoefficient=0.00 +xCoorSoilPc=-100.000 +yCoorSoilPc=-100.000 +IsPopCalculated=0 +IsOCRCalculated=0 +SoilIsAquifer=0 +SoilUseProbDefaults=1 +SoilStdCohesion=0.00 +SoilStdPhi=0.00 +SoilStdRatioCuPc=0.00 +SoilStdRatioCuPcPassive=0.00 +SoilStdRatioCuPcActive=0.00 +SoilStdCu=0.00 +SoilStdCuTop=0.00 +SoilStdCuGradient=0.00 +SoilStdPn=0.20 +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.00 +SoilRatioCuPcActive=0.00 +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=0.00 +SoilDistPOP=2 +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] +klei antropogeen +SoilColor=7648893 +SoilSoilType=3 +SoilUseSoilType=0 +SoilExcessPorePressure=0.00 +SoilPorePressureFactor=1.00 +SoilGamDry=17.90 +SoilGamWet=18.30 +SoilRestSlope=0 +SoilCohesion=5.00 +SoilPhi=23.80 +SoilDilatancy=0.00 +SoilCuTop=0.00 +SoilCuBottom=0.00 +SoilCuGradient=0.00 +SoilStressTableName= +SoilBondStressTableName= +SoilMatStrengthType=0 +SoilProbInputValues=0 +SoilRatioCuPc=0.22 +SoilPc=0.00E+00 +StrengthIncreaseExponent=0.70 +SoilPOP=10.00 +SoilRheologicalCoefficient=0.00 +xCoorSoilPc=-100.000 +yCoorSoilPc=-100.000 +IsPopCalculated=0 +IsOCRCalculated=0 +SoilIsAquifer=0 +SoilUseProbDefaults=1 +SoilStdCohesion=0.00 +SoilStdPhi=0.01 +SoilStdRatioCuPc=0.00 +SoilStdRatioCuPcPassive=0.00 +SoilStdRatioCuPcActive=0.00 +SoilStdCu=0.00 +SoilStdCuTop=0.00 +SoilStdCuGradient=0.00 +SoilStdPn=0.00 +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.00 +SoilRatioCuPcActive=0.00 +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=0.00 +SoilDistPOP=2 +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] +zand antropogeen +SoilColor=5953498 +SoilSoilType=1 +SoilUseSoilType=0 +SoilExcessPorePressure=0.00 +SoilPorePressureFactor=1.00 +SoilGamDry=17.50 +SoilGamWet=19.50 +SoilRestSlope=0 +SoilCohesion=0.00 +SoilPhi=27.00 +SoilDilatancy=0.00 +SoilCuTop=0.00 +SoilCuBottom=0.00 +SoilCuGradient=0.00 +SoilStressTableName= +SoilBondStressTableName= +SoilMatStrengthType=0 +SoilProbInputValues=0 +SoilRatioCuPc=0.22 +SoilPc=0.00E+00 +StrengthIncreaseExponent=0.70 +SoilPOP=10.00 +SoilRheologicalCoefficient=0.00 +xCoorSoilPc=-100.000 +yCoorSoilPc=-100.000 +IsPopCalculated=0 +IsOCRCalculated=0 +SoilIsAquifer=0 +SoilUseProbDefaults=1 +SoilStdCohesion=0.00 +SoilStdPhi=0.01 +SoilStdRatioCuPc=0.00 +SoilStdRatioCuPcPassive=0.00 +SoilStdRatioCuPcActive=0.00 +SoilStdCu=0.00 +SoilStdCuTop=0.00 +SoilStdCuGradient=0.00 +SoilStdPn=0.00 +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.00 +SoilRatioCuPcActive=0.00 +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=0.00 +SoilDistPOP=2 +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] +dijksmateriaal_klei +SoilColor=10944420 +SoilSoilType=2 +SoilUseSoilType=0 +SoilExcessPorePressure=0.00 +SoilPorePressureFactor=1.00 +SoilGamDry=16.00 +SoilGamWet=16.00 +SoilRestSlope=0 +SoilCohesion=5.00 +SoilPhi=21.00 +SoilDilatancy=0.00 +SoilCuTop=0.00 +SoilCuBottom=0.00 +SoilCuGradient=0.00 +SoilStressTableName= +SoilBondStressTableName= +SoilMatStrengthType=0 +SoilProbInputValues=0 +SoilRatioCuPc=0.22 +SoilPc=0.00E+00 +StrengthIncreaseExponent=0.70 +SoilPOP=10.00 +SoilRheologicalCoefficient=0.00 +xCoorSoilPc=-100.000 +yCoorSoilPc=-100.000 +IsPopCalculated=0 +IsOCRCalculated=0 +SoilIsAquifer=0 +SoilUseProbDefaults=1 +SoilStdCohesion=0.00 +SoilStdPhi=0.01 +SoilStdRatioCuPc=0.00 +SoilStdRatioCuPcPassive=0.00 +SoilStdRatioCuPcActive=0.00 +SoilStdCu=0.00 +SoilStdCuTop=0.00 +SoilStdCuGradient=0.00 +SoilStdPn=0.00 +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.00 +SoilRatioCuPcActive=0.00 +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=0.00 +SoilDistPOP=2 +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] + 76 - Number of geometry points - + 1 0.000 0.821 0.000 + 2 1.720 0.950 0.000 + 3 8.660 0.880 0.000 + 4 11.030 0.810 0.000 + 5 12.200 0.300 0.000 + 6 13.420 -0.610 0.000 + 7 14.660 -0.380 0.000 + 8 16.190 0.630 0.000 + 9 20.820 1.040 0.000 + 10 24.890 1.460 0.000 + 11 27.840 2.190 0.000 + 12 29.126 3.000 0.000 + 13 33.990 4.080 0.000 + 14 36.810 4.900 0.000 + 15 38.000 5.240 0.000 + 16 38.960 5.270 0.000 + 17 39.500 5.320 0.000 + 18 39.670 5.325 0.000 + 19 41.110 5.370 0.000 + 20 41.540 5.360 0.000 + 21 42.170 5.360 0.000 + 22 43.380 5.050 0.000 + 23 46.710 4.090 0.000 + 24 50.180 3.230 0.000 + 25 52.340 2.890 0.000 + 26 56.390 2.570 0.000 + 27 60.640 2.310 0.000 + 28 61.770 2.000 0.000 + 29 63.130 0.990 0.000 + 30 63.690 1.000 0.000 + 31 64.920 1.320 0.000 + 32 65.446 2.000 0.000 + 33 66.330 2.540 0.000 + 34 72.360 2.540 0.000 + 35 106.000 2.540 0.000 + 36 0.000 -10.000 0.000 + 37 106.000 -10.000 0.000 + 38 0.000 -3.500 0.000 + 39 61.788 -3.500 0.000 + 40 65.490 -3.500 0.000 + 41 72.360 -3.500 0.000 + 42 106.000 -3.500 0.000 + 43 0.000 -1.200 0.000 + 44 61.780 -1.200 0.000 + 45 65.471 -1.200 0.000 + 46 72.360 -1.200 0.000 + 47 106.000 -1.200 0.000 + 48 52.190 0.630 0.000 + 49 61.774 0.630 0.000 + 50 65.456 0.630 0.000 + 51 72.360 0.630 0.000 + 52 106.000 0.630 0.000 + 53 61.773 1.016 0.000 + 54 65.446 1.775 0.000 + 55 29.126 2.585 0.000 + 56 39.477 4.486 0.000 + 57 40.580 4.500 0.000 + 58 50.380 1.233 0.000 + 59 42.062 4.760 0.000 + 60 50.115 2.630 0.000 + 61 60.704 1.710 0.000 + 62 61.770 1.711 0.000 + 63 0.000 2.935 0.000 + 64 29.023 2.935 0.000 + 65 38.000 2.435 0.000 + 66 42.170 2.435 0.000 + 67 52.340 2.435 0.000 + 68 60.640 1.600 0.000 + 69 66.330 1.600 0.000 + 70 106.000 1.600 0.000 + 71 0.000 -10.000 0.000 + 72 106.000 -10.000 0.000 + 73 0.000 2.935 0.000 + 74 106.000 2.935 0.000 + 75 0.000 -10.000 0.000 + 76 106.000 -10.000 0.000 +[END OF POINTS] + +[CURVES] + 79 - Number of curves - + 1 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 36 37 + 2 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 38 39 + 3 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 39 40 + 4 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 40 41 + 5 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 41 42 + 6 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 43 44 + 7 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 44 39 + 8 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 44 45 + 9 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 45 40 + 10 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 45 46 + 11 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 46 47 + 12 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 2 3 + 13 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 3 4 + 14 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 4 5 + 15 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 5 6 + 16 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 6 7 + 17 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 7 8 + 18 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 8 48 + 19 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 48 49 + 20 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 49 44 + 21 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 49 50 + 22 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 50 45 + 23 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 50 51 + 24 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 51 52 + 25 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 49 53 + 26 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 53 29 + 27 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 29 30 + 28 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 30 31 + 29 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 31 54 + 30 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 54 50 + 31 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 54 33 + 32 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 33 34 + 33 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 34 35 + 34 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 8 9 + 35 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 9 10 + 36 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 10 11 + 37 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 11 55 + 38 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 55 13 + 39 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 13 14 + 40 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 14 15 + 41 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 15 56 + 42 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 56 57 + 43 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 57 58 + 44 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 58 53 + 45 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 15 16 + 46 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 16 17 + 47 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 19 20 + 48 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 20 59 + 49 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 59 60 + 50 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 60 61 + 51 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 61 62 + 52 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 62 29 + 53 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 20 21 + 54 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 21 22 + 55 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 22 23 + 56 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 23 24 + 57 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 24 25 + 58 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 25 26 + 59 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 26 27 + 60 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 27 62 + 61 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 1 2 + 62 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 11 12 + 63 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 12 13 + 64 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 17 18 + 65 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 18 19 + 66 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 27 28 + 67 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 28 29 + 68 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 31 32 + 69 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 32 33 + 70 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 63 64 + 71 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 64 65 + 72 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 65 66 + 73 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 66 67 + 74 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 67 68 + 75 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 68 69 + 76 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 69 70 + 77 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 71 72 + 78 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 73 74 + 79 - Curve number + 2 - number of points on curve, next line(s) are pointnumbers + 75 76 +[END OF CURVES] + +[BOUNDARIES] + 16 - Number of boundaries - + 0 - Boundary number + 1 - number of curves on boundary, next line(s) are curvenumbers + 1 + 1 - Boundary number + 4 - number of curves on boundary, next line(s) are curvenumbers + 2 3 4 5 + 2 - Boundary number + 5 - number of curves on boundary, next line(s) are curvenumbers + 6 7 3 4 5 + 3 - Boundary number + 5 - number of curves on boundary, next line(s) are curvenumbers + 6 8 9 4 5 + 4 - Boundary number + 4 - number of curves on boundary, next line(s) are curvenumbers + 6 8 10 11 + 5 - Boundary number + 13 - number of curves on boundary, next line(s) are curvenumbers + 61 12 13 14 15 16 17 18 19 20 + 8 10 11 + 6 - Boundary number + 13 - number of curves on boundary, next line(s) are curvenumbers + 61 12 13 14 15 16 17 18 19 21 + 22 10 11 + 7 - Boundary number + 12 - number of curves on boundary, next line(s) are curvenumbers + 61 12 13 14 15 16 17 18 19 21 + 23 24 + 8 - Boundary number + 17 - number of curves on boundary, next line(s) are curvenumbers + 61 12 13 14 15 16 17 18 19 25 + 26 27 28 29 30 23 24 + 9 - Boundary number + 17 - number of curves on boundary, next line(s) are curvenumbers + 61 12 13 14 15 16 17 18 19 25 + 26 27 28 29 31 32 33 + 10 - Boundary number + 17 - number of curves on boundary, next line(s) are curvenumbers + 61 12 13 14 15 16 17 18 19 25 + 26 27 28 68 69 32 33 + 11 - Boundary number + 25 - number of curves on boundary, next line(s) are curvenumbers + 61 12 13 14 15 16 17 34 35 36 + 37 38 39 40 41 42 43 44 26 27 + 28 68 69 32 33 + 12 - Boundary number + 30 - number of curves on boundary, next line(s) are curvenumbers + 61 12 13 14 15 16 17 34 35 36 + 37 38 39 40 45 46 64 65 47 48 + 49 50 51 52 27 28 68 69 32 33 + 13 - Boundary number + 34 - number of curves on boundary, next line(s) are curvenumbers + 61 12 13 14 15 16 17 34 35 36 + 37 38 39 40 45 46 64 65 47 53 + 54 55 56 57 58 59 60 52 27 28 + 68 69 32 33 + 14 - Boundary number + 34 - number of curves on boundary, next line(s) are curvenumbers + 61 12 13 14 15 16 17 34 35 36 + 37 38 39 40 45 46 64 65 47 53 + 54 55 56 57 58 59 66 67 27 28 + 68 69 32 33 + 15 - Boundary number + 34 - number of curves on boundary, next line(s) are curvenumbers + 61 12 13 14 15 16 17 34 35 36 + 62 63 39 40 45 46 64 65 47 53 + 54 55 56 57 58 59 66 67 27 28 + 68 69 32 33 +[END OF BOUNDARIES] + +[USE PROBABILISTIC DEFAULTS BOUNDARIES] + 16 - Number of boundaries - + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 +[END OF USE PROBABILISTIC DEFAULTS BOUNDARIES] + +[STDV BOUNDARIES] + 16 - 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 + 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] + 16 - Number of boundaries - + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 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 + 70 71 72 73 74 75 76 + 2 - PlLine number + 1 - number of curves on PlLine, next line(s) are curvenumbers + 77 + 3 - PlLine number + 1 - number of curves on PlLine, next line(s) are curvenumbers + 78 + 4 - PlLine number + 1 - number of curves on PlLine, next line(s) are curvenumbers + 79 +[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] + 15 - Number of layers - + 1 - Layer number, next line is material of layer + wl_zand + 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 + veen + 99 - Piezometric level line at top of layer + 99 - 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 + veen + 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 + veen + 99 - Piezometric level line at top of layer + 99 - 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 + klei + 99 - 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 + klei + 99 - 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 + klei + 99 - 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 + 8 - Layer number, next line is material of layer + klei antropogeen + 1 - Piezometric level line at top of layer + 1 - Piezometric level line at bottom of layer + 8 - Boundarynumber at top of layer + 7 - Boundarynumber at bottom of layer + 9 - Layer number, next line is material of layer + klei antropogeen + 1 - Piezometric level line at top of layer + 1 - Piezometric level line at bottom of layer + 9 - Boundarynumber at top of layer + 8 - Boundarynumber at bottom of layer + 10 - Layer number, next line is material of layer + dijksmateriaal_klei + 1 - Piezometric level line at top of layer + 1 - Piezometric level line at bottom of layer + 10 - Boundarynumber at top of layer + 9 - Boundarynumber at bottom of layer + 11 - Layer number, next line is material of layer + klei antropogeen + 1 - Piezometric level line at top of layer + 1 - Piezometric level line at bottom of layer + 11 - Boundarynumber at top of layer + 10 - Boundarynumber at bottom of layer + 12 - Layer number, next line is material of layer + zand antropogeen + 1 - Piezometric level line at top of layer + 1 - Piezometric level line at bottom of layer + 12 - Boundarynumber at top of layer + 11 - Boundarynumber at bottom of layer + 13 - Layer number, next line is material of layer + klei antropogeen + 99 - Piezometric level line at top of layer + 99 - Piezometric level line at bottom of layer + 13 - Boundarynumber at top of layer + 12 - Boundarynumber at bottom of layer + 14 - Layer number, next line is material of layer + dijksmateriaal_klei + 1 - Piezometric level line at top of layer + 1 - Piezometric level line at bottom of layer + 14 - Boundarynumber at top of layer + 13 - Boundarynumber at bottom of layer + 15 - Layer number, next line is material of layer + dijksmateriaal_klei + 1 - Piezometric level line at top of layer + 1 - Piezometric level line at bottom of layer + 15 - Boundarynumber at top of layer + 14 - 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 + 0 : Probabilistic off + 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] + 15 Number of layers + 15 100 + 14 100 100 + 13 100 100 100 + 12 100 100 100 100 + 11 100 100 100 100 100 + 10 100 100 100 100 100 100 + 9 100 100 100 100 100 100 100 + 8 100 100 100 100 100 100 100 100 + 7 100 100 100 100 100 100 100 100 100 + 6 100 100 100 100 100 100 100 100 100 100 + 5 100 100 100 100 100 100 100 100 100 100 + 100 + 4 100 100 100 100 100 100 100 100 100 100 + 100 100 + 3 100 100 100 100 100 100 100 100 100 100 + 100 100 100 + 2 100 100 100 100 100 100 100 100 100 100 + 100 100 100 100 + 1 100 100 100 100 100 100 100 100 100 100 + 100 100 100 100 100 + 0 capillary water not included +[degree Temporary loads] + 100 0 0 0 0 0 0 0 0 0 + 0 100 0 0 0 + 0 capillary water not included +[degree Free water(Cu)] + 100 100 100 100 100 100 100 100 100 100 + 100 100 100 100 100 +[degree earth quake] + 100 100 100 100 100 100 100 100 100 100 + 100 100 100 100 100 +[CIRCLES] + 40.085 65.085 26 X-direction + 5.838 16.708 12 Y-direction + 0.990 -3.358 9 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 + 39.67 42.17 = xstart and xend + 0.00 = distribution angle + 2 = temporary 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] +[Slip Circle Selection] +IsMinXEntryUsed=0 +IsMaxXEntryUsed=0 +XEntryMin=0.00 +XEntryMax=0.00 +[End of Slip Circle Selection] +[START VALUE SAFETY FACTOR] + 1.000 [-] +[REFERENCE LEVEL CU] + -1 +[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 + 15 - Number of layers + 3 3 = Pl-top and pl-bottom + 99 99 = Pl-top and pl-bottom + 99 99 = Pl-top and pl-bottom + 99 99 = Pl-top and pl-bottom + 99 99 = Pl-top and pl-bottom + 99 99 = Pl-top and pl-bottom + 99 99 = Pl-top and pl-bottom + 1 1 = Pl-top and pl-bottom + 1 1 = Pl-top and pl-bottom + 1 1 = Pl-top and pl-bottom + 1 1 = Pl-top and pl-bottom + 1 1 = Pl-top and pl-bottom + 99 99 = Pl-top and pl-bottom + 1 1 = Pl-top and pl-bottom + 1 1 = 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 +[WATER PRESSURE ON HORIZONTAL BAR] + 0 Use water pressure on horizontal bar +[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 = Width top rest profile [m] + 0.00 = X co-ordinate indicating start of zone [m] + 105.99 = Boundary of M.H.W influence at X [m] + 5.36 = Boundary of M.H.W influence at Y [m] + 0.00 = Required safety in zone 1a + 0.00 = Required safety in zone 1b + 0.00 = Required safety in zone 2a + 0.00 = 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=50 +GenerationCount=50 +EliteCount=2 +MutationRate=0.200 +CrossOverScatterFraction=1.000 +CrossOverSinglePointFraction=0.000 +CrossOverDoublePointFraction=0.000 +MutationJumpFraction=1.000 +MutationCreepFraction=0.000 +MutationInverseFraction=0.000 +MutationCreepReduction=0.050 +[END OF GENETIC ALGORITHM OPTIONS BISHOP] +[GENETIC ALGORITHM OPTIONS LIFTVAN] +PopulationCount=50 +GenerationCount=50 +EliteCount=2 +MutationRate=0.250 +CrossOverScatterFraction=1.000 +CrossOverSinglePointFraction=0.000 +CrossOverDoublePointFraction=0.000 +MutationJumpFraction=1.000 +MutationCreepFraction=0.000 +MutationInverseFraction=0.000 +MutationCreepReduction=0.050 +[END OF GENETIC ALGORITHM OPTIONS LIFTVAN] +[GENETIC ALGORITHM OPTIONS SPENCER] +PopulationCount=50 +GenerationCount=50 +EliteCount=2 +MutationRate=0.300 +CrossOverScatterFraction=0.000 +CrossOverSinglePointFraction=0.700 +CrossOverDoublePointFraction=0.300 +MutationJumpFraction=0.000 +MutationCreepFraction=0.900 +MutationInverseFraction=0.100 +MutationCreepReduction=0.050 +[END OF GENETIC ALGORITHM OPTIONS SPENCER] +[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: dam engine/trunk/src/Deltares.DamEngine.Calculators.Tests/DamMacroStabilityTests.cs =================================================================== diff -u -r565 -r583 --- dam engine/trunk/src/Deltares.DamEngine.Calculators.Tests/DamMacroStabilityTests.cs (.../DamMacroStabilityTests.cs) (revision 565) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators.Tests/DamMacroStabilityTests.cs (.../DamMacroStabilityTests.cs) (revision 583) @@ -21,8 +21,13 @@ using System.Collections.Generic; using System.Data; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Xml.Linq; using Deltares.DamEngine.Calculators.KernelWrappers.Common; using Deltares.DamEngine.Calculators.KernelWrappers.DamMacroStability; +using Deltares.DamEngine.Calculators.KernelWrappers.DamMacroStability.Assemblers; using Deltares.DamEngine.Data.General.Results; using Deltares.DamEngine.Data.Standard.Logging; using NUnit.Framework; @@ -64,6 +69,61 @@ } [Test] + public void TestCreateDGeoStabilityInputFile() + { + const string testFolder = @"..\..\Deltares.DamEngine.Calculators.Tests\Files\MacroStability"; + var xmlFileName = Path.Combine(testFolder, "test.xml"); + var stiFileName = Path.Combine(testFolder, "test.sti"); + var expectedStiFileName = Path.Combine(testFolder, "expectedTest.sti"); + if (File.Exists(stiFileName)) + { + File.Delete(stiFileName); + } + + XDocument xDocument = XDocument.Load(xmlFileName); + XElement inputElement = (from element in xDocument.Root.Descendants() + where element.Name.LocalName == DamMStabAssembler.XmlElementNameInput + select element).Single(); + XAttribute mstabFileName = inputElement.Attribute(DamMStabAssembler.XmlAttributeMStabFileName); + Debug.Assert(mstabFileName != null, "mstabFileName != null"); + mstabFileName.Value = stiFileName; + + var kernelWrapper = new DamMacroStabilityKernelWrapper(); + kernelWrapper.CreateStiFile(xDocument); + Assert.IsTrue(File.Exists(stiFileName)); + Assert.AreEqual(ContentOfStiFile(expectedStiFileName), ContentOfStiFile(stiFileName)); + } + + [Test] + [ExpectedException(typeof(MacroStabilityException))] + public void TestThrowsExceptionXmlFileNotValid() + { + var kernelWrapper = new DamMacroStabilityKernelWrapper(); + XDocument xDocument = new XDocument(); + kernelWrapper.CreateStiFile(xDocument); + } + + + private string ContentOfStiFile(string stiFileName) + { + try + { + StreamReader stream = File.OpenText(stiFileName); + for (int i = 1; i <= 7; i++) + { + stream.ReadLine(); // skip first 7 lines with date, time and filename + } + string text = stream.ReadToEnd(); + stream.Close(); + return text; + } + catch + { + return null; + } + } + + [Test] public void TestValidate() { var kernelWrapper = new DamMacroStabilityKernelWrapper(); @@ -126,5 +186,8 @@ DesignResult result; kernelWrapper.PostProcess(null, null, out result); } + + + } } Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/DamMacroStabilityKernelWrapper.cs =================================================================== diff -u -r564 -r583 --- dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/DamMacroStabilityKernelWrapper.cs (.../DamMacroStabilityKernelWrapper.cs) (revision 564) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/DamMacroStabilityKernelWrapper.cs (.../DamMacroStabilityKernelWrapper.cs) (revision 583) @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Data; +using System.IO; using System.Xml.Linq; using Deltares.DamEngine.Calculators.KernelWrappers.Common; using Deltares.DamEngine.Calculators.KernelWrappers.Interfaces; @@ -15,6 +16,9 @@ { public class DamMacroStabilityKernelWrapper : IKernelWrapper { + private const string DamMacroStabilityFolder = @".\KernelWrappers\MacroStability"; + private const string DGeoStabilityExe = "DGeoStability.exe"; + /// /// Prepares the specified dam kernel input. /// @@ -25,7 +29,8 @@ // TODO: this is just fake data return new DamMacroStabilityInput() { - // ToDo + DGeoStabilityExePath = Path.Combine(DamMacroStabilityFolder, DGeoStabilityExe), + DGeoStabilityInputFileName = "test.sti" }; } @@ -56,8 +61,26 @@ /// public IKernelDataOutput Execute(IKernelDataInput kernelDataInput, out List messages) { + var damMacroStabilityOutput = new DamMacroStabilityOutput(); + messages = new List(); + // ToDo zant Question: write sti file in prepare or in execute? - + +// // Write xml file +// XDocument xmlDocument = CreateMstabDamXmlDocument(); +// +// // Use xml file to create sti file +// CreateStiFile(xmlDocument); +// // start calculation +// var calculator = StabilityCalculator(kernelDataInput); +// calculator.Calculate(); +// // ToDo zant +// // damMacroStabilityOutput.FoSp = calculator.FoSp; + return damMacroStabilityOutput; + } + + internal XDocument CreateMstabDamXmlDocument() + { // ToDo zant Fake data var stabilityProjectFilename = "testproject"; var scenario = new DesignScenario(); @@ -72,32 +95,32 @@ XDocument mstabXML = MStabXmlDoc.CreateMStabXmlDoc(stabilityProjectFilename, scenario, soilProfile, soilGeometry2DName, riverLevel, mstabDesignEmbankment, surfaceLine, trafficLoad, requiredSafetyFactor, out errorMessages); - mstabXML.Save(stabilityProjectFilename + ".xml"); - // - // stabilityServiceAgent.CreateProjectFile(mstabXML.ToString()); - // stabilityServiceAgent.CalculateMStabProject(stabilityProjectFilename); + return mstabXML; + } - // start calculation - var calculator = StabilityCalculator(kernelDataInput); - calculator.Calculate(); - var damMacroStabilityOutput = new DamMacroStabilityOutput(); - // ToDo zant -// damMacroStabilityOutput.FoSp = calculator.FoSp; - messages = new List(); - return damMacroStabilityOutput; + internal void CreateStiFile(XDocument xmlDocument) + { + DGSMStabDAMInterface mstabDamDll = new DGSMStabDAMInterface(); + var result = mstabDamDll.CreateProjectFile(xmlDocument.ToString()); + if (result > 0) + { + string errorMessage = mstabDamDll.ErrorMessage(); + throw new MacroStabilityException(errorMessage); + } } internal static StabilityCalculator StabilityCalculator(IKernelDataInput kernelDataInput) { - DamMacroStabilityInput damPipingInput = kernelDataInput as DamMacroStabilityInput; - if (damPipingInput == null) + DamMacroStabilityInput damMacroStabilityInput = kernelDataInput as DamMacroStabilityInput; + if (damMacroStabilityInput == null) { throw new NoNullAllowedException(Resources.DamMacroStabilityKernelWrapper_StabilityCalculator_NoInputObjectDefinedForMacroStability); } var calculator = new StabilityCalculator { - // ToDo + ProjectName = damMacroStabilityInput.DGeoStabilityInputFileName, + DGeoStabilityExePath = damMacroStabilityInput.DGeoStabilityExePath }; return calculator; } Index: dam engine/trunk/src/Deltares.DamEngine.Calculators.Tests/Deltares.DamEngine.Calculators.Tests.csproj =================================================================== diff -u -r565 -r583 --- dam engine/trunk/src/Deltares.DamEngine.Calculators.Tests/Deltares.DamEngine.Calculators.Tests.csproj (.../Deltares.DamEngine.Calculators.Tests.csproj) (revision 565) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators.Tests/Deltares.DamEngine.Calculators.Tests.csproj (.../Deltares.DamEngine.Calculators.Tests.csproj) (revision 583) @@ -40,6 +40,8 @@ + + Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/DGSMStabDAM.dll =================================================================== diff -u Binary files differ Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj =================================================================== diff -u -r544 -r583 --- dam engine/trunk/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj (.../Deltares.DamEngine.Calculators.csproj) (revision 544) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj (.../Deltares.DamEngine.Calculators.csproj) (revision 583) @@ -108,6 +108,9 @@ + + + @@ -162,6 +165,14 @@ + + + PreserveNewest + + + PreserveNewest + + "$(ProjectDir)..\..\utils\svn_insert_version.cmd" "$(ProjectDir)Properties" Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/DGSMStabDAMInterface.cs =================================================================== diff -u --- dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/DGSMStabDAMInterface.cs (revision 0) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/DGSMStabDAMInterface.cs (revision 583) @@ -0,0 +1,124 @@ +using System.Runtime.InteropServices; +using System.Text; + +namespace Deltares.DamEngine.Calculators.KernelWrappers.DamMacroStability +{ + class DGSMStabDAMInterface : DgsStandardDllInterface + { + + public struct LegacyCoordinate + { + public double x; + public double z; + } + + private const string DllFileName = @"KernelWrappers\DamMacroStability\DGSMStabDAM.dll"; + + [DllImport(DllFileName)] + static extern int GetDamLicenseType(); + [DllImport(DllFileName)] + static extern int GetDamLiveLicenseType(); + [DllImport(DllFileName)] + static extern int DllGetVersion(out DllVersionInfoStructure dllVersionInfoStructure); + [DllImport(DllFileName)] + static extern string GetDescription(StringBuilder errorMessage, ref int bufferSize); + [DllImport(DllFileName)] + static extern int GetErrorMessage(StringBuilder errorMessage, ref int bufferSize); + [DllImport(DllFileName)] + static extern int CreateMStabProject(string inputXmlString); + [DllImport(DllFileName)] + static extern int ConvertGeometry2DTo1D(string inputXML, StringBuilder outputXML, ref int bufferSize); + [DllImport(DllFileName)] + static extern int CreateGeometry2DData(string inputXML, StringBuilder outputXML, ref int bufferSize); + [DllImport(DllFileName)] + static extern double CalculatePipingLength(int pointCount, ref LegacyCoordinate[] headLinePoints); + + + /// + /// Gets the type of the license for DAM. + /// + /// + public int DamLicenseType() + { + return (GetDamLicenseType()); + } + + /// + /// Gets the type of the license for DAMLive. + /// + /// + public int DamLiveLicenseType() + { + return (GetDamLiveLicenseType()); + } + + /// + /// Gets DllVersion + /// + /// version as string + new public string GetDllVersion() + { + DllVersionInfoStructure dllInfo; + var returnValue = DllGetVersion(out dllInfo); + return dllInfo.DwBuildNumber.ToString(); + } + + /// + /// Create ProjectFile for MStab + /// + /// Error number + public int CreateProjectFile(string inputXmlString) + { + return (CreateMStabProject(inputXmlString)); + } + + /// + /// returns ErrorMessage + /// + /// Error as string + new public string ErrorMessage() + { + const int maxErrorMessageLength = 50; + int errorMessageLength = maxErrorMessageLength; + var errorMessage = new StringBuilder(maxErrorMessageLength); + int returnCode = GetErrorMessage(errorMessage, ref errorMessageLength); + if (returnCode == DllErrorOutputBufferTooSmall) + { + errorMessage = new StringBuilder(errorMessageLength); + returnCode = GetErrorMessage(errorMessage, ref errorMessageLength); + } + if (returnCode == DllErrorNone) + { + return errorMessage.ToString(); + } + else + { + return "Unknow error"; + } + } + + /// + /// converts 2D geometry to 1D + /// + /// Error as integer + public int Geometry2DTo1DConversion(string inputXML, StringBuilder outputXML, ref int bufferSize) + { + return (ConvertGeometry2DTo1D(inputXML, outputXML, ref bufferSize)); + } + + public int CreateGeometry2DDataFromGeometry2D(string inputXML, StringBuilder outputXML, ref int bufferSize) + { + return (CreateGeometry2DData(inputXML, outputXML, ref bufferSize)); + } + + /// + /// calculates the pipinglength + /// + /// pipinglength as double + public double PipingLengthCalculation(int pointCount, ref LegacyCoordinate[] headLinePoints) + { + return (CalculatePipingLength(pointCount, ref headLinePoints)); + } + + } +} Index: dam engine/trunk/src/Deltares.DamEngine.Calculators.Tests/Files/MacroStability/test.xml =================================================================== diff -u --- dam engine/trunk/src/Deltares.DamEngine.Calculators.Tests/Files/MacroStability/test.xml (revision 0) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators.Tests/Files/MacroStability/test.xml (revision 583) @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/DGeoStability.exe =================================================================== diff -u Binary files differ