annotate +grid/Empty.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 ce44af8d7dd1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
582
ce44af8d7dd1 Rename grid.EmptyGrid to grid.Empty
Jonatan Werpers <jonatan@werpers.com>
parents: 577
diff changeset
1 classdef Empty < grid.Grid & grid.Structured
577
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 properties
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 dim
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4 end
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 methods
582
ce44af8d7dd1 Rename grid.EmptyGrid to grid.Empty
Jonatan Werpers <jonatan@werpers.com>
parents: 577
diff changeset
7 function obj = Empty(D)
577
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 obj.dim = D;
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 end
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 % n returns the number of points in the grid
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 function o = N(obj)
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 o = 0;
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 end
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 % d returns the spatial dimension of the grid
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 function o = D(obj)
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 o = obj.dim;
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 end
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 % points returns a n x d matrix containing the coordinates for all points.
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 function X = points(obj)
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 X = sparse(0,obj.dim);
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 end
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 % Restricts the grid function gf on obj to the subgrid g.
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26 function gf = restrictFunc(obj, gf, g)
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27 error('Restrict does not make sense for an empty grid')
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 end
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 % Projects the grid function gf on obj to the grid g.
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 function gf = projectFunc(obj, gf, g)
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 error('Project does not make sense for an empty grid')
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33 end
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
35 % Return the grid.boundaryIdentifiers of all boundaries in a cell array.
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
36 function bs = getBoundaryNames(obj)
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
37 bs = {};
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
38 end
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
39
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
40 % Return coordinates for the given boundary
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
41 function b = getBoundary(obj, name)
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
42 b = sparse(0,obj.dim-1);
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
43 end
582
ce44af8d7dd1 Rename grid.EmptyGrid to grid.Empty
Jonatan Werpers <jonatan@werpers.com>
parents: 577
diff changeset
44
ce44af8d7dd1 Rename grid.EmptyGrid to grid.Empty
Jonatan Werpers <jonatan@werpers.com>
parents: 577
diff changeset
45 function h = scaling(obj)
ce44af8d7dd1 Rename grid.EmptyGrid to grid.Empty
Jonatan Werpers <jonatan@werpers.com>
parents: 577
diff changeset
46 h = 1;
ce44af8d7dd1 Rename grid.EmptyGrid to grid.Empty
Jonatan Werpers <jonatan@werpers.com>
parents: 577
diff changeset
47 end
ce44af8d7dd1 Rename grid.EmptyGrid to grid.Empty
Jonatan Werpers <jonatan@werpers.com>
parents: 577
diff changeset
48
ce44af8d7dd1 Rename grid.EmptyGrid to grid.Empty
Jonatan Werpers <jonatan@werpers.com>
parents: 577
diff changeset
49 function s = size(obj)
ce44af8d7dd1 Rename grid.EmptyGrid to grid.Empty
Jonatan Werpers <jonatan@werpers.com>
parents: 577
diff changeset
50 s = zeros(1, obj.dim);
ce44af8d7dd1 Rename grid.EmptyGrid to grid.Empty
Jonatan Werpers <jonatan@werpers.com>
parents: 577
diff changeset
51 end
577
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
52 end
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
53 end