Mercurial > repos > public > sbplib_julia
annotate grid.jl @ 16:c61af27cb67a
Fix compile errors
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Mon, 17 Dec 2018 15:05:45 +0100 |
parents | 3d032081832d |
children | af8469bc1cb3 |
rev | line source |
---|---|
14
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
1 module grid |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
2 |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
3 abstract type Grid end |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
4 |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
5 function numberOfDimensions(grid::Grid) |
16
c61af27cb67a
Fix compile errors
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
15
diff
changeset
|
6 error("Not yet implemented") |
14
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
7 end |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
8 |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
9 function numberOfPoints(grid::Grid) |
16
c61af27cb67a
Fix compile errors
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
15
diff
changeset
|
10 error("Not yet implemented") |
14
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
11 end |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
12 |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
13 function points(grid::Grid) |
16
c61af27cb67a
Fix compile errors
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
15
diff
changeset
|
14 error("Not yet implemented") |
14
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
15 end |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
16 |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
17 abstract type BoundaryId end |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
18 |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
19 # Move to seperate file. |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
20 struct EquidistantGrid <: Grid |
16
c61af27cb67a
Fix compile errors
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
15
diff
changeset
|
21 numberOfDimensions::UInt |
c61af27cb67a
Fix compile errors
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
15
diff
changeset
|
22 numberOfPoints::Vector{UInt} |
c61af27cb67a
Fix compile errors
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
15
diff
changeset
|
23 limits::Vector{Pair{Real, Real}} |
14
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
24 function EquidistantGrid(nDims, nPoints, lims) |
16
c61af27cb67a
Fix compile errors
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
15
diff
changeset
|
25 @assert nDims == size(nPoints) |
c61af27cb67a
Fix compile errors
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
15
diff
changeset
|
26 return new(nDims, nPoints, lims) |
14
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
27 end |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
28 end |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
29 |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
30 function numberOfDimensions(grid::EquidistantGrid) |
16
c61af27cb67a
Fix compile errors
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
15
diff
changeset
|
31 return grid.numberOfDimensions |
14
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
32 end |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
33 |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
34 function numberOfPoints(grid::EquidistantGrid) |
16
c61af27cb67a
Fix compile errors
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
15
diff
changeset
|
35 return grid.numberOfPoints |
14
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
36 end |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
37 |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
38 function points(grid::EquidistantGrid) |
16
c61af27cb67a
Fix compile errors
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
15
diff
changeset
|
39 points::Matrix{Real,3}(undef, numberOfPoints(grid)) |
c61af27cb67a
Fix compile errors
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
15
diff
changeset
|
40 return points |
14
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
41 end |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
42 |
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
43 function limitsForDimension(grid::EquidistantGrid, dim::UInt) |
16
c61af27cb67a
Fix compile errors
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
15
diff
changeset
|
44 return grid.limits(dim) |
14
b11b67c02d1a
Started implementing grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
0
diff
changeset
|
45 end |
16
c61af27cb67a
Fix compile errors
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
15
diff
changeset
|
46 |
c61af27cb67a
Fix compile errors
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
15
diff
changeset
|
47 end |