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