annotate +multiblock/Surface.m @ 958:72cd29107a9a feature/poroelastic

Temporary changes in multiblock.DiffOp. Change traction operators in Elastic2dvariable to be true boundary operators. But adjoint FD conv test fails for dirichlet BC so need to debug!
author Martin Almquist <malmquist@stanford.edu>
date Wed, 05 Dec 2018 18:58:10 -0800
parents 24b2487b01c2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
542
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 classdef Surface < handle
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 properties
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 grid
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4 surfs
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 ZData
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 CData
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 methods
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 function obj = Surface(g, gf)
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 obj.grid = g;
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 coords = obj.grid.points();
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 X = obj.grid.funcToPlotMatrices(coords(:,1));
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 Y = obj.grid.funcToPlotMatrices(coords(:,2));
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 V = obj.grid.funcToPlotMatrices(gf);
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 holdState = ishold();
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 hold on
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24
548
24b2487b01c2 Fix bugs in cell array initialization
Jonatan Werpers <jonatan@werpers.com>
parents: 542
diff changeset
25 surfs = cell(1, obj.grid.nBlocks);
542
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26 for i = 1:obj.grid.nBlocks
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27 surfs{i} = surf(X{i}, Y{i}, V{i});
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 if holdState == false
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 hold off
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34 obj.surfs = [surfs{:}];
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
35
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
36 obj.ZData = gf;
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
37 obj.CData = gf;
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
38 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
39
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
40 function set(obj, propertyName, propertyValue)
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
41 set(obj.surfs, propertyName, propertyValue);
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
42 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
43
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
44 function obj = set.ZData(obj, gf)
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
45 obj.ZData = gf;
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
46
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
47 V = obj.grid.funcToPlotMatrices(gf);
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
48 for i = 1:obj.grid.nBlocks
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
49 obj.surfs(i).ZData = V{i};
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
50 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
51 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
52
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
53 function obj = set.CData(obj, gf)
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
54 obj.CData = gf;
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
55
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
56 V = obj.grid.funcToPlotMatrices(gf);
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
57 for i = 1:obj.grid.nBlocks
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
58 obj.surfs(i).CData = V{i};
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
59 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
60 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
61 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
62 end