k1 = 125.
65;
k2 = 28.76;
Cb0 = 0.15;
Ca0 = 0.125;
Cc0 = 0;
imax = 0.65; (*τmax a evaluar, se obtiene diviendo V/v0*)
avanc = 0.01; (*Avance en la evaluación*)
(*Listas para almacenar las soluciones reales*)
Cai = {}; (*mol/L*)
Cci = {}; (*mol/L*)
Cai = {}; (*mol/L*)
τi = {}; (*hrs*)
For[i = 0, i ≤ imax, i = i + avanc, A = Solve[
para cada resuelve
{Cb - Cb0 + (k1 * Ca * (Cb) ^ 0.5 + k2 * Cc * (Cb) ^ 2) * τ 0, Ca - Ca0 + k1 * Ca * (Cb) ^ 0.5 * τ 0,
- Cc + (k1 * Ca * Cb ^ 0.5 - k2 * Cc * Cb ^ 2) * τ 0, τ i}, {Ca, Cc, Cb, τ}];
(*Filtrar solo soluciones reales*)A = Select[A, FreeQ[#, _Complex] &];
selecciona ¿libre de? complejo
If[A =!= {}, (*Para extraer un valor dentro de la serie que arroja el Solve*)
si resuelve
AppendTo[Cai, A〚1, 1, 2〛];
añade al final
AppendTo[Cci, A〚1, 2, 2〛];
añade al final
AppendTo[Cbi, A〚1, 3, 2〛];
añade al final
AppendTo[τi, A〚1, 4, 2〛];];]
añade al final
(*Para formar un vector de valores*)
c1 = Length[τi];
longitud
Printed by Wolfram Mathematica Student Edition
2 EJ 1- [Link]
longitud
(*Aquí armé las series de datos para poder graficar Ci en función del tiempo τ*)
Caijs = Table[{τi〚i〛, Cai〚i〛}, {i, c1}];
tabla
Ccijs = Table[{τi〚i〛, Cci〚i〛}, {i, c1}];
tabla
Cbijs = Table[{τi〚i〛, Cbi〚i〛}, {i, c1}];
tabla
(*Graficar los perfiles de concentración*)
ListPlot[{Caijs, Ccijs, Cbijs}, PlotLegends {"Ca", "Cc", "Cb"}, PlotRange All,
representación de lista leyendas de representación rango de rep⋯ todo
AxesLabel {Style["τ", Medium, Italic, Black], Style["Ci", Medium, Italic, Black]},
etiqueta de ejes estilo tamaño⋯ itálica negro estilo tamaño⋯ itálica negro
PlotMarkers Automatic]
marcadores de ⋯ automático
(*Valor máximo de la Cx*)
Ccopt = Max[Cci];
máximo
Print["La máxima concentración de la especie C es Cc=", Ccopt]
escribe constante
(*Busco el tau óptimo para el Cx Máximo*)
τopt = τi〚Position[Cci, Ccopt]〚1, 1〛〛;
posición
Print["Para el τ óptimo (τ = ", τopt, ") las concentraciones son:"]
escribe
(*Encuentro las concentraciones correspondientes a τ óptimo*)
{CaOpt, CbOpt} = {Cai〚Position[Cci, Ccopt]〚1, 1〛〛, Cbi〚Position[Cci, Ccopt]〚1, 1〛〛};
posición posición
Print["Ca = ", CaOpt]
escribe
Print["Cb = ", CbOpt]
escribe
(*Validación usando Solve*)
resuelve
Solve[{Cb - Cb0 + (k1 * Ca * (Cb) ^ 0.5 + k2 * Ccopt * (Cb) ^ 2) * τopt 0,
resuelve
Ca - Ca0 + k1 * Ca * (Cb) ^ 0.5 * τopt 0,
- Ccopt + (k1 * Ca * Cb ^ 0.5 - k2 * Ccopt * Cb ^ 2) * τopt 0}, {Ca, Cb}]
Printed by Wolfram Mathematica Student Edition
EJ 1- [Link] 3
O u t [ ] =
Ci
0.15
0.10 Ca
Cc
Cb
0.05
τ
0.1 0.2 0.3 0.4 0.5 0.6
La máxima concentración de la especie C es Cc=0.114809
Para el τ óptimo (τ = 0.65) las concentraciones son:
Ca = 0.00812115
Cb = 0.00033569
O u t [ ] =
{}
Printed by Wolfram Mathematica Student Edition
(*Intentos de codigo Para ejercicio 1, determinar el perfil*)
In[58]:= k1 = 125.25; k2 = 28.76;
Cb0 = 0.14; Ca0 = 0.25; Cc0 = 0;
(*Para ir resolviendo punto a punto el sistema de ecuaciones algebraicas*)
imax = 0.65; (*τmax a evaluar*)
avanc = 0.01; (*Avance en la evaluación*)
c = 0; (*Contador*)
For[i = 0, i ≤ imax, i = i + avanc,
para cada
c = c + 1;
c1 = imax / avanc;
(* Para calcular el "largo" del vector de almacenamiento de datos *)
A = Solve[{Cb - Cb0 + (k1 * Ca * (Cb) ^ 0.5 + k2 * Cc * (Cb) ^ 2) * τ 0,
resuelve
Ca - Ca0 + k1 * Ca * (Cb) ^ 0.5 * τ 0,
- Cc + (k1 * Ca * Cb ^ 0.5 - k2 * Cc * Cb ^ 2) * τ 0, τ i}, {Ca, Cc, Cb, τ}];
(*Para extraer un valor dentro de la serie que arroja el Solve*)
resuelve
v1[c] = A〚1, 1, 2〛;
v2[c] = A〚1, 2, 2〛;
v3[c] = A〚1, 3, 2〛;
v4[c] = A〚1, 4, 2〛;
(*Para formar un vector de valores*)
Cai = Table[v1[c], {c, c1}];
tabla
Cci = Table[v2[c], {c, c1}];
tabla
Cbi = Table[v3[c], {c, c1}];
tabla
τi = Table[v4[c], {c, c1}];
tabla
] (*End del FOR*)
finaliza contexto
(*Aquí arme las series de datos parar poder graficar Ci en función del tiempo Tau,
aparte del Style para dar formato*)
estilo
Caijs = Table[{v4[i], v1[i]}, {i, c1}];
tabla
Ccijs = Table[{v4[i], v2[i]}, {i, c1}];
tabla
Cbijs = Table[{v4[i], v3[i]}, {i, c1}];
tabla
ListPlot[{Caijs, Ccijs, Cbijs}, PlotLegends {Ca, Cc, Cb} AxesLabel
representación de lista leyendas de representación etiqueta de ejes
{Style[τ, Medium, Italic, Black], Style[Ci, Medium, Italic, Black]}]
estilo tamaño⋯ itálica negro estilo tamaño⋯ itálica negro
Printed by Wolfram Mathematica Student Edition
2
Out[67]=
0.25
0.20
0.15
{AxesLabel Ca, AxesLabel Cc, AxesLabel Cb
0.10
0.05
-1.0 -0.5 0.5 1.0
Printed by Wolfram Mathematica Student Edition
(*Mas intentos del Perfil de concentración*)
(*Es un Reactor CSTR por lo tanto la Ec. raV=Fa-Fa0*)
(*Ingresamos los datos *)
vreactor = 6500; v0 = 10 000; k1 = 125.25; k2 = 28.76;
(*Escribimos las expresiones de velocidad dadas*)
ra1 = - (k1 * Ca * (Cb) ^ 0.5);
re2 = - (k2 * Cc * (Cb) ^ 2);
(*rx 1*)
rb1 = ra1;
rc1 = - ra1;
rd1 = - ra1;
(*rx 2*)
rc2 = - re2;
rb2 = - re2;
rd2 = re2;
(*rx globales*)
ra = ra1;
rb = rb1 + rb2;
rc = rc1 + rc2;
rd = rd1 + rd2;
re = re2;
(*Sabemos que tenemos el %A,%B,%Inertes,
entonces calculamos primero el Cto y luego dichas concentraciones*)
(*n/L*)
Ca0 = 0.25;
Cb0 = 0.14;
Ci0 = 0.21;
(*resolver punto a punto el sist. de ecuaciones*)
avanc = 0.01;
imax = 0.65;
c = 0;
c1 = imax / avanc;
For[
para cada
i = 0, i ≤ imax, i += avanc,
c = c + 1;
CSTR = NSolve[
resuelve numéricamente
{Ca - Ca0 + (- k1 * Ca * (Cb) ^ 0.5) * t 0,
Cb - Cb0 + (- k1 * Ca * (Cb) ^ 0.5 + k2 * Cc * (Cb) ^ 2) t 0,
- Cc + (k1 * Ca * (Cb) ^ 0.5 + (k2 * Cc * (Cb) ^ 2)) t 0,
- Cd + (k1 * Ca * (Cb) ^ 0.5 - k2 * Cc * (Cb) ^ 2) * t 0,
- Ce + (- k2 * Cc * (Cb) ^ 2) * t 0,
ti
}
, {Ca, Cb, Cc, Cd, Ce, t}];
Printed by Wolfram Mathematica Student Edition
2 Ejercicio 1 [Link]
Va[c] = CSTR〚1, 1, 2〛;
Vb[c] = CSTR〚1, 2, 2〛;
Vc[c] = CSTR〚1, 3, 2〛;
Vd[c] = CSTR〚1, 4, 2〛;
Ve[c] = CSTR〚1, 5, 2〛;
Vt[c] = CSTR〚1, 6, 2〛;
Cai = Table[Va[c], {c, c1}];
tabla
Cbi = Table[Vb[c], {c, c1}];
tabla
Cci = Table[Vc[c], {c, c1}];
tabla
Cdi = Table[Vd[c], {c, c1}];
tabla
Cei = Table[Ve[c], {c, c1}];
tabla
Cti = Table[Vt[c], {c, c1}];
tabla
]
lCai = Table[{Vt[i], Va[i]}, {i, c1}];
tabla
lCbi = Table[{Vt[i], Vb[i]}, {i, c1}];
tabla
lCci = Table[{Vt[i], Vc[i]}, {i, c1}];
tabla
lCdi = Table[{Vt[i], Vd[i]}, {i, c1}];
tabla
lCei = Table[{Vt[i], Ve[i]}, {i, c1}];
tabla
ListPlot[{lCai, lCbi, lCci, lCdi, lCei}, PlotLegends {Ca, Cb, Cc, Cd, Ce}]
representación de lista leyendas de representación
O u t [ ] =
Ca
0.2 0.4 0.6 0.8 1.0
Cb
Cc
-1
Cd
Ce
-2
-3
Printed by Wolfram Mathematica Student Edition
Ejercicio 1 [Link] 3
I n [ ] : =
ra1 = - (k1 * Ca * (Cb) ^ 0.5);
re2 = - (k2 * Cc * (Cb) ^ 0.5);
(*rx 1*)
rb1 = ra1;
rc1 = - ra1;
rd1 = - ra1;
(*rx 2*)
rc2 = - re2;
rb2 = - re2;
rd2 = re2;
(*rx globales*)
ra = ra1;
rb = rb1 + rb2;
rc = rc1 + rc2;
rd = rd1 + rd2;
re = re2;
t = 0.01;
TableForm[Table[
forma de ta⋯ tabla
Chop[{t, Ca, Cb, Cc, Cd, Ce} /. FindRoot[
cambia números pequeños por 0 encuentra raíz
{Ca - Ca0 + ra * t 0,
Cb - Cb0 + rb * t 0,
- Cc + rc t 0,
- Cd + rd t 0,
- Ce + re t 0
}
, {Ca, Ca0}, {Cb, Cb0}, {Cc, 0}, {Cd, 0}, {Ce, 0}], 10 ^ - 5], {t, 0, 0.65, 0.01}]]
FindRoot: The line search decreased the step size to within tolerance specified by AccuracyGoal and PrecisionGoal but was
unable to find a sufficient decrease in the merit function. You may need more than MachinePrecision digits of working
precision to meet these tolerances.
FindRoot: Failed to converge to the requested accuracy or precision within 100 iterations.
FindRoot: The line search decreased the step size to within tolerance specified by AccuracyGoal and PrecisionGoal but was
unable to find a sufficient decrease in the merit function. You may need more than MachinePrecision digits of working
precision to meet these tolerances.
FindRoot: Failed to converge to the requested accuracy or precision within 100 iterations.
FindRoot: The line search decreased the step size to within tolerance specified by AccuracyGoal and PrecisionGoal but was
unable to find a sufficient decrease in the merit function. You may need more than MachinePrecision digits of working
precision to meet these tolerances.
General: Further output of FindRoot::lstol will be suppressed during this calculation.
FindRoot: Failed to converge to the requested accuracy or precision within 100 iterations.
Printed by Wolfram Mathematica Student Edition
4 Ejercicio 1 [Link]
General: Further output of FindRoot::cvmit will be suppressed during this calculation.
O u t [ ] / / T a b l e F o r m =
0 0.25 0.14 0
0.01 0.376631 0.248458 0.144804
0.02 - 0.00528627 + 0.271164 0.0297859 + 0.299014 - 0.400358 + 0.243315
0.03 - 0.0468147 + 0.154029 - 0.00712067 + 0.30552 - 0.446509 + 0.00253834
0.04 - 0.182532 0.223708 - 0.948773
0.05 - 0.223882 0.114237 - 0.922001
0.06 0.131191 - 0.0000365405 - 0.000200324 - 0.0000392092 - 0.0974167 - 0.0000338719
0.07 0.109621 + 0.0224619 - 0.00774532 - 0.133012 + 0.0449237
0.08 - 0.266684 0.037387 - 0.930754
0.09 0.130981 - 0.00162275 - 0.096415
0.1 - 0.00529269 - 0.0333925 - 0.310323 - 0.200887 - 0.060262 + 0.134102
0.11 0.13096 - 0.0000148058 - 0.00107111 - 0.0970088 - 0.0000296116
0.12 0.206757 - 0.087631 - 0.0155278 0.0690408 - 0.175262
0.13 0.130869 - 0.0000153195 - 0.000759007 - 0.0975036 - 0.0000306389
0.14 0.130831 - 0.000013435 - 0.000652097 - 0.0976863 - 0.00002687
0.15 0.130807 - 0.0000112414 - 0.000566548 - 0.0978198 - 0.0000224828
0.16 0.130791 - 0.000496926 - 0.097922 - 0.0000199533
0.17 0.130779 - 0.000439469 - 0.0980028 - 0.0000184424
0.18 0.13077 - 0.000391478 - 0.0980683 - 0.0000174187
0.19 0.130808 - 0.000351386 - 0.0980322 - 0.0000146908
0.2 0.130798 - 0.000316777 - 0.0980879 - 0.0000103254
0.21 0.130793 - 0.00028115 - 0.0981336
0.22 0.130786 - 0.000255988 - 0.0981719
0.23 0.130781 - 0.000234069 - 0.0982046
0.24 0.130776 - 0.000214856 - 0.0982328
0.25 0.130772 - 0.000197922 - 0.0982574
0.26 0.130769 - 0.000182917 - 0.0982788
0.27 0.130766 - 0.00016956 - 0.0982977
0.28 0.130764 - 0.000157616 - 0.0983143
0.29 0.130762 - 0.000146894 - 0.0983291
0.3 0.13076 - 0.000137231 - 0.0983423
0.31 0.130759 - 0.000128492 - 0.0983541
0.32 0.130757 - 0.000120564 - 0.0983648
0.33 0.130756 - 0.000113348 - 0.0983743
0.34 0.130755 - 0.000106762 - 0.098383
0.35 0.130754 - 0.000100734 - 0.0983908
0.36 0.130753 - 0.000095203 - 0.0983979
0.37 0.130753 - 0.0000901159 - 0.0984044
0.38 0.130752 - 0.0000854262 - 0.0984103
0.39 0.130752 - 0.0000810937 - 0.0984157
0.4 0.130751 - 0.0000770828 - 0.0984206
0.41 0.130751 - 0.0000733626 - 0.0984251
0.42 0.13075 - 0.0000699055 - 0.0984293
0.43 0.13075 - 0.0000666873 - 0.0984331
0.44 0.13075 - 0.0000636865 - 0.0984367
0.45 0.13075 - 0.0000608839 - 0.0984399
0.46 0.130749 - 0.0000582624 - 0.0984429
0.47 0.130749 - 0.0000558068 - 0.0984457
0.48 0.130749 - 0.0000535033 - 0.0984483
0.49 0.130749 - 0.0000513396 - 0.0984507
0.5 0.130749 - 0.0000493047 - 0.0984529
Printed by Wolfram Mathematica Student Edition
Ejercicio 1 [Link] 5
0.51 0.130749 - 0.0000473884 - 0.0984549
0.52 0.130749 - 0.0000455818 - 0.0984568
0.53 0.130749 - 0.0000438766 - 0.0984585
0.54 0.130749 - 0.0000422654 - 0.0984602
0.55 0.130749 - 0.0000407414 - 0.0984617
0.56 0.130749 - 0.0000392984 - 0.0984631
0.57 0.130749 - 0.0000379307 - 0.0984644
0.58 0.130749 - 0.0000366333 - 0.0984656
0.59 0.130749 - 0.0000354013 - 0.0984667
0.6 0.130749 - 0.0000342305 - 0.0984678
0.61 0.130749 - 0.0000331169 - 0.0984688
0.62 0.130749 - 0.0000320567 - 0.0984697
0.63 0.130749 - 0.0000310467 - 0.0984705
0.64 0.130749 - 0.0000300837 - 0.0984713
0.65 0.130749 - 0.0000291648 - 0.098472
Printed by Wolfram Mathematica Student Edition
In[57]:=
(*Datos*)
k1 = 0.002;
k2 = 0.0009;
k3 = 0.06;
(*AC ra1/(-1)=rc1*)
constante
(*AD ra2/(-1)=rd2*)
deriva
(*AX ra3/(-1)=rx3*)
Out[57]=
(*tras reemplazar las ecuaciones queda*)
(*Vrx*)
Printed by Wolfram Mathematica Student Edition
2 Ejercicio 2 [Link]
In[111]:=
ra1 = - k1 * (Ca) ^ 0.5;
ra2 = - k2 * (Ca) ^ 2;
ra3 = - k3 * (Ca);
rc = - ra1;
rd = - ra2;
ra = ra1 + ra2 + ra3;
rx = - ra3;
(*Item e, sabemos que S(d/u)=
ítem
velocidad de rx deseado/velocidad de rx no deseada=rx/(rc+rd)*)
S = (rx / (rc + rd))
Plot[S, {Ca, 0, 20}] (*El 0 y 20 son el rango de la concentración,
representación gráfica
el 20 puede variar*)
Out[118]=
0.06 Ca
0.002 Ca0.5 + 0.0009 Ca2
Out[119]=
20
15
10
5 10 15 20
Printed by Wolfram Mathematica Student Edition
Ejercicio 2 [Link] 3
In[120]:=
fx = D[S, Ca];
deriva
Z = Solve[fx 0, Ca];
resuelve
Caoptimo = Z〚 1, 1, 2〛;
Print[
escribe
" Respuesta E: La selectividad hacia el producto deseado X es maxima cuando A es=" ,
número e
Caoptimo]
(* Considerando los datos de la alimentación, p=80 atm,
t=100+273 K, R=0,082057 AtmL/Kmol se aplica PV=Rtn,
para obtener Ca0. En el enunciado mencionan que A esta puro por lo tanto Ya0=1 *)
Respuesta E: La selectividad hacia el producto deseado X es maxima cuando A es=1.07277
In[140]:=
Cao = ((80) / (0.082057 * (373)));
(*De la ecuacion de diseño del CSTR*)
2 * (2.61 - Caoptimo)
V= ;
- (- k1 * (Caoptimo) ^ 0.5 - k2 * (Caoptimo) ^ 2 - k3 * (Caoptimo))
Print[" Respuesta F: El volumen para obtener mejor
escribe
rendimiento posible hacia el producto deseado es = " , V, "L"]
Respuesta F: El volumen para obtener mejor rendimiento posible hacia el producto deseado es =
45.5658L
In[143]:=
2.61 - Caoptimo
Conversion = ;
2.61
Print[" Respuesta G: En estas condiciones, la conversión es = ", Conversion]
escribe
Respuesta G: En estas condiciones, la conversión es = 0.588979
Printed by Wolfram Mathematica Student Edition