Skip to content

Commit 48a4e52

Browse files
committed
Fix eb_add_divergence_from_flow for anisotropic dxinv
1 parent 0b56ec9 commit 48a4e52

2 files changed

Lines changed: 13 additions & 2 deletions

File tree

Src/EB/AMReX_EBMultiFabUtil_2D_C.H

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -607,7 +607,12 @@ void eb_add_divergence_from_flow (int i, int j, int k, int n, Array4<Real> const
607607
Real Ueb_dot_n = vel_eb(i,j,k,0)*bnorm(i,j,k,0)
608608
+ vel_eb(i,j,k,1)*bnorm(i,j,k,1);
609609

610-
divu(i,j,k,n) += Ueb_dot_n * barea(i,j,k) * dxinv[0] / vfrc(i,j,k);
610+
Real nx_dxinv = bnorm(i,j,k,0) * dxinv[0];
611+
Real ny_dyinv = bnorm(i,j,k,1) * dxinv[1];
612+
613+
Real dl_eb_inv = std::hypot(nx_dxinv, ny_dyinv);
614+
615+
divu(i,j,k,n) += Ueb_dot_n * barea(i,j,k) * dl_eb_inv / vfrc(i,j,k);
611616
}
612617
}
613618

Src/EB/AMReX_EBMultiFabUtil_3D_C.H

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1368,7 +1368,13 @@ void eb_add_divergence_from_flow (int i, int j, int k, int n, Array4<Real> const
13681368
+ vel_eb(i,j,k,1)*bnorm(i,j,k,1)
13691369
+ vel_eb(i,j,k,2)*bnorm(i,j,k,2);
13701370

1371-
divu(i,j,k,n) += Ueb_dot_n * barea(i,j,k) * dxinv[0] / vfrc(i,j,k);
1371+
Real nx_dxinv = bnorm(i,j,k,0) * dxinv[0];
1372+
Real ny_dyinv = bnorm(i,j,k,1) * dxinv[1];
1373+
Real nz_dzinv = bnorm(i,j,k,2) * dxinv[2];
1374+
1375+
Real dl_eb_inv = std::sqrt(nx_dxinv*nx_dxinv + ny_dyinv*ny_dyinv + nz_dzinv*nz_dzinv);
1376+
1377+
divu(i,j,k,n) += Ueb_dot_n * barea(i,j,k) * dl_eb_inv / vfrc(i,j,k);
13721378
}
13731379
}
13741380

0 commit comments

Comments
 (0)