Mercurial > repos > public > sbplib_julia
comparison src/SbpOperators/volumeops/derivatives/first_derivative.jl @ 2091:e21c295fb2da refactor/sbp_operators/direction_check
Restructure methods for equidistant grids with a dim argument
| author | Jonatan Werpers <jonatan@werpers.com> |
|---|---|
| date | Mon, 02 Mar 2026 15:41:14 +0100 |
| parents | 67d8fbbb9e58 |
| children |
comparison
equal
deleted
inserted
replaced
| 2090:67d8fbbb9e58 | 2091:e21c295fb2da |
|---|---|
| 19 end | 19 end |
| 20 D₁ = first_derivative(g.grids[dim], stencil_set) | 20 D₁ = first_derivative(g.grids[dim], stencil_set) |
| 21 return LazyTensors.inflate(D₁, size(g), dim) | 21 return LazyTensors.inflate(D₁, size(g), dim) |
| 22 end | 22 end |
| 23 | 23 |
| 24 function first_derivative(g::EquidistantGrid, stencil_set, dim) | |
| 25 return first_derivative(TensorGrid(g), stencil_set, dim) | |
| 26 end | |
| 27 | 24 |
| 28 """ | 25 """ |
| 29 first_derivative(g::EquidistantGrid, stencil_set::StencilSet) | 26 first_derivative(g::EquidistantGrid, stencil_set::StencilSet) |
| 30 | 27 |
| 31 The first derivative operator on an `EquidistantGrid`. | 28 The first derivative operator on an `EquidistantGrid`. |
| 35 inner_stencil = parse_stencil(stencil_set["D1"]["inner_stencil"]) | 32 inner_stencil = parse_stencil(stencil_set["D1"]["inner_stencil"]) |
| 36 closure_stencils = parse_stencil.(stencil_set["D1"]["closure_stencils"]) | 33 closure_stencils = parse_stencil.(stencil_set["D1"]["closure_stencils"]) |
| 37 return first_derivative(g, inner_stencil, closure_stencils); | 34 return first_derivative(g, inner_stencil, closure_stencils); |
| 38 end | 35 end |
| 39 | 36 |
| 37 function first_derivative(g::EquidistantGrid, stencil_set, dim) | |
| 38 if dim != 1 | |
| 39 throw(DomainError(dim, "Derivative direction must be 1.")) | |
| 40 end | |
| 41 return first_derivative(g, stencil_set) | |
| 42 end | |
| 43 | |
| 40 """ | 44 """ |
| 41 first_derivative(g::EquidistantGrid, inner_stencil::Stencil, closure_stencils) | 45 first_derivative(g::EquidistantGrid, inner_stencil::Stencil, closure_stencils) |
| 42 | 46 |
| 43 The first derivative operator on an `EquidistantGrid` given an | 47 The first derivative operator on an `EquidistantGrid` given an |
| 44 `inner_stencil` and `closure_stencils`. | 48 `inner_stencil` and `closure_stencils`. |
