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

📄 initialize_diode_updating_coefficients.m

📁 The Finite Difference Time Domain Method for Electromagnetics With MATLAB Simulations Atef Elshe
💻 M
字号:
disp('initializing diode updating coefficients');

q = 1.602*1e-19; % charge of an electron
k = 1.38066e-23; % Boltzman constant, joule/kelvin 
T = 273+27;      % Kelvin; room temperature
I_0 = 1e-14;     % saturation current
    
for ind = 1:number_of_diodes
    is = diodes(ind).is;
    js = diodes(ind).js;
    ks = diodes(ind).ks;
    ie = diodes(ind).ie;
    je = diodes(ind).je;
    ke = diodes(ind).ke;
        
    if strcmp(diodes(ind).direction(2),'n')
        sgn = -1;
    else
        sgn = 1;
    end
    switch (diodes(ind).direction(1))
        case 'x'
            fi = create_linear_index_list(eps_r_x,is,js,ks);     
            diodes(ind).B = sgn*q*dx/(2*k*T);      
            diodes(ind).Cexd = ...
                -sgn*(2*dt*I_0/(dy*dz))*exp(diodes(ind).B) ...
                ./(2*eps_r_x(fi)*eps_0 + dt*sigma_e_x(fi));      
            diodes(ind).Exn = 0;      
        case 'y'
            fi = create_linear_index_list(eps_r_y,is,js,ks);     
            diodes(ind).B = sgn*q*dy/(2*k*T);      
            diodes(ind).Ceyd = ...
                -sgn*(2*dt*I_0/(dz*dx))*exp(diodes(ind).B) ...
                ./(2*eps_r_y(fi)*eps_0 + dt*sigma_e_y(fi));      
            diodes(ind).Eyn = 0;      
        case 'z'
            fi = create_linear_index_list(eps_r_z,is,js,ks);     
            diodes(ind).B = sgn*q*dz/(2*k*T);      
            diodes(ind).Cezd = ...
                -sgn*(2*dt*I_0/(dx*dy))*exp(diodes(ind).B) ...
                ./(2*eps_r_z(fi)*eps_0 + dt*sigma_e_z(fi));      
            diodes(ind).Ezn = 0;      
    end
    diodes(ind).field_indices = fi;
end

⌨️ 快捷键说明

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