Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs =================================================================== diff -u -r4638 -r4645 --- DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 4638) +++ DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 4645) @@ -724,7 +724,7 @@ }; ComparisonResult result = compare.Compare(expected, actual); Assert.That(result.Differences.Count, Is.EqualTo(0), - "Differences found read/write Input object:" + result.DifferencesString); + "Differences found read/write Input object:" + result.DifferencesString); } #region CreateTestData @@ -1048,6 +1048,21 @@ dike.SoilList.Add(soil); } + + // Change 1 soil to ShearStrengthModel.StressTable (SigmaTauCurve) + Soil soilSigmaTauCurve = dike.SoilList.Soils[1]; + soilSigmaTauCurve.ShearStrengthModel = ShearStrengthModel.StressTable; + soilSigmaTauCurve.StressTable = new StressCurve(); + soilSigmaTauCurve.StressTable.SigmaTaus.Add(new SigmaTau + { + Sigma = 0.0, + Tau = 1.0 + }); + soilSigmaTauCurve.StressTable.SigmaTaus.Add(new SigmaTau + { + Sigma = 1.0, + Tau = 2.0 + }); } private static void AddLocations(Dike dike, List surfaceLines, IList segments) Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillDamUiFromXmlInput.cs =================================================================== diff -u -r4539 -r4645 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 4539) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 4645) @@ -394,8 +394,22 @@ soil.DiameterD90 = inputSoil.DiameterD90Specified ? inputSoil.DiameterD90 : Double.NaN; soil.PermeabKx = inputSoil.PermeabKxSpecified ? inputSoil.PermeabKx : Double.NaN; soil.WhitesConstant = inputSoil.WhitesConstantSpecified ? inputSoil.WhitesConstant : Double.NaN; - soil.ShearStrengthModel = inputSoil.ShearStrengthModelSpecified ? ConversionHelper.ConvertToShearStrengthModel(inputSoil.ShearStrengthModel) : ShearStrengthModel.CPhi; soil.UseDefaultShearStrengthModel = inputSoil.UseDefaultShearStrengthModelSpecified ? inputSoil.UseDefaultShearStrengthModel : true; + soil.ShearStrengthModel = inputSoil.ShearStrengthModelSpecified ? ConversionHelper.ConvertToShearStrengthModel(inputSoil.ShearStrengthModel) : ShearStrengthModel.CPhi; + if (soil.ShearStrengthModel == ShearStrengthModel.StressTable) + { + soil.StressTable = new StressCurve(); + for (var j = 0; j < inputSoil.SigmaTauCurve.Length; j++) + { + SigmaTauCurveSigmaTauPoint point = inputSoil.SigmaTauCurve[j]; + soil.StressTable.SigmaTaus.Add(new SigmaTau + { + Sigma = point.Sigma, + Tau = point.Tau + }); + } + } + soil.Cohesion = inputSoil.CohesionSpecified ? inputSoil.Cohesion : Double.NaN; soil.FrictionAngle = inputSoil.FrictionAngleSpecified ? inputSoil.FrictionAngle : Double.NaN; soil.OCR = inputSoil.OcrSpecified ? inputSoil.Ocr : Double.NaN; Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillXmlInputFromDamUi.cs =================================================================== diff -u -r4539 -r4645 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 4539) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 4645) @@ -469,6 +469,19 @@ inputSoil.WhitesConstant = soil.WhitesConstant; inputSoil.ShearStrengthModelSpecified = true; inputSoil.ShearStrengthModel = ConversionHelper.ConvertToSoilShearStrengthModel(soil.ShearStrengthModel); + if (soil.ShearStrengthModel == ShearStrengthModel.StressTable) + { + inputSoil.SigmaTauCurve = new SigmaTauCurveSigmaTauPoint[soil.StressTable.SigmaTaus.Count]; + for (var j = 0; j < soil.StressTable.SigmaTaus.Count; j++) + { + inputSoil.SigmaTauCurve[j] = new SigmaTauCurveSigmaTauPoint + { + Sigma = soil.StressTable.SigmaTaus[j].Sigma, + Tau = soil.StressTable.SigmaTaus[j].Tau + }; + } + } + inputSoil.UseDefaultShearStrengthModelSpecified = true; inputSoil.UseDefaultShearStrengthModel = soil.UseDefaultShearStrengthModel; inputSoil.CohesionSpecified = !Double.IsNaN(soil.Cohesion);