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)
This is: a file from the: Wikimedia Commons. Information from its description page there is shown below. Commons is a freely licensed media file repository. You can help. |
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 |
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
some value
8 July 2007
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 04:44, 8 July 2007 | 480 × 1,988 (49 KB) | Oleg Alexandrov | Tweak | |
04:40, 8 July 2007 | 480 × 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:
- Usage on ar.wikipedia.org
- Usage on ca.wikipedia.org
- Usage on es.wikipedia.org
- Usage on pa.wikipedia.org
- Usage on pt.wikipedia.org