Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs =================================================================== diff -u -r4669 -r5467 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 4669) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 5467) @@ -70,7 +70,8 @@ TransferSurfaceLines(dike.SurfaceLines2, input.SurfaceLines); input.Soils = new Io.XmlInput.Soil[dike.SoilList.Soils.Count]; TransferSoils(dike.SoilList.Soils, input.Soils); - TransferAquiferSoils(dike.SoilList.AquiferDictionary, input); + TransferAquiferSoils(dike.SoilList.AquiferDictionary, input); + TransferTrafficLoadDegreeOfConsolidation(dike.TrafficLoadDegreeOfConsolidations, input); if (dike.SoilProfiles != null) { int profilesCount = dike.SoilProfiles.Count; @@ -260,7 +261,32 @@ input.AquiferSoils = aquiferSoils; } + + private static void TransferTrafficLoadDegreeOfConsolidation(IList degreeOfConsolidationDictionary, Input input) + { + InputTrafficLoadDegreeOfConsolidation[] inputTrafficLoadDegreeOfConsolidations; + if (degreeOfConsolidationDictionary != null && degreeOfConsolidationDictionary.Count > 0) + { + inputTrafficLoadDegreeOfConsolidations = new InputTrafficLoadDegreeOfConsolidation[degreeOfConsolidationDictionary.Count]; + var index = 0; + foreach (TrafficLoadDegreeOfConsolidation degreeOfConsolidation in degreeOfConsolidationDictionary) + { + inputTrafficLoadDegreeOfConsolidations[index] = new InputTrafficLoadDegreeOfConsolidation + { + SoilName = degreeOfConsolidation.SoilName, + DegreeOfConsolidation = degreeOfConsolidation.DegreeOfConsolidation + }; + index++; + } + } + else + { + inputTrafficLoadDegreeOfConsolidations = null; + } + input.TrafficLoadDegreeOfConsolidations = inputTrafficLoadDegreeOfConsolidations; + } + private static void TransferAnalysisSpecification(DamProjectData damProjectData, Input input) { input.DamProjectType = ConversionHelper.ConvertToInputDamProjectType(damProjectData.DamProjectType); Index: DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForDamProjectData.cs =================================================================== diff -u -r4669 -r5467 --- DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForDamProjectData.cs (.../FactoryForDamProjectData.cs) (revision 4669) +++ DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForDamProjectData.cs (.../FactoryForDamProjectData.cs) (revision 5467) @@ -58,6 +58,7 @@ FillLocations(dike, damProjectData.Segments, damProjectData.ProjectPath); FillInputTimeSeries(dike); FillSensorData(damProjectData); + FillTrafficLoadDegreeOfConsolidation(dike); return damProjectData; } @@ -220,6 +221,20 @@ } } + private static void FillTrafficLoadDegreeOfConsolidation(Dike dike) + { + dike.TrafficLoadDegreeOfConsolidations = new List(); + for (var i = 0; i < dike.SoilList.Soils.Count; i++) + { + var loadDegreeOfConsolidation = new TrafficLoadDegreeOfConsolidation + { + DegreeOfConsolidation = i * 3, + SoilName = dike.SoilList.Soils[i].Name + }; + dike.TrafficLoadDegreeOfConsolidations.Add(loadDegreeOfConsolidation); + } + } + private static void FillAnalysisSpecification(DamProjectData damProjectData) { damProjectData.DamProjectType = DamProjectType.Design; Index: DamEngine/trunk/xsd/DamInput.xsd =================================================================== diff -u -r4560 -r5467 --- DamEngine/trunk/xsd/DamInput.xsd (.../DamInput.xsd) (revision 4560) +++ DamEngine/trunk/xsd/DamInput.xsd (.../DamInput.xsd) (revision 5467) @@ -70,6 +70,18 @@ + + + + + + + + + + + + Index: DamEngine/trunk/src/Deltares.DamEngine.Data/General/Dike.cs =================================================================== diff -u -r5453 -r5467 --- DamEngine/trunk/src/Deltares.DamEngine.Data/General/Dike.cs (.../Dike.cs) (revision 5453) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/General/Dike.cs (.../Dike.cs) (revision 5467) @@ -160,6 +160,8 @@ soilList = value; } } + + public virtual IList TrafficLoadDegreeOfConsolidations { get; set; } [Browsable(false)] public virtual IList Gauges { get; set; } = new List(); Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs =================================================================== diff -u -r5256 -r5467 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 5256) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 5467) @@ -85,6 +85,7 @@ TransferSoilProfiles1D(input.SoilProfiles1D, dike.SoilProfiles, dike.SoilList); TransferSoilProfiles2D(input.SoilProfiles2D, dike.SoilProfiles2D, dike.SoilList); + TransferTrafficLoadDegreeOfConsolidation(input.TrafficLoadDegreeOfConsolidations, dike); TransferSegments(input.Segments, damProjectData.Segments); TransferLocations(input.ProjectPath, input.Locations, dike.Locations, dike.SurfaceLines2, damProjectData.Segments); if (input.OperationalInputTimeSeries != null) @@ -775,6 +776,24 @@ } } } + + private static void TransferTrafficLoadDegreeOfConsolidation(InputTrafficLoadDegreeOfConsolidation[] inputDegreeOfConsolidations, + Dike dike) + { + if (inputDegreeOfConsolidations != null) + { + dike.TrafficLoadDegreeOfConsolidations = new List(); + foreach (InputTrafficLoadDegreeOfConsolidation degreeOfConsolidation in inputDegreeOfConsolidations) + { + var trafficLoadDegreeOfConsolidation = new TrafficLoadDegreeOfConsolidation + { + SoilName = degreeOfConsolidation.SoilName, + DegreeOfConsolidation = degreeOfConsolidation.DegreeOfConsolidation + }; + dike.TrafficLoadDegreeOfConsolidations.Add(trafficLoadDegreeOfConsolidation); + } + } + } private static void AddLayers1D(Io.XmlInput.SoilProfile1D inputSoilProfile1D, SoilProfile1D soilProfile1D, SoilList soils) { Index: DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs =================================================================== diff -u -r4669 -r5467 --- DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs (.../DamInput.cs) (revision 4669) +++ DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs (.../DamInput.cs) (revision 5467) @@ -39,6 +39,8 @@ private InputAquiferSoil[] aquiferSoilsField; + private InputTrafficLoadDegreeOfConsolidation[] trafficLoadDegreeOfConsolidationsField; + private TimeSerie[] operationalInputTimeSeriesField; private InputSensorData sensorDataField; @@ -157,6 +159,18 @@ /// [System.Xml.Serialization.XmlArrayAttribute(IsNullable=true)] + [System.Xml.Serialization.XmlArrayItemAttribute("TrafficLoadDegreeOfConsolidation", IsNullable=false)] + public InputTrafficLoadDegreeOfConsolidation[] TrafficLoadDegreeOfConsolidations { + get { + return this.trafficLoadDegreeOfConsolidationsField; + } + set { + this.trafficLoadDegreeOfConsolidationsField = value; + } + } + + /// + [System.Xml.Serialization.XmlArrayAttribute(IsNullable=true)] [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)] public TimeSerie[] OperationalInputTimeSeries { get { @@ -4151,6 +4165,41 @@ [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)] + public partial class InputTrafficLoadDegreeOfConsolidation { + + private string soilNameField; + + private double degreeOfConsolidationField; + + /// + [System.Xml.Serialization.XmlAttributeAttribute()] + public string SoilName { + get { + return this.soilNameField; + } + set { + this.soilNameField = value; + } + } + + /// + [System.Xml.Serialization.XmlAttributeAttribute()] + public double DegreeOfConsolidation { + get { + return this.degreeOfConsolidationField; + } + set { + this.degreeOfConsolidationField = value; + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)] public partial class InputSensorData { private SensorGroup[] sensorGroupsField; Index: DamEngine/trunk/src/Deltares.DamEngine.Data/General/TrafficLoadDegreeOfConsolidation.cs =================================================================== diff -u --- DamEngine/trunk/src/Deltares.DamEngine.Data/General/TrafficLoadDegreeOfConsolidation.cs (revision 0) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/General/TrafficLoadDegreeOfConsolidation.cs (revision 5467) @@ -0,0 +1,28 @@ +// Copyright (C) Stichting Deltares 2025. All rights reserved. +// +// This file is part of the application DAM - UI. +// +// DAM - UI 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. + +namespace Deltares.DamEngine.Data.General; + +public class TrafficLoadDegreeOfConsolidation +{ + public string SoilName { get; set; } + public double DegreeOfConsolidation { get; set; } +} \ No newline at end of file