comparison src/SbpOperators/volumeops/laplace/laplace.jl @ 1585:d359d0d7fb12 feature/sbp_operators/laplace_curvilinear

Fix some typos and rename g to grid
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 26 Apr 2024 08:53:32 +0200
parents efa994405c38
children b22b9097d907
comparison
equal deleted inserted replaced
1584:d7483e8af705 1585:d359d0d7fb12
52 return Δ 52 return Δ
53 end 53 end
54 laplace(g::EquidistantGrid, stencil_set) = second_derivative(g, stencil_set) 54 laplace(g::EquidistantGrid, stencil_set) = second_derivative(g, stencil_set)
55 55
56 56
57 function laplace(g::MappedGrid, stencil_set) 57 function laplace(grid::MappedGrid, stencil_set)
58 J = jacobian_determinant(g) 58 J = jacobian_determinant(grid)
59 J⁻¹ = map(inv, J) 59 J⁻¹ = DiagonalTensor(map(inv, J))
60 60
61 Jḡ = map(*, J, ggeometric_tensor_inverse(g)) 61 Jg = map(*, J, ggeometric_tensor_inverse(grid))
62 lg = logicalgrid(g) 62 lg = logicalgrid(grid)
63 63
64 return mapreduce(+, CartesianIndices(first(ḡ))) do I 64 return mapreduce(+, CartesianIndices(first(Jg))) do I
65 i,j = I[1], I[2] 65 i,j = I[1], I[2]
66 Jgⁱʲ = componentview(Jḡ, I[1], I[2]) 66 Jgⁱʲ = componentview(Jg, I[1], I[2])
67 67
68 if i == j 68 if i == j
69 J⁻¹∘second_derivative_variable(lg, Jgⁱʲ, stencil_set, i) 69 J⁻¹∘second_derivative_variable(lg, Jgⁱʲ, stencil_set, i)
70 else 70 else
71 Dᵢ = first_derivative(lg, stencil_set, i) 71 Dᵢ = first_derivative(lg, stencil_set, i)