diff --git a/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp b/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp index c6fa80c7aa2041f26a1bd60b96739b331f3f5640..6dc3085f8cef95bafab0784ec8fd8c0688630ca5 100644 --- a/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp +++ b/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp @@ -76,17 +76,20 @@ std::shared_ptr<LevelGridBuilder> LevelGridBuilder::makeShared() void LevelGridBuilder::setSlipBoundaryCondition(SideType sideType, real nomalX, real normalY, real normalZ) { - SPtr<SlipBoundaryCondition> slipBoundaryCondition = SlipBoundaryCondition::make(nomalX, normalY, normalZ); + for (uint level = 0; level < getNumberOfGridLevels(); level++) + { + SPtr<SlipBoundaryCondition> slipBoundaryCondition = SlipBoundaryCondition::make(nomalX, normalY, normalZ); - auto side = SideFactory::make(sideType); + auto side = SideFactory::make(sideType); - slipBoundaryCondition->side = side; - slipBoundaryCondition->side->addIndices(grids, 0, slipBoundaryCondition); + slipBoundaryCondition->side = side; + slipBoundaryCondition->side->addIndices(grids, level, slipBoundaryCondition); - slipBoundaryCondition->fillSlipNormalLists(); - boundaryConditions[0]->slipBoundaryConditions.push_back(slipBoundaryCondition); + slipBoundaryCondition->fillSlipNormalLists(); + boundaryConditions[level]->slipBoundaryConditions.push_back(slipBoundaryCondition); - *logging::out << logging::Logger::INFO_INTERMEDIATE << "Set Slip BC on level " << 0 << " with " << (int)slipBoundaryCondition->indices.size() << "\n"; + *logging::out << logging::Logger::INFO_INTERMEDIATE << "Set Slip BC on level " << level << " with " << (int)slipBoundaryCondition->indices.size() << "\n"; + } } void LevelGridBuilder::setStressBoundaryCondition( SideType sideType,