Skip to content

Commit 5b52d83

Browse files
committed
fix: correct MTHINC normals on non-uniform grids by weighting by cell width
1 parent 8991b27 commit 5b52d83

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

src/simulation/m_thinc.fpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -258,16 +258,19 @@ contains
258258
ac = v_vf(eqn_idx%adv%beg)%sf(j, k, l)
259259

260260
if (ac >= ic_eps .and. ac <= 1._wp - ic_eps) then
261-
nr_x = (v_vf(eqn_idx%adv%beg)%sf(j + 1, k, l) - v_vf(eqn_idx%adv%beg)%sf(j - 1, k, l))*5e-1_wp
261+
nr_x = (v_vf(eqn_idx%adv%beg)%sf(j + 1, k, l) - v_vf(eqn_idx%adv%beg)%sf(j - 1, k, &
262+
& l))*(x_cb(j) - x_cb(j - 1))/(x_cc(j + 1) - x_cc(j - 1))
262263

263264
nr_y = 0._wp
264265
if (n > 0) then
265-
nr_y = (v_vf(eqn_idx%adv%beg)%sf(j, k + 1, l) - v_vf(eqn_idx%adv%beg)%sf(j, k - 1, l))*5e-1_wp
266+
nr_y = (v_vf(eqn_idx%adv%beg)%sf(j, k + 1, l) - v_vf(eqn_idx%adv%beg)%sf(j, k - 1, &
267+
& l))*(y_cb(k) - y_cb(k - 1))/(y_cc(k + 1) - y_cc(k - 1))
266268
end if
267269

268270
nr_z = 0._wp
269271
if (p > 0) then
270-
nr_z = (v_vf(eqn_idx%adv%beg)%sf(j, k, l + 1) - v_vf(eqn_idx%adv%beg)%sf(j, k, l - 1))*5e-1_wp
272+
nr_z = (v_vf(eqn_idx%adv%beg)%sf(j, k, l + 1) - v_vf(eqn_idx%adv%beg)%sf(j, k, &
273+
& l - 1))*(z_cb(l) - z_cb(l - 1))/(z_cc(l + 1) - z_cc(l - 1))
271274
end if
272275

273276
nmag = sqrt(nr_x*nr_x + nr_y*nr_y + nr_z*nr_z)

0 commit comments

Comments
 (0)