Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/PlLinesCreator/PlLinesCreatorTest.cs =================================================================== diff -u -r6877 -r6917 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/PlLinesCreator/PlLinesCreatorTest.cs (.../PlLinesCreatorTest.cs) (revision 6877) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/PlLinesCreator/PlLinesCreatorTest.cs (.../PlLinesCreatorTest.cs) (revision 6917) @@ -591,7 +591,7 @@ } /// - /// Test if PL1 creation expert knowledge with does not create pl-line below polder level + /// Test if PL1 creation expert knowledge does not create pl-line below polder level /// [Test] public void CreatePL1_WithPointBelowDikeTopAtPolderLowerPolderLevel_ReturnsPointAtPolderLevel() @@ -1395,15 +1395,8 @@ const double cDampingFactor = 0.3; SurfaceLine2 surfaceLineTutorial1 = FactoryForSurfaceLines.CreateSurfaceLineTutorial1(); SoilProfile1D soilProfile1D = FactoryForSoilProfiles.CreateClaySandClaySandProfile(10, -0.5); + SoilProfile2D soilProfile2D = FactoryForSoilProfiles.CreateSoilProfile2DBasedOnSoilProfile1D(soilProfile1D, surfaceLineTutorial1); - var soilSurfaceProfile = new SoilSurfaceProfile - { - SoilProfile = soilProfile1D, - SurfaceLine2 = surfaceLineTutorial1, - DikeEmbankmentMaterial = new Soil("HW-OBO", 12.0, 10.0) - }; - SoilProfile2D soilProfile2D = soilSurfaceProfile.ConvertToSoilProfile2D(); - var plLineCreator = new Calculators.PlLinesCreator.PlLinesCreator { SoilProfile2D = soilProfile2D, @@ -2057,14 +2050,7 @@ soilProfile1D.Layers[3].IsAquifer = isLayer4Aquifer; soilProfile1D.Layers[4].IsAquifer = isLayer5Aquifer; soilProfile1D.BottomLevel = -10; - var soilSurfaceProfile = new SoilSurfaceProfile - { - SoilProfile = soilProfile1D, - SurfaceLine2 = surfaceLine, - DikeEmbankmentMaterial = new Soil(), - Name = "Test" - }; - SoilProfile2D soilProfile2D = soilSurfaceProfile.ConvertToSoilProfile2D(); + SoilProfile2D soilProfile2D = FactoryForSoilProfiles.CreateSoilProfile2DBasedOnSoilProfile1D(soilProfile1D, surfaceLine); var plLineCreator = new Calculators.PlLinesCreator.PlLinesCreator { @@ -2525,14 +2511,7 @@ SoilProfile1D soilProfile1D = FactoryForSoilProfiles.CreateClaySandClaySandClaySandProfile(10, 6, 2, 0 - 2, -4, -6); soilProfile1D.Layers[3].IsAquifer = isInBetweenLayerAquifer; soilProfile1D.BottomLevel = -10; - var soilSurfaceProfile = new SoilSurfaceProfile - { - SoilProfile = soilProfile1D, - SurfaceLine2 = surfaceLine, - DikeEmbankmentMaterial = new Soil(), - Name = "Test" - }; - return soilSurfaceProfile.ConvertToSoilProfile2D(); + return FactoryForSoilProfiles.CreateSoilProfile2DBasedOnSoilProfile1D(soilProfile1D, surfaceLine); } private void CheckPl3For1DGeometryWithExpertKnowledgeRrd(PlLine plLine) Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/PlLinesCreator/SoilProfileValidatorTests.cs =================================================================== diff -u -r6404 -r6917 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/PlLinesCreator/SoilProfileValidatorTests.cs (.../SoilProfileValidatorTests.cs) (revision 6404) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/PlLinesCreator/SoilProfileValidatorTests.cs (.../SoilProfileValidatorTests.cs) (revision 6917) @@ -377,14 +377,7 @@ { SurfaceLine2 surfaceLine = FactoryForSurfaceLines.CreateSurfacelineSimpleDike(); SoilProfile1D soilProfile1D = FactoryForSoilProfiles.CreateClaySandProfile(out _, 4); - var soilSurfaceProfile = new SoilSurfaceProfile - { - SoilProfile = soilProfile1D, - SurfaceLine2 = surfaceLine, - DikeEmbankmentMaterial = new Soil(), - Name = "Clay dike on Sand" - }; - SoilProfile2D soilProfile2D = soilSurfaceProfile.ConvertToSoilProfile2D(); + SoilProfile2D soilProfile2D = FactoryForSoilProfiles.CreateSoilProfile2DBasedOnSoilProfile1D(soilProfile1D, surfaceLine); var soilProfileValidator = new SoilProfileValidator { Index: DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSoilProfiles.cs =================================================================== diff -u -r6747 -r6917 --- DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSoilProfiles.cs (.../FactoryForSoilProfiles.cs) (revision 6747) +++ DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSoilProfiles.cs (.../FactoryForSoilProfiles.cs) (revision 6917) @@ -562,17 +562,7 @@ new Point2D(10, 10) }); - var soilSurfaceProfile = new SoilSurfaceProfile - { - SoilProfile = profile, - SurfaceLine2 = surfaceLine, - DikeEmbankmentMaterial = new Soil - { - Name = topLayerName - } - }; - - SoilProfile2D soilProfile2D = soilSurfaceProfile.ConvertToSoilProfile2D(); + SoilProfile2D soilProfile2D = CreateSoilProfile2DBasedOnSoilProfile1D(profile, surfaceLine); return soilProfile2D; } @@ -603,17 +593,7 @@ new Point2D(10, 10) }); - var soilSurfaceProfile = new SoilSurfaceProfile - { - SoilProfile = profile, - SurfaceLine2 = surfaceLine, - DikeEmbankmentMaterial = new Soil - { - Name = topLayerName - } - }; - - SoilProfile2D soilProfile2D = soilSurfaceProfile.ConvertToSoilProfile2D(); + SoilProfile2D soilProfile2D = CreateSoilProfile2DBasedOnSoilProfile1D(profile, surfaceLine); // Make one boundary not horizontal soilProfile2D.Geometry.Points[4].Z = 0.0; return soilProfile2D; @@ -944,14 +924,7 @@ surfaceLine = FactoryForSurfaceLines.CreateSurfaceLineDike(10); SoilProfile1D soilProfile1D = CreateClaySandClaySandClaySandProfile(10, 6, 2, -2, -4, -6); soilProfile1D.BottomLevel = -10; - var soilSurfaceProfile = new SoilSurfaceProfile - { - SoilProfile = soilProfile1D, - SurfaceLine2 = surfaceLine, - DikeEmbankmentMaterial = new Soil(), - Name = "Test" - }; - SoilProfile2D soilProfile2D = soilSurfaceProfile.ConvertToSoilProfile2D(); + SoilProfile2D soilProfile2D = FactoryForSoilProfiles.CreateSoilProfile2DBasedOnSoilProfile1D(soilProfile1D, surfaceLine); Point2D point1 = soilProfile2D.Geometry.Points.First(p => Math.Abs(p.X - 34.5) < almostEqual && Math.Abs(p.Z + 4) < almostEqual); point1.Z = -3; Point2D point2 = soilProfile2D.Geometry.Points.First(p => Math.Abs(p.X - 40.5) < almostEqual && Math.Abs(p.Z + 4) < almostEqual); @@ -1155,6 +1128,18 @@ return surfaceLine; } + public static SoilProfile2D CreateSoilProfile2DBasedOnSoilProfile1D(SoilProfile1D soilProfile1D, SurfaceLine2 surfaceLine) + { + var soilSurfaceProfile = new SoilSurfaceProfile + { + SoilProfile = soilProfile1D, + SurfaceLine2 = surfaceLine, + DikeEmbankmentMaterial = soilProfile1D.Layers.OrderBy(l => l.TopLevel).First().Soil, + Name = "Test" + }; + return soilSurfaceProfile.ConvertToSoilProfile2D(); + } + private static string GetNewUniqueLayerId(SoilProfile1D soilProfile1D) { var num = 0; Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/PlLinesToWaternetConverterTests.cs =================================================================== diff -u -r6404 -r6917 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/PlLinesToWaternetConverterTests.cs (.../PlLinesToWaternetConverterTests.cs) (revision 6404) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/PlLinesToWaternetConverterTests.cs (.../PlLinesToWaternetConverterTests.cs) (revision 6917) @@ -348,14 +348,7 @@ // Setup SurfaceLine2 surfaceLine = FactoryForSurfaceLines.CreateSurfaceLineWithDikeAndDitch(0, -12.5); SoilProfile1D soilProfile1D = FactoryForSoilProfiles.Create4LayersProfileWith1BottomAquifer(); - var soilSurfaceProfile = new SoilSurfaceProfile - { - SoilProfile = soilProfile1D, - SurfaceLine2 = surfaceLine, - DikeEmbankmentMaterial = new Soil(), - Name = "Test" - }; - SoilProfile2D soilProfile2D = soilSurfaceProfile.ConvertToSoilProfile2D(); + SoilProfile2D soilProfile2D = FactoryForSoilProfiles.CreateSoilProfile2DBasedOnSoilProfile1D(soilProfile1D, surfaceLine); const double xLeft = 0; const double xPointF = 59.3; @@ -419,14 +412,7 @@ SurfaceLine2 surfaceLine = FactoryForSurfaceLines.CreateSurfaceLineWithDikeAndDitch(10, -8); SoilProfile1D soilProfile1D = FactoryForSoilProfiles.CreateClaySandClaySandClaySandProfile(10, 6, 2, 0 - 2, -4, -6); soilProfile1D.BottomLevel = -10; - var soilSurfaceProfile = new SoilSurfaceProfile - { - SoilProfile = soilProfile1D, - SurfaceLine2 = surfaceLine, - DikeEmbankmentMaterial = new Soil(), - Name = "Test" - }; - SoilProfile2D soilProfile2D = soilSurfaceProfile.ConvertToSoilProfile2D(); + SoilProfile2D soilProfile2D = FactoryForSoilProfiles.CreateSoilProfile2DBasedOnSoilProfile1D(soilProfile1D, surfaceLine); const double pL1Level = 0; PlLines plLines = CreateAllPlLines(pL1Level); @@ -512,28 +498,6 @@ }); } - private static SoilLayer2D CreateSoilLayer2D(Point2D topLeftCoordinate, Point2D topRightCoordinate, - Point2D bottomRightCoordinate, Point2D bottomLeftCoordinate, bool isAquifer) - { - return new SoilLayer2D - { - GeometrySurface = new GeometrySurface - { - OuterLoop = new GeometryLoop - { - CurveList = - { - new GeometryCurve(topLeftCoordinate, topRightCoordinate), - new GeometryCurve(topRightCoordinate, bottomRightCoordinate), - new GeometryCurve(bottomRightCoordinate, bottomLeftCoordinate), - new GeometryCurve(bottomLeftCoordinate, topLeftCoordinate) - } - } - }, - IsAquifer = isAquifer - }; - } - private static void AssertGeometry(IEnumerable expectedPoints, IEnumerable actualPoints) { int expectedNrOfPoints = expectedPoints.Count(); @@ -551,23 +515,6 @@ } } - private static void AssertGeometry(IEnumerable expectedPoints, IEnumerable actualPoints) - { - int expectedNrOfPoints = expectedPoints.Count(); - Assert.That(actualPoints.Count(), Is.EqualTo(expectedNrOfPoints)); - - for (var i = 0; i < expectedNrOfPoints; i++) - { - GeometryPoint expectedPoint = expectedPoints.ElementAt(i); - GeometryPoint actualPoint = actualPoints.ElementAt(i); - Assert.Multiple(() => - { - Assert.That(actualPoint.X, Is.EqualTo(expectedPoint.X).Within(precision5Decimals)); - Assert.That(actualPoint.Z, Is.EqualTo(expectedPoint.Z).Within(precision5Decimals)); - }); - } - } - private static PlLines CreateAllPlLines(double pl1Level = -5) { return CreateAllPlLines(leftCoordinate, rightCoordinate, pl1Level); @@ -600,15 +547,21 @@ public class Given1DSoilProfileWithTwoClustersOfInBetweenAquifers { - private static SurfaceLine2 surfaceLine; - private readonly SoilProfile1D soilProfile1D = FactoryForSoilProfiles.CreateSoilProfile1DWithTwoClustersOfInBetweenAquifers(out surfaceLine); + private static readonly SurfaceLine2 surfaceLine; + private static readonly SoilProfile1D soilProfile1D = FactoryForSoilProfiles.CreateSoilProfile1DWithTwoClustersOfInBetweenAquifers(out surfaceLine); + private readonly SoilProfile2D soilProfile2D = FactoryForSoilProfiles.CreateSoilProfile2DBasedOnSoilProfile1D(soilProfile1D, surfaceLine); - [TestCase(IntrusionVerticalWaterPressureType.Standard, -2.110, 6)] - [TestCase(IntrusionVerticalWaterPressureType.Linear, 1.212, 6)] - [TestCase(IntrusionVerticalWaterPressureType.HydroStatic, -2.110, 6)] - [TestCase(IntrusionVerticalWaterPressureType.FullHydroStatic, -30.000, 1)] - [TestCase(IntrusionVerticalWaterPressureType.SemiTimeDependent, -2.110, 7)] - public void WhenCreatingWaternetBasedOnPlLinesWithPhreaticLineInTopOfHighestAquitard_ThenReturnsValidWaternet(IntrusionVerticalWaterPressureType? pressureType, double levelWaternetPl1, int waternetLineCount) + [TestCase(IntrusionVerticalWaterPressureType.Standard, -2.110, 6, false)] + [TestCase(IntrusionVerticalWaterPressureType.Standard, -2.110, 6, true)] + [TestCase(IntrusionVerticalWaterPressureType.Linear, 1.212, 6, false)] + [TestCase(IntrusionVerticalWaterPressureType.Linear, 1.212, 6, true)] + [TestCase(IntrusionVerticalWaterPressureType.HydroStatic, -2.110, 6, false)] + [TestCase(IntrusionVerticalWaterPressureType.HydroStatic, -2.110, 6, true)] + [TestCase(IntrusionVerticalWaterPressureType.FullHydroStatic, -30.000, 1, false)] + [TestCase(IntrusionVerticalWaterPressureType.FullHydroStatic, -30.000, 1, true)] + [TestCase(IntrusionVerticalWaterPressureType.SemiTimeDependent, -2.110, 7, false)] + [TestCase(IntrusionVerticalWaterPressureType.SemiTimeDependent, -2.110, 7, true)] + public void WhenCreatingWaternetBasedOnPlLinesWithPhreaticLineInTopOfHighestAquitard_ThenReturnsValidWaternet(IntrusionVerticalWaterPressureType? pressureType, double levelWaternetPl1, int waternetLineCount, bool is2DBasedOn1D) { const double pL1Level = 0.0; const double xLeft = 0.0; @@ -626,7 +579,9 @@ }); const double penetrateLength = 2.1; - Waternet waternet = PlLinesToWaternetConverter.CreateWaternetBasedOnPlLines(plLines, soilProfile1D, surfaceLine, penetrateLength, pressureType); + Waternet waternet = is2DBasedOn1D ? + PlLinesToWaternetConverter.CreateWaternetBasedOnPlLines(plLines, soilProfile2D, surfaceLine, penetrateLength, pressureType) : + PlLinesToWaternetConverter.CreateWaternetBasedOnPlLines(plLines, soilProfile1D, surfaceLine, penetrateLength, pressureType); // Pl 1 is the phreatic line and gets waternet line to bottom level of the deepest layer where PL 1 lies // Pl 2 gets waternet line to level of BottomAquiferLayer.TopLevel + penetrationLength @@ -933,7 +888,7 @@ { double xA = leftCoordinate + (rightCoordinate - leftCoordinate) / 3; double xB = rightCoordinate - (rightCoordinate - leftCoordinate) / 3; - var soilProfile = new SoilProfile2D + var soilProfile2D = new SoilProfile2D { Geometry = new GeometryData { @@ -944,54 +899,54 @@ }; // Setup - SoilLayer2D aquitard1 = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(20, 10, leftCoordinate, rightCoordinate, soilProfile); - SoilLayer2D aquifer2A = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(10, 0, leftCoordinate, xA, soilProfile, null, true); - SoilLayer2D aquifer2B = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(10, 0, xA, xB, soilProfile, null, true); - SoilLayer2D aquifer2C = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(10, 0, xB, rightCoordinate, soilProfile, null, true); - SoilLayer2D aquitard3 = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(0, -10, leftCoordinate, rightCoordinate, soilProfile); - SoilLayer2D aquifer4A = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-10, -20, leftCoordinate, xA, soilProfile, null, true); - SoilLayer2D aquifer4B = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-10, -20, xA, xB, soilProfile, null, true); - SoilLayer2D aquifer4C = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-10, -20, xB, rightCoordinate, soilProfile, null, true); - SoilLayer2D aquitard5 = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-20, -25, leftCoordinate, rightCoordinate, soilProfile); - SoilLayer2D aquifer6A = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-25, -30, leftCoordinate, xA, soilProfile, null, true); - SoilLayer2D aquifer6B = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-25, -30, xA, xB, soilProfile, null, true); - SoilLayer2D aquifer6C = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-25, -30, xB, rightCoordinate, soilProfile, null, true); - SoilLayer2D aquifer7A = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-30, -35, leftCoordinate, xA, soilProfile, null, true); - SoilLayer2D aquifer7B = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-30, -35, xA, xB, soilProfile, null, true); - SoilLayer2D aquifer7C = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-30, -35, xB, rightCoordinate, soilProfile, null, true); + SoilLayer2D aquitard1 = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(20, 10, leftCoordinate, rightCoordinate, soilProfile2D); + SoilLayer2D aquifer2A = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(10, 0, leftCoordinate, xA, soilProfile2D, null, true); + SoilLayer2D aquifer2B = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(10, 0, xA, xB, soilProfile2D, null, true); + SoilLayer2D aquifer2C = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(10, 0, xB, rightCoordinate, soilProfile2D, null, true); + SoilLayer2D aquitard3 = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(0, -10, leftCoordinate, rightCoordinate, soilProfile2D); + SoilLayer2D aquifer4A = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-10, -20, leftCoordinate, xA, soilProfile2D, null, true); + SoilLayer2D aquifer4B = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-10, -20, xA, xB, soilProfile2D, null, true); + SoilLayer2D aquifer4C = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-10, -20, xB, rightCoordinate, soilProfile2D, null, true); + SoilLayer2D aquitard5 = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-20, -25, leftCoordinate, rightCoordinate, soilProfile2D); + SoilLayer2D aquifer6A = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-25, -30, leftCoordinate, xA, soilProfile2D, null, true); + SoilLayer2D aquifer6B = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-25, -30, xA, xB, soilProfile2D, null, true); + SoilLayer2D aquifer6C = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-25, -30, xB, rightCoordinate, soilProfile2D, null, true); + SoilLayer2D aquifer7A = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-30, -35, leftCoordinate, xA, soilProfile2D, null, true); + SoilLayer2D aquifer7B = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-30, -35, xA, xB, soilProfile2D, null, true); + SoilLayer2D aquifer7C = FactoryForSoilProfiles.CreateRectangularSoilLayer2D(-30, -35, xB, rightCoordinate, soilProfile2D, null, true); - soilProfile.Surfaces.Add(aquitard1); - soilProfile.Surfaces.Add(aquifer2A); - soilProfile.Surfaces.Add(aquifer2B); - soilProfile.Surfaces.Add(aquifer2C); - soilProfile.Surfaces.Add(aquitard3); - soilProfile.Surfaces.Add(aquifer4A); - soilProfile.Surfaces.Add(aquifer4B); - soilProfile.Surfaces.Add(aquifer4C); - soilProfile.Surfaces.Add(aquitard5); - soilProfile.Surfaces.Add(aquifer6A); - soilProfile.Surfaces.Add(aquifer6B); - soilProfile.Surfaces.Add(aquifer6C); - soilProfile.Surfaces.Add(aquifer7A); - soilProfile.Surfaces.Add(aquifer7B); - soilProfile.Surfaces.Add(aquifer7C); - soilProfile.Geometry.Surfaces.Add(aquitard1.GeometrySurface); - soilProfile.Geometry.Surfaces.Add(aquifer2A.GeometrySurface); - soilProfile.Geometry.Surfaces.Add(aquifer2B.GeometrySurface); - soilProfile.Geometry.Surfaces.Add(aquifer2C.GeometrySurface); - soilProfile.Geometry.Surfaces.Add(aquitard3.GeometrySurface); - soilProfile.Geometry.Surfaces.Add(aquifer4A.GeometrySurface); - soilProfile.Geometry.Surfaces.Add(aquifer4B.GeometrySurface); - soilProfile.Geometry.Surfaces.Add(aquifer4C.GeometrySurface); - soilProfile.Geometry.Surfaces.Add(aquitard5.GeometrySurface); - soilProfile.Geometry.Surfaces.Add(aquifer6A.GeometrySurface); - soilProfile.Geometry.Surfaces.Add(aquifer6B.GeometrySurface); - soilProfile.Geometry.Surfaces.Add(aquifer6C.GeometrySurface); - soilProfile.Geometry.Surfaces.Add(aquifer7A.GeometrySurface); - soilProfile.Geometry.Surfaces.Add(aquifer7B.GeometrySurface); - soilProfile.Geometry.Surfaces.Add(aquifer7C.GeometrySurface); + soilProfile2D.Surfaces.Add(aquitard1); + soilProfile2D.Surfaces.Add(aquifer2A); + soilProfile2D.Surfaces.Add(aquifer2B); + soilProfile2D.Surfaces.Add(aquifer2C); + soilProfile2D.Surfaces.Add(aquitard3); + soilProfile2D.Surfaces.Add(aquifer4A); + soilProfile2D.Surfaces.Add(aquifer4B); + soilProfile2D.Surfaces.Add(aquifer4C); + soilProfile2D.Surfaces.Add(aquitard5); + soilProfile2D.Surfaces.Add(aquifer6A); + soilProfile2D.Surfaces.Add(aquifer6B); + soilProfile2D.Surfaces.Add(aquifer6C); + soilProfile2D.Surfaces.Add(aquifer7A); + soilProfile2D.Surfaces.Add(aquifer7B); + soilProfile2D.Surfaces.Add(aquifer7C); + soilProfile2D.Geometry.Surfaces.Add(aquitard1.GeometrySurface); + soilProfile2D.Geometry.Surfaces.Add(aquifer2A.GeometrySurface); + soilProfile2D.Geometry.Surfaces.Add(aquifer2B.GeometrySurface); + soilProfile2D.Geometry.Surfaces.Add(aquifer2C.GeometrySurface); + soilProfile2D.Geometry.Surfaces.Add(aquitard3.GeometrySurface); + soilProfile2D.Geometry.Surfaces.Add(aquifer4A.GeometrySurface); + soilProfile2D.Geometry.Surfaces.Add(aquifer4B.GeometrySurface); + soilProfile2D.Geometry.Surfaces.Add(aquifer4C.GeometrySurface); + soilProfile2D.Geometry.Surfaces.Add(aquitard5.GeometrySurface); + soilProfile2D.Geometry.Surfaces.Add(aquifer6A.GeometrySurface); + soilProfile2D.Geometry.Surfaces.Add(aquifer6B.GeometrySurface); + soilProfile2D.Geometry.Surfaces.Add(aquifer6C.GeometrySurface); + soilProfile2D.Geometry.Surfaces.Add(aquifer7A.GeometrySurface); + soilProfile2D.Geometry.Surfaces.Add(aquifer7B.GeometrySurface); + soilProfile2D.Geometry.Surfaces.Add(aquifer7C.GeometrySurface); - return soilProfile; + return soilProfile2D; } } } \ No newline at end of file