📄 capture_sampled_electric_fields_2d.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 + -