Mercurial > repos > public > sbplib
annotate +grid/Nodes.m @ 1037:2d7ba44340d0 feature/burgers1d
Pass scheme specific parameters as cell array. This will enabale constructDiffOps to be more general. In addition, allow for schemes returning function handles as diffOps, which is currently how non-linear schemes such as Burgers1d are implemented.
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Fri, 18 Jan 2019 09:02:02 +0100 |
parents | 5b06d4afa732 |
children |
rev | line source |
---|---|
875
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 classdef Nodes < grid.Grid |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 properties |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 coords |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 end |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 methods |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 % Creates a grid with one point for each row in coords. |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 % The dimension equals the number of columns in coords. |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 function obj = Nodes(coords) |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 obj.coords = coords; |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 end |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 function o = N(obj) |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 o = size(obj.coords, 1); |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 end |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 % d returns the spatial dimension of the grid |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
18 function o = D(obj) |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
19 o = size(obj.coords, 2); |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
20 end |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
21 |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
22 % points returns a n x d matrix containing the coordinates for all points. |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
23 function X = points(obj) |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
24 X = obj.coords; |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
25 end |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
26 |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
27 % Restricts the grid function gf on obj to the subgrid g. |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
28 function gf = restrictFunc(obj, gf, g) |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
29 error('Not implemented'); |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
30 end |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
31 |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
32 % Projects the grid function gf on obj to the grid g. |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
33 function gf = projectFunc(obj, gf, g) |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
34 error('Not implemented'); |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
35 end |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
36 |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
37 % Return the grid.boundaryIdentifiers of all boundaries in a cell array. |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
38 function bs = getBoundaryNames(obj) |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
39 error('Not implemented'); |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
40 end |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
41 |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
42 % Return coordinates for the given boundary |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
43 function b = getBoundary(obj, name) |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
44 error('Not implemented'); |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
45 end |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
46 end |
5b06d4afa732
Add grid for just a collection of nodes
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
47 end |