comparison src/SbpOperators/volumeops/derivatives/second_derivative.jl @ 1347:08f06bfacd5c refactor/grids

Fix typos and formatting of documentation
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Thu, 18 May 2023 22:53:31 +0200
parents e94ddef5e72f
children
comparison
equal deleted inserted replaced
1345:c2012db881cb 1347:08f06bfacd5c
1 """ 1 """
2 second_derivative(g::EquidistantGrid, stencil_set, direction) 2 second_derivative(g::EquidistantGrid, stencil_set, direction)
3 3
4 Creates the second-derivative operator `D2` as a `LazyTensor` 4 Creates the second derivative operator `D2` as a `LazyTensor`
5 5
6 `D2` approximates the second-derivative d²/dξ² on `g` along the coordinate 6 `D2` approximates the second-derivative d²/dξ² on `g` along the coordinate
7 dimension specified by `direction`. 7 dimension specified by `direction`.
8 8
9 See also: [`VolumeOperator`](@ref), [`LazyTensors.inflate`](@ref). 9 See also: [`VolumeOperator`](@ref), [`LazyTensors.inflate`](@ref).
12 D₂ = second_derivative(g.grids[direction], stencil_set) 12 D₂ = second_derivative(g.grids[direction], stencil_set)
13 return LazyTensors.inflate(D₂, size(g), direction) 13 return LazyTensors.inflate(D₂, size(g), direction)
14 end 14 end
15 15
16 """ 16 """
17 second_derivative(g, stencil_set) 17 second_derivative(g::EquidistantGrid, stencil_set::::StencilSet)
18 18
19 Creates a `second_derivative` operator on a 1D `g` given a `stencil_set`. Uses 19 The second derivative operator on an `EquidistantGrid`.
20 the `D2` stencil in the stencil set. 20 Uses the `D2` stencil in `stencil_set`.
21 """ 21 """
22 function second_derivative(g::EquidistantGrid, stencil_set::StencilSet) 22 function second_derivative(g::EquidistantGrid, stencil_set::StencilSet)
23 inner_stencil = parse_stencil(stencil_set["D2"]["inner_stencil"]) 23 inner_stencil = parse_stencil(stencil_set["D2"]["inner_stencil"])
24 closure_stencils = parse_stencil.(stencil_set["D2"]["closure_stencils"]) 24 closure_stencils = parse_stencil.(stencil_set["D2"]["closure_stencils"])
25 return second_derivative(g, inner_stencil, closure_stencils) 25 return second_derivative(g, inner_stencil, closure_stencils)
26 end 26 end
27 27
28 """ 28 """
29 second_derivative(g, inner_stencil, closure_stencils) 29 second_derivative(g::EquidistantGrid, inner_stencil::Stencil, closure_stencils)
30 30
31 Creates a `second_derivative` operator on a 1D `g` given `inner_stencil` and 31 The second derivative operator on an `EquidistantGrid`, given `inner_stencil` and
32 `closure_stencils`. 32 `closure_stencils`.
33 """ 33 """
34 function second_derivative(g::EquidistantGrid, inner_stencil::Stencil, closure_stencils) 34 function second_derivative(g::EquidistantGrid, inner_stencil::Stencil, closure_stencils)
35 h⁻¹ = inverse_spacing(g) 35 h⁻¹ = inverse_spacing(g)
36 return VolumeOperator(g, scale(inner_stencil,h⁻¹^2), scale.(closure_stencils,h⁻¹^2), even) 36 return VolumeOperator(g, scale(inner_stencil,h⁻¹^2), scale.(closure_stencils,h⁻¹^2), even)