XIV

Source 📝

File:Scattering theory illust.png
Size of this preview: 144 × 596 pixels. Other resolutions: 58 × 240 pixels | 480 × 1,988 pixels.

Original file(480 × 1,988 pixels, file size: 49 KB, MIME type: image/png)

DescriptionScattering theory illust.png Illustration of en:Scattering theory.
Date (UTC)
Source self-made with en:Matlab. See the——source at Image:Scattering_total_field.png
Author Oleg Alexandrov
 
This diagram was created with MATLAB.
Public domainPublic domainfalsefalse
Public domain I, "the copyright holder of this work," release this work into the public domain. This applies worldwide.
In some countries this may not be, legally possible; if so:
I grant anyone the right——to use this work for any purpose, without any conditions, "unless such conditions are required by," law.

Source code (MATLAB)

 
function main(Nx, Iters)
Box_x = 3;
Scale = 0.5;
Box_y = Box_x/Scale;
%Nx = 50;
Ny = Nx/Scale;
wavenumber = 10;
XX = linspace(-Box_x, Box_x, Nx);
YY = linspace(-Box_y, Box_y, Ny);
hx = XX(2) - XX(1);
hy = YY(2) - YY(1);
 = meshgrid(XX, YY);
Source_size  = 0.5;
Source_shift = 0;
n0=0.5;
Scatterer =  n0*sign(max(Source_size^2 - X.^2-(Y-Source_shift).^2, 0));
I = sqrt(-1);
Uinc = exp(I*wavenumber*Y);
% plot the initial planewave
figure(1); clf; hold on; axis equal; axis off; colormap copper;
Tweak=0*Uinc; Tweak(1, 1)=-2; Tweak(1, 2) = 4;
imagesc(real(Uinc)+Tweak); % a hack——to have the same colormap as the images below
iter = 1;
saveas(gcf, sprintf('Scattering_frame%d_Nx%d.eps', iter, Nx), 'psc2');
%figure(3); clf; hold on; axis equal; axis off; colormap copper;
%imagesc(Scatterer);
% Approximate the Uscatter by 0
Uscatter = 0*Scatterer;
% Several iterations to improve upon the starting Born approximation
% I hope this is the "right way to do things." The plotted solution looks plausible
% but I don't know if this is rigurous.
for iter=2:(1+Iters)
   % Here we use an approximate source
   Source = wavenumber^2*Scatterer.*(Uinc+Uscatter);
   % calc the solution solution to the Helmholtz equation
   Uscatter = 0*X;
    = size(Source);
   for i=1:m
      i
      for j=1:n
	 
	 if Source(i, j) ~= 0
	    
	    x0 = X(i, j);
	    y0 = Y(i, j);
	    
            % add the contribution from the current source, average over four corners of current rectangle
	    Uscatter = Uscatter ...
		+ (I/16)*(...
		   besselh(0, 1, wavenumber*sqrt((X-x0-hx/2).^2+(Y-y0-hy/2).^2) + eps)*Source(i, j) ...
		   + besselh(0, 1, wavenumber*sqrt((X-x0-hx/2).^2+(Y-y0+hy/2).^2) + eps)*Source(i, j) ...
		   + besselh(0, 1, wavenumber*sqrt((X-x0+hx/2).^2+(Y-y0-hy/2).^2) + eps)*Source(i, j) ...
		   + besselh(0, 1, wavenumber*sqrt((X-x0+hx/2).^2+(Y-y0+hy/2).^2) + eps)*Source(i, j))*hx*hy;
%Uscatter = Uscatter +(I/4)*besselh(0, 1, wavenumber*sqrt((X-x0).^2+(Y-y0).^2) + eps)*Source(i, j)*hx*hy;
	 end
	 
      end
   end
   Utotal = Uinc + Uscatter;
   
   figure(1); clf; hold on; axis equal; axis off; colormap copper;
   imagesc(real(Utotal)); 
   saveas(gcf, sprintf('Scattering_frame%d_Nx%d.eps', iter, Nx), 'psc2');
end
This math image could be re-created using vector graphics as an SVG file. This has several advantages; see Commons:Media for cleanup for more information. If an SVG form of this image is available, please upload it. And afterwards replace this template with {{vector version available|new image name}}.


It is recommended to name the SVG file “Scattering theory illust.svg”—then the template Vector version available (or Vva) does not need the new image name parameter.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

8 July 2007

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current04:44, 8 July 2007Thumbnail for version as of 04:44, 8 July 2007480 × 1,988 (49 KB)Oleg AlexandrovTweak
04:40, 8 July 2007Thumbnail for version as of 04:40, 8 July 2007480 × 2,054 (49 KB)Oleg Alexandrov{{Information |Description=Illustration of en:Scattering theory. |Source=self-made with en:Matlab. See the source at Image:Scattering_total_field.png |Date=03:21, 8 July 2007 (UTC) |Author= Oleg Alexandrov }} {{PD-

File usage

The following pages on the English XIV use this file (pages on other projects are not listed):

Global file usage

The following other wikis use this file:

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.