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);