1 function diffusivity = diffusivity_composite(glob, params)
2 %
function diffusivity = diffusivity_composite(glob, params)
4 %
function computing the diffusivity pointwise evaluation in the point
5 % sequences indicated by global coordinates in the columns of the matrix glob.
6 % It returns a piecewise constant diffusion coefficient.
8 % glob is a npoints times 2 matrix
10 % required fields of params:
11 % B1, B2: number of composite blocks
12 % mu1, mu2,.... mu(B1*B2-1)
14 % generated fields of diffusivity:
15 % diffusivity: vector with diffusivity values
18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
32 % params.mu_names = {
'mu1',
'mu2',..};
39 %diffu_value = params.get_mu(params);
40 diffu_value = [params.get_mu(params), 1];
41 %diffu_value=params.diffu;
42 %DIFF_M=flipud(reshape(diffu_value, xB,yB));
44 params.diffu_value=diffu_value;
45 %das folgende ohne Schleife:
46 % % diffu_value = get_mu(model);
47 % % diffu_value = [mu(:);1];
48 %dx ist 1/B1 , dy = 1/B2
50 xblocknum = ceil(glob(:,1) /dx);
51 yblocknum = ceil(glob(:,2) /dy);
52 blocknum = xblocknum+ params.B1*(yblocknum-1);
53 diffusivity = params.diffu_value(blocknum);
55 diffusivity=diffusivity
';
56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%55
57 %%%%%%%%%%%%%%%%%%%%%%%%%%%%
60 % for i=1:length(com_t)
61 % x_check_com_t(i)=com_t{i}(1);
62 % y_check_com_t(i)=com_t{i}(2);
64 % tmp_x_range_sort=sort([x_range, x_check_com_t(i)]);
65 % tmp_y_range_sort=sort([y_range, y_check_com_t(i)]);
67 % xBlock(i)=find(tmp_x_range_sort <= (x_check_com_t(i)+EPS) & tmp_x_range_sort >= (x_check_com_t(i)-EPS))-1;
68 % yBlock(i)=find(tmp_y_range_sort <= (y_check_com_t(i)+EPS) & tmp_y_range_sort >= (y_check_com_t(i)-EPS))-1;
70 % c_test(i)=DIFF_M(xBlock(i),yBlock(i));