Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/CsvImporters/CsvImporterSoils.cs =================================================================== diff -u -r4262 -r4538 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/CsvImporters/CsvImporterSoils.cs (.../CsvImporterSoils.cs) (revision 4262) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/CsvImporters/CsvImporterSoils.cs (.../CsvImporterSoils.cs) (revision 4538) @@ -82,6 +82,7 @@ int colIndexRatioSuPc = CsvReaderUtilities.GetHeaderIndexByString(headers, CsvColumnNames.RatioSuPcColumnName); int colIndexUsePop = CsvReaderUtilities.GetHeaderIndexByString(headers, CsvColumnNames.UsePopColumnName); int colIndexPop = CsvReaderUtilities.GetHeaderIndexByString(headers, CsvColumnNames.PopColumnName); + int colIndexSigmaTauCurveName = CsvReaderUtilities.GetHeaderIndexByString(headers, CsvColumnNames.SigmaTauCurveNameColumnName); while (csv.ReadNextRecord()) { @@ -121,6 +122,12 @@ soil.UsePop = Convert.ToBoolean(csv[currentColIndex]); } + if (colIndexSigmaTauCurveName > -1) + { + currentColIndex = colIndexSigmaTauCurveName; + soil.SigmaTauCurveName = csv[currentColIndex]; + } + soil.Pop = FetchOptionalColumn(colIndexPop, csv); ImportedItems.Add(soil); @@ -175,6 +182,7 @@ public double? DiameterD70 { get; set; } public double? PermeabilityX { get; set; } public ShearStrengthModel ShearStrengthModel { get; set; } + public string SigmaTauCurveName { get; set; } = ""; public double? StrengthIncreaseExponent { get; set; } public double? RatioSuPc { get; set; } public bool UsePop { get; set; } Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/Deltares.Dam.Tests.csproj =================================================================== diff -u -r4512 -r4538 --- DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/Deltares.Dam.Tests.csproj (.../Deltares.Dam.Tests.csproj) (revision 4512) +++ DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/Deltares.Dam.Tests.csproj (.../Deltares.Dam.Tests.csproj) (revision 4538) @@ -1209,6 +1209,9 @@ PreserveNewest + + PreserveNewest + Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/CsvImporterTestsNew.cs =================================================================== diff -u -r4341 -r4538 --- DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/CsvImporterTestsNew.cs (.../CsvImporterTestsNew.cs) (revision 4341) +++ DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/CsvImporterTestsNew.cs (.../CsvImporterTestsNew.cs) (revision 4538) @@ -769,6 +769,7 @@ Assert.That(soilRecord.RatioSuPc, Is.EqualTo(0.220)); Assert.That(soilRecord.UsePop, Is.False); Assert.That(soilRecord.Pop, Is.EqualTo(10.000)); + Assert.That(soilRecord.SigmaTauCurveName, Is.EqualTo("")); soilRecord = soilRecords[1]; Assert.That(soilRecord.SoilName, Is.EqualTo("Klei")); @@ -780,11 +781,12 @@ Assert.That(soilRecord.FrictionAngle, Is.EqualTo(18.500)); Assert.That(soilRecord.DiameterD70, Is.EqualTo(210.00)); Assert.That(soilRecord.PermeabilityX, Is.EqualTo(0.001)); - Assert.That(soilRecord.ShearStrengthModel, Is.EqualTo(ShearStrengthModel.CPhi)); + Assert.That(soilRecord.ShearStrengthModel, Is.EqualTo(ShearStrengthModel.StressTable)); Assert.That(soilRecord.StrengthIncreaseExponent, Is.EqualTo(0.700)); Assert.That(soilRecord.RatioSuPc, Is.EqualTo(0.220)); Assert.That(soilRecord.UsePop, Is.False); Assert.That(soilRecord.Pop, Is.EqualTo(10.000)); + Assert.That(soilRecord.SigmaTauCurveName, Is.EqualTo("CurveKlei")); soilRecord = soilRecords[2]; Assert.That(soilRecord.SoilName, Is.EqualTo("Veen")); @@ -801,6 +803,7 @@ Assert.That(soilRecord.RatioSuPc, Is.EqualTo(0.220)); Assert.That(soilRecord.UsePop, Is.False); Assert.That(soilRecord.Pop, Is.EqualTo(10.000)); + Assert.That(soilRecord.SigmaTauCurveName, Is.EqualTo("")); } [Test] @@ -913,10 +916,10 @@ private static void CreateFullSoilsFile(string filePath) { using StreamWriter writer = File.CreateText(filePath); - writer.WriteLine("soil_name;soil_color;soil_type;saturated_unit_weight;unsaturated_unit_weight;cohesion;friction_angle;diameter_d70;permeability_x;shear_strength_model;strength_increase_exponent;ratio_su_pc;use_pop;pop"); - writer.WriteLine("Zand;#A6EBFC;Sand;20.000;18.000;0.000;30.000;210.00;0.001;CPhi;0.700;0.220;False;10.000"); - writer.WriteLine("Klei;#FFFFFF;Clay;17.500;17.500;3.500;18.500;210.00;0.001;CPhi;0.700;0.220;False;10.000"); - writer.WriteLine("Veen;#A4FFA6;Peat;11.000;11.000;2.000;20.500;210.00;0.001;CuCalculated;0.700;0.220;False;10.000"); + writer.WriteLine("soil_name;soil_color;soil_type;saturated_unit_weight;unsaturated_unit_weight;cohesion;friction_angle;diameter_d70;permeability_x;shear_strength_model;strength_increase_exponent;ratio_su_pc;use_pop;pop;sigma_tau_curve_name"); + writer.WriteLine("Zand;#A6EBFC;Sand;20.000;18.000;0.000;30.000;210.00;0.001;CPhi;0.700;0.220;False;10.000;"); + writer.WriteLine("Klei;#FFFFFF;Clay;17.500;17.500;3.500;18.500;210.00;0.001;SigmaTauCurve;0.700;0.220;False;10.000;CurveKlei"); + writer.WriteLine("Veen;#A4FFA6;Peat;11.000;11.000;2.000;20.500;210.00;0.001;CuCalculated;0.700;0.220;False;10.000;"); } private static void CreateMinimalSoilsFile(string filePath) Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/ConversionHelper.cs =================================================================== diff -u -r4419 -r4538 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/ConversionHelper.cs (.../ConversionHelper.cs) (revision 4419) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/ConversionHelper.cs (.../ConversionHelper.cs) (revision 4538) @@ -1290,11 +1290,14 @@ }, { "CuCalculated", ShearStrengthModel.CuCalculated + }, + { + "SigmaTauCurve", ShearStrengthModel.StressTable } }; - if ((shearStrengthModel != "CPhi") && (shearStrengthModel != "CuCalculated")) + if ((shearStrengthModel != "CPhi") && (shearStrengthModel != "CuCalculated") && (shearStrengthModel != "SigmaTauCurve")) { - throw new NotImplementedException(); + throw new NotImplementedException(String.Format("Unknown Shearstrength Model '{0}' ", [shearStrengthModel])); } return translationTable[shearStrengthModel]; } Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Importers/CsvColumnNames.cs =================================================================== diff -u -r4178 -r4538 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Importers/CsvColumnNames.cs (.../CsvColumnNames.cs) (revision 4178) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Importers/CsvColumnNames.cs (.../CsvColumnNames.cs) (revision 4538) @@ -424,6 +424,11 @@ /// shear_strength_model /// public const string ShearStrengthModelColumnName = "shear_strength_model"; + + /// + /// The sigma tau curve name + /// + public const string SigmaTauCurveNameColumnName = "sigma_tau_curve_name"; /// /// strength_increase_exponent