Mercurial > repos > public > sbplib
comparison +multiblock/evalOn.m @ 807:cee0b381d714 feature/poroelastic
Change order of function arguments
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Fri, 27 Jul 2018 09:50:29 -0700 |
parents | f779b5aca5eb |
children | 442ec6c77c3f |
comparison
equal
deleted
inserted
replaced
806:f779b5aca5eb | 807:cee0b381d714 |
---|---|
1 % Evaluate different function handle for each block in a multiblock.Grid | 1 % Evaluate different function handle for each block in a multiblock.Grid |
2 % Function handles may optionaly take a time argument | 2 % Function handles may optionaly take a time argument |
3 % f -- cell array of function handles | 3 % f -- cell array of function handles |
4 % f{i} = f_i(x,y,...,t) | 4 % f{i} = f_i(t,x,y,...) |
5 % t -- optional time point. If not specified, it is assumed that the functions take only spatial arguments. | 5 % t -- optional time point. If not specified, it is assumed that the functions take only spatial arguments. |
6 function gf = evalOn(g, f, t) | 6 function gf = evalOn(g, f, t) |
7 assertType(g, 'multiblock.Grid'); | 7 assertType(g, 'multiblock.Grid'); |
8 assertType(f, 'cell'); | 8 assertType(f, 'cell'); |
9 | 9 |
20 else | 20 else |
21 dim = nargin(f{1}) - 1; | 21 dim = nargin(f{1}) - 1; |
22 for i = 1:nBlocks | 22 for i = 1:nBlocks |
23 switch dim | 23 switch dim |
24 case 1 | 24 case 1 |
25 gf{i} = grid.evalOn(grids{i}, @(x)f{i}(x,t)); | 25 gf{i} = grid.evalOn(grids{i}, @(x)f{i}(t,x)); |
26 case 2 | 26 case 2 |
27 gf{i} = grid.evalOn(grids{i}, @(x,y)f{i}(x,y,t)); | 27 gf{i} = grid.evalOn(grids{i}, @(x,y)f{i}(t,x,y)); |
28 case 3 | 28 case 3 |
29 gf{i} = grid.evalOn(grids{i}, @(x,y,z)f{i}(x,y,z,t)); | 29 gf{i} = grid.evalOn(grids{i}, @(x,y,z)f{i}(t,x,y,z)); |
30 end | 30 end |
31 end | 31 end |
32 end | 32 end |
33 | 33 |
34 gf = blockmatrix.toMatrix(gf); | 34 gf = blockmatrix.toMatrix(gf); |