Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Algoritmi numerici pentru analiza circuitelorelectrice rezistive liniare
Conf.dr.ing. Gabriela Ciuprina
Universitatea "Politehnica" Bucuresti, Facultatea de Inginerie Electrica,Departamentul de Electrotehnica
Suport didactic pentru disciplina Algoritmi Numerici, 2012
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Cuprins
1 Formularea problemei
2 Tehnica nodala
3 AlgoritmStructuri de datePreprocesareRezolvarePostprocesare
4 Cazul s.i.c.
5 Cazul s.i.t
6 Cazul s. c-date liniar
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Circuite rezistive liniare
Contin: rezistoare (R), surse ideale de tensiune (E) si curent(J), surse comandate liniar (SUCU, SUCI, SICU, SUCI).
Problema fundamentala a analizei acestor circuite
Date:
topologia circuitului;
valorile parametrilor (rezistentele, valorile surselor).
Se cer:
curentii si tensiunile din fiecare latura;
puteri.
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Metode de rezolvare sistematica
metoda ecuatiilor Kirchhoff :(
metoda potentialelor nodurilor :) (matrice simetrica,diagonal dominanta)
metoda curentilor ciclici :| (matrice simetrica, sistem debucle independente)
=⇒ metoda potentialelor nodurilor ("tehnica nodala")
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Tehnica nodala
Laturi standard:
Rk ik ek
uk
(ni )k (nf )k
Datele problemei
topologia: nr. noduri N, nr. L si graful circuitului,;
toate rezistentele Rk , k = 1, . . . , L, presupuse nenule,
toate t.e.m. ek , k = 1, . . . , L
Se cer:
uk k = 1, . . . , L
ik k = 1, . . . , L
puterea consumata si puterea generata în circuit.
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Ecuatii ce descriu fenomenele:
Rk ik ek
uk
(ni )k (nf )k
N − 1 ecuatii Kirchhoff I∑
k∈(n)
Aik = 0, n = 1, . . . ,N, (1)
L − N + 1 ecuatii Kirchoff II:∑
k∈[b]
Auk = 0, b = 1, . . . , L − N + 1, (2)
L relatii Joubert:
uk = Rk ik − ek , k = 1, . . . , L, (3)
2L ecuatii cu 2L necunoscute
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Necunoscutele principale: potentialelenodurilor
Rk ik ek
uk
(ni )k (nf )k
vk , k = 1, . . . ,NvN = 0 (prin conventie)Kirchhoff II:
∑
k∈[b]
Auk = 0, b = 1, . . . , L − N + 1, (4)
⇐⇒
uk = vnik − vnfk , k = 1, . . . , L. (5)
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Notatii utile
u = [ u1 u2 . . . uL ]T ∈ IRL×1
i = [ i1 i2 . . . iL ]T ∈ IRL×1
v = [ v1 v2 . . . vN ]T ∈ IRN×1
e = [ e1 e2 . . . eL ]T ∈ IRL×1
R = diag([ R1 R2 . . . RL ]) ∈ IRL×L
(6)
Kirchhoff I:Ai = 0, (7)
A = (aij)i=1,N−1;j=1,L este matricea incidentelor laturi-noduri- matrice topologica, (N − 1)× L
aij =
0 daca noduli nu apartine laturiij ;+1 daca noduli este nod initial pentru laturaj ;−1 daca noduli este nod final pentru laturaj .
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Ecuatii scrise compact
Kirchhoff I:Ai = 0, (8)
Kirchhoff II:u = AT v, (9)
Joubert:u = Ri − e. (10)
Daca R este inversabila (Rk 6= 0, ∀k = 1, L)
i = R−1(u + e). (11)
AR−1AT v = −AR−1e. (12)
Gv = t. (13)
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Matricea conductantelor nodale G si vectorulinjectiilor de curent t
Gv = t. (14)
G = AR−1AT ∈ IR(N−1)×(N−1) (15)
Gii =∑
k∈(i)
1Rk
, (16)
Gij = −∑
k∈(i);k∈(j)
1Rk
pentru i 6= j . (17)
t = −AR−1e ∈ IR(N−1)×1 (18)
tk =∑
m∈(k)
A em
Rm. (19)
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Proprietatile matricei G
G este simetrica, diagonal dominanta si pozitiv definita dacarezistentele sunt pozitive.A ∈ IRn×n este pozitiv definita daca ea este simetrica si daca xT Ax > 0 pentru orice vector real, nenul
x ∈ IRn×1.
R−1 = diag([ 1/R1 1/R2 . . . 1/RL ]). (20)
Simetria:
GT =(
AR−1AT)T
=(
AT)T (
R−1)T
(A)T = AR−1AT = G,
(21)Pozitiv definire: fie x vector coloana arbitrar, nenul.
xT Gx = xT AR−1AT x = yT R−1y =L
∑
k=1
y2k
Rk> 0, (22)
unde y = AT x este vector coloana de componente yk ,k = 1, . . . , L.
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Etapele algoritmului
etapa de preprocesare în care se descrie problema sise asambleaza sistemul de ecuatii de rezolvat;
etapa de rezolvare în care se apeleaza o procedurapropriu-zisa de rezolvare a sistemului de ecuatiirezultat ("solver");
etapa de postprocesare în care se calculeaza altemarimi de interes.
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Structuri de date
; declaratii date - varianta Aîntreg N ; numar de noduriîntreg L ; numar de laturitablou întreg ni[L] ; noduri initiale ale laturilortablou întreg nf[L] ; noduri finale ale laturilortablou real R[L] ; rezistentetablou real e[L] ; tensiuni electromotoare
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Structuri de date
Se recomanda agregarea datelor:
; declaratii date - varianta Bînregistrare circuit
întreg N ; numar de noduriîntreg L ; numar de laturitablou întreg ni[L] ; noduri initiale ale laturilortablou întreg nf[L] ; noduri finale ale laturilortablou real R[L] ; rezistentetablou real e[L] ; tensiuni electromotoare
•
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Matrice rare
G si t sunt rare.pp. 4 laturi care concura la un nod, d = 5n/n2 = 5/n,(pentru n ≈ 1000 rezulta d = 0.5 %).Pentru simplitate:
; declaratii variabile utiletablou real G[N,N] ; stocata rartablou real t [N] ; stocat rartablou real v [N] ; vectorul potentialelor
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Citire date
func¸tie citire_date_B (); declaratii...citeste circuit.N, circuit.Lpentru k = 1,circuit.L
citeste circuit.nik , circuit.nfk , circuit.Rk , circuit.ek
•
întoarce circuit
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Asamblarea sistemului de ecuatii
Orientata pe laturi:
Rk ik ek
uk
(ni )k (nf )k
nik nfk∗ ∗ ∗ ∗ ∗ ∗ ∗
nik ∗ +1/Rk ∗ ∗ −1/Rk ∗ ∗
∗ ∗ ∗ ∗ ∗ ∗ ∗
∗ ∗ ∗ ∗ ∗ ∗ ∗
nfk ∗ −1/Rk ∗ ∗ +1/Rk ∗ ∗
∗ ∗ ∗ ∗ ∗ ∗ ∗
∗ ∗ ∗ ∗ ∗ ∗ ∗
∗
nik −ek/Rk
∗
∗
nfk +ek/Rk
∗
∗
Contributia unei laturi k la matricea conductantelor nodale (stânga) si la vectorul injectiilor de curent
(dreapta).
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Algoritm - preprocesare
procedur a nodalRE_v1 (circuit, G, t); asambleaza sistemul de ecuatii pentru un circuit; cu laturi de tip R,E folosind tehnica nodala; parametri de intrare:; circuit - structura de date ce descrie circuitul; parametri de iesire:; G - matricea conductantelor nodale si; t - vectorul injectiilor de curent; declaratii....L = circuit.L ; pentru simplificarea scrierii algoritmuluiN = circuit.Nni = circuit.ninf = circuit.nfR = circuit.Re = circuit.e
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Algoritm - preprocesare
procedur a nodalRE_v1 (circuit, G, t)....G = 0t = 0; asambleaza sistempentru k = 1, L ; parcurge laturi
i = nik ; nodul initial al laturii kj = nfk ; nodul final al laturii kGii = Gii + 1/Rk
Gjj = Gjj + 1/Rk
Gij = Gij − 1/Rk
Gji = Gji − 1/Rk
ti = ti − ek/Rk
tj = tj + ek/Rk
•
retur
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Algoritm - preprocesare
Observatii:
am folosit pseudocod simplificat pentru a scrie anulareacomponentelorAtentie! varianta
pentru i = 1,Npentru j = 1,N
Gij = 0•
•
scrisa pentru "instructiunea" G = 0 va umple completmatricea G.
pentru a evita repetarea unor calcule, se pot memoravalorile 1/Rk si ek/Rk .
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Algoritm - preprocesare - varianta a II-a
procedur a nodalRE_v2 (circuit, G, t)....; anuleaza componentele:A = 0 ; matricei incidente laturi noduriGlat = 0 ; matricei diagonale R−1
; asambleaza sistempentru k = 1, L ; parcurge laturi
i = nik ; nodul initial al laturii kj = nfk ; nodul final al laturii kAik = −1Ajk = +1Glatkk = 1/Rk
•
G = A ∗ Glat ∗ AT ; apel proceduri speciale pentru matrice raret = −A ∗ Glat ∗ eretur
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Rezolvare
Sistemul asamblat are dimensiunea N × N, nodul dereferinta nefiind tratat special.Sistemul de rezolvat trebuie sa aiba dimensiunea N − 1.(vN = 0).Exemplu:
Gauss (N − 1,G,t ,v )vN = 0
Vom reveni asupra procedurilor posibile de rezolvare încursul urator.
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Algoritm - postprocesare
Rk ik ek
uk
(ni )k (nf )k
procedur a postprocesare_circuitRE (circuit, v ); declaratii...L = circuit.Lni = circuit.ninf = circuit.nfR = circuit.Re = circuit.e
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Algoritm - postprocesare
Rk ik ek
uk
(ni )k (nf )k
procedur a postprocesare_circuitRE (circuit, v )...Pc = 0 ; puterea consumataPg = 0 ; puterea generatapentru k = 1, L ; parcurge laturi
u = vnik − vnfk ; tensiunea laturiic = (u + ek )/Rk ; curentul prin laturascrie "Latura" k "are tensiunea" u "si curentul" cPc = Pc + Rkc2 ; adauga contributia laturii la PcPg = Pg + ekc ; adauga contributia laturii la Pg
•
scrie Pc, Pgretur
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Tratarea surselor ideale de curent - ecuatii
Latura standard:
(ni )k (nf )k
Jk
ekRk
ik
uk
Rk 6= 0Kirchhoff I si II:
Ai = 0, (23)
u = AT v. (24)
Daruk = Rk (ik − Jk )− ek , k = 1, . . . , L. (25)
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Tratarea surselor ideale de curent - ecuatii
Latura standard:
(ni )k (nf )k
Jk
ekRk
ik
uk
Ai = 0, (26)
u = AT v. (27)
u = R(i − J)− e (28)
i = R−1(u + e) + J, (29)
AR−1AT v = −AR−1e − AJ. (30)
t = −AR−1e − AJ ∈ IR(N−1)×1 (31)
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Algoritm - preprocesare
func¸tie citire_date_REJ ()...citeste circuit.N, circuit.Lpentru k = 1,circuit.L
citeste circuit.nik , circuit.nfk , circuit.Rk , circuit.ek ,circuit.Jk
•
întoarce circuit
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Algoritm - preprocesare
procedur a nodalREJ_v1 (circuit, G, t); asambleaza sistemul de ecuatii pentru un circuit cu laturi de tip; sursa reala de tensiune în paralel cu sursa ideala de curent,; folosind tehnica nodala; parametri de intrare:; circuit - structura de date ce descrie circuitul; parametri de iesire:; G - matricea conductantelor nodale si; t - vectorul injectiilor de curent; declaratii....L = circuit.L ; pentru simplificarea scrierii algoritmuluiN = circuit.Nni = circuit.ninf = circuit.nfR = circuit.R
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Algoritm - preprocesare
procedur a nodalREJ_v1 (circuit, G, t)....G = 0t = 0; asambleaza sistempentru k = 1, L ; parcurge laturi
i = nik ; nodul initial al laturii kj = nfk ; nodul final al laturii kGii = Gii + 1/Rk
Gjj = Gjj + 1/Rk
Gij = Gij − 1/Rk
Gji = Gji − 1/Rk
ti = ti − ek/Rk−Jk
tj = tj + ek/Rk+Jk
•
retur
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Algoritm - preprocesare
procedur a nodalREJ_v2 (circuit, G, t)....; anuleaza componentele:A = 0 ; matricei incidentelor laturi nodurGlat = 0 ; matricei diagonale R−1
; asambleaza sistempentru k = 1, L ; parcurge laturi
i = nik ; nodul initial al laturii kj = nfk ; nodul final al laturii kAik = −1Ajk = +1Glatkk = 1/Rk
•
G = A ∗ Glat ∗ AT ; apel proceduri speciale pentru matrice raret = −A ∗ Glat ∗ e−A ∗ Jretur
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Algoritm - postprocesare
(ni )k (nf )k
Jk
ekRk
ik
uk
procedur a postprocesare_circuitREJ (circuit, v )...J = circuit.JPc = 0 ; puterea consumataPg = 0 ; puterea generatapentru k = 1, L ; parcurge laturi
u = vnik − vnfk ; tensiunea laturiic = (u + ek )/Rk+Jk ; curentul prin laturascrie "Latura" k "are tensiunea" u "si curentul" cPc = Pc + Rk (c − Jk )
2 ; adauga contributia laturii laPg = Pg + ek (c − Jk )− uJk ; adauga contributia laturii la
•
Pc, Pg
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Tratarea surselor ideale de tensiune - ecuatii
Laturi standard:
(ni )k (nf )k
Jk
ekRk
ik
uk
(ni )k (nf )k
ik
ek
uk
L = LREJ + LE
Ai = 0, (32)
u = AT v. (33)
uk = Rk (ik − Jk )− ek , k = 1, . . . , LREJ , (34)
uk = −ek , k = LREJ + 1, . . . , LREJ + LE .(35)
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Tratarea surselor ideale de tensiune - ecuatii
Laturi standard:
(ni )k (nf )k
Jk
ekRk
ik
uk
(ni )k (nf )k
ik
ek
uk
Partitionarea vectorilor:
u =
[
uREJ
uE
]
, i =[
iREJ
iE
]
, e =
[
eREJ
eE
]
, (36)
unde vectorii cu indice REJ au dimensiunea LREJ , iarvectorii cu indice E au dimensiunea LE .
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Tratarea surselor ideale de tensiune - ecuatii
(ni )k (nf )k
Jk
ekRk
ik
uk
(ni )k (nf )k
ik
ek
uk
uREJ = R(iREJ − J)− eREJ , (37)
uE = −eE , (38)
Se partitioneaza si matricea de incidenta:
[
AREJ AE]
[
iREJ
iE
]
= 0, (39)
AREJ iREJ + AE iE = 0. (40)
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Tratarea surselor ideale de tensiune - ecuatii
(ni )k (nf )k
Jk
ekRk
ik
uk
(ni )k (nf )k
ik
ek
uk
[
uREJ
uE
]
=
[
ATREJ
ATE
]
v, (41)
de unde
uREJ = ATREJv, (42)
uE = ATEv. (43)
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Tratarea surselor ideale de tensiune - ecuatii
(ni )k (nf )k
Jk
ekRk
ik
uk
(ni )k (nf )k
ik
ek
uk
Recapitulând:
AREJ iREJ + AE iE = 0, (44)
uREJ = ATREJv, (45)
uE = ATEv, (46)
uREJ = R(iREJ − J)− eREJ , (47)
uE = −eE . (48)
iREJ = R−1(uREJ + eREJ) + J. (49)
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Tratarea surselor ideale de tensiune - sistemulde rezolvat
(ni )k (nf )k
Jk
ekRk
ik
uk
(ni )k (nf )k
ik
ek
uk
AREJR−1ATREJv + AE iE = −AREJR−1eREJ − AREJJ,(50)
ATEv = −eE . (51)
Dimensiune: N − 1 + LE .Necunoscutele: potentialele nodurilor si valorile curentilorprin sursele ideale de tensiune:
x =
[
viE
]
. (52)
Sistemul de rezolvatMx = p (53)
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Tratarea surselor ideale de tensiune - sistemulde rezolvat
Mx = p (54)
M =
[
AREJR−1ATREJ AE
ATE 0,
]
(55)
p =
[
−AREJR−1eREJ − AREJJ−eE
]
(56)
Matricea coeficientilor ramâne simetrica dar îsi pierdepozitiv definirea. O prelucrare suplimentara a acestuisistem poate conduce însa la un sistem mai mic si cuproprietati mai bune [a se vedea documentul în extenso].
Algoritmul este usor de conceput daca el este orientatpe asamblarea matricelor si partitionarea lor.
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Tratarea surselor comandate liniar
Tipuri de surse comandate:
SUCU
uj
uk
u = α u k k j
uj
SICU
i k
i = γ u k k j
i k
SICI
ij
i = β i k k j
uk
SUCIij
u = ρ i k k j
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Tratarea surselor comandate liniar - ecuatii
Kirchhoff I:
AREJ iREJ + AE iE + ASUCU iSUCU = 0, (57)
Kirchhoff II:
uREJ = ATREJv, (58)
uE = ATEv, (59)
uSUCU = ATSUCUv, (60)
relatii constitutive:
uREJ = R(iREJ − J)− eREJ , (61)
uE = −eE , (62)
uSUCU = αSSUCUv, (63)
α - diagonala, contine parametrii surselor comandate,SSUCU - topologica,selecteaza perechea de noduri caredetermina tensiunea de comanda.
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Tratarea surselor comandate liniar - sistemul derezolvat
N − 1 + LE + LSUCU necunoscute:
x =
viE
iSUCU
. (64)
Mx = p (65)
M =
AREJR−1ATREJ AE ASUCU
ATE 0 0
ATSUCU − αSSUCU 0 0
, (66)
p =
−AREJR−1eREJ − AREJJ−eE
0
. (67)
Algoritminumerici
pentru analizacircuitelorrezistive
GabrielaCiuprina
Formulareaproblemei
Tehnicanodala
AlgoritmStructuri de date
Preprocesare
Rezolvare
Postprocesare
Cazul s.i.c.
Cazul s.i.t
Cazul s.c-date liniar
Tratarea surselor comandate liniar - concluzii
Sursele comandate complica problema:
relatii matematice mai complicate, (crestecomplexitatea algoritmului);
sistemul de rezolvat are o matrice a coeficientilor carenu mai este simetrica.
Algoritmul
este usor de conceput daca el este orientat pe asamblareamatricelor si partitionarea lor.