> restart:#"m3_p08"

En la boca de un cilindro vertical cerrado por abajo, de 10 cm de diámetro y 30 cm de altura hay una especie de émbolo de 2 kg, sujeto al cilindro con un anclaje que resiste 1000 N antes de su rotura. Inicialmente había aire encerrado a presión ambiente, y entonces se conecta a un compresor volumétrico que introduce rápidamente emboladas de 100 cm3 de aire atmosférico. Se pide:

a)•Masa de aire inicial y la introducida en cada embolada.

b)•Número de emboladas hasta la rotura del anclaje y aceleración inicial del émbolo.

c)•Trabajo máximo obtenible de la configuración en la rotura.

d)•Estimar el trabajo que ha sido necesario aplicar.

Datos:

> read"../therm_eq.m":read"../therm_proc.m":with(therm_proc):

> su:="Aire":dat:=[Di=0.1*m_,L=0.3*m_,mE=2*kg_,F=1000*N_,Ve=100e-6*m_^3]:dat:=[op(dat),A=evalf(subs(dat,Pi*Di^2/4))]:'dat'=evalf(%,2);

dat = [Di = `+`(`*`(.1, `*`(m_))), L = `+`(`*`(.3, `*`(m_))), mE = `+`(`*`(2., `*`(kg_))), F = `+`(`*`(0.10e4, `*`(N_))), Ve = `+`(`*`(0.10e-3, `*`(`^`(m_, 3)))), A = `+`(`*`(0.79e-2, `*`(`^`(m_, 2)))...

Image

Esquema:

> `:=`(Sistemas, [aire_encerrado])

> `:=`(Estados, [1, 2, 3])

Eqs. const.:

> eqET:=subs(eq1_11,eq1_12);eqEE:=eq1_16;gdat:=get_gas_data(su):dat:=op(dat),Const,gdat,SI2,SI1:

`:=`(eqET, `/`(`*`(m), `*`(V)) = `/`(`*`(p), `*`(R, `*`(T))))

`:=`(eqEE, DU = `*`(m, `*`(c[v], `*`(DT))))

a) Masa de aire inicial y la introducida en cada embolada.

> p1:=p0:T1:=T0:'V'=L*A;V_:=subs(dat,L*A):'V'=evalf(%,2);m1:=solve(subs(V=L*A,p=p0,T=T0,eqET),m);m1_:=subs(dat,m1):'m1'=evalf(%*1000*g_/kg_,3);Dm:=solve(subs(V=Ve,p=p0,T=T0,eqET),m);Dm_:=subs(dat,Dm):'Dm'=evalf(%*1000*g_/kg_,3);

V = `*`(L, `*`(A))

V = `+`(`*`(0.24e-2, `*`(`^`(m_, 3))))

`:=`(m1, `/`(`*`(p0, `*`(L, `*`(A))), `*`(R, `*`(T0))))

m1 = `+`(`*`(2.85, `*`(g_)))

`:=`(Dm, `/`(`*`(p0, `*`(Ve)), `*`(R, `*`(T0))))

Dm = `+`(`*`(.121, `*`(g_)))

b)•Número de emboladas hasta la rotura del anclaje y aceleración inicial del émbolo.

> eqBF:=p2*A=p0*A+mE*g+F;p2_:=subs(dat,solve(eqBF,p2)):'p2'=evalf(%/(1000*Pa_/kPa_));

`:=`(eqBF, `*`(p2, `*`(A)) = `+`(`*`(p0, `*`(A)), `*`(mE, `*`(g)), F))

p2 = `+`(`*`(229.8211975, `*`(kPa_)))

b)•Número de emboladas hasta la rotura del anclaje y aceleración inicial del émbolo.

Si fuese muy lento (isotermo):

> m2:=solve(subs(p=p2,V=A*L,T=T0,eqET),m);m2_:=subs(p2=p2_,dat,m2):'m2'=evalf(%*1000*g_/kg_,3);Ne:='(m2-m1)/Dm';Ne_:=ceil(subs(p2=p2_,dat,Ne));a:=(p2-p0)*A/mE-g;a_:=subs(dat,(p2_-p0)*A/mE-g);

`:=`(m2, `/`(`*`(p2, `*`(L, `*`(A))), `*`(R, `*`(T0))))

m2 = `+`(`*`(6.56, `*`(g_)))

`:=`(Ne, `/`(`*`(`+`(m2, `-`(m1))), `*`(Dm)))

`:=`(Ne_, 31)

`:=`(a, `+`(`/`(`*`(`+`(p2, `-`(p0)), `*`(A)), `*`(mE)), `-`(g)))

`:=`(a_, `+`(`/`(`*`(500.0000006, `*`(m_)), `*`(`^`(s_, 2)))))

Pero como es rápido (adiabático) hay que estimar T2. Lo mejor sería tomar un volumen de control abierto en régimen no estacionario, pero puede aproximarse considerando compresión isoentrópica en todo el volumen, con lo que la masa final sería:

> m2s:='m1*(p2/p1)^(1/gamma)';m2s_:=subs(p2=p2_,dat,m2s):'m2s'=evalf(%*1000*g_/kg_,3);Nes:='(m2s-m1)/Dm';Nes_:=ceil(subs(p2=p2_,dat,Nes));T2s:=T1*(p2/p1)^((gamma-1)/gamma);T2s_:=subs(p2=p2_,dat,T2s);

`:=`(m2s, `*`(m1, `*`(`^`(`/`(`*`(p2), `*`(p1)), `/`(1, `*`(gamma))))))

m2s = `+`(`*`(5.17, `*`(g_)))

`:=`(Nes, `/`(`*`(`+`(m2s, `-`(m1))), `*`(Dm)))

`:=`(Nes_, 20)

`:=`(T2s, `*`(T0, `*`(`^`(`/`(`*`(p2), `*`(p0)), `/`(`*`(`+`(gamma, `-`(1))), `*`(gamma))))))

`:=`(T2s_, `+`(`*`(365.2468759, `*`(K_))))

c)•Trabajo máximo obtenible de la configuración en la rotura.

Compresión rápida.

> Phi02:=DE02+p0*DV02-T0*DS02;DE02:='m2s*c[v]*(T2s-T0)';DE02_:=subs(p2=p2_,dat,DE02);DV02:='V-V*(p2/p1)*(T1/T2s)';DV02_:=subs(V=V_,p2=p2_,dat,DV02);DS02:='m2s*(c[p]*ln(T2s/T0)-R*ln(p2/p0))';DS02_:=subs(SI1,evalf(subs(p2=p2_,dat,DS02)));Phi02_:=DE02_+subs(dat,p0*DV02_-T0*DS02_);

`:=`(Phi02, `+`(DE02, `*`(p0, `*`(DV02)), `-`(`*`(T0, `*`(DS02)))))

`:=`(DE02, `*`(m2s, `*`(c[v], `*`(`+`(T2s, `-`(T0))))))

`:=`(DE02_, `+`(`*`(286.5435952, `*`(J_))))

`:=`(DV02, `+`(V, `-`(`/`(`*`(V, `*`(p2, `*`(T1))), `*`(p1, `*`(T2s))))))

`:=`(DV02_, `+`(`-`(`*`(0.1913602209e-2, `*`(`^`(m_, 3))))))

`:=`(DS02, `*`(m2s, `*`(`+`(`*`(c[p], `*`(ln(`/`(`*`(T2s), `*`(T0))))), `-`(`*`(R, `*`(ln(`/`(`*`(p2), `*`(p0))))))))))

`:=`(DS02_, `+`(`-`(`/`(`*`(0.8606460948e-9, `*`(J_)), `*`(K_)))))

`:=`(Phi02_, `+`(`*`(95.1833745, `*`(J_))))

d)•Estimar el trabajo que ha sido necesario aplicar.

Si se ha comprimido siempre hasta una misma presión (como mínimo la de rotura), el trabajo en cada embolada es siempre el mismo.

> w_comp:='Dm*c[p]*(T2-T1)';w_comp:='Dm*c[p]*T0*((p2/p0)^((gamma-1)/gamma)-1)';w_comp_:=evalf(subs(p2=p2_,dat,w_comp));W_comp:='w_comp*Nes';W_comp_:=evalf(Nes_*w_comp_);

`:=`(w_comp, `*`(Dm, `*`(c[p], `*`(`+`(T2, `-`(T1))))))

`:=`(w_comp, `*`(Dm, `*`(c[p], `*`(T0, `*`(`+`(`^`(`/`(`*`(p2), `*`(p0)), `/`(`*`(`+`(gamma, `-`(1))), `*`(gamma))), `-`(1)))))))

`:=`(w_comp_, `+`(`*`(9.393125540, `*`(J_))))

`:=`(W_comp, `*`(w_comp, `*`(Nes)))

`:=`(W_comp_, `+`(`*`(187.8625108, `*`(J_))))

Si en cada embolada sólo se comprimiera lo necesario, sería:

      #EMBOLADA        m_inicial      m_final        p_inicial      p_final           DW          Wtotal

> mf:=subs(dat,m1):w1:=0:wtot:=0:pf:=subs(dat,p0):for i from 1 to 20 do: mi:=mf:pi:=pf:mf:=mf+subs(dat,Dm): pf:=pi*(mf/mi)^subs(dat,gamma): w1:=subs(dat,dat,Dm*c[p]*T0*((pf/p0)^((gamma-1)/gamma)-1)):wtot:=wtot+w1:print(evalf([i,mi,mf,pi,pf,w1,wtot]));od:

[1., `+`(`*`(0.2853688900e-2, `*`(kg_))), `+`(`*`(0.2974803218e-2, `*`(kg_))), `+`(`*`(0.1e6, `*`(Pa_))), `+`(`*`(105990.3588, `*`(Pa_))), `+`(`*`(.5866387915, `*`(J_))), `+`(`*`(.5866387915, `*`(J_))...

[2., `+`(`*`(0.2974803218e-2, `*`(kg_))), `+`(`*`(0.3095917536e-2, `*`(kg_))), `+`(`*`(105990.3588, `*`(Pa_))), `+`(`*`(112079.0123, `*`(Pa_))), `+`(`*`(1.159108100, `*`(J_))), `+`(`*`(1.745746892, `*...

[3., `+`(`*`(0.3095917536e-2, `*`(kg_))), `+`(`*`(0.3217031854e-2, `*`(kg_))), `+`(`*`(112079.0123, `*`(Pa_))), `+`(`*`(118263.6327, `*`(Pa_))), `+`(`*`(1.718285187, `*`(J_))), `+`(`*`(3.464032079, `*...

[4., `+`(`*`(0.3217031854e-2, `*`(kg_))), `+`(`*`(0.3338146172e-2, `*`(kg_))), `+`(`*`(118263.6327, `*`(Pa_))), `+`(`*`(124542.0335, `*`(Pa_))), `+`(`*`(2.264962216, `*`(J_))), `+`(`*`(5.728994295, `*...

[5., `+`(`*`(0.3338146172e-2, `*`(kg_))), `+`(`*`(0.3459260490e-2, `*`(kg_))), `+`(`*`(124542.0335, `*`(Pa_))), `+`(`*`(130912.1564, `*`(Pa_))), `+`(`*`(2.799857526, `*`(J_))), `+`(`*`(8.528851821, `*...

[6., `+`(`*`(0.3459260490e-2, `*`(kg_))), `+`(`*`(0.3580374808e-2, `*`(kg_))), `+`(`*`(130912.1564, `*`(Pa_))), `+`(`*`(137372.0589, `*`(Pa_))), `+`(`*`(3.323624529, `*`(J_))), `+`(`*`(11.85247635, `*...

[7., `+`(`*`(0.3580374808e-2, `*`(kg_))), `+`(`*`(0.3701489126e-2, `*`(kg_))), `+`(`*`(137372.0589, `*`(Pa_))), `+`(`*`(143919.9051, `*`(Pa_))), `+`(`*`(3.836859902, `*`(J_))), `+`(`*`(15.68933625, `*...

[8., `+`(`*`(0.3701489126e-2, `*`(kg_))), `+`(`*`(0.3822603444e-2, `*`(kg_))), `+`(`*`(143919.9051, `*`(Pa_))), `+`(`*`(150553.9553, `*`(Pa_))), `+`(`*`(4.340109895, `*`(J_))), `+`(`*`(20.02944614, `*...

[9., `+`(`*`(0.3822603444e-2, `*`(kg_))), `+`(`*`(0.3943717762e-2, `*`(kg_))), `+`(`*`(150553.9553, `*`(Pa_))), `+`(`*`(157272.5588, `*`(Pa_))), `+`(`*`(4.833876141, `*`(J_))), `+`(`*`(24.86332228, `*...

[10., `+`(`*`(0.3943717762e-2, `*`(kg_))), `+`(`*`(0.4064832080e-2, `*`(kg_))), `+`(`*`(157272.5588, `*`(Pa_))), `+`(`*`(164074.1467, `*`(Pa_))), `+`(`*`(5.318620699, `*`(J_))), `+`(`*`(30.18194298, `...

[11., `+`(`*`(0.4064832080e-2, `*`(kg_))), `+`(`*`(0.4185946398e-2, `*`(kg_))), `+`(`*`(164074.1467, `*`(Pa_))), `+`(`*`(170957.2255, `*`(Pa_))), `+`(`*`(5.794770014, `*`(J_))), `+`(`*`(35.97671299, `...

[12., `+`(`*`(0.4185946398e-2, `*`(kg_))), `+`(`*`(0.4307060716e-2, `*`(kg_))), `+`(`*`(170957.2255, `*`(Pa_))), `+`(`*`(177920.3709, `*`(Pa_))), `+`(`*`(6.262718731, `*`(J_))), `+`(`*`(42.23943172, `...

[13., `+`(`*`(0.4307060716e-2, `*`(kg_))), `+`(`*`(0.4428175034e-2, `*`(kg_))), `+`(`*`(177920.3709, `*`(Pa_))), `+`(`*`(184962.2234, `*`(Pa_))), `+`(`*`(6.722832918, `*`(J_))), `+`(`*`(48.96226464, `...

[14., `+`(`*`(0.4428175034e-2, `*`(kg_))), `+`(`*`(0.4549289352e-2, `*`(kg_))), `+`(`*`(184962.2234, `*`(Pa_))), `+`(`*`(192081.4834, `*`(Pa_))), `+`(`*`(7.175452800, `*`(J_))), `+`(`*`(56.13771744, `...

[15., `+`(`*`(0.4549289352e-2, `*`(kg_))), `+`(`*`(0.4670403670e-2, `*`(kg_))), `+`(`*`(192081.4834, `*`(Pa_))), `+`(`*`(199276.9067, `*`(Pa_))), `+`(`*`(7.620895136, `*`(J_))), `+`(`*`(63.75861258, `...

[16., `+`(`*`(0.4670403670e-2, `*`(kg_))), `+`(`*`(0.4791517988e-2, `*`(kg_))), `+`(`*`(199276.9067, `*`(Pa_))), `+`(`*`(206547.3009, `*`(Pa_))), `+`(`*`(8.059455604, `*`(J_))), `+`(`*`(71.81806818, `...

[17., `+`(`*`(0.4791517988e-2, `*`(kg_))), `+`(`*`(0.4912632306e-2, `*`(kg_))), `+`(`*`(206547.3009, `*`(Pa_))), `+`(`*`(213891.5227, `*`(Pa_))), `+`(`*`(8.491410515, `*`(J_))), `+`(`*`(80.30947870, `...

[18., `+`(`*`(0.4912632306e-2, `*`(kg_))), `+`(`*`(0.5033746624e-2, `*`(kg_))), `+`(`*`(213891.5227, `*`(Pa_))), `+`(`*`(221308.4735, `*`(Pa_))), `+`(`*`(8.917018635, `*`(J_))), `+`(`*`(89.22649734, `...

[19., `+`(`*`(0.5033746624e-2, `*`(kg_))), `+`(`*`(0.5154860942e-2, `*`(kg_))), `+`(`*`(221308.4735, `*`(Pa_))), `+`(`*`(228797.0979, `*`(Pa_))), `+`(`*`(9.336522657, `*`(J_))), `+`(`*`(98.56302000, `...

[20., `+`(`*`(0.5154860942e-2, `*`(kg_))), `+`(`*`(0.5275975260e-2, `*`(kg_))), `+`(`*`(228797.0979, `*`(Pa_))), `+`(`*`(236356.3797, `*`(Pa_))), `+`(`*`(9.750150457, `*`(J_))), `+`(`*`(108.3131705, `...

>