12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- clc;
- wl = 1;
- phi = 0;
- theta = 0.001;
- kx0 = sin(theta*pi/180)*cos(phi*pi/180);
- ky0 = sin(theta*pi/180)*sin(phi*pi/180);
- gpx = 0.72;
- gpy = 0.72;
- gh = 0.5;
- wv = 2*pi/wl;
-
- kgx = wl/gpx;
- kgy = wl/gpy;
- kh = wv*gh;
- xno = 15;
- yno = 15;
- no = xno*yno;
- ixy = (ceil(xno/2)-1)*yno+ceil(yno/2);
- eps_sub = 1.5;
- eps_gr = 3.17^2;
- eps_sup = 1;
-
-
-
- FE = calc_emntd_lam(xno,yno,0.5,0.5,eps_gr,eps_sup);
-
- SM = fmmtd(xno,yno,kx0,ky0,kgx,kgy,kh,eps_sub,eps_sup,FE);
-
- V_inc = zeros(2*no,2);
- V_inc((ceil(xno/2)-1)*yno+ceil(yno/2),2) = 1;
-
- V_dif = zeros(2*no,2);
-
- V_dif(:,1) = SM(:,:,1,1)*V_inc(:,1) + SM(:,:,1,2)*V_inc(:,2);
- V_dif(:,2) = SM(:,:,2,1)*V_inc(:,1) + SM(:,:,2,2)*V_inc(:,2);
- V_eff = fmmtd_efficiency(xno,yno,V_inc,V_dif,kx0,ky0,kgx,kgy,eps_sub,eps_sup);
- disp("efficiency:");
- disp(V_eff(ixy,1));
- disp(V_eff(ixy,2));
-
- b = fmmtd_balance(xno,yno,V_inc,V_dif,kx0,ky0,kgx,kgy,eps_sub,eps_sup);
- disp("balance:");
- disp(b);
|