annotate +grid/EmptyGrid.m @ 577:e45c9b56d50d feature/grids

Add an Empty grid class The need turned up for the flexural code when we may or may not have a grid for the open water and want to plot that solution. In case there is no open water we need an empty grid to plot the empty gridfunction against to avoid errors.
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 07 Sep 2017 09:16:12 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
577
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 classdef EmptyGrid < grid.Grid
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
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 function obj = EmptyGrid(D)
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
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
44 end
e45c9b56d50d Add an Empty grid class
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
45 end