From 902584c249c4ef43f9bb405ac322b42b0487d070 Mon Sep 17 00:00:00 2001
From: Frederik Hennig <frederik.hennig@fau.de>
Date: Mon, 18 Nov 2024 12:08:45 +0100
Subject: [PATCH] fix: cast offsets in BC force calculation

---
 src/lbmpy/boundaries/boundaryconditions.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/lbmpy/boundaries/boundaryconditions.py b/src/lbmpy/boundaries/boundaryconditions.py
index 1fd4864d..37304460 100644
--- a/src/lbmpy/boundaries/boundaryconditions.py
+++ b/src/lbmpy/boundaries/boundaryconditions.py
@@ -147,6 +147,8 @@ class NoSlip(LbBoundary):
             force = sp.Symbol("f")
             subexpressions = [Assignment(force, sp.Float(2.0) * f_out(dir_symbol))]
             offset = NeighbourOffsetArrays.neighbour_offset(dir_symbol, lb_method.stencil)
+            if IS_PYSTENCILS_2:
+                offset = [CastFunc.as_numeric(o) for o in offset]
             for i in range(lb_method.stencil.D):
                 subexpressions.append(Assignment(force_vector[0](f'F_{i}'), force * offset[i]))
         else:
@@ -228,6 +230,8 @@ class NoSlipLinearBouzidi(LbBoundary):
             force = sp.Symbol("f")
             subexpressions.append(Assignment(force, f_xf + rhs))
             offset = NeighbourOffsetArrays.neighbour_offset(dir_symbol, lb_method.stencil)
+            if IS_PYSTENCILS_2:
+                offset = [CastFunc.as_numeric(o) for o in offset]
             for i in range(lb_method.stencil.D):
                 subexpressions.append(Assignment(force_vector[0](f'F_{i}'), force * offset[i]))
 
@@ -382,6 +386,8 @@ class QuadraticBounceBack(LbBoundary):
             force = sp.Symbol("f")
             subexpressions.append(Assignment(force, f_xf + result))
             offset = NeighbourOffsetArrays.neighbour_offset(dir_symbol, lb_method.stencil)
+            if IS_PYSTENCILS_2:
+                offset = [CastFunc.as_numeric(o) for o in offset]
             for i in range(lb_method.stencil.D):
                 subexpressions.append(Assignment(force_vector[0](f'F_{i}'), force * offset[i]))
 
-- 
GitLab