Index: DamEngine/branches/Sliding/src/Deltares.DamEngine.Calculators/KernelWrappers/DamSliding/DamSlidingKernelWrapper.cs =================================================================== diff -u -r1305 -r1307 --- DamEngine/branches/Sliding/src/Deltares.DamEngine.Calculators/KernelWrappers/DamSliding/DamSlidingKernelWrapper.cs (.../DamSlidingKernelWrapper.cs) (revision 1305) +++ DamEngine/branches/Sliding/src/Deltares.DamEngine.Calculators/KernelWrappers/DamSliding/DamSlidingKernelWrapper.cs (.../DamSlidingKernelWrapper.cs) (revision 1307) @@ -24,24 +24,17 @@ using System.Data; using System.Diagnostics; using System.Globalization; +using System.Reflection; using System.IO; using Deltares.DamEngine.Calculators.DikesDesign; using Deltares.DamEngine.Calculators.KernelWrappers.Common; -using Deltares.DamEngine.Calculators.KernelWrappers.DamSliding; using Deltares.DamEngine.Calculators.KernelWrappers.Interfaces; -using Deltares.DamEngine.Calculators.Properties; -using Deltares.DamEngine.Calculators.Uplift; using Deltares.DamEngine.Data.Design; using Deltares.DamEngine.Data.General; -using Deltares.DamEngine.Data.General.PlLines; using Deltares.DamEngine.Data.General.Results; using Deltares.DamEngine.Data.Geometry; -using Deltares.DamEngine.Data.Geotechnics; using Deltares.DamEngine.Data.Standard.Calculation; -using Deltares.DamEngine.Data.Standard.Language; using Deltares.DamEngine.Data.Standard.Logging; -using Deltares.DamPiping.BlighCalculator; -using log4net; namespace Deltares.DamEngine.Calculators.KernelWrappers.DamSliding { @@ -52,14 +45,35 @@ /// public class DamSlidingKernelWrapper : IKernelWrapper { - const string python = @"c:\anaconda27\python.exe"; - const string damSafeDirectory = @"D:\Internship M. Pasqualini\calculations\main_dam\MAIN_DAM"; + private string python = @"c:\anaconda27\python.exe"; + private string damSafeDirectory = @"D:\Internship M. Pasqualini\calculations\main_dam\MAIN_DAM"; + private bool initialized = false; - private const double defaultFluidisationGradient = 0.3; - private const double defaultMaxReturnValue = 90.0; - private Dictionary> processMessages = new Dictionary>(); + private void Initialize() + { + FileInfo assemblyLocation = new FileInfo(Assembly.GetAssembly(typeof(DamSlidingKernelWrapper)).Location); + string configFile = Path.Combine(assemblyLocation.DirectoryName, "damSafe.ini"); + + foreach (string line in File.ReadAllLines(configFile)) + { + string[] parts = line.Split("=".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); + if (parts.Length == 2) + { + switch (parts[0].ToLower().Trim()) + { + case "python": + python = parts[1].Trim(); + break; + case "damsafedirectory": + damSafeDirectory = parts[1].Trim(); + break; + } + } + } + } + /// /// Create the kernel input. /// @@ -72,6 +86,12 @@ /// public PrepareResult Prepare(DamKernelInput damKernelInput, int iterationIndex, out IKernelDataInput kernelDataInput, out IKernelDataOutput kernelDataOutput) { + if (!initialized) + { + initialized = true; + this.Initialize(); + } + var damSlidingOutput = new DamSlidingOutput() { CalculationResult = CalculationResult.NoRun, Index: DamEngine/branches/Sliding/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj =================================================================== diff -u -r1305 -r1307 --- DamEngine/branches/Sliding/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj (.../Deltares.DamEngine.Calculators.csproj) (revision 1305) +++ DamEngine/branches/Sliding/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj (.../Deltares.DamEngine.Calculators.csproj) (revision 1307) @@ -206,6 +206,11 @@ DGeoStability.exe + + + Always + + Index: DamEngine/branches/Sliding/src/Deltares.DamEngine.Calculators/damSafe.ini =================================================================== diff -u --- DamEngine/branches/Sliding/src/Deltares.DamEngine.Calculators/damSafe.ini (revision 0) +++ DamEngine/branches/Sliding/src/Deltares.DamEngine.Calculators/damSafe.ini (revision 1307) @@ -0,0 +1,2 @@ +python = c:\anaconda27\python.exe +damSafeDirectory = D:\Internship M. Pasqualini\calculations\main_dam\MAIN_DAM