Mercurial > repos > public > sbplib
annotate +grid/Nodes.m @ 1198:2924b3a9b921 feature/d2_compatible
Add OpSet for fully compatible D2Variable, created from regular D2Variable by replacing d1 by first row of D1. Formal reduction by one order of accuracy at the boundary point.
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Fri, 16 Aug 2019 14:30:28 -0700 |
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 |