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