ABSTRACT

Nn = 227; % number of nodes Ne = 384; % number of elements inch = 2.54*1e-2./6; [xn,yn,n1L,n2L,n3L,mt] = meshread('data.txt', Ne, Nn, 0); [S,T] = GLANT(Nn,Ne,n1L,n2L,n3L,xn*inch,yn*inch); % TE modes ATE = inv(T)*S; [EVTE, kcsqTE] = eig(ATE); kcTE = sqrt(kcsqTE); [N,M] = size(kcTE); for ii = 1 : N KCTE(ii) = kcTE(ii,ii); end FTE = sort(KCTE*3e8/(2*pi))'; % TM modes boundary = load('boundary_nodes.txt');% reading the boundary nodes all_nodes = 1:Nn; % reading all nodes nce = setxor(boundary,all_nodes); % extracting the free nodes STM = S(nce,nce); TTM = T(nce,nce); ATM = inv(TTM)*STM; [EVTMET,kcsqTM] = eig(ATM); kcTM = sqrt(kcsqTM); [N,M] = size(kcTM); for ii = 1 : N KCTM(ii) = kcTM(ii,ii); end disp('Cutoff wavenumbers for the TM modes'); disp(sort(KCTM)); FTM = sort(KCTM*3e8/(2*pi))';