Modos de vibración de una membrana circular

Consideremos una membrana circular de radio a, que está fija por su borde. La ecuación del movimiento ondulatorio en coordenadas polares se escribe.
Simetría radial
Estudiamos primero, el caso más sencillo, las soluciones Ψ(r,t)independientes del ángulo φ.
Condiciones iniciales y de contorno
Las condiciones de contorno son
Las condiciones iniciales son:
Modos de vibración
Aplicamos el procedimiento de separación de variables
Sustituimos en la ecuación diferencial
Como el miembro izquierdo depende solamente de t y el derecho solamente de ρ, entonces, igualamos ambos a una constante que denominaremos -ω2.
Definimos una nueva variable x=ω·ρ/c.
Esta es la ecuación de Bessel de orden cero. La solución de esta ecuación es
Como Y0(x) se hace infinito cuando s se aproxima a cero, el coeficiente D deberá ser cero.
La condición de contorno implica que para todo t, Ψ(a,t)=0 por lo que R(a)=0. Las raíces de la ecuación
J0(α)=0 con α=ω·a/c.
son α1=2.405, α2=5.520, α3=8.654,.... Los sucesivos valores de α determinan las frecuencias ω1, ω2 .... ωn, de los distintos modos de vibración.
Representamos gráficamente J0(x)
>> x=linspace(0,20,200); >> plot(x,besselj(0,x),'b') >> xlabel('x') >> ylabel('y') >> title('Raíces de J_0') >> grid on
Con la herramienta Data cursor, determinamos los valores aproximados de las raíces: 2.4, 5.5, 8.6, 11.8, 14.9...
La función
function r = raices(f, x) y=f(x); indices=find(y(1:end-1).*y(2:end)<0); r=zeros(1,length(indices)); for k=1:length(indices) r(k)=fzero(f, [x(indices(k)), x(indices(k)+1)]); end end
>> x=linspace(0,20,20); >> raices(@(x) besselj(0,x),x) ans = 2.4048 5.5201 8.6537 11.7915 14.9309 18.0711
La diferencia entre dos raíces consecutivas se aproxima a π.
Representamos el tercer modo de vibración
%raíces x=linspace(0,20,20); f=@(x) besselj(0,x); alfa=raices(f,x); a=1; %radio de la membrana circular r=0:0.01:1; ang=0:pi/50:2*pi; [r,ang]=meshgrid(r,ang); x=r.*cos(ang); y=r.*sin(ang); z=besselj(0,alfa(3)*r/a); %tercer modo surf(x,y,z) xlabel('x') ylabel('y') zlabel('z') title('Vibración de una membrana circular')
La solución de la ecuación diferencial dependiente del tiempo es tambien conocida
La solución de la ecuación diferencial correspondiente al modo n de vibración de la membrana circular es
Solución completa
La solución general que satisface las condiciones de contorno es la superposición
Esta ecuación describe todos los posibles modos de vibración de la membrana circular. La vibración particular que experimenta la membrana está únicamente determinada por las condiciones iniciales, que a su vez determinan los valores de las constantes An y Bn.
Utilizamos las propiedades de las funciones de Bessel para calcular el coeficiente An
Téngase en cuenta que αn son las raíces de la ecuación J0(x)=0
Del mismo modo, procedemos para calcular los coeficientes Bn
Condiciones iniciales, t=0
Consideremos una membrana de radio a, que en el instante inicial t=0, tiene la forma de paraboloide de revolución
Representamos la superficie de revolución dada por la función z=1-x2/a2
a=1; %radio de la membrana x=linspace(0, a, 50); z=1-x.^2/a^2; [X,Y,Z]=cylinder(z); mesh(X,Y,Z); xlabel('X'); ylabel('Y'); zlabel('Z') title('Paraboloide') view(110,40)
Como la membrana está en reposo en el instante t=0, los coeficientes Bn=0. Calculamos los coeficientes An
Teniendo en cuenta el resultado de las integrales
>> syms x a; >> int(besselj(0,x)*x,x,0,a) ans =a*besselj(1, a) >> int(besselj(0,x)*x^3,x,0,a) ans =2*a^2*besselj(0, a) - 4*a*besselj(1, a) + a^3*besselj(1, a)
Llegamos al siguiente resultado
Téngase en cuenta que αn son las raíces de la ecuación J0(x)=0
La solución de la ecuación diferencial del movimiento ondulatorio con las condiciones de contorno especificadas (bordes fijos) y la froma inicial de la membrana en reposo es
Comprobamos que la forma inicial de la membrana se obtiene para t=0. Tomaremos varias raíces de la ecuación J0(α)=0
function membrana_4 a=1; %radio de la membrana c=1; %velocidad de propagación t=0; %instante inicial %raíces x=linspace(0,20,20); f=@(x) besselj(0,x); alfa=raices(f,x); x=linspace(0, a, 50); z=onda(x); [X,Y,Z]=cylinder(z); mesh(X,Y,Z); xlabel('X'); ylabel('Y'); zlabel('Z') title('Paraboloide') view(110,40) function z=onda(x) z=0; for n=1:length(alfa) z=z+besselj(0,alfa(n)*x/a)*cos(c*alfa(n)*t/a)/ (alfa(n)^3*+besselj(1,alfa(n))); end z=z*8; end function r = raices(f, x) y=f(x); indices=find(y(1:end-1).*y(2:end)<0); r=zeros(1,length(indices)); for k=1:length(indices) r(k)=fzero(f, [x(indices(k)), x(indices(k)+1)]); end end end
Modos de vibración de una membrana circular (solución general)
Consideremos una membrana circular de radio a, que está fija por su borde. La ecuación del movimiento ondulatorio se escribe.
Aplicamos el método de separación de variables y sustituimos en la ecuación diferencial
Como el miembro izquierdo depende solamente de t y el derecho solamente de r y φ, entonces, igualamos ambos a una constante que denominaremos -ω2.
Aplicamos el método de separación de variables a la primera ecuación diferencial
Obteniendo el sistema de ecuaciones diferenciales
Multiplicamos la primera por ρ2 y hacemos el cambio de variable x=ρω/c. Obtenemos la ecuación de Bessel
La solución del sistema de dos ecuaciones diferenciales es
Donde m es un número entero m=0,1,2,3...
Como Y(ρ) se hace infinito cuando ρ se aproxima a cero, el coeficiente Dρ deberá ser cero, como en el caso anterior.
Representamos las primeras funciones Jm(x), para m=0,1,2,3
hold on for m=0:3 fplot(@(x) besselj(m,x),[0,20],'displayName',num2str(m)) end hold off xlabel('x') ylabel('y') title('J_m') legend('-DynamicLegend','location','Best') grid on
Como la función radial R(r) se hace cero cuando r=a en el borde de la membrana circular. Calculamos las raíces de 1,2,3...n de la función Jm(x) que denominaremos αm,n, Los sucesivos valores de α=ω·R/c determinan las frecuencias ωm1, ωm2 .... ωmn, de los distintos modos de vibración.
x=linspace(0,20,20); for m=0:3; alfa=raices(@(x) besselj(m,x),x); disp([m,alfa]) end
0 2.4048 5.5201 8.6537 11.7915 14.9309 18.0711 1.0000 3.8317 7.0156 10.1735 13.3237 16.4706 19.6159 2.0000 5.1356 8.4172 11.6198 14.7960 17.9598 3.0000 6.3802 9.7610 13.0152 16.2235 19.4094
Las primeras raíces de las funciones de Bessel Jm(x) son
J0(x) | J1(x) | J2(x) |
---|---|---|
2.4048 | 3.8317 | 5.1356 |
5.5201 | 7.0156 | 8.4172 |
8.6537 | 10.1735 | 11.6198 |
11.7915 | 13.3237 | 14.7960 |
14.9309 | 16.4706 | 17.9598 |
18.0711 | 19.6159 | 21.1170 |
El modo de vibración m,n se describe por la función
Los primeros modos de vibración de una membrana circular. Las líneas en color rojo señalan los nodos, los puntos de la membrana que no vibran para un modo particular. Más abajo, veremos la representación en 3D de los distintos modos (m,n) de vibración
Los nodos corresponden a las raíces de la ecuación
Consideremos el caso n=2. Supongamos que hemos calculado las raíces (véase la tabla más arriba) α01=5.5201 (segunda raíz de J0(x)), α11=7.0156 (segunda raíz de J1(x)), α21=8.4172 (segunda raíz de J2(x))
alfa=[5.5201,7.0156,8.4172]; for m=0:2 f=@(x) besselj(m,alfa(m+1)*x); r=fzero(f, 0.5); disp(r) end
Radios ρ/a de los nodos
0.4356 0.5462 0.6101
Consideremos el caso n=3. Supongamos que hemos calculado las raíces (véase la tabla más arriba) α02=8.6537 (tercera raíz de J0(x)), α12=10.1735 (tercera raíz de J1(x)), α22=11.6198 (tercera raíz de J2(x))
alfa=[8.6537,10.1735,11.6198]; for m=0:2 f=@(x) besselj(m,alfa(m+1)*x); r1=fzero(f, 0.2); r2=fzero(f, 0.8); disp([r1,r2]) end
Radios ρ/a de los nodos
0.2779 0.6379 0.3766 0.6896 0.4420 0.7244
Representamos el modo de vibración de la membrana circular, para m=1 y para n=3, tercera raíz de J1(x)
La función seno se podría poner en vez de coseno.
alpha=10.1735; % raiz n=3 de J1(x) R=1; %radio de la membrana circular r=0:0.01:R; ang=0:pi/50:2*pi; [r,ang]=meshgrid(r,ang); x=r.*cos(ang); y=r.*sin(ang); fichero = 'placa_c.gif'; P=1; m=1; %modo de vibración n=3; for t=0:P/20:P z = besselj(m,alpha*r/R).*cos(m*ang)*cos(2*pi*t/P); surf(x,y,z) xlabel('x') ylabel('y') zlabel('z') title('Vibración de una membrana circular') axis([-1 1 -1 1 -1 1]); frame=getframe; im = frame2im(frame); [imind,cm] = rgb2ind(im,256); if t==0 imwrite(imind,cm,fichero,'gif','DelayTime',0,'loopcount',inf); else imwrite(imind,cm,fichero,'gif','DelayTime',0,'writemode','append'); end end
Modos de vibración de un anillo

Supongamos una membrana en forma de anillo de radio exterior a y radio interior b
Partimos de la solución de las dos ecuaciones diferenciales, que hemos deducido en el apartado titulado 'Modos de vibración de una membrana circular (solución general)'
La función R(r) se tiene que hacer cero para ρ=a y para ρ=b. Obtenemos un sistema homogéneo de dos ecuaciones con dos incógnitas C y D.
Despejamos C en la primera ecuación y lo sustituimos en la segunda, obteniendo una ecuación trascendente en x=ω/c
a=4; %radios b=2; x=linspace(0,10,20); for m=0:3; f=@(x) bessely(m,x*b).*besselj(m,x*a)-besselj(m,x*b).*bessely(m,x*a); k=raices(f,x); disp([m,k]) end
0 1.5615 3.1367 4.7091 6.2807 7.8520 9.4231 1.0000 1.5983 3.1562 4.7222 6.2906 7.8599 9.4297 2.0000 1.7035 3.2139 4.7614 6.3202 7.8837 9.4496 3.0000 1.8644 3.3080 4.8261 6.3692 7.9231 9.4825
La solución R(ρ) es
Comprobamos que cumple R(a)=0 y R(b)=0.
La solución completa es similar a la membrana circular, excepto en la parte radial, que ya hemos determinado
Representamos el modo de vibración de la membrana, para m=1 y para n=3, la raíz de la ecuación transcendente es ω13/c=4.7222 (segunda fila, cuarta columna de la tabla)
alfa=4.722232462741136; a=4; %radios del anillo circular b=2; r=b:0.01:a; ang=0:pi/50:2*pi; [r,ang]=meshgrid(r,ang); x=r.*cos(ang); y=r.*sin(ang); fichero = 'anillo_c.gif'; P=1; m=1; %modo de vibración n=3; for t=0:P/20:P z = (bessely(m,alfa*b)*besselj(m,alfa*r)-besselj(m,alfa*b)*bessely(m,alfa*r)) .*cos(m*ang)*cos(2*pi*t/P); surf(x,y,z) xlabel('x') ylabel('y') zlabel('z') title('Vibración de anillo circular') frame=getframe; im = frame2im(frame); [imind,cm] = rgb2ind(im,256); if t==0 imwrite(imind,cm,fichero,'gif','DelayTime',0,'loopcount',inf); else imwrite(imind,cm,fichero,'gif','DelayTime',0,'writemode','append'); end end
Referencias
M. M. Smirnov. Problemas de ecuaciones de la física matemática. Editorial Mir Moscú. 1976. Problema 113, enunciado, pág. 39, solución, págs. 105