Mercurial > repos > public > sbplib_julia
annotate src/SbpOperators/SbpOperators.jl @ 356:0844069ab5ff refactor/remove_dynamic_size_tensormapping
Reinclude SbpOperators and fix most of the code and tests there.
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Sun, 27 Sep 2020 22:51:31 +0200 |
parents | 7fe43d902a27 |
children | f36866ba97e6 |
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 |
356
0844069ab5ff
Reinclude SbpOperators and fix most of the code and tests there.
Jonatan Werpers <jonatan@werpers.com>
parents:
348
diff
changeset
|
5 using Sbplib.Grids |
219
69a6049e14d9
Create package SbpOperators
Jonatan Werpers <jonatan@werpers.com>
parents:
170
diff
changeset
|
6 |
69a6049e14d9
Create package SbpOperators
Jonatan Werpers <jonatan@werpers.com>
parents:
170
diff
changeset
|
7 include("stencil.jl") |
249
7cb4492ccd60
Refactor package SbpOperators
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
245
diff
changeset
|
8 include("constantstenciloperator.jl") |
7cb4492ccd60
Refactor package SbpOperators
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
245
diff
changeset
|
9 include("d2.jl") |
7cb4492ccd60
Refactor package SbpOperators
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
245
diff
changeset
|
10 include("readoperator.jl") |
313
d1004b881da1
Update modules and project/manifest
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
249
diff
changeset
|
11 include("laplace/secondderivative.jl") |
d1004b881da1
Update modules and project/manifest
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
249
diff
changeset
|
12 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
|
13 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
|
14 include("quadrature/quadrature.jl") |
344
f781d6da7d3d
Merge and reactivate includes in SbpOperators.jl
Jonatan Werpers <jonatan@werpers.com>
parents:
336
diff
changeset
|
15 include("quadrature/inverse_diagonal_inner_product.jl") |
f781d6da7d3d
Merge and reactivate includes in SbpOperators.jl
Jonatan Werpers <jonatan@werpers.com>
parents:
336
diff
changeset
|
16 include("quadrature/inverse_quadrature.jl") |
348
7fe43d902a27
Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents:
344
diff
changeset
|
17 |
7fe43d902a27
Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents:
344
diff
changeset
|
18 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
|
19 |
7fe43d902a27
Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents:
344
diff
changeset
|
20 """ |
7fe43d902a27
Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents:
344
diff
changeset
|
21 grid(::ColocationOperator) |
7fe43d902a27
Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents:
344
diff
changeset
|
22 |
7fe43d902a27
Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents:
344
diff
changeset
|
23 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
|
24 """ |
7fe43d902a27
Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents:
344
diff
changeset
|
25 function grid end |
7fe43d902a27
Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents:
344
diff
changeset
|
26 |
7fe43d902a27
Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents:
344
diff
changeset
|
27 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
|
28 |
7fe43d902a27
Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents:
344
diff
changeset
|
29 LazyTensors.range_size(co::ColocationOperator) = size(grid(co)) |
7fe43d902a27
Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents:
344
diff
changeset
|
30 LazyTensors.domain_size(co::ColocationOperator) = size(grid(co)) |
7fe43d902a27
Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents:
344
diff
changeset
|
31 |
7fe43d902a27
Start trying to change LazyTensors
Jonatan Werpers <jonatan@werpers.com>
parents:
344
diff
changeset
|
32 # 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
|
33 |
219
69a6049e14d9
Create package SbpOperators
Jonatan Werpers <jonatan@werpers.com>
parents:
170
diff
changeset
|
34 end # module |