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

📄 capture_sampled_electric_fields_2d.asv

📁 The Finite Difference Time Domain Method for Electromagnetics With MATLAB Simulations Atef Elshe
💻 ASV
字号:
% Capturing electric fields

for ind=1:number_of_sampled_electric_fields
    is = sampled_electric_fields(ind).is;
    js = sampled_electric_fields(ind).js;

    switch (sampled_electric_fields(ind).component)
        case 'x'
            sampled_value = 0.5 * sum(Ex(is-1:is,js)); 
        case 'y'
            sampled_value = 0.5 * sum(Ey(is,js-1:js)); 
        case 'z'
            sampled_value = 1.0 * Ez(is,js); 
        case 'm'
            svx = 0.5 * sum(Ex(is-1:is,js)); 
            svy = 0.5 * sum(Ey(is,js-1:js)); 
            svz = 1.0 * Ez(is,js); 
            sampled_value = sqrt(svx^2 + svy^2 + svz^2);
    end
    sampled_electric_fields(ind).sampled_value(time_step) = sampled_value;
end

xcoor = linspace(fdtd_domain.min_x,fdtd_domain.max_x,nxp1);
ycoor = linspace(fdtd_domain.min_y,fdtd_domain.max_y,nyp1);

% Exs = zeros(nxp1,nyp1);
% Exs(2:nx,:) = 0.5 * (Ex(1:nx-1,:) + Ex(2:nx,:)); 
% Eys = zeros(nxp1,nyp1);
% Eys(:,2:ny) = 0.5 * (Ey(:,1:ny-1) + Ey(:,2:ny)); 
% Ezs = Ez;
% Es = sqrt(Exs.^2 + Eys.^2 + Ezs.^2);
% figure(1);
% imagesc(x,y,Es.');
% axis equal;
drawnow;

f = 1e9;
www=2*pi*f;
%Esmax = Esmax + dt*Ez*exp(-j*www*current_time);
Esmax = Esmax + dt*Ez*exp(-j*www*dt*time_step);
JJ = JJ + dt * impressed_J(1).waveform(time_step)*exp(-j*www*current_time);
% if time_step>500
%     I = find(Ez>Esmax);
%     Esmax(I) = Ez(I);
% end
figure(2);
imagesc(xcoor,ycoor,abs(Esmax).'/abs(JJ));
% imagesc(xcoor,ycoor,Esmax.');
axis equal;
drawnow;

⌨️ 快捷键说明

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