Index: DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs
===================================================================
diff -u -r1848 -r1979
--- DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs (.../DamMacroStabilityOutwardsKernelWrapper.cs) (revision 1848)
+++ DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs (.../DamMacroStabilityOutwardsKernelWrapper.cs) (revision 1979)
@@ -36,6 +36,10 @@
using Deltares.DamEngine.Calculators.DikesDesign;
using Deltares.DamEngine.Data.Design;
using Deltares.DamEngine.Data.Geometry;
+using Deltares.DamEngine.Data.Geotechnics;
+using System.Diagnostics;
+using System.Linq;
+using Deltares.DamEngine.Calculators.KernelWrappers.DamMacroStabilityCommon.Assemblers;
namespace Deltares.DamEngine.Calculators.KernelWrappers.DamMacroStabilityOutwards
{
@@ -116,7 +120,7 @@
XDocument xmlDocument = CreateMstabDamXmlDocument(damKernelInput, damMacroStabilityInput);
// Use xml file to create sti file
- CreateStiFile(xmlDocument);
+ CreateStiFile(xmlDocument, damKernelInput);
return PrepareResult.Successful;
}
@@ -214,12 +218,34 @@
return mstabXml;
}
- internal void CreateStiFile(XDocument xmlDocument)
+ internal void CreateStiFile(XDocument xmlDocument, DamKernelInput damKernelInput)
{
DGSMStabDAMInterface mstabDamDll = new DGSMStabDAMInterface();
var result = mstabDamDll.CreateProjectFile(xmlDocument.ToString());
- if (result > 0)
+
+
+ if (xmlDocument.Root != null)
{
+ XElement inputElement = (from element in xmlDocument.Root.Descendants()
+ where element.Name.LocalName == DamMStabAssembler.XmlElementNameInput
+ select element).Single();
+ XAttribute mstabFileName = inputElement.Attribute(DamMStabAssembler.XmlAttributeMStabFileName);
+ if (mstabFileName != null)
+ {
+ string stiFileName = mstabFileName.Value;
+ if (damKernelInput != null)
+ {
+ PythonInterface pythonInterface = new PythonInterface();
+ pythonInterface.PerformPythonActions(damKernelInput, stiFileName);
+ }
+ }
+
+
+ }
+
+
+ if (result > 0)
+ {
string errorMessage = mstabDamDll.ErrorMessage();
throw new MacroStabilityException(errorMessage);
}
Index: DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj
===================================================================
diff -u -r1848 -r1979
--- DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj (.../Deltares.DamEngine.Calculators.csproj) (revision 1848)
+++ DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj (.../Deltares.DamEngine.Calculators.csproj) (revision 1979)
@@ -72,6 +72,7 @@
+
Index: DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Interface.Tests/EngineInterfaceTests.cs
===================================================================
diff -u -r1848 -r1979
--- DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Interface.Tests/EngineInterfaceTests.cs (.../EngineInterfaceTests.cs) (revision 1848)
+++ DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Interface.Tests/EngineInterfaceTests.cs (.../EngineInterfaceTests.cs) (revision 1979)
@@ -74,5 +74,14 @@
Assert.IsNotNull(engineInterface.DamProjectData);
}
+ //[Test]
+ //public void testTest()
+ //{
+ // const string fileName = "D:/noordam/Documents/DAMNWO/calculations/test3/input/InputFile.xml"; // This file is created by test CanWriteAndReadDamProjectDataToXml()
+ // string xmlString = File.ReadAllText(fileName);
+ // EngineInterface engineInterface = new EngineInterface(xmlString);
+ // Assert.IsNotNull(engineInterface.DamProjectData);
+ //}
+
}
}
Index: DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Interface/EngineInterface.cs
===================================================================
diff -u -r1848 -r1979
--- DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Interface/EngineInterface.cs (.../EngineInterface.cs) (revision 1848)
+++ DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Interface/EngineInterface.cs (.../EngineInterface.cs) (revision 1979)
@@ -24,6 +24,7 @@
using Deltares.DamEngine.Calculators.DikesAssessmentRegional;
using Deltares.DamEngine.Calculators.DikesDesign;
using Deltares.DamEngine.Calculators.DikesOperational;
+using Deltares.DamEngine.Calculators.KernelWrappers.Interfaces;
using Deltares.DamEngine.Data.General;
using Deltares.DamEngine.Data.Standard.Calculation;
using Deltares.DamEngine.Data.Standard.Logging;
@@ -32,6 +33,7 @@
using Deltares.DamEngine.Io.XmlInput;
using Deltares.DamEngine.Io.XmlOutput;
+
namespace Deltares.DamEngine.Interface
{
///
@@ -204,6 +206,10 @@
Output output = FillXmlOutputFromDam.CreateOutput(DamProjectData);
outputXml = DamXmlSerialization.SaveOutputAsXmlString(output);
SendMessage(new LogMessage() { MessageType = LogMessageType.Info, Message = Resources.EndCalculation });
+
+ PythonInterface pythonInterface = new PythonInterface();
+ pythonInterface.ClearPythonActions();
+
return outputXml;
}
}
Index: DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs
===================================================================
diff -u -r1848 -r1979
--- DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs (.../DamMacroStabilityInwardsKernelWrapper.cs) (revision 1848)
+++ DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs (.../DamMacroStabilityInwardsKernelWrapper.cs) (revision 1979)
@@ -22,11 +22,14 @@
using System;
using System.Collections.Generic;
using System.Data;
+using System.Diagnostics;
using System.IO;
+using System.Linq;
using System.Xml.Linq;
using Deltares.DamEngine.Calculators.DikesDesign;
using Deltares.DamEngine.Calculators.KernelWrappers.Common;
using Deltares.DamEngine.Calculators.KernelWrappers.DamMacroStabilityCommon;
+using Deltares.DamEngine.Calculators.KernelWrappers.DamMacroStabilityCommon.Assemblers;
using Deltares.DamEngine.Calculators.KernelWrappers.Interfaces;
using Deltares.DamEngine.Calculators.Properties;
using Deltares.DamEngine.Data.Design;
@@ -136,7 +139,7 @@
// Write xml file
XDocument xmlDocument = CreateMstabDamXmlDocument(damKernelInput, damMacroStabilityInput);
// Use xml file to create sti file
- CreateStiFile(xmlDocument);
+ CreateStiFile(xmlDocument, damKernelInput);
// now check if second calculation for BishopUpliftVan is needed, if so perform prepare.
if (bishopUpliftVan)
@@ -154,7 +157,7 @@
// Write xml file
xmlDocument = CreateMstabDamXmlDocument(damKernelInput, damMacroStabilityInput);
// Use xml file to create sti file
- CreateStiFile(xmlDocument);
+ CreateStiFile(xmlDocument, damKernelInput);////
}
finally
{
@@ -342,10 +345,30 @@
return mstabXml;
}
- internal void CreateStiFile(XDocument xmlDocument)
+ internal void CreateStiFile(XDocument xmlDocument, DamKernelInput damKernelInput)
{
DGSMStabDAMInterface mstabDamDll = new DGSMStabDAMInterface();
var result = mstabDamDll.CreateProjectFile(xmlDocument.ToString());
+
+
+ if (xmlDocument.Root != null)
+ {
+ XElement inputElement = (from element in xmlDocument.Root.Descendants()
+ where element.Name.LocalName == DamMStabAssembler.XmlElementNameInput
+ select element).Single();
+ XAttribute mstabFileName = inputElement.Attribute(DamMStabAssembler.XmlAttributeMStabFileName);
+ if (mstabFileName!= null)
+ {
+ string stiFileName = mstabFileName.Value;
+
+ if (damKernelInput != null)
+ {
+ PythonInterface pythonInterface = new PythonInterface();
+ pythonInterface.PerformPythonActions(damKernelInput, stiFileName);
+ }
+ }
+ }
+
if (result > 0)
{
string errorMessage = mstabDamDll.ErrorMessage();
@@ -612,7 +635,7 @@
mstabXML.Save(mstabProjectFilename + ".xml");
damMacroStabilityInput.DGeoStabilityInputFileName = mstabProjectFilename;
- CreateStiFile(mstabXML);
+ CreateStiFile(mstabXML, damKernelInput);
if (!File.Exists(mstabProjectFilename))
Index: DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapperTests.cs
===================================================================
diff -u -r1848 -r1979
--- DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapperTests.cs (.../DamMacroStabilityOutwardsKernelWrapperTests.cs) (revision 1848)
+++ DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapperTests.cs (.../DamMacroStabilityOutwardsKernelWrapperTests.cs) (revision 1979)
@@ -320,7 +320,7 @@
var xDocument = ModifiedXmlDocument(stiFileName);
var kernelWrapper = new DamMacroStabilityOutwardsKernelWrapper();
- kernelWrapper.CreateStiFile(xDocument);
+ kernelWrapper.CreateStiFile(xDocument,null);
Assert.IsTrue(File.Exists(stiFileName));
Assert.AreEqual(ContentOfStiFile(expectedStiFileName), ContentOfStiFile(stiFileName));
}
@@ -331,7 +331,7 @@
{
var kernelWrapper = new DamMacroStabilityOutwardsKernelWrapper();
XDocument xDocument = new XDocument();
- kernelWrapper.CreateStiFile(xDocument);
+ kernelWrapper.CreateStiFile(xDocument,null);
}
private string ContentOfStiFile(string stiFileName)
Index: DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapperTests.cs
===================================================================
diff -u -r1848 -r1979
--- DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapperTests.cs (.../DamMacroStabilityInwardsKernelWrapperTests.cs) (revision 1848)
+++ DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapperTests.cs (.../DamMacroStabilityInwardsKernelWrapperTests.cs) (revision 1979)
@@ -202,7 +202,7 @@
var xDocument = ModifiedXmlDocument(xmlFileName, stiFileName, soilDbName, geometryFileName);
var kernelWrapper = new DamMacroStabilityInwardsKernelWrapper();
- kernelWrapper.CreateStiFile(xDocument);
+ kernelWrapper.CreateStiFile(xDocument,null);
Assert.IsTrue(File.Exists(stiFileName));
Assert.AreEqual(ContentOfStiFile(expectedStiFileName), ContentOfStiFile(stiFileName));
}
@@ -213,7 +213,7 @@
{
var kernelWrapper = new DamMacroStabilityInwardsKernelWrapper();
XDocument xDocument = new XDocument();
- kernelWrapper.CreateStiFile(xDocument);
+ kernelWrapper.CreateStiFile(xDocument,null);
}
private string ContentOfStiFile(string stiFileName)
Index: DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators/DikesDesign/SurfaceLineHeightAdapter.cs
===================================================================
diff -u -r1848 -r1979
--- DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators/DikesDesign/SurfaceLineHeightAdapter.cs (.../SurfaceLineHeightAdapter.cs) (revision 1848)
+++ DamEngine/branches/nwo_18.1/src/Deltares.DamEngine.Calculators/DikesDesign/SurfaceLineHeightAdapter.cs (.../SurfaceLineHeightAdapter.cs) (revision 1979)
@@ -147,6 +147,9 @@
surfaceLine.EnsurePointOfType(newPointAtTopPolder.X, newPointAtTopPolder.Z, CharacteristicPointType.DikeTopAtPolder);
// Restore Ditch (if any)
RestoreDitch(ditchDefinition);
+
+ // // Restore NWO (if any)
+ // RestoreNonWaterRetainingObject(ditchDefinition);
// Restore traffic load
RestoreTrafficLoad();
surfaceLine.SortPoints();