Mercurial > repos > public > sbplib_julia
diff src/SbpOperators/volumeops/derivatives/dissipation.jl @ 1291:356ec6a72974 refactor/grids
Implement changes in SbpOperators
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Tue, 07 Mar 2023 09:48:00 +0100 |
parents | d60a10ad6579 |
children | e94ddef5e72f |
line wrap: on
line diff
--- a/src/SbpOperators/volumeops/derivatives/dissipation.jl Tue Mar 07 09:21:27 2023 +0100 +++ b/src/SbpOperators/volumeops/derivatives/dissipation.jl Tue Mar 07 09:48:00 2023 +0100 @@ -10,30 +10,31 @@ Artificial Dissipation,” Journal of Scientific Computing, vol. 21, no. 1, pp. 57–79, Aug. 2004" """ -function undivided_skewed04(g::EquidistantGrid, p, direction) +function undivided_skewed04(g::TensorGrid, p, direction) + op = undivided_skewed04(g.grids[direction], p) + return LazyTensors.inflate(op, size(g), direction) +end + +function undivided_skewed04(g::EquidistantGrid, p) T = eltype(g) interior_weights = T.(dissipation_interior_weights(p)) - D = stencil_operator_distinct_closures( + D = StencilOperatorDistinctClosures( g, dissipation_interior_stencil(interior_weights), dissipation_lower_closure_stencils(interior_weights), dissipation_upper_closure_stencils(interior_weights), - direction, ) - Dᵀ = stencil_operator_distinct_closures( + Dᵀ = StencilOperatorDistinctClosures( g, dissipation_transpose_interior_stencil(interior_weights), dissipation_transpose_lower_closure_stencils(interior_weights), dissipation_transpose_upper_closure_stencils(interior_weights), - direction, ) return D, Dᵀ end -undivided_skewed04(g::EquidistantGrid{1}, p) = undivided_skewed04(g, p, 1) - function dissipation_interior_weights(p) if p == 0 return (1,)