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;
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 );
Para resolver con condiciones iniciales
> solh:= dsolve( {ed1,ci}, fn );
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});
Luego debe obtenerse una función rh de t.
> rh:=unapply(eval(r(t),solheval), t);
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);
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 );
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});
Luego debe obtenerse una función rs2 de t.
> rs2:=unapply(eval(r(t),sol2eval), 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");
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 );
Puede evaluarse la sol3 en la ecuación diferencial ed3
> simplify(eval(ed3,sol3));
Se comprueba que sol3 cumple la condición inicial para t=0
> simplify(eval(sol3,t=0));
Se comprueba que la derivada de sol3 cumple la condición inicial para t=0
> simplify(eval(diff(sol3,t),t=0));
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});
Luego debe obtenerse una función rs3 de t.
> rs3:=unapply(eval(r(t),sol3eval), 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");
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});
Luego debe obtenerse una función rs4 de t.
> rs4:=unapply(eval(r(t),sol4eval), t);
Finalmente una visualización de la función rs4:
> plot(rs4(t),t=0..2*Pi,legend=rs,title="Excitación Sinusoidal");
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});
Luego debe obtenerse una función rs5 de t.
> rs5:=unapply(eval(r(t),sol5eval), t);
Finalmente una visualización de la función rs5:
> plot(rs5(t),t=0..12*Pi,legend=rs,title="Excitación Sinusoidal, Resonancia");
> restart;with( plots ):
Warning, the name changecoords has been redefined
Solución ecuación homogénea de segundo orden.
Oscilación subamortiguada ( < 0 )
Amortiguamiento crítico ( = 0 )
Oscilación sobreamortiguada ( > 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 );
( < 0 )
Las exponenciales complejas conjugadas pueden simplificarse.
> sol4eval:=eval(sol4,{a=1,b=1,c=1,R=0,DR=1});
Resulta una sinusoidal amortiguada.
> solreal:=evalc(sol4eval);
Luego debe obtenerse una función rsub de t.
> rsub:=unapply(eval(r(t),solreal), t);
> deriv:=diff(rsub(t),t);
Puede calcularse instante en que pasa por el máximo:
> tmax := solve( diff(rsub(t),t) = 0, t );
> evalf(tmax);evalf(rsub(tmax));
Finalmente una visualización de la función rs3:
> plot([rsub(t),deriv],t=0..4*Pi,legend=[rs,derivada],title="Caso subamortiguado");
( > 0 )
> sol5eval:=eval(sol4,{a=1,b=3,c=2,R=1,DR=0});
Luego debe obtenerse una función rsobre de t. Resultan dos exponenciales decrecientes
> rsobre:=unapply(eval(r(t),sol5eval), t);
Finalmente una visualización de la función rsobre:
> plot(rsobre(t),t=0..4*Pi,legend=rs,title="Caso sobreamortiguado");
( = 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 );
> sol5eval:=eval(sol5,{a=1,b=1,R=1,DR=0});
Luego debe obtenerse una función rsobre de t.
> rcri:=unapply(eval(r(t),sol5eval), t);
Finalmente una visualización de la función rsobre:
> plot(rcri(t),t=0..4*Pi,legend=rs,title="Caso amortiguamiento crítico");
Otra forma de ver esta solución es suponer que la solución será una exponencial compleja. Del tipo:
Reemplazando en la ecuación diferencial ed4 y arreglando:
> r := factor( eval( ed4, r(t)=exp(lambda*t) ) );
La ecuación característica permite encontrar los valores de que cumplen con la ecuación diferencial.
> eccaracteristica := r / exp( lambda*t );
Resultan dos valores. Los cuales pueden ser reales diferentes, reales iguales, y complejos conjugados.
> valorescaracteristicos := solve( eccaracteristica, {lambda} );
Resultan: y con solución general:
Debido a que: 0 < <= , ambos valores característicos son negativos
con < < 0.
la solución general es:
> 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 ):
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});
Resulta una sinusoidal amortiguada.
> solreal:=simplify(evalc(sol6eval));
Luego debe obtenerse una función rsube de t.
> rsube:=unapply(eval(r(t),solreal), t);
Puede calcularse el instante en que pasa por un máximo
> tcri:=solve(diff(rsube(t),t)=0, t);
> evalf(tcri);evalf(rsube(tcri));
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");
|
viernes, 27 de noviembre de 2015
Ingeniería mecánica
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario