viernes, 27 de noviembre de 2015

Ingeniería mecánica

Amortiguamiento crítico


Se define, para sistemas de 1 grado de libertad con amortiguamiento viscoso, como el cociente de amortiguamiento cc que anula la respuesta del sistema en un menor intervalo de tiempo. Se calcula a partir de la expresión:
, donde wn es la frecuencia natural del sistema de 1 grado de libertad no amortiguado.



Se asigna a la variable ed la ecuación que contiene derivadas. A pesar que en este caso son derivadas totales, aparecen como parciales.
El operador diff genera la derivada de la función. El orden dos de la derivada se logra con la lista: t,t
Una notación más compacta para las derivadas de orden superior, se logra con t$n, siendo n el orden deseado.
Oscilador.
La siguiente es la ecuación de un oscilador. Debido a que su solución es de tipo sinusoidal.
ed1 := diff( r(t),t,t ) + (omega^2)*r(t) = 0;
fn := r(t);
ci:= r(0)=R,D(r)(0)=DR;
ed1 := diff(r(t),`$`(t,2))+omega^2*r(t) = 0
fn := r(t)
ci := r(0) = R, D(r)(0) = DR
La solución homogénea en general, puede obtenerse mediante:
Se crean automáticamente constantes indeterminadas, _C1 y _C2 en el ejemplo.
solgeneral := dsolve( ed1, fn );
solgeneral := r(t) = _C1*sin(omega*t)+_C2*cos(omega...
Para resolver con condiciones iniciales
solh:= dsolve( {ed1,ci}, fn );
solh := r(t) = DR*sin(omega*t)/omega+R*cos(omega*t)...
Observando la solución anterior, si R es cero la oscilación será de tipo seno. Si DR es cero la oscilación será de tipo coseno.
Si ambas son ceros, la solución es la trivial, r(t) = 0.
Si se desea efectuar un gráfico debe reevaluarse la solh con valores para los parámetros.
solheval:=eval(solh,{omega=1,R=2,DR=4});
solheval := r(t) = 4*sin(t)+2*cos(t)
Luego debe obtenerse una función rh de t.
rh:=unapply(eval(r(t),solheval), t);
rh := proc (t) options operator, arrow; 4*sin(t)+2*...
Finalmente una visualización de la función rsh:
plot(rh(t),t=0..2*Pi,legend=rs,title="Solución homogénea Oscilador",scaling=constrained);
[Maple Plot]
Excitación por una función constante .
ed2 := diff( r(t),t,t ) + (omega^2)*r(t) = E;
fn := r(t);
ci:= r(0)=R,D(r)(0)=DR;
sol2:= dsolve( {ed2,ci}, fn );
ed2 := diff(r(t),`$`(t,2))+omega^2*r(t) = E
fn := r(t)
ci := r(0) = R, D(r)(0) = DR
sol2 := r(t) = E/(omega^2)+DR*sin(omega*t)/omega+(-...
Si se desea efectuar un gráfico debe reevaluarse la sol2 con valores para los parámetros.
sol2eval:=eval(sol2,{omega=1,E=10,R=4,DR=0});
sol2eval := r(t) = 10-6*cos(t)
Luego debe obtenerse una función rs2 de t.
rs2:=unapply(eval(r(t),sol2eval), t);
rs2 := proc (t) options operator, arrow; 10-6*cos(t...
Finalmente una visualización de la función rs2:
plot(rs2(t),t=0..2*Pi,rs= 0..20,legend=rs,title="Solución con excitación Constante");
[Maple Plot]
Excitación por una función sinusoidal .
ed3 := diff( r(t),t,t ) + (omega^2)*r(t) = E*sin(Omega*t-theta);
fn := r(t);
ci:= r(0)=R,D(r)(0)=DR;
sol3:= dsolve( {ed3,ci}, fn );
ed3 := diff(r(t),`$`(t,2))+omega^2*r(t) = E*sin(Ome...
fn := r(t)
ci := r(0) = R, D(r)(0) = DR
sol3 := r(t) = (-E*cos(theta)*Omega+DR*omega^2-DR*O...
Puede evaluarse la sol3 en la ecuación diferencial ed3
simplify(eval(ed3,sol3));
E*sin(Omega*t-theta) = E*sin(Omega*t-theta)
Se comprueba que sol3 cumple la condición inicial para t=0
simplify(eval(sol3,t=0));
r(0) = R
Se comprueba que la derivada de sol3 cumple la condición inicial para t=0
simplify(eval(diff(sol3,t),t=0));
eval(diff(r(t),t),{t = 0}) = DR
Si se desea efectuar un gráfico debe reevaluarse la sol3 con valores para los parámetros.
Si escogemos R=0 y DR=0, la solución sólo depende de la excitación. Es la respuesta forzada.
sol3eval:=eval(sol3,{omega=1,Omega=2,E=1,theta=Pi/3,R=0,DR=0});
sol3eval := r(t) = 1/3*sin(t)-1/6*sqrt(3)*cos(t)+1/...
Luego debe obtenerse una función rs3 de t.
rs3:=unapply(eval(r(t),sol3eval), t);
rs3 := proc (t) options operator, arrow; 1/3*sin(t)...
Finalmente una visualización de la función rs3:
plot(rs3(t),t=0..4*Pi,legend=rs,title="Excitación Sinusoidal, respuesta forzada");
[Maple Plot]
Si escogemos E=0, la solución sólo depende de las condiciones iniciales. Es la respuesta a entrada cero.
sol4eval:=eval(sol3,{omega=1,Omega=1.5,E=0,theta=Pi/3,R=2,DR=4});
sol4eval := r(t) = 4.000000000*sin(t)+2.000000000*c...
Luego debe obtenerse una función rs4 de t.
rs4:=unapply(eval(r(t),sol4eval), t);
rs4 := proc (t) options operator, arrow; 4.00000000...
Finalmente una visualización de la función rs4:
plot(rs4(t),t=0..2*Pi,legend=rs,title="Excitación Sinusoidal");
[Maple Plot]
Si la frecuencia de excitación es cercana a la propia o natural de la red, se produce el fenómeno de resonancia.
La amplitud de la respuesta tiende a aumentar.
sol5eval:=eval(sol3,{omega=1,Omega=1.01,E=1,theta=Pi/3,R=0,DR=0});
sol5eval := r(t) = 25.12437811*sin(t)-24.87562189*s...
Luego debe obtenerse una función rs5 de t.
rs5:=unapply(eval(r(t),sol5eval), t);
rs5 := proc (t) options operator, arrow; 25.1243781...
Finalmente una visualización de la función rs5:
plot(rs5(t),t=0..12*Pi,legend=rs,title="Excitación Sinusoidal, Resonancia");
[Maple Plot]
restart;with( plots ):
Warning, the name changecoords has been redefined


Solución ecuación homogénea de segundo orden.
Oscilación subamortiguada ( b^2-4*a*c < 0 )
Amortiguamiento crítico ( b^2-4*a*c = 0 )
Oscilación sobreamortiguada ( b^2-4*a*c > 0 )
Solución general
ed4 := a*diff( r(t),t,t ) + b*diff( r(t), t ) + c*r(t) = 0;
fn := r(t);
ci:= r(0)=R, D(r)(0)=DR;
sol4:= dsolve( {ed4,ci}, fn );
ed4 := a*diff(r(t),`$`(t,2))+b*diff(r(t),t)+c*r(t) ...
fn := r(t)
ci := r(0) = R, D(r)(0) = DR
sol4 := r(t) = 1/2*(b*R+sqrt(b^2-4*c*a)*R+2*DR*a)*e...
sol4 := r(t) = 1/2*(b*R+sqrt(b^2-4*c*a)*R+2*DR*a)*e...
b^2-4*a*c < 0 )
Las exponenciales complejas conjugadas pueden simplificarse.
sol4eval:=eval(sol4,{a=1,b=1,c=1,R=0,DR=1});
sol4eval := r(t) = -1/3*sqrt(-3)*exp(1/2*(-1+sqrt(-...
Resulta una sinusoidal amortiguada.
solreal:=evalc(sol4eval);
solreal := r(t) = 2/3*sqrt(3)*exp(-1/2*t)*sin(1/2*s...
Luego debe obtenerse una función rsub de t.
rsub:=unapply(eval(r(t),solreal), t);
rsub := proc (t) options operator, arrow; 2/3*sqrt(...
deriv:=diff(rsub(t),t);
deriv := -1/3*sqrt(3)*exp(-1/2*t)*sin(1/2*sqrt(3)*t...
Puede calcularse instante en que pasa por el máximo:
tmax := solve( diff(rsub(t),t) = 0, t );
tmax := 2/9*Pi*sqrt(3)
evalf(tmax);evalf(rsub(tmax));
1.209199577
.5462930158
Finalmente una visualización de la función rs3:
plot([rsub(t),deriv],t=0..4*Pi,legend=[rs,derivada],title="Caso subamortiguado");
[Maple Plot]
b^2-4*a*c > 0 )
sol5eval:=eval(sol4,{a=1,b=3,c=2,R=1,DR=0});
sol5eval := r(t) = 2*exp(-t)-exp(-2*t)
Luego debe obtenerse una función rsobre de t. Resultan dos exponenciales decrecientes
rsobre:=unapply(eval(r(t),sol5eval), t);
rsobre := proc (t) options operator, arrow; 2*exp(-...
Finalmente una visualización de la función rsobre:
plot(rsobre(t),t=0..4*Pi,legend=rs,title="Caso sobreamortiguado");
[Maple Plot]
b^2-4*a*c = 0 )
Para este caso no puede usarse la solución anterior(la solución sol4 se indefine para este caso).
Eliminaremos c, con el valor crítico.
ed5 := a*diff( r(t),t,t ) + b*diff( r(t), t ) + b^2/(4*a)*r(t) = 0;
fn := r(t);
ci:= r(0)=R, D(r)(0)=DR;
sol5:= dsolve( {ed5,ci}, fn );
ed5 := a*diff(r(t),`$`(t,2))+b*diff(r(t),t)+1/4*b^2...
fn := r(t)
ci := r(0) = R, D(r)(0) = DR
sol5 := r(t) = R*exp(-1/2*t*b/a)+1/2*(b*R+2*DR*a)*e...
sol5eval:=eval(sol5,{a=1,b=1,R=1,DR=0});
sol5eval := r(t) = exp(-1/2*t)+1/2*exp(-1/2*t)*t
Luego debe obtenerse una función rsobre de t.
rcri:=unapply(eval(r(t),sol5eval), t);
rcri := proc (t) options operator, arrow; exp(-1/2*...
Finalmente una visualización de la función rsobre:
plot(rcri(t),t=0..4*Pi,legend=rs,title="Caso amortiguamiento crítico");
[Maple Plot]
Otra forma de ver esta solución es suponer que la solución será una exponencial compleja. Del tipo: r(t) = exp(lambda*t)
Reemplazando en la ecuación diferencial ed4 y arreglando:
r := factor( eval( ed4, r(t)=exp(lambda*t) ) );
r := exp(lambda*t)*(a*lambda^2+b*lambda+c) = 0
La ecuación característica permite encontrar los valores de lambda que cumplen con la ecuación diferencial.
eccaracteristica := r / exp( lambda*t );
eccaracteristica := a*lambda^2+b*lambda+c = 0
Resultan dos valores. Los cuales pueden ser reales diferentes, reales iguales, y complejos conjugados.
valorescaracteristicos := solve( eccaracteristica, {lambda} );
valorescaracteristicos := {lambda = 1/2*(-b+sqrt(b^...
  • Cuando b^2-4*a*c < 0, los valores característicos son complejos conjugados. Si se definen: alpha = b/2 beta = sqrt(4*a*c-b^2) .
Resultan: lambda[1] := alpha+I*beta lambda[2] := alpha-I*beta con solución general: r(t) = A*exp(-alpha*t)*sin(beta*t+phi)
  • Cuando b^2-4*a*c = 0 existe raíz doble: lambda[1] := -1/2*b lambda[2] := -1/2*b y puede comprobarse que: exp(lambda*t) t*exp(lambda*t) cumplen la ecuación diferencial, resulta una solución general, para este caso de amortiguamiento crítico:
r(t) = c[1]*exp(-1*b*t/2)+c[2]*t*exp(-1*b*t/2)
  • Cuando b^2-4*a*c > 0, las raíces son reales y diferentes
Debido a que: 0 < b^2-4*a*c <= b^2 , ambos valores característicos son negativos
lambda[1] := 1/2*(-b+sqrt(b^2-4*a*c))/a lambda[2] := 1/2*(-b-sqrt(b^2-4*a*c))/a con lambda[2] lambda[1] < 0.
la solución general es:
r(t) = c[1]*exp(1*(-b+sqrt(b^2-4*a*c))*t/(2*a))+c[2...
restart;
Solución de ecuación diferencial de segundo orden con excitación sinusoidal.
ed6 := a*diff( r(t),t,t ) + b*diff( r(t), t ) + c*r(t) = E*cos(omega*t);
fn := r(t);
ci:= r(0)=R, D(r)(0)=DR;
sol6:= dsolve( {ed6,ci}, fn ):
ed6 := a*diff(r(t),`$`(t,2))+b*diff(r(t),t)+c*r(t) ...
fn := r(t)
ci := r(0) = R, D(r)(0) = DR
Se escogen solución sinusoidal amortiguada(esto seleccionando los valores de a, b y c), y la frecuencia de excitación cercana a la natural.
Cambiando los valores pueden estudiarse otras soluciones.
sol6eval:=eval(sol6,{a=1,b=1,c=1,R=1,DR=1,E=1,omega=sqrt(3)/2});
sol6eval := r(t) = -1/6*(-2*cos(1/2*sqrt(3)*t)*sqrt...
sol6eval := r(t) = -1/6*(-2*cos(1/2*sqrt(3)*t)*sqrt...
Resulta una sinusoidal amortiguada.
solreal:=simplify(evalc(sol6eval));
solreal := r(t) = 4/13*cos(1/2*sqrt(3)*t)+8/13*sqrt...
Luego debe obtenerse una función rsube de t.
rsube:=unapply(eval(r(t),solreal), t);
rsube := proc (t) options operator, arrow; 4/13*cos...
Puede calcularse el instante en que pasa por un máximo
tcri:=solve(diff(rsube(t),t)=0, t);
tcri := 2/3*RootOf(6*tan(_Z)+19*tan(_Z)*exp(-1/3*_Z...
evalf(tcri);evalf(rsube(tcri));
1.039656469
1.509739346
Se advierte que la respuesta toma al inicio valores elevados, luego del transiente tiene igual forma que la excitación sinusoidal.
plot(rsube(t),t=0..10*Pi,legend=rsube,title="Caso subamortiguado con excitación sinusoidal");

[Maple Plot]

No hay comentarios:

Publicar un comentario