> restart:#"m05p46"

Se tienen dos depósitos térmicamente aislados, uno de 1 m3 y el otro de 0,1 m3, conteniendo aire inicialmente a presión y temperatura ambiente, comunicados entre sí a través de una válvula de alivio que se está cerrada si la diferencia de presión desde el depósito mayor al menor es menor de 0,1 MPa, y abierta si es mayor. En un cierto instante se conecta una resistencia eléctrica en el interior del depósito mayor, que disipa constantemente 1 kW. Se pide:
a) Diagrama de la evolución temporal esperada de la presión, temperatura y densidad en cada depósito.
b) Tiempo que tardaría en abrirse la válvula.
c) Calcular las pendientes de las evoluciones anteriores, instantes antes de abrirse la válvula.
d) Gasto másico de aire que empezaría a salir.
e) Calcular las pendientes de las evoluciones anteriores, instantes después de abrirse la válvula.

Datos:

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

> su:="Aire":dat:=[V1=1*m_^3,V2=0.1*m_^3,Dp=0.1e6*Pa_,Qdot=1e3*W_];

`:=`(dat, [V1 = `*`(`^`(m_, 3)), V2 = `+`(`*`(.1, `*`(`^`(m_, 3)))), Dp = `+`(`*`(0.1e6, `*`(Pa_))), Qdot = `+`(`*`(0.1e4, `*`(W_)))])

Esquema:

> `:=`(Sistemas, [1 = mayor, 2 = menor])

Image

> `:=`(Estados, [0 = inicial, 1 = apertura])

Eqs. const.:

> dat:=op(dat),get_gas_data(su),Const,SI2,SI1:

a) Diagrama de la evolución temporal esperada de la presión, temperatura y densidad en cada depósito.

Hipótesis básica: se supone válida la aproximación de considerar una única temperatura media representativa en cada depósito.

b) Tiempo que tardaría en abrirse la válvula.
Se abrirá cuando p1=p2+Dp. La evolución será de una masa de aire calentándose a volumen constante.

> eq1_5;eq1_14;eq1_16;m10_:=subs(V=V1,p=p0,T=T0,dat,solve(eq1_14,m)):'m10'=evalf(%,2);m20_:=subs(V=V2,p=p0,T=T0,dat,solve(eq1_14,m)):'m2'=evalf(%,2);eqBE1:=m1*c[v]*(T1-T10)=0+Qdot*t;t1:=subs(T1=T11,solve(eqBE1,t));eqBM1:=p11/T11=p10/T10;t1_:=subs(T11=solve(eqBM1,T11),t1);p11:=p10+Dp;p10:=p0;T10:=T0;p11_:=subs(dat,p11):'p11'=evalf(%,2);t1_:=subs(m1=m10_,p11=p11_,dat,t1_):'t1'=evalf(%,2);T11='p11*V1/(m10*R)';T11_:=subs(dat,p11_*V1/(m10_*R)):'T11'=evalf(%,3);

DE = `+`(W, Q)

`*`(p, `*`(V)) = `*`(m, `*`(R, `*`(T)))

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

m10 = `+`(`*`(1.2, `*`(kg_)))

m2 = `+`(`*`(.12, `*`(kg_)))

`:=`(eqBE1, `*`(m1, `*`(c[v], `*`(`+`(T1, `-`(T10))))) = `*`(Qdot, `*`(t)))

`:=`(t1, `/`(`*`(m1, `*`(c[v], `*`(`+`(T11, `-`(T10))))), `*`(Qdot)))

`:=`(eqBM1, `/`(`*`(p11), `*`(T11)) = `/`(`*`(p10), `*`(T10)))

`:=`(t1_, `/`(`*`(m1, `*`(c[v], `*`(`+`(`/`(`*`(p11, `*`(T10)), `*`(p10)), `-`(T10))))), `*`(Qdot)))

`:=`(p11, `+`(p10, Dp))

`:=`(p10, p0)

`:=`(T10, T0)

p11 = `+`(`*`(0.2e6, `*`(Pa_)))

t1 = `+`(`*`(0.25e3, `*`(s_)))

T11 = `/`(`*`(p11, `*`(V1)), `*`(m10, `*`(R)))

T11 = `+`(`*`(576., `*`(K_)))

c) Calcular las pendientes de las evoluciones anteriores, instantes antes de abrirse la válvula.
Todo variará linealmente con el tiempo hasta que se abre la válvula.

> eqBM1:=m1=m10;eqBE1:=T1=expand(subs(eqBM1,solve(eqBE1,T1)));eq1:=dT1/dt=diff(rhs(eqBE1),t);eq1_:=subs(m10=m10_,dat,eq1):evalf(%,2);eqET1:=p1=expand(subs(V=V1,m=m10,T=T1,eqBE1,solve(eq1_14,p)));eq2:=dp1/dt=diff(rhs(eqET1),t);eq2_:=subs(m10=m10_,dat,eq2):evalf(%,2);eqrho1:=rho1=m10/V1;drho1/dt=0;

`:=`(eqBM1, m1 = m10)

`:=`(eqBE1, T1 = `+`(T0, `/`(`*`(Qdot, `*`(t)), `*`(m10, `*`(c[v])))))

`:=`(eq1, `/`(`*`(dT1), `*`(dt)) = `/`(`*`(Qdot), `*`(m10, `*`(c[v]))))

`/`(`*`(dT1), `*`(dt)) = `+`(`/`(`*`(1.2, `*`(K_)), `*`(s_)))

`:=`(eqET1, p1 = `+`(`/`(`*`(m10, `*`(R, `*`(T0))), `*`(V1)), `/`(`*`(R, `*`(Qdot, `*`(t))), `*`(V1, `*`(c[v])))))

`:=`(eq2, `/`(`*`(dp1), `*`(dt)) = `/`(`*`(R, `*`(Qdot)), `*`(V1, `*`(c[v]))))

`/`(`*`(dp1), `*`(dt)) = `+`(`/`(`*`(0.40e3, `*`(kg_)), `*`(m_, `*`(`^`(s_, 3)))))

`:=`(eqrho1, rho1 = `/`(`*`(m10), `*`(V1)))

`/`(`*`(drho1), `*`(dt)) = 0

d) Gasto másico de aire que empezaría a salir..
Inmediatamente después de abrirse la válvula los valores de la temperatura, presión y densidades no habrán variado de los de un poco antes.

Tomando como referencia u=0 y s=0 a T=0 K,

> eq5_16;eqBE1:=d(m1*u1)=Qdot*dt+h1*dm1;eqBE2:=d(m2*u2)=h1*dm2;eqBE1:=d(m1*c[v]*T1)=0+Qdot*dt+c[p]*T1*dm1;eqBE2:=d(m2*c[v]*T2)=0+0+c[p]*T1*dm2;eqDp:=p1=p2+Dp;eqDp_:=dp1=dp2;eqm:=m1+m2=m10+m20;eqm:=dm1=-dm2;eqET_:=d(m*c[v]*T)=d(p*V)*c[v]/R;eqET__:=d(m*c[v]*T)=(V/(gamma-1))*dp;eqBE2:=V2*dp2/(gamma-1)=c[p]*T1*dm2;eqBE2:=V2*dp1/(gamma-1)=-c[p]*(p1*V1/(m1*R))*dm1;eqBE2_:=dp1/p1=subs(R=((gamma-1)/gamma)*c[p],solve(%,dp1)/p1);eqBE1_:=V1*dp1/(gamma-1)=Qdot*dt+c[p]*T1*dm1;eqBE1_:=V1*dp1/(gamma-1)=Qdot*dt+c[p]*(p1*V1/(m1*R))*dm1;eqBE1_:=subs(R=((gamma-1)/gamma)*c[p],%);eqBE1_:=subs(dm1=-(dp1/p1)*(V2*m1/(gamma*V1)),%);eqBE12:=(V1+V2)*dp1/(gamma-1)=Qdot*dt;eqpdot:=dp1/dt=Qdot*(gamma-1)/(V1+V2);subs(dat,%):evalf(%,2);eqBE2__:=dm1/dt=solve(subs(dp1=rhs(eqpdot)*dt,eqBE2_),dm1)/dt;eqBE2__ini:=subs(m1=m10_,p1=p11_,dat,%):'eqBE2__ini'=evalf(%,2);eq1_14;T=p*V/(m*R);eqT_:=dT=V*dp/(m*R)-p*V*dm/(m^2*R):%;eqTdot1_ini:=dT1/dt=subs(V=V1,dp=rhs(eqpdot),m=m10_,p=p11_,dm=rhs(eqBE2__ini),dat,rhs(eqT_)):evalf(%,2);eqTdot2_ini:=dT2/dt=subs(V=V2,dp=rhs(eqpdot),m=m20_,p=p0,dm=-rhs(eqBE2__ini),dat,rhs(eqT_)):evalf(%,2);

d(`*`(m, `*`(e))) = `+`(dW, dQ, Sum(`*`(h[t, e], `*`(dm[e])), i = 1 .. abert))

`:=`(eqBE1, d(`*`(m1, `*`(u1))) = `+`(`*`(Qdot, `*`(dt)), `*`(h1, `*`(dm1))))

`:=`(eqBE2, d(`*`(m2, `*`(u2))) = `*`(h1, `*`(dm2)))

`:=`(eqBE1, d(`*`(m1, `*`(c[v], `*`(T1)))) = `+`(`*`(Qdot, `*`(dt)), `*`(c[p], `*`(T1, `*`(dm1)))))

`:=`(eqBE2, d(`*`(m2, `*`(c[v], `*`(T2)))) = `*`(c[p], `*`(T1, `*`(dm2))))

`:=`(eqDp, p1 = `+`(p2, Dp))

`:=`(eqDp_, dp1 = dp2)

`:=`(eqm, `+`(m1, m2) = `+`(m10, m20))

`:=`(eqm, dm1 = `+`(`-`(dm2)))

`:=`(eqET_, d(`*`(m, `*`(c[v], `*`(T)))) = `/`(`*`(d(`*`(p, `*`(V))), `*`(c[v])), `*`(R)))

`:=`(eqET__, d(`*`(m, `*`(c[v], `*`(T)))) = `/`(`*`(V, `*`(dp)), `*`(`+`(gamma, `-`(1)))))

`:=`(eqBE2, `/`(`*`(V2, `*`(dp2)), `*`(`+`(gamma, `-`(1)))) = `*`(c[p], `*`(T1, `*`(dm2))))

`:=`(eqBE2, `/`(`*`(V2, `*`(dp1)), `*`(`+`(gamma, `-`(1)))) = `+`(`-`(`/`(`*`(c[p], `*`(p1, `*`(V1, `*`(dm1)))), `*`(m1, `*`(R))))))

`:=`(eqBE2_, `/`(`*`(dp1), `*`(p1)) = `+`(`-`(`/`(`*`(V1, `*`(dm1, `*`(gamma))), `*`(V2, `*`(m1))))))

`:=`(eqBE1_, `/`(`*`(V1, `*`(dp1)), `*`(`+`(gamma, `-`(1)))) = `+`(`*`(Qdot, `*`(dt)), `*`(c[p], `*`(T1, `*`(dm1)))))

`:=`(eqBE1_, `/`(`*`(V1, `*`(dp1)), `*`(`+`(gamma, `-`(1)))) = `+`(`*`(Qdot, `*`(dt)), `/`(`*`(c[p], `*`(p1, `*`(V1, `*`(dm1)))), `*`(m1, `*`(R)))))

`:=`(eqBE1_, `/`(`*`(V1, `*`(dp1)), `*`(`+`(gamma, `-`(1)))) = `+`(`*`(Qdot, `*`(dt)), `/`(`*`(p1, `*`(V1, `*`(gamma, `*`(dm1)))), `*`(m1, `*`(`+`(gamma, `-`(1)))))))

`:=`(eqBE1_, `/`(`*`(V1, `*`(dp1)), `*`(`+`(gamma, `-`(1)))) = `+`(`*`(Qdot, `*`(dt)), `-`(`/`(`*`(V2, `*`(dp1)), `*`(`+`(gamma, `-`(1)))))))

`:=`(eqBE12, `/`(`*`(`+`(V1, V2), `*`(dp1)), `*`(`+`(gamma, `-`(1)))) = `*`(Qdot, `*`(dt)))

`:=`(eqpdot, `/`(`*`(dp1), `*`(dt)) = `/`(`*`(Qdot, `*`(`+`(gamma, `-`(1)))), `*`(`+`(V1, V2))))

`/`(`*`(dp1), `*`(dt)) = `+`(`/`(`*`(0.36e3, `*`(kg_)), `*`(m_, `*`(`^`(s_, 3)))))

`:=`(eqBE2__, `/`(`*`(dm1), `*`(dt)) = `+`(`-`(`/`(`*`(Qdot, `*`(`+`(gamma, `-`(1)), `*`(V2, `*`(m1)))), `*`(V1, `*`(gamma, `*`(p1, `*`(`+`(V1, V2)))))))))

eqBE2__ini = (`/`(`*`(dm1), `*`(dt)) = `+`(`-`(`/`(`*`(0.16e-3, `*`(kg_)), `*`(s_)))))

`*`(p, `*`(V)) = `*`(m, `*`(R, `*`(T)))

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

dT = `+`(`/`(`*`(V, `*`(dp)), `*`(m, `*`(R))), `-`(`/`(`*`(p, `*`(V, `*`(dm))), `*`(`^`(m, 2), `*`(R)))))

`/`(`*`(dT1), `*`(dt)) = `+`(`/`(`*`(1.1, `*`(K_)), `*`(s_)))

`/`(`*`(dT2), `*`(dt)) = `+`(`/`(`*`(.67, `*`(K_)), `*`(s_)))

i.e., al abrirse la válvula empieza a salir aire a razón de dm1/dt=0,16 g/s del 1 al 2, disminuyendo con el tiempo.

Nótese que dm2/dt=-dm1/dt.

La presión del 1 sigue creciendo linealmente con el tiempo, pero a 360 Pa/s en vez de a 400 Pa/s. Este resultado se hubiese obtenido más sencillamente considerando todo el aire a la vez.

Nótese que dp2/dt=dp1/dt.

La temperatura del 1 sigue creciendo, pero ya no linealmente sino exponencialmente, con una pendiente que pasa de 1,2 K/s a 1,1 K/s al abrirse la válvula.

La temperatura del 2 crece también exponencialmente, pasando de 0 a 0,67 K/s tras la apertura de la válvula.


e) Calcular las pendientes de las evoluciones anteriores, instantes después de abrirse la válvula.

(visto)

Nota adicional.

El balance energético del depósito 1 enseña que:

Antes de abrirse (mdot=0), todo el Qdot se invierte en incrementar V1*(dp/dt)/(gamma-1), dando una pendiente de 400 Pa/s, valiendo los 3 términos del BE 1000=1000-0.

Después de abrirse, se genera un mdot=0,16 g/s, valiendo los 3 términos del BE 910=1000-10

Por último, si la descarga hubiese sido a la atmósfera (V2>>V1), sería a p=cte, valiendo los 3 términos del BE 0=1000-1000, con un mdot=1,7 g/s en vez de los 0,67 g/s de antes.

> eqBE1closed:=m1*c[v]*dT1/dt=Qdot;eqBE1open:=expand(eqBE1_/dt);eqBE1open_:=subs(dp1=dt*rhs(eqpdot),%);eqBE1amb:=0=Qdot+c[p]*T1*dm1/dt;eqmdot_amb:=dm1/dt=-Qdot/(c[p]*T1);eqmdot_amb_ini:=evalf(subs(T1=T11_,dat,%),2);

`:=`(eqBE1closed, `/`(`*`(m1, `*`(c[v], `*`(dT1))), `*`(dt)) = Qdot)

`:=`(eqBE1open, `/`(`*`(V1, `*`(dp1)), `*`(dt, `*`(`+`(gamma, `-`(1))))) = `+`(Qdot, `-`(`/`(`*`(V2, `*`(dp1)), `*`(dt, `*`(`+`(gamma, `-`(1))))))))

`:=`(eqBE1open_, `/`(`*`(V1, `*`(Qdot)), `*`(`+`(V1, V2))) = `+`(Qdot, `-`(`/`(`*`(V2, `*`(Qdot)), `*`(`+`(V1, V2))))))

`:=`(eqBE1amb, 0 = `+`(Qdot, `/`(`*`(c[p], `*`(T1, `*`(dm1))), `*`(dt))))

`:=`(eqmdot_amb, `/`(`*`(dm1), `*`(dt)) = `+`(`-`(`/`(`*`(Qdot), `*`(c[p], `*`(T1))))))

`:=`(eqmdot_amb_ini, `/`(`*`(dm1), `*`(dt)) = `+`(`-`(`/`(`*`(0.17e-2, `*`(kg_)), `*`(s_)))))

>