comparison src/SbpOperators/volumeops/derivatives/second_derivative.jl @ 1043:c16116e403e2

Merge refactor/lazy_tensors
author Jonatan Werpers <jonatan@werpers.com>
date Tue, 22 Mar 2022 14:33:13 +0100
parents 7fc8df5157a7
children 157a78959e5d
comparison
equal deleted inserted replaced
1039:696a3307b6a4 1043:c16116e403e2
1 """ 1 """
2 second_derivative(grid::EquidistantGrid, inner_stencil, closure_stencils, direction) 2 second_derivative(grid::EquidistantGrid, inner_stencil, closure_stencils, direction)
3 3
4 Creates the second-derivative operator `D2` as a `TensorMapping` 4 Creates the second-derivative operator `D2` as a `LazyTensor`
5 5
6 `D2` approximates the second-derivative d²/dξ² on `grid` along the coordinate dimension specified by 6 `D2` approximates the second-derivative d²/dξ² on `grid` along the coordinate dimension specified by
7 `direction`, using the stencil `inner_stencil` in the interior and a set of stencils `closure_stencils` 7 `direction`, using the stencil `inner_stencil` in the interior and a set of stencils `closure_stencils`
8 for the points in the closure regions. 8 for the points in the closure regions.
9 9
10 On a one-dimensional `grid`, `D2` is a `VolumeOperator`. On a multi-dimensional `grid`, `D2` is the outer product of the 10 On a one-dimensional `grid`, `D2` is a `VolumeOperator`. On a multi-dimensional `grid`, `D2` is the outer product of the
11 one-dimensional operator with the `IdentityMapping`s in orthogonal coordinate dirrections. 11 one-dimensional operator with the `IdentityTensor`s in orthogonal coordinate dirrections.
12 12
13 See also: [`volume_operator`](@ref). 13 See also: [`volume_operator`](@ref).
14 """ 14 """
15 function second_derivative(grid::EquidistantGrid, inner_stencil, closure_stencils, direction) 15 function second_derivative(grid::EquidistantGrid, inner_stencil, closure_stencils, direction)
16 h_inv = inverse_spacing(grid)[direction] 16 h_inv = inverse_spacing(grid)[direction]