From 86de9a5b45902d017e2b7240373234d9135b2b5d Mon Sep 17 00:00:00 2001 From: Geoffroy Lesur Date: Wed, 25 Mar 2026 22:44:40 +0100 Subject: [PATCH 1/2] remove divide by |B| in divB check to avoid too large divB in regions where B is null --- src/fluid/checkDivB.hpp | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/fluid/checkDivB.hpp b/src/fluid/checkDivB.hpp index c78f6b3e0..dc0af11b1 100644 --- a/src/fluid/checkDivB.hpp +++ b/src/fluid/checkDivB.hpp @@ -31,12 +31,9 @@ real Fluid::CheckDivB() { KOKKOS_LAMBDA (int k, int j, int i, real &divBmax) { [[maybe_unused]] real dB1,dB2,dB3; [[maybe_unused]] real d1, d2, d3; - [[maybe_unused]] real B1,B2,B3; dB1=dB2=dB3=ZERO_F; d1=d2=d3=ZERO_F; - B1=B2=B3=ZERO_F; - D_EXPAND( dB1=(Ax1(k,j,i+1)*Vs(BX1s,k,j,i+1)-Ax1(k,j,i)*Vs(BX1s,k,j,i)); , dB2=(Ax2(k,j+1,i)*Vs(BX2s,k,j+1,i)-Ax2(k,j,i)*Vs(BX2s,k,j,i)); , @@ -46,12 +43,8 @@ real Fluid::CheckDivB() { d2=0.5*(Ax2(k,j+1,i) + Ax2(k,j,i)); , d3=0.5*(Ax3(k+1,j,i) + Ax3(k,j,i)); ) - D_EXPAND( B1=0.5*(Vs(BX1s,k,j,i+1) + Vs(BX1s,k,j,i)); , - B2=0.5*(Vs(BX2s,k,j+1,i) + Vs(BX2s,k,j,i)); , - B3=0.5*(Vs(BX3s,k+1,j,i) + Vs(BX3s,k,j,i)); ) - real amplitude = 1e-40; - amplitude += D_EXPAND( std::fabs(B1)*d1, + std::fabs(B2)*d2, + std::fabs(B3)*d3 ); + const real amplitude += D_EXPAND( d1, + d2, + d3 ); divBmax=FMAX(FABS(D_EXPAND(dB1, +dB2, +dB3))/amplitude,divBmax); }, From 4fe1988a1b21adcf4eb680ee168ca85f84240247 Mon Sep 17 00:00:00 2001 From: Geoffroy Lesur Date: Wed, 25 Mar 2026 23:14:17 +0100 Subject: [PATCH 2/2] typo --- src/fluid/checkDivB.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fluid/checkDivB.hpp b/src/fluid/checkDivB.hpp index dc0af11b1..6e47d4c8c 100644 --- a/src/fluid/checkDivB.hpp +++ b/src/fluid/checkDivB.hpp @@ -44,7 +44,7 @@ real Fluid::CheckDivB() { d3=0.5*(Ax3(k+1,j,i) + Ax3(k,j,i)); ) - const real amplitude += D_EXPAND( d1, + d2, + d3 ); + const real amplitude = D_EXPAND( d1, + d2, + d3 ); divBmax=FMAX(FABS(D_EXPAND(dB1, +dB2, +dB3))/amplitude,divBmax); },