⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calc_kc.m

📁 利用电磁场的源激发方法来计算光子晶体波导例如光子晶体光纤
💻 M
字号:
function kc = calc_kc(k0, beta, Er, isHankel, varargin)
if isHankel
    isLeaky = varargin{1}; 
    % isLeaky = 1 means divergent in the radial
    % direction. Relevant only if isHankel = 1.
end
global DELTA
k = k0*sqrt(Er);
if k^2 == beta^2
    beta = k-j*DELTA;
end
kc = sqrt(k^2-beta^2);
kc_r = real(kc);
kc_i = imag(kc);
if isreal(beta)
    kc = abs(kc_r)-j*abs(kc_i);
    return
else
    if ~isHankel | (isHankel & ~isLeaky)
        % Absorber instead of sources
        kc_r = -abs(kc_r);
    else
        % Leaky mode sources
        kc = abs(kc_r);
    end
end
delta = 0.5*imag(Er)*k0^2-real(beta)*imag(beta);
kc_i = delta/kc_r;
kc = kc_r + j*kc_i;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -