comparison src/SbpOperators/quadrature/inverse_diagonal_quadrature.jl @ 506:c2f991b819fc feature/quadrature_as_outer_product

Update docs
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Sat, 07 Nov 2020 13:28:38 +0100
parents 21fba50cb5b0
children 576c6d1acc28
comparison
equal deleted inserted replaced
505:26485066394a 506:c2f991b819fc
1 """ 1 """
2 inverse_diagonal_quadrature(g,quadrature_closure) 2 inverse_diagonal_quadrature(g,quadrature_closure)
3 3
4 Constructs the diagonal quadrature inverse operator `Qi` on a grid of `Dim` dimensions as 4 Constructs the diagonal quadrature inverse operator `Hi` on a grid of `Dim` dimensions as
5 a `TensorMapping`. The one-dimensional operator is a InverseDiagonalQuadrature, while 5 a `TensorMapping`. The one-dimensional operator is a InverseDiagonalQuadrature, while
6 the multi-dimensional operator is the outer-product of the one-dimensional operators 6 the multi-dimensional operator is the outer-product of the one-dimensional operators
7 in each coordinate direction. 7 in each coordinate direction.
8 """ 8 """
9 function inverse_diagonal_quadrature(g::EquidistantGrid{Dim}, quadrature_closure) where Dim 9 function inverse_diagonal_quadrature(g::EquidistantGrid{Dim}, quadrature_closure) where Dim
15 end 15 end
16 export inverse_diagonal_quadrature 16 export inverse_diagonal_quadrature
17 17
18 18
19 """ 19 """
20 InverseDiagonalQuadrature{Dim,T<:Real,M} <: TensorMapping{T,1,1} 20 InverseDiagonalQuadrature{T,M} <: TensorMapping{T,1,1}
21 21
22 Implements the inverse diagonal inner product operator `Hi` of as a 1D TensorOperator 22 Implements the one-dimensional inverse diagonal quadrature operator as a `TensorMapping
23 TODO: Elaborate on properties
23 """ 24 """
24 struct InverseDiagonalQuadrature{T<:Real,M} <: TensorMapping{T,1,1} 25 struct InverseDiagonalQuadrature{T<:Real,M} <: TensorMapping{T,1,1}
25 h_inv::T 26 h_inv::T
26 closure::NTuple{M,T} 27 closure::NTuple{M,T}
27 size::Tuple{Int} 28 size::Tuple{Int}
57 return LazyTensors.apply(Hi, v, i) 58 return LazyTensors.apply(Hi, v, i)
58 end 59 end
59 60
60 LazyTensors.apply_transpose(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, I::Index) where T = LazyTensors.apply(Hi,v,I) 61 LazyTensors.apply_transpose(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, I::Index) where T = LazyTensors.apply(Hi,v,I)
61 62
62 63 """
64 closuresize(H)
65 Returns the size of the closure stencil of a InverseDiagonalQuadrature `Hi`.
66 """
63 closuresize(Hi::InverseDiagonalQuadrature{T,M}) where {T,M} = M 67 closuresize(Hi::InverseDiagonalQuadrature{T,M}) where {T,M} = M
64 export closuresize 68 export closuresize