File:Partial transmittance.gif
From Knowino
Jump to: navigation,
search
Partial_transmittance.gif (367 × 161 pixels, file size: 67 KB, MIME type: image/gif, looped, 53 frames, 4.2s)
This file is from a shared repository and may be used by other projects. The description on its file description page there is shown below.
Summary[edit]
DescriptionPartial transmittance.gif |
English: Illustration of partial reflection of a wave. A gaussian wave on a one-dimensional string strikes a boundary with transmission coefficient of 0.5. Half the wave is transmitted and half is reflected.
Français : Illustration de la réflection partielle d'une onde. Une onde gaussienne se déplaçant sur un ressort unidimensionnel est réfléchie/transmise au niveau d'une interface avec un coefficient de transmission de 0.5.
|
Date | |
Source | self-made with MATLAB, source code below |
Author | Oleg Alexandrov |
![]() |
This chart was created with MATLAB |
Licensing[edit]
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. Public domainPublic domainfalsefalse |
MATLAB source code[edit]
% Partial transmittance and reflectance of a wave % Code is messed up, don't have time to clean it now function main() % KSmrq's colors red = [0.867 0.06 0.14]; blue = [0, 129, 205]/256; green = [0, 200, 70]/256; yellow = [254, 194, 0]/256; white = 0.99*[1, 1, 1]; black = [0, 0, 0]; % length of the string and the grid L = 5; N = 151; X=linspace(0, L, N); h = X(2)-X(1); % space grid size c = 0.5; % speed of the wave tau = 0.25*h/c; % time grid size % form a medium with a discontinuous wave speed C = 0*X+c; D=L/2; c_right = 0.5*c; % speed to the right of the disc for i=1:N if X(i) > D C(i) = c_right; end end % Now C = c for x < D, and C=c_right for x > D K = 5; % steepness of the bump S = 0; % shift the wave f=inline('exp(-K*(x-S).^2)', 'x', 'S', 'K'); % a gaussian as an initial wave df=inline('-2*K*(x-S).*exp(-K*(x-S).^2)', 'x', 'S', 'K'); % derivative of f % wave at time 0 and tau U0 = 0*f(X, S, K); U1 = U0 - 2*tau*c*df(X, S, K); U = 0*U0; % current U % plot between Start and End Start=130; End=500; % hack to capture the first period of the wave min_k = 2*N; k_old = min_k; turn_on = 0; frame_no = 0; for j=1:End % fixed end points U(1)=0; U(N)=0; % finite difference discretization in time for i=2:(N-1) U(i) = (C(i)*tau/h)^2*(U1(i+1)-2*U1(i)+U1(i-1)) + 2*U1(i) - U0(i); end % update info, for the next iteration U0 = U1; U1 = U; spacing=7; % plot the wave if rem(j, spacing) == 1 & j > Start figure(1); clf; hold on; axis equal; axis off; lw = 3; % linewidth % size of the window ys = 1.2; low = -0.5*ys; high = ys; plot([D, D], [low, high], 'color', black, 'linewidth', 0.7*lw) % fill([X(1), D, D, X(1)], [low, low, high, high], [0.9, 1, 1], 'edgealpha', 0); % fill([D X(N), X(N), D], [low, low, high, high], [1, 1, 1], 'edgealpha', 0); plot(X, U, 'color', red, 'linewidth', lw); % plot the ends of the string small_rad = 0.06; axis([-small_rad, 0.82*L, -ys, ys]); % small markers to keep the bounding box fixed when saving to eps plot(-small_rad, ys, '*', 'color', white); plot(L+small_rad, -ys, '*', 'color', white); pause(0.1) frame_no = frame_no + 1; %frame=sprintf('Frame%d.eps', 1000+frame_no); saveas(gcf, frame, 'psc2'); frame=sprintf('Frame%d.png', 1000+frame_no);% saveas(gcf, frame); disp(frame) print (frame, '-dpng', '-r300'); end end % The gif image was creating with the command % convert -antialias -loop 10000 -delay 8 -compress LZW -scale 20% Frame10*png Partial_transmittance.gif % and was later cropped in Gimp
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 16:36, 9 April 2010 | ![]() | 367×161 (67 KB) | Aiyizo | (optimized animation) |
File links
The following page links to this file:
Retrieved from "http://knowino.org/wiki/File:Partial_transmittance.gif"