Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
azevedolab.net
Resumo
Ondas Interferncia Representao matemtica de ondas Arquivos necessrios Compilao do arquivo fonte Cdigo fonte Uso do programa add2waves Referncias
Ondas
Fenmenos ondulatrios so comuns, desde de exemplos buclicos, como uma onda formada num lago, a fenmenos no to bvios, como as ondas eletromagnticas. A representao grfica, normalmente satisfatria para os propsitos da interao da radiao eletromagntica com cristais, faz uso de funes peridicas, como a funo seno, ao lado. A figura a representao grfica da funo amplitude, A(x)= sen (x), com x variando de 0 a 2 unidades de distncia (ud). Nesta representao a amplitude est em funo da posio e varia de -1 a 1 unidades de amplitude (ua).
Ondas
Podemos expressar a amplitude em funo do tempo, para caracterizar a variao temporal, o grfico ao lado uma representao da funo A(t)=sen(t), com t variando de 0 a 2 unidades de tempo (ut). A amplitude pode representar diversas grandezas fsicas, tais como, amplitude de vibrao, campo eltrico, presso entre outras. O eixo x pode representar a variao em funo do tempo ou da posio.
Ondas
Caracterizamos as ondas mecnicas peridicas, ou ondas peridicas, pela oscilao dos tomos e molculas que compem o meio, onde a onda se propaga. A freqncia da onda (f) a freqncia de oscilao dos tomos e molculas do meio. O perodo, T = 1 / f, o tempo que leva para um tomo ou molcula particular passar por um ciclo completo do movimento de oscilao. O comprimento de onda () a distncia, entre dois tomos, que oscilam em fase, ao longo da direo de propagao da onda mecnica. Na representao abaixo temos a variao da amplitude (A) em funo da posio x.
Ondas
A amplitude de uma onda caracteriza a grandeza fsica que varia com o tempo de forma peridica, normalmente representada graficamente no eixo y do grfico. A amplitude pode ser o campo eltrico, o deslocamento, a intensidade entre outras grandezas fsicas. O perodo da onda abaixo de 6,283 ms, o que representa uma onda de freqncia f = 1/T = 159,2 Hz, a amplitude da onda 1. Na representao abaixo temos a variao da amplitude em funo do tempo t.
T=6,283 ms
Interferncia
As figuras ao lado mostram interferncia entre ondas, temos duas ondas em fase, ondas 1 e 2, onde seus mximos e mnimos coincidem e as ondas apresentam o mesmo comprimento de onda, o resultado da soma das duas uma onda com a amplitude resultante igual soma das amplitudes das ondas 1 e 2 e comprimento de onda igual ao das ondas 1 e 2. No caso de interferncia destrutiva temos as ondas fora de fase (3 e 4), exatamente meio comprimento de onda, onde o mximo da onda 3 coincide com o mnimo da onda 4, o resultado da soma uma onda de amplitude zero.
Interferncia construtiva Interferncia destrutiva
1+2
3+4
Representao matemtica
Podemos representar matematicamente ondas e, consequentemente, fenmenos ondulatrios, por meios de funes peridicas como seno e coseno, ou combinaes dessas funes. A onda abaixo pode ser representada pela seguinte funo: E1 (t) = A . sen ( .t) , onde A indica a amplitude da onda, a freqncia angular ( = 2.f ), onde f a freqncia. O campo expresso em unidades de campo (uc) e o tempo em unidades de tempo(ut)
A
2010 Dr. Walter F. de Azevedo Jr.
Representao matemtica
As figuras abaixo mostram os grficos de duas ondas, sendo que a segunda apresenta o dobro da frequncia da primeira. Vemos claramente que dobramos o nmero de ondas completas no mesmo perodo.
E1 = 2.sen(.t); = 2.f, com f = 0,159 Hz
E2 = 2.sen(.t);
Representao matemtica
Outra caracterstica fsica da onda sua fase. A fase representa a posio da onda com relao a origem do sistema de coordenadas no qual a onda desenhada. Por exemplo, a onda E2 = 2.sen(.t + ) est deslocada radianos em relao onda E1 = 2.sen(.t). Abaixo temos a representao grfica de duas ondas, sendo que a segunda est deslocada /2 radianos com relao primeira.
E1 = 2.sen(.t)
E1 E2
E2 = 2.sen(.t + /2)
2010 Dr. Walter F. de Azevedo Jr.
Representao matemtica
Vamos considerar a soma de duas ondas (E1 e E2), ambas com mesma freqncia, mas com amplitudes 2 uc e 4 uc, respectivamente, como representado abaixo, uc unidade de campo eltrico, para deixarmos de uma forma geral. E1 (t) = 2.sen(.t) E2 (t) = 4.sen(.t) E(t) =E1(t) + E2(t) = E(t) =2.sen(.t ) + 4.sen(.t) = 6. sen(.t)
Representao matemtica
Consideremos agora uma segunda onda (onda 2) com a mesma amplitude A, comprimento de onda e deslocada um ngulo de fase , em relao a onda 1. Podemos representar matematicamente a onda 2 por meio da seguinte funo: E2 (t) = A . sen ( .t + ), onde A indica a amplitude da onda, a freqncia angular = 2.f , onde f a freqncia, indica a fase da onda, como vimos anteriormente. E1 (t) = 2.sen(.t) E2 (t) = 2.sen(.t+)
Representao matemtica
Estamos em condies de considerarmos a soma de duas ondas de fase qualquer. Por exemplo, as ondas E1 e E2, quando somadas geram a onda E1 + E2, o cdigo fonte em fortran 90 para a soma de duas ondas quaisquer mostrado nos prximos slides.
E1+E2
Arquivos necessrios
A tabela 1 traz os arquivos necessrios para executarmos o presente tutorial. Tabela 1. Arquivos para executarmos o presente tutorial Arquivo add2waves.f90 add2waves.exe dislin.mod Descrio Arquivo fonte em fortran 90. Arquivo executvel para windows 32 bits Biblioteca grfica compilada
2010 Dr. Walter F. de Azevedo Jr.
A partir deste comando geramos o executvel add2waves.exe . Uma vez gerado o executvel no necessrio que a biblioteca dislin.mod esteja na mesma pasta do executvel. O cdigo fonte do add2waves est nos prximos slides. A parte referente biblioteca dislin est indicada em vermelho.
2010 Dr. Walter F. de Azevedo Jr.
Cdigo fonte
! ! Add2waves ! ! This program generates a plot for a sum of two wave functions E1 and E2, ! ! E1 or E2 = A*Sin(omega*t-phase), ! ! where A is amplitude in arbitrary units ! omega is angular frequency, omega = 2*Pi*freq, (freq = frequency in Hz) ! phase is the phase angle in radians ! A sum is calculates and ploted. ! E = E1 + E2 ! ! This program needs dislin library (http://www.mps.mpg.de/dislin/) ! ! Copyright: Walter Filgueira de Azevedo Junior, Ph.D, 2010 ! ! Support by Conselho Nacional de Desenvolvimento Cientifico e Tecnologico-CNPq ! Brazil ! ! Walter F. de Azevedo Jr. (2010) (http://azevedolab.net) ! Subroutine efunction1(x,y,amplitude,phase,frequency,aux1) Implicit none Real, dimension(500) :: x,y Real :: amplitude,phase,frequency,aux1,omega Double precision :: Pi = 3.1415926535897932384626433832795d0 Integer i ! Loop to generate vectorx and vectory do i=1,500,1 x(i) = (i-1)*aux1 omega = 2*Pi*frequency*x(i)-phase y(i) = amplitude*Sin(omega) end do End Subroutine efunction1
Cdigo fonte
Subroutine addwaves1(y1,y2,y3) Implicit none Real, dimension(500) :: y1,y2,y3 Integer i ! Loop to sum E1 and E2 do i=1,500,1 y3(i) = y1(i) + y2(i) end do End Subroutine addwaves1 ! Main program Add2waves ! ! Copyright: Walter Filgueira de Azevedo Junior, Ph.D, 2010 ! ! Support by Conselho Nacional de Desenvolvimento Cientifico e Tecnologico-CNPq ! Brazil ! ! Walter F. de Azevedo Jr. (2010) (http://azevedolab.net) ! Program Add2waves Use dislin Implicit None Real, dimension(500) :: vx1,vy1,vx2,vy2,vy3 Real :: xstep,amp1,freq1,phase1,amp2,freq2,phase2,aux,amp
Cdigo fonte
! Reads wave parameters aux = 10./500 print *,'*******************************************************************' print *,'Defining Wave function 1' print *,'Type frequency in Hertz' read(*,*)freq1 print *,'Type phase in rad' read(*,*)phase1 print *,'Type amplitude in arbitrary units (au)' read(*,*)amp1 print *,'*******************************************************************' print *,'Defining Wave function 2' print *,'Type frequency in Hertz' read(*,*)freq2 print *,'Type phase in rad' read(*,*)phase2 print *,'Type amplitude in arbitrary units (au)' read(*,*)amp2 ! Call subroutine efunction1 twice call efunction1(vx1,vy1,amp1,phase1,freq1,aux) call efunction1(vx2,vy2,amp2,phase2,freq2,aux) ! Adding waves call addwaves1(vy1,vy2,vy3)
Cdigo fonte
! Here we call dislin plotting routines ! ! Here we establish intended display format before the other ! Dislin routines are called into action ! call metafl('XWIN') ! to initialize the Dislin routines call disini call pagera call complx ! The axpos places axes on this page with the arguments of the ! function corresponding to the lower left corner of an axis system ! call axspos(450,1800) ! The axslen sets the length of the axes call axslen(2200,1200)
call labdig(-1,'X') call ticks(10,'XY') ! The titlin defines the title string. ! Then title builds and inserts the title appropriately. call titlin('Adding Waves: E(t) = E1(t) + E2(t) (RED)',1) call titlin('E1(t) = A1*Sin(omega1*t - phase1) (BLUE)',2) call titlin('E2(t) = A2*Sin(omega2*t - phase2) (GREEN)',3) xstep = vx1(500)/10.
Cdigo fonte
! The GRAF plots a two-dimensional axis system. ! The call is: CALL GRAF (XA, XE, XOR, XSTP, YA, YE, YOR, YSTP) level 1 ! or: void graf (float xa, float xe, float xor, float xstp, float ya, float ye, ! float yor, float ystp); ! XA, XE are the lower and upper limits of the X-axis. ! XOR, XSTP are the first X-axis label and the step between labels. ! YA, YE are the lower and upper limits of the Y-axis. ! YOR, YSTP are the first Y-axis label and the step between labels. amp = 1.05*(amp1 + amp2) call graf(0.,vx1(500),vx1(1),xstep, -1.*amp,1.*amp,-1.*amp,.2*amp) call title ! The color sets the color of the plotted points and the curves connecting them call color('BLUE') ! The curve connects data points with lines (or can plot them with symbols). call curve(vx1,vy1,500) call color('GREEN') call curve(vx2,vy2,500) call color('RED') call curve(vx1,vy3,500) ! call color('FORE')
! The dash changes the line plotting style dashed. call dash ! The xaxgit plots only the y = 0 line. call xaxgit ! Here we finish dislin call disfin End Program Add2waves
Referncias
Drenth, J. (1994). Principles of Protein X-ray Crystallography. New York: SpringerVerlag. Landau, R.H. A first course in scientific computing. Princeton University Press, New Jersey, 2005.
http://www.wolfram.com/
2010 Dr. Walter F. de Azevedo Jr.