Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillDamEngineFromWti.cs =================================================================== diff -u -r2044 -r2045 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillDamEngineFromWti.cs (.../FillDamEngineFromWti.cs) (revision 2044) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillDamEngineFromWti.cs (.../FillDamEngineFromWti.cs) (revision 2045) @@ -75,19 +75,13 @@ /// The DamProjectData object filled with Wti data public void FillDamProjectDataFromKernelModel(KernelModel kernelModel) { - SoilList = new SoilList(); - Location = new Location(); - SoilProfile2D = new SoilProfile2D(); - SurfaceLine2 = new SurfaceLine2(); - Waternet = new Data.Geometry.Waternet(); - UpliftVanCalculationGrid = new UpliftVanCalculationGrid(); - FailureMechanismParametersMStab = new FailureMechanismParametersMStab(); - TransferWtiStabilityModel(kernelModel.StabilityModel, FailureMechanismParametersMStab); + Location = null; + TransferWtiStabilityModel(kernelModel.StabilityModel); TransferSoils(kernelModel.StabilityModel.Soils); TransferSoilProfile2D(kernelModel.StabilityModel.SoilProfile); - TransferSurfaceLine(kernelModel.PreprocessingModel.LastStage.SurfaceLine, SurfaceLine2); - TransferWaternet(kernelModel.StabilityModel.LastStage.GeotechnicsData.CurrentWaternet, Waternet); - TransferUpliftVanCalculationGrid(kernelModel.StabilityModel.SlipPlaneUpliftVan, kernelModel.PreprocessingModel.SearchAreaConditions, UpliftVanCalculationGrid); + TransferSurfaceLine(kernelModel.PreprocessingModel.LastStage.SurfaceLine); + TransferWaternet(kernelModel.StabilityModel.LastStage.GeotechnicsData.CurrentWaternet); + TransferUpliftVanCalculationGrid(kernelModel.StabilityModel.SlipPlaneUpliftVan, kernelModel.PreprocessingModel.SearchAreaConditions); TransferTrafficLoad(kernelModel.StabilityModel.LastStage.UniformLoads); } @@ -113,33 +107,34 @@ } private void TransferUpliftVanCalculationGrid(SlipPlaneUpliftVan kernelSlipPlaneUpliftVan, - SearchAreaConditions kernelSearchAreaConditions, - UpliftVanCalculationGrid damUpliftVanCalculationGrid) + SearchAreaConditions kernelSearchAreaConditions) { - damUpliftVanCalculationGrid.IsAuto = kernelSearchAreaConditions.AutoSearchArea; - damUpliftVanCalculationGrid.LeftGridXCount = kernelSlipPlaneUpliftVan.SlipPlaneLeftGrid.GridXNumber; - damUpliftVanCalculationGrid.LeftGridXLeft = kernelSlipPlaneUpliftVan.SlipPlaneLeftGrid.GridXLeft; - damUpliftVanCalculationGrid.LeftGridXRight = kernelSlipPlaneUpliftVan.SlipPlaneLeftGrid.GridXRight; - damUpliftVanCalculationGrid.LeftGridZCount = kernelSlipPlaneUpliftVan.SlipPlaneLeftGrid.GridZNumber; - damUpliftVanCalculationGrid.LeftGridZTop = kernelSlipPlaneUpliftVan.SlipPlaneLeftGrid.GridZTop; - damUpliftVanCalculationGrid.LeftGridZBottom = kernelSlipPlaneUpliftVan.SlipPlaneLeftGrid.GridZBottom; - damUpliftVanCalculationGrid.RightGridXCount = kernelSlipPlaneUpliftVan.SlipPlaneRightGrid.GridXNumber; - damUpliftVanCalculationGrid.RightGridXLeft = kernelSlipPlaneUpliftVan.SlipPlaneRightGrid.GridXLeft; - damUpliftVanCalculationGrid.RightGridXRight = kernelSlipPlaneUpliftVan.SlipPlaneRightGrid.GridXRight; - damUpliftVanCalculationGrid.RightGridZCount = kernelSlipPlaneUpliftVan.SlipPlaneRightGrid.GridZNumber; - damUpliftVanCalculationGrid.RightGridZTop = kernelSlipPlaneUpliftVan.SlipPlaneRightGrid.GridZTop; - damUpliftVanCalculationGrid.RightGridZBottom = kernelSlipPlaneUpliftVan.SlipPlaneRightGrid.GridZBottom; - damUpliftVanCalculationGrid.TangentLineAutomaticAtBoundaries = kernelSearchAreaConditions.AutoTangentLines; - damUpliftVanCalculationGrid.TangentLineCount = kernelSlipPlaneUpliftVan.SlipPlaneTangentLine.TangentLineNumber; - damUpliftVanCalculationGrid.TangentLineZTop = kernelSlipPlaneUpliftVan.SlipPlaneTangentLine.TangentLineZTop; - damUpliftVanCalculationGrid.TangentLineZBottom = kernelSlipPlaneUpliftVan.SlipPlaneTangentLine.TangentLineZBottom; + UpliftVanCalculationGrid = new UpliftVanCalculationGrid(); + UpliftVanCalculationGrid.IsAuto = kernelSearchAreaConditions.AutoSearchArea; + UpliftVanCalculationGrid.LeftGridXCount = kernelSlipPlaneUpliftVan.SlipPlaneLeftGrid.GridXNumber; + UpliftVanCalculationGrid.LeftGridXLeft = kernelSlipPlaneUpliftVan.SlipPlaneLeftGrid.GridXLeft; + UpliftVanCalculationGrid.LeftGridXRight = kernelSlipPlaneUpliftVan.SlipPlaneLeftGrid.GridXRight; + UpliftVanCalculationGrid.LeftGridZCount = kernelSlipPlaneUpliftVan.SlipPlaneLeftGrid.GridZNumber; + UpliftVanCalculationGrid.LeftGridZTop = kernelSlipPlaneUpliftVan.SlipPlaneLeftGrid.GridZTop; + UpliftVanCalculationGrid.LeftGridZBottom = kernelSlipPlaneUpliftVan.SlipPlaneLeftGrid.GridZBottom; + UpliftVanCalculationGrid.RightGridXCount = kernelSlipPlaneUpliftVan.SlipPlaneRightGrid.GridXNumber; + UpliftVanCalculationGrid.RightGridXLeft = kernelSlipPlaneUpliftVan.SlipPlaneRightGrid.GridXLeft; + UpliftVanCalculationGrid.RightGridXRight = kernelSlipPlaneUpliftVan.SlipPlaneRightGrid.GridXRight; + UpliftVanCalculationGrid.RightGridZCount = kernelSlipPlaneUpliftVan.SlipPlaneRightGrid.GridZNumber; + UpliftVanCalculationGrid.RightGridZTop = kernelSlipPlaneUpliftVan.SlipPlaneRightGrid.GridZTop; + UpliftVanCalculationGrid.RightGridZBottom = kernelSlipPlaneUpliftVan.SlipPlaneRightGrid.GridZBottom; + UpliftVanCalculationGrid.TangentLineAutomaticAtBoundaries = kernelSearchAreaConditions.AutoTangentLines; + UpliftVanCalculationGrid.TangentLineCount = kernelSlipPlaneUpliftVan.SlipPlaneTangentLine.TangentLineNumber; + UpliftVanCalculationGrid.TangentLineZTop = kernelSlipPlaneUpliftVan.SlipPlaneTangentLine.TangentLineZTop; + UpliftVanCalculationGrid.TangentLineZBottom = kernelSlipPlaneUpliftVan.SlipPlaneTangentLine.TangentLineZBottom; } - private void TransferWaternet(Waternet kernelWaternet, Data.Geometry.Waternet damWaternet) + private void TransferWaternet(Waternet kernelWaternet) { + Waternet = new Data.Geometry.Waternet(); // Properties - damWaternet.IsGenerated = kernelWaternet.IsGenerated; - damWaternet.UnitWeight = kernelWaternet.UnitWeight; + Waternet.IsGenerated = kernelWaternet.IsGenerated; + Waternet.UnitWeight = kernelWaternet.UnitWeight; // Phreatic Line var damPhreaticLine = new PhreaticLine() @@ -151,7 +146,7 @@ damPhreaticLine.CalcPoints.Add(new Data.Geometry.Point2D(kernelPoint.X, kernelPoint.Z)); } dictHeadLines.Add(kernelWaternet.PhreaticLine, damPhreaticLine); - damWaternet.PhreaticLine = damPhreaticLine; + Waternet.PhreaticLine = damPhreaticLine; // Head Lines foreach (var kernelHeadLine in kernelWaternet.HeadLineList) @@ -164,7 +159,7 @@ { damHeadLine.CalcPoints.Add(new Data.Geometry.Point2D(kernelPoint.X, kernelPoint.Z)); } - damWaternet.HeadLineList.Add(damHeadLine); + Waternet.HeadLineList.Add(damHeadLine); dictHeadLines.Add(kernelHeadLine, damHeadLine); } @@ -181,12 +176,13 @@ } damWaternetLine.HeadLine = dictHeadLines[kernelWaternetLine.HeadLine]; - damWaternet.WaternetLineList.Add(damWaternetLine); + Waternet.WaternetLineList.Add(damWaternetLine); } } - private void TransferSurfaceLine(MacroStability.Geometry.SurfaceLine2 kernelSurfaceLine2, SurfaceLine2 damSurfaceLine) + private void TransferSurfaceLine(MacroStability.Geometry.SurfaceLine2 kernelSurfaceLine2) { + SurfaceLine2 = new SurfaceLine2(); foreach (var kernelCharPoint in kernelSurfaceLine2.CharacteristicPoints) { CharacteristicPoint damCharPoint; @@ -199,12 +195,13 @@ Z = kernelCharPoint.Z } }; - damSurfaceLine.CharacteristicPoints.Add(damCharPoint); + SurfaceLine2.CharacteristicPoints.Add(damCharPoint); } } private void TransferSoils(IList stabilityModelSoils) { + SoilList = new SoilList(); foreach (Soil kernelSoil in stabilityModelSoils) { var damSoil = ConversionHelper.ConvertToDamSoil(kernelSoil); @@ -213,20 +210,22 @@ } } - private void TransferWtiStabilityModel(StabilityModel kernelModelStabilityModel, FailureMechanismParametersMStab failureMechanismParametersMStab) + private void TransferWtiStabilityModel(StabilityModel kernelModelStabilityModel) { + FailureMechanismParametersMStab = new FailureMechanismParametersMStab(); // kernelModelStabilityModel.MoveGrid is not in DamEngine datamodel // kernelModelStabilityModel.MaximumSliceWidth is not in DamEngine datamodel - failureMechanismParametersMStab.MStabParameters.SearchMethod = + FailureMechanismParametersMStab.MStabParameters.SearchMethod = ConversionHelper.ConvertToDamSearchMethod(kernelModelStabilityModel.SearchAlgorithm); - failureMechanismParametersMStab.MStabParameters.Model = + FailureMechanismParametersMStab.MStabParameters.Model = ConversionHelper.ConvertToMStabModelType(kernelModelStabilityModel.ModelOption); - failureMechanismParametersMStab.MStabParameters.GridPosition = + FailureMechanismParametersMStab.MStabParameters.GridPosition = ConversionHelper.ConvertToMStabGridPosition(kernelModelStabilityModel.GridOrientation); } private void TransferSoilProfile2D(MacroStability.Geometry.SoilProfile2D kernelsoilProfile2D) { + SoilProfile2D = new SoilProfile2D(); Dictionary dictPoints = new Dictionary(); Dictionary dictCurves = new Dictionary(); Dictionary dictLoops = new Dictionary();