Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillXmlInputFromDamUi.cs =================================================================== diff -u -r6336 -r6436 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 6336) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 6436) @@ -1,4 +1,4 @@ -// Copyright (C) Stichting Deltares 2024. All rights reserved. +// Copyright (C) Stichting Deltares 2025. All rights reserved. // // This file is part of the application DAM - UI. // @@ -23,9 +23,9 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using Deltares.Dam.Data.Geometry2DImporter; using Deltares.Dam.Data.Properties; using Deltares.Dam.Data.Sensors; -using Deltares.Dam.Data.Geometry2DImporter; using Deltares.DamEngine.Data.Standard; using Deltares.DamEngine.Io; using Deltares.DamEngine.Io.XmlInput; @@ -89,7 +89,7 @@ input.Segments = new DamEngine.Io.XmlInput.Segment[usedSegments.Count]; TransferSegments(usedSegments, input.Segments); } - + // Process surface lines List usedSurfaceLines = DetermineUsedSurfaceLines(filteredLocations); input.SurfaceLines = new SurfaceLine[usedSurfaceLines.Count]; @@ -105,12 +105,12 @@ } input.SoilProfiles2D = soilProfiles2DToSerialize.ToArray(); - + // Process soils List usedSoils = DetermineUsedSoils(dike.SoilList.Soils, usedSoilProfiles1D, soilProfiles2DToSerialize, filteredLocations); input.Soils = new DamEngine.Io.XmlInput.Soil[usedSoils.Count]; TransferSoils(usedSoils, input.Soils); - + TransferTrafficLoadDegreeOfConsolidation(dike.TrafficLoadDegreeOfConsolidations, usedSoils, input); if (damProjectData.InputTimeSerieCollection != null) @@ -141,7 +141,7 @@ return usedSegments; } - + private static List DetermineUsedSurfaceLines(IList locations) { var usedSurfaceLines = new List(); @@ -156,7 +156,7 @@ return usedSurfaceLines; } - + private static List DetermineUsedSoilProfiles1D(IList segments) { var usedSoilProfiles1D = new List(); @@ -173,7 +173,7 @@ return usedSoilProfiles1D; } - + private static List DetermineUsedSoils(List allSoils, List soilProfile1Ds, List soilProfile2Ds, List locations) { List usedSoils = DetermineUsedSoilsFromSoilProfiles1D(soilProfile1Ds); @@ -336,6 +336,7 @@ inputTimeSerie.Entries.TimeSerieEntry[timeSerieEntryIndex] = timeStep; timeSerieEntryIndex++; } + operationalInputTimeSeries[timeSerieIndex] = inputTimeSerie; timeSerieIndex++; } @@ -505,7 +506,7 @@ } } - private static void TransferSoils(List soils, DamEngine.Io.XmlInput.Soil[] inputSoils) + private static void TransferSoils(List soils, DamEngine.Io.XmlInput.Soil[] inputSoils) { for (var i = 0; i < soils.Count; i++) { @@ -534,6 +535,7 @@ }; } } + if (soil.ShearStrengthModel == ShearStrengthModel.SuTable) { inputSoil.SuTable = new SuTableSigmaSuPoint[soil.SuTable.SigmaSus.Count]; @@ -546,6 +548,7 @@ }; } } + inputSoil.CohesionSpecified = !Double.IsNaN(soil.Cohesion); inputSoil.Cohesion = soil.Cohesion; inputSoil.FrictionAngleSpecified = !Double.IsNaN(soil.FrictionAngle); @@ -744,7 +747,7 @@ inputSegments[i] = inputSegment; } } - + private static void TransferTrafficLoadDegreeOfConsolidation(IList trafficLoadDegreeOfConsolidations, List usedSoils, Input input) { InputTrafficLoadDegreeOfConsolidation[] inputTrafficLoadDegreeOfConsolidations; @@ -756,7 +759,7 @@ { if (usedSoils.Any(soil => string.Equals(soil.Name, trafficLoadDegreeOfConsolidation.SoilName, StringComparison.OrdinalIgnoreCase))) { - inputTrafficLoadDegreeOfConsolidations[index] = new InputTrafficLoadDegreeOfConsolidation() + inputTrafficLoadDegreeOfConsolidations[index] = new InputTrafficLoadDegreeOfConsolidation { SoilName = trafficLoadDegreeOfConsolidation.SoilName, DegreeOfConsolidation = trafficLoadDegreeOfConsolidation.DegreeOfConsolidation @@ -769,6 +772,7 @@ { inputTrafficLoadDegreeOfConsolidations = null; } + input.TrafficLoadDegreeOfConsolidations = inputTrafficLoadDegreeOfConsolidations; } @@ -882,14 +886,15 @@ /// An array of . /// Thrown when the soil profiles could not be successfully imported. /// Thrown when the soil profiles could not be successfully converted. - private static IEnumerable GetSoilProfiles(string soilProfileDirectory, Segment segment, SoilList soils, + private static IEnumerable GetSoilProfiles(string soilProfileDirectory, Segment segment, SoilList soils, IEnumerable aquifers, double xSoilGeometry2DOrigin) { IEnumerable importedSoilProfiles = SoilProfile2DImporter.Import(soilProfileDirectory, segment, soils, aquifers, xSoilGeometry2DOrigin); if (importedSoilProfiles == null) { return Enumerable.Empty(); } + return importedSoilProfiles.Select(XmlSoilProfile2DConverter.Convert).ToArray(); } } \ No newline at end of file