annotate src/SbpOperators/boundaryops/normal_derivative.jl @ 877:dd2ab001a7b6 feature/equidistant_grid/refine

Implement refine function, move exports to the top of the file, change location of constuctors. The constructors were changed have only one inner constructor and simpler outer constructors.
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 14 Feb 2022 09:39:58 +0100
parents 5eb1edef8a7b
children 86776d06b883
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
620
bfc893d03cbf Add NormalDerivative as a BoundaryOperator and reintroduce tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
1 """
690
1accc3e051d0 Start changing the name of functions creating operators that are not types to lower case. E.g SecondDerivative->second_derivative
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 620
diff changeset
2 normal_derivative(grid::EquidistantGrid, closure_stencil::Stencil, boundary::CartesianBoundary)
1accc3e051d0 Start changing the name of functions creating operators that are not types to lower case. E.g SecondDerivative->second_derivative
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 620
diff changeset
3 normal_derivative(grid::EquidistantGrid{1}, closure_stencil::Stencil, region::Region)
620
bfc893d03cbf Add NormalDerivative as a BoundaryOperator and reintroduce tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
4
bfc893d03cbf Add NormalDerivative as a BoundaryOperator and reintroduce tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
5 Creates the normal derivative boundary operator `d` as a `TensorMapping`
bfc893d03cbf Add NormalDerivative as a BoundaryOperator and reintroduce tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
6
bfc893d03cbf Add NormalDerivative as a BoundaryOperator and reintroduce tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
7 `d` is the normal derivative of a grid function at the boundary specified by `boundary` or `region` using some `closure_stencil`.
bfc893d03cbf Add NormalDerivative as a BoundaryOperator and reintroduce tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
8 `d'` is the prolongation of the normal derivative of a grid function to the whole grid using the same `closure_stencil`.
bfc893d03cbf Add NormalDerivative as a BoundaryOperator and reintroduce tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
9 On a one-dimensional `grid`, `d` is a `BoundaryOperator`. On a multi-dimensional `grid`, `d` is the inflation of
bfc893d03cbf Add NormalDerivative as a BoundaryOperator and reintroduce tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
10 a `BoundaryOperator`. Also see the documentation of `SbpOperators.boundary_operator(...)` for more details.
bfc893d03cbf Add NormalDerivative as a BoundaryOperator and reintroduce tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
11 """
777
5eb1edef8a7b Remove some more unneded types
Jonatan Werpers <jonatan@werpers.com>
parents: 690
diff changeset
12 function normal_derivative(grid::EquidistantGrid, closure_stencil, boundary::CartesianBoundary)
620
bfc893d03cbf Add NormalDerivative as a BoundaryOperator and reintroduce tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
13 direction = dim(boundary)
bfc893d03cbf Add NormalDerivative as a BoundaryOperator and reintroduce tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
14 h_inv = inverse_spacing(grid)[direction]
bfc893d03cbf Add NormalDerivative as a BoundaryOperator and reintroduce tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
15 return SbpOperators.boundary_operator(grid, scale(closure_stencil,h_inv), boundary)
bfc893d03cbf Add NormalDerivative as a BoundaryOperator and reintroduce tests.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
16 end
777
5eb1edef8a7b Remove some more unneded types
Jonatan Werpers <jonatan@werpers.com>
parents: 690
diff changeset
17 normal_derivative(grid::EquidistantGrid{1}, closure_stencil, region::Region) = normal_derivative(grid, closure_stencil, CartesianBoundary{1,typeof(region)}())
690
1accc3e051d0 Start changing the name of functions creating operators that are not types to lower case. E.g SecondDerivative->second_derivative
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 620
diff changeset
18 export normal_derivative