Documente Academic
Documente Profesional
Documente Cultură
dH
S⋅ = F A 0 + FB 0 − F (II.2.1)
dt
d (V ⋅ C A )
= FA 0 ⋅ C A 0 − V ⋅ k ⋅ C A ⋅ C B − F ⋅ C A (II.2.2)
dt
d (V ⋅ C B )
= FB 0 ⋅ C B 0 − V ⋅ k ⋅ C A ⋅ C B − F ⋅ C B (II.2.3)
dt
d (V ⋅ C C )
= V ⋅ k ⋅ C A ⋅ C B − F ⋅ CC (II.2.4)
dt
- Bilanţul termic în reactor :
d(V ⋅T)
ρ ⋅ cs ⋅ = k ⋅ CA ⋅ CB ⋅ (− ∆HR ) ⋅V + FA0 ⋅ cs ⋅ ρA ⋅T0 + FB0 ⋅ cs ⋅ ρB ⋅T0 − F ⋅ ρ ⋅ cs ⋅T −αT ⋅ A⋅ (T −Tm) (II.2.5a)
dt
Pentru a evita scrierea a încă unei ecuaţii de bilanţ şi pentru manta, dacă se
consideră că lichidul din manta se gaseşte la o temperatură care este media între
temperatura de intrare şi cea de ieşire, fluxul termic transferat între reactor şi manta
se poate exprima doar în funcţie de debitul şi temperatura de intrare a apei de răcire:
2 ⋅ Fm ⋅ ρ m ⋅ c sm
Q = α T ⋅ A ⋅ K m ⋅ (T − Tmi ) unde : Km =
2 ⋅ Fm ⋅ ρ m ⋅ c sm + α T ⋅ A
d (V ⋅ T )
ρ ⋅ cs ⋅ = k ⋅ C A ⋅ CB ⋅ (− ∆H R ) ⋅ V + FA0 ⋅ cs ⋅ ρ A ⋅ T0 + FB 0 ⋅ cs ⋅ ρ B ⋅ T0 − F ⋅ ρ ⋅ cs ⋅ T
dt (II.2.5)
− αT ⋅ A ⋅ K m ⋅ (T − Tmi )
E
−
R⋅TK
F ⋅ CB + z ⋅ e ⋅ V ⋅ C A ⋅ C B − FB 0 ⋅ C B 0 = 0 (II.2.7)
E
−
R⋅TK
z⋅e ⋅ V ⋅ C A ⋅ C B − F ⋅ CC = 0 (II.2.8)
Una din cele mai cunoscute metode de soluţionare a ecuaţiilor neliniare este
metoda Newton-Raphson, metodă bazată pe proprietăţile tangentei la curbă.
Algoritmul Newton[13], prezentat în continuare, se bazează pe generalizarea metodei
Newton – Raphson pentru sistemele de ecuaţii neliniare.
f1 (x 1 , x 2 ) = 0
(II.2.10)
f 2 (x 1 , x 2 ) = 0
Noile aproximaţii :
x 11 = x 10 + ∆x 10
x 12 = x 02 + ∆x 02
trebuie astfel alese încât ele să apropie de zero valorile funcţiilor f1 sif 2 :
f1 (x 11 , x 12 ) = 0
f 2 (x 11 , x 12 ) = 0
adică :
f1 (x 10 + ∆x 10 , x 02 + ∆x 02 ) = 0
(II.2.11)
f 2 (x 10 + ∆x 10 , x 02 + ∆x 02 ) = 0
Prin neglijarea termenilor ce conţin ∆x 10 si∆x 02 la puteri mai mari decât 1 ,se obţine
un sistem de două ecuaţii liniare cu două necunoscute ∆x10 si∆x 20 .Prin rezolvarea
sistemului ,se obţin noile aproximări ale variabilelor: x 11 six 12 . Procedeele se repetă până
când se atinge convergenţa .Unul din criteriile de convergenţă utilizate este :
(∆x ) + (∆x )
k 2
1
k 2
2 <ε (II.2.13)
unde k este numărul iteraţiei iar ε este o valoare pozitivă aleasă în funcţie de
precizia dorită de calcul.
In forma matricială:
ϕ (X)=0 (II.2.14)
T T
unde ϕ = [ f1 , f 2 , .... f n ] ,X=[ x 1 , x 2 , ... x n ]
X k +1 = X k + ∆X k
(
ϕ X k + ∆X k = 0 ) (II.2.15)
( ) ( )
ϕ X k + ∆X k = ϕ X k + ∇ϕ X k . ∆X k +.... ( ) (II.2.16)
( )
ϕ X k + J k .∆X k = 0 (II.2.17)
∂f1 ( X ) ∂f1 ( X )
∂x ................. ∂x
1 n
J k = .......................................
∂f n ( X ) ................. ∂f n ( X )
∂x1 ∂x n
Deci :
∆X k = − J k−1 .ϕ X k ( )
Prin rezolvarea lui (II.2.17) ,se obţine aproximaţia „mai bună”:
X k +1 = X k + ∆X k sau
X k +1 = X k − J −k1ϕ X k ( ) (II.2.19)
Dezavantajele principale ale metodei:
- soluţia poate să nu conveargă dacă aproximaţia iniţială nu este bună.
-metoda cere calculul derivatelor fiecărei funcţii în raport cu fiecare din variabile.
Exemplu : să se rezolve sistemul de ecuaţii neliniare :
x 3 + x ⋅ y 2 = 9.375
(II.2.20)
x ⋅ y + y2 = 7
3 ⋅ x 2 + y 2 2⋅ x⋅ y
J = (II.2.21)
y x + 2 ⋅ y
function F=fsysn2(X)
x=X(1);y=X(2);
F=zeros(2,1);
F(1)=x^3+x*y^2-9.375;
F(2)=x*y+y^2-7;
function JF=jfsysn2(X)
x=X(1);y=X(2);
JF=zeros(2,2);
JF(1,:)=[3*x^2+y^2 2*x*y];
JF(2,:)=[y x+2*y];
function [vx,it]=nrsysn2(X,F,JF,n,tol)
it=0;vx=X;
fr=feval(F,vx);
while norm(fr)>tol
jr=feval(JF,vx);
vx1=vx-jr\fr;vx=vx1;
fr=feval(F,vx);
it=it+1;
end;
Pentru rezolvarea numerică a sistemului (II.2.6, II.2.7, II.2.9), se poate opta pentru
algoritmul Newton – Raphson. Vectorul funcţiilor ce constituie sistemul de ecuaţii este :
−
E
R⋅T
F ⋅ C A + z ⋅ e K
⋅V ⋅ CA ⋅ CB − FA0 ⋅ CA0
E
Fs = F ⋅ CB + z ⋅ e R⋅T ⋅V ⋅ CA ⋅ CB − FB0 ⋅ CB0
−
K
(II.4.72)
−
E
F ⋅ ρ ⋅ cs ⋅ (T − T0 ) + αT ⋅ A ⋅ Km ⋅ (T − Tmi ) − z ⋅ e R⋅T ⋅ V ⋅ CA ⋅ CB ⋅ (− ∆H R )
Matricea Jacobiana a sistemului de ecuaţii neliniare este constituită din derivatele în raport cu
necunoscutele CA, CB si T ale ecuaţiilor ce constituiesc vectorul F:
C A
X v = C B (II.4.75)
T
Exemplu numeric:
function [xv,it]=newtonmv(vx,fs,jfs,n,tol)
global dhr z t0 tmi atrt alfat ereact roa rob roc csa csb csc v global ca0 cb0 Fa Fb F Fm km
it=0;xv=vx;
fr=feval(fs,xv);
disp('prima evaluare a lui fs este');disp(fr);pause;
while norm(fr)>tol
jr=feval(jfs,xv);
xv1=xv-jr\fr;xv=xv1;
fr=feval(fs,xv);
it=it+1;
end;
function fs=rsrap(vx)
global dhr z t0 tmi atrt alfat ereact roa rob roc csa csb csc v ca0 cb0 Fa Fb F Fm km
ca=vx(1);cb=vx(2);tk=vx(3);
fs=zeros(3,1);
fs(1)=F*ca+z*exp(-ereact/(8.31*tk))*v*ca*cb-Fa*ca0;
fs(2)=F*cb+z*exp(-ereact/(8.31*tk))*v*ca*cb-Fb*cb0;
fs(3)=F*roc*csc*(tk-t0-273)+alfat*atrt*km*(tk-tmi-273)-z*exp(ereact/(8.31*tk))*v*ca*cb*(-dhr);
function jfs=jrsrap(vx);
global dhr z t0 tmi atrt alfat ereact roa rob roc csa csb csc v global ca0 cb0 Fa Fb F Fm km
ca=vx(1);cb=vx(2);tk=vx(3);
jfs=zeros(3,3);
jfs(1,:)=[F+z*exp(-ereact/(8.31*tk))*v*cb z*exp(-ereact/(8.31*tk))*v*ca
z*exp(-ereact/(8.31*tk))*v*ca*cb*(ereact/(8.31*tk^2))];
jfs(2,:)=[z*exp(-ereact/(8.31*tk))*v*cb F+z*exp(-ereact/(8.31*tk))*v*ca
z*exp(-ereact/(8.31*tk))*v*ca*cb*(ereact/(8.31*tk^2))];
jfs(3,:)=[-z*exp(-ereact/(8.31*tk))*v*cb*(-dhr) -z*exp(-ereact/(8.31*tk))*v*ca*dhr
F*roc*csc+alfat*atrt*km-*exp(-ereact/(8.31*tk))*v*ca*cb*dhr*(ereact/(8.31*tk^2))] ;
Un alt exemplu de utilizare a algoritmului Levenberg-Marquart este prezentat în cazul regimului staţionar al unei coloane de distilare.