Helmholtz_solution.png
Size of this preview:
298 × 598 pixels
.
Other resolutions:
119 × 240 pixels
|
239 × 480 pixels
|
975 × 1,957 pixels
.
Description Helmholtz solution.png | Illustration of en:Helmholtz equation . |
Date | (UTC) |
Source | self-made with en:Matlab . See the source code below. |
Author | Oleg Alexandrov |
This diagram was created with
MATLAB
.
Public domain Public domain false false |
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 )
% Plot the solution to the Helmholtz equation with a given source
clear all;
Box_x = 3;
Scale = 0.5;
Box_y = Box_x/Scale;
Nx = 200;
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);
[X, Y] = meshgrid(XX, YY);
Source_size = 0.5;
Source_shift = 2;
Source = max(Source_size^2 - X.^2-(Y-Source_shift).^2, 0) + max(Source_size^2 - X.^2-(Y+Source_shift).^2, 0) ;
% plot the source
figure(1); clf; hold on; axis equal; axis off;
imagesc(Source);
% plot the solution to the Helmholtz equation
I = sqrt(-1);
Field = 0*X;
[m, n] = 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
Field = Field + (I/4)*besselh(0, 1, wavenumber*sqrt((X-x0).^2+(Y-y0).^2) + eps)*Source(i, j)*hx*hy;
end
end
end
figure(2); clf; hold on; axis equal; axis off;
imagesc(real(Field));
% Save to disk and convert to png right away
figure(1);
saveas(gcf, 'Helmholtz_source.eps', 'psc2');
%! convert -density 200 Helmholtz_source.eps Helmholtz_source.png
figure(2);
saveas(gcf, 'Helmholtz_solution.eps', 'psc2');
%! convert -density 200 Helmholtz_solution.eps Helmholtz_solution.png
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 “Helmholtz solution.svg”—then the template Vector version available (or Vva ) does not need the new image name parameter. |