Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillMacroStabilityInterfaceInputFromEngine.cs =================================================================== diff -u -r6359 -r6361 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillMacroStabilityInterfaceInputFromEngine.cs (.../FillMacroStabilityInterfaceInputFromEngine.cs) (revision 6359) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillMacroStabilityInterfaceInputFromEngine.cs (.../FillMacroStabilityInterfaceInputFromEngine.cs) (revision 6361) @@ -102,14 +102,6 @@ var macroStabilityInterface = new MacroStability.Interface.MacroStabilityInterface(fullInputModelType); return macroStabilityInterface; - // macroStabilityInput.StabilityModel.UpliftVanCalculationGrid = new KernelUpliftVanCalculationGrid(); - // macroStabilityInput.StabilityModel.ConstructionStages.Add(new ConstructionStage()); - // ConstructionStage lastStage = macroStabilityInput.StabilityModel.ConstructionStages.Last(); - // - // TransferStabilityModelProperties(mStabParameters, macroStabilityInput.StabilityModel); - // TransferSlipPlaneConstraints(damKernelInput.Location, macroStabilityInput.StabilityModel.SlipPlaneConstraints); - // TransferSoils(damKernelInput.Location.SoilList, macroStabilityInput.StabilityModel.Soils, lastStage.FixedSoilStresses); - // // lastStage.SoilProfile = new SoilProfile(); // lastStage.PreconsolidationStresses = new List(); // lastStage.WaterDefinition = WaterDefinition.WaterNet; @@ -123,20 +115,7 @@ // lastStage.Waternet = new KernelWaternet(); // TransferWaternet(waterNet, lastStage.Waternet); // - // SearchAreaConditions preprocessingSearchAreaConditions = macroStabilityInput.PreprocessingInput.SearchAreaConditions; - // switch (mStabParameters.Model) - // { - // case StabilityModelType.Bishop: - // TransferBishopSearchAreaSettings(preprocessingSearchAreaConditions); - // TransferBishopCalculationGrid(macroStabilityInput.StabilityModel.BishopCalculationCircle); - // break; - // case StabilityModelType.UpliftVan: - // TransferUpliftVanSearchAreaSettings(preprocessingSearchAreaConditions); - // TransferUpliftVanCalculationGrid(macroStabilityInput.StabilityModel.UpliftVanCalculationGrid); - // break; - // default: - // throw new NotImplementedException(nameof(mStabParameters.Model)); - // } + // // lastStage.UniformLoads = new List(); // TransferUniformLoads(TrafficLoad, lastStage.UniformLoads); @@ -179,18 +158,18 @@ { SearchAreaConditionsType preprocessingSearchAreaConditions = new SearchAreaConditionsType { - AutoGeneticAlgorithmOptions = false, //#Bka or true? is not to be found at engine side + AutoGeneticAlgorithmOptions = false, //#Bka or true? is not to be found at engine side; or just set specified to false!? AutoGeneticAlgorithmOptionsSpecified = true, - AutoLevenbergMarquardtOptions = false, //#Bka or true? is not to be found at engine side + AutoLevenbergMarquardtOptions = false, //#Bka or true? is not to be found at engine side; or just set specified to false!? AutoLevenbergMarquardtOptionsSpecified = true, AutoSearchAreaSpecified = true, AutoTangentLinesSpecified = true, - AutomaticForbiddenZones = false, //#Bka or true? is not to be found at engine side + AutomaticForbiddenZones = false, //#Bka or true? is not to be found at engine side; or just set specified to false!? AutomaticForbiddenZonesSpecified = true, MaxSpacingBetweenBoundaries = 0.8, MaxSpacingBetweenBoundariesSpecified = true, OnlyAbovePleistoceenSpecified = true, - SlipPlanePosition = SearchAreaConditionsTypeSlipPlanePosition.High, //#Bka = default in C#wrapper, is not to be found at engine side + SlipPlanePosition = SearchAreaConditionsTypeSlipPlanePosition.High, //#Bka = default in C#wrapper, is not to be found at engine side; or just set specified to false!? SlipPlanePositionSpecified = true, TangentLineNumberSpecified = true, TangentLineZBottomSpecified = true, @@ -293,9 +272,11 @@ var stabilityInputType = new StabilityInputType { - UpliftVanCalculationGrid = new UpliftVanCalculationGridType() + UpliftVanCalculationGrid = new UpliftVanCalculationGridType(), + ConstructionStages = new ConstructionStageInputType[1], + SlipPlaneConstraints = new SlipPlaneConstraintsType() }; - stabilityInputType.ConstructionStages.AddRange([new ConstructionStageInputType()]); + stabilityInputType.ConstructionStages[0] = new ConstructionStageInputType(); ConstructionStageInputType lastStage = stabilityInputType.ConstructionStages.Last(); TransferStabilityModelProperties(mStabParameters, stabilityInputType); @@ -403,7 +384,7 @@ } private void TransferSoilProfile(SoilProfile2D damSoilProfile2D, SoilProfileType kernelSoilProfile, - ICollection preConsolidationStresses, ObjectRegistry registry) + PreconsolidationStressType[] preConsolidationStresses, ObjectRegistry registry) { // Add points kernelSoilProfile.Geometry = new GeometryType @@ -428,8 +409,9 @@ TransferSoilProfilePreConsolidationStresses(damSoilProfile2D, preConsolidationStresses); } - private static void TransferSoilProfilePreConsolidationStresses(SoilProfile2D damSoilProfile2D, ICollection preConsolidationStresses) + private static void TransferSoilProfilePreConsolidationStresses(SoilProfile2D damSoilProfile2D, PreconsolidationStressType[] preConsolidationStresses) { + int i = 0; foreach (PreConsolidationStress preConsolidationStress in damSoilProfile2D.PreconsolidationStresses) { var kernelPreConsolidationStressType = new PreconsolidationStressType @@ -441,7 +423,8 @@ }, StressValue = preConsolidationStress.StressValue }; - preConsolidationStresses.Add(kernelPreConsolidationStressType); + preConsolidationStresses[i] = kernelPreConsolidationStressType; + i++; } } @@ -482,7 +465,10 @@ int j = 0; foreach (GeometryLoop damSurfaceInnerLoop in damGeometrySurface.InnerLoops) { - kernelGeometrySurface.InnerLoops[j].Loop = registry.GetId(damSurfaceInnerLoop); + kernelGeometrySurface.InnerLoops[j] = new GeometrySurfaceTypeInnerLoop + { + Loop = registry.GetId(damSurfaceInnerLoop) + }; } kernelSoilProfile.Geometry.GeometrySurfaces [i] = kernelGeometrySurface;