From 5e3b38853a3f8fddd9cc0e76a01b50c258983393 Mon Sep 17 00:00:00 2001
From: HenrikAsmuth <henrik.asmuth@geo.uu.se>
Date: Tue, 24 May 2022 15:54:21 +0200
Subject: [PATCH] added levels to SlipBC

---
 .../grid/GridBuilder/LevelGridBuilder.cpp       | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp b/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
index c6fa80c7a..6dc3085f8 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, 
-- 
GitLab