annotate src/SbpOperators/SbpOperators.jl @ 348:7fe43d902a27 refactor/remove_dynamic_size_tensormapping

Start trying to change LazyTensors
author Jonatan Werpers <jonatan@werpers.com>
date Sat, 26 Sep 2020 15:20:18 +0200
parents f781d6da7d3d
children 0844069ab5ff
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
219
69a6049e14d9 Create package SbpOperators
Jonatan Werpers <jonatan@werpers.com>
parents: 170
diff changeset
1 module SbpOperators
69a6049e14d9 Create package SbpOperators
Jonatan Werpers <jonatan@werpers.com>
parents: 170
diff changeset
2
335
f4e3e71a4ff4 Fix `using` commands to refer to local modules within the Sbplib package/module
Jonatan Werpers <jonatan@werpers.com>
parents: 333
diff changeset
3 using Sbplib.RegionIndices
f4e3e71a4ff4 Fix `using` commands to refer to local modules within the Sbplib package/module
Jonatan Werpers <jonatan@werpers.com>
parents: 333
diff changeset
4 using Sbplib.LazyTensors
219
69a6049e14d9 Create package SbpOperators
Jonatan Werpers <jonatan@werpers.com>
parents: 170
diff changeset
5
69a6049e14d9 Create package SbpOperators
Jonatan Werpers <jonatan@werpers.com>
parents: 170
diff changeset
6 include("stencil.jl")
249
7cb4492ccd60 Refactor package SbpOperators
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 245
diff changeset
7 include("constantstenciloperator.jl")
7cb4492ccd60 Refactor package SbpOperators
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 245
diff changeset
8 include("d2.jl")
7cb4492ccd60 Refactor package SbpOperators
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 245
diff changeset
9 include("readoperator.jl")
313
d1004b881da1 Update modules and project/manifest
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 249
diff changeset
10 include("laplace/secondderivative.jl")
d1004b881da1 Update modules and project/manifest
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 249
diff changeset
11 include("laplace/laplace.jl")
328
9cc5d1498b2d Refactor 1D diagonal inner product in quadrature.jl to separate file. Write tests for quadratures. Clean up laplace and secondderivative
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 313
diff changeset
12 include("quadrature/diagonal_inner_product.jl")
9cc5d1498b2d Refactor 1D diagonal inner product in quadrature.jl to separate file. Write tests for quadratures. Clean up laplace and secondderivative
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 313
diff changeset
13 include("quadrature/quadrature.jl")
344
f781d6da7d3d Merge and reactivate includes in SbpOperators.jl
Jonatan Werpers <jonatan@werpers.com>
parents: 336
diff changeset
14 include("quadrature/inverse_diagonal_inner_product.jl")
f781d6da7d3d Merge and reactivate includes in SbpOperators.jl
Jonatan Werpers <jonatan@werpers.com>
parents: 336
diff changeset
15 include("quadrature/inverse_quadrature.jl")
348
7fe43d902a27 Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents: 344
diff changeset
16
7fe43d902a27 Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents: 344
diff changeset
17 abstract type SbpOperator{T,R,D} <: TensorMapping{T,R,D} end
7fe43d902a27 Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents: 344
diff changeset
18
7fe43d902a27 Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents: 344
diff changeset
19 """
7fe43d902a27 Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents: 344
diff changeset
20 grid(::ColocationOperator)
7fe43d902a27 Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents: 344
diff changeset
21
7fe43d902a27 Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents: 344
diff changeset
22 Return the the grid which the sbp-operator lives on
7fe43d902a27 Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents: 344
diff changeset
23 """
7fe43d902a27 Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents: 344
diff changeset
24 function grid end
7fe43d902a27 Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents: 344
diff changeset
25
7fe43d902a27 Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents: 344
diff changeset
26 abstract type ColocationOperator{T,R,D} <: SbpOperator{T,R,D} end
7fe43d902a27 Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents: 344
diff changeset
27
7fe43d902a27 Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents: 344
diff changeset
28 LazyTensors.range_size(co::ColocationOperator) = size(grid(co))
7fe43d902a27 Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents: 344
diff changeset
29 LazyTensors.domain_size(co::ColocationOperator) = size(grid(co))
7fe43d902a27 Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents: 344
diff changeset
30
7fe43d902a27 Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents: 344
diff changeset
31 # Allt ovan kanske är overkill.. Eventuellt bara lättare och tydligare att alla typer definerar sina range och domain size hur dom vill. (I praktiken typ alltid genom att ha gridden som ett fält i structen.)
7fe43d902a27 Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents: 344
diff changeset
32
219
69a6049e14d9 Create package SbpOperators
Jonatan Werpers <jonatan@werpers.com>
parents: 170
diff changeset
33 end # module