Skip to content

Commit f28a0b5

Browse files
authored
Clean up notation in compute_w kernel (#4378)
* Clean up notation in compute_w kernel * fix
1 parent 2fec501 commit f28a0b5

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

src/Models/HydrostaticFreeSurfaceModels/compute_w_from_continuity.jl

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,20 @@ compute_w_from_continuity!(velocities, arch, grid; parameters = w_kernel_paramet
4141
@kernel function _compute_w_from_continuity!(U, grid)
4242
i, j = @index(Global, NTuple)
4343

44-
@inbounds U.w[i, j, 1] = 0
45-
for k in 2:grid.Nz+1
46-
δh_u = flux_div_xyᶜᶜᶜ(i, j, k-1, grid, U.u, U.v) / Azᶜᶜᶜ(i, j, k-1, grid)
47-
∂tσ = Δrᶜᶜᶜ(i, j, k-1, grid) * ∂t_σ(i, j, k-1, grid)
44+
u, v, w = U
45+
wᵏ = zero(eltype(w))
46+
@inbounds w[i, j, 1] = wᵏ
4847

49-
immersed = immersed_cell(i, j, k-1, grid)
50-
Δw = δh_u + ifelse(immersed, zero(grid), ∂tσ) # We do not account for grid changes in immersed cells
48+
Nz = size(grid, 3)
49+
for k in 2:Nz+1
50+
δ = flux_div_xyᶜᶜᶜ(i, j, k-1, grid, u, v) / Azᶜᶜᶜ(i, j, k-1, grid)
5151

52-
@inbounds U.w[i, j, k] = U.w[i, j, k-1] - Δw
52+
# We do not account for grid changes in immersed cells
53+
not_immersed = !immersed_cell(i, j, k-1, grid)
54+
= Δrᶜᶜᶜ(i, j, k-1, grid) * ∂t_σ(i, j, k-1, grid) * not_immersed
55+
56+
wᵏ -=+ w̃)
57+
@inbounds w[i, j, k] = wᵏ
5358
end
5459
end
5560

0 commit comments

Comments
 (0)