Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf ·...

42
Algoritmi numerici pentru analiza circuitelor rezistive Gabriela Ciuprina Formularea problemei Tehnica nodal ˘ a Algoritm Structuri de date Preprocesare Rezolvare Postprocesare Cazul s.i.c. Cazul s.i.t Cazul s. c-date liniar Algoritmi numerici pentru analiza circuitelor electrice rezistive liniare Conf.dr.ing. Gabriela Ciuprina Universitatea "Politehnica" Bucure¸ sti, Facultatea de Inginerie Electric ˘ a, Departamentul de Electrotehnic ˘ a Suport didactic pentru disciplina Algoritmi Numerici, 2012

Transcript of Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf ·...

Page 1: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 2: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 3: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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.

Page 4: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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")

Page 5: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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.

Page 6: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 7: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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)

Page 8: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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 .

Page 9: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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)

Page 10: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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)

Page 11: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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.

Page 12: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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.

Page 13: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 14: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 15: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 16: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 17: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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).

Page 18: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 19: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 20: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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 .

Page 21: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 22: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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.

Page 23: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 24: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 25: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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)

Page 26: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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)

Page 27: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 28: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 29: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 30: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 31: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 32: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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)

Page 33: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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 .

Page 34: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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)

Page 35: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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)

Page 36: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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)

Page 37: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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)

Page 38: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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.

Page 39: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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

Page 40: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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.

Page 41: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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)

Page 42: Algoritmi numerici pentru analiza circuitelor electrice ...an.lmn.pub.ro/slides/AN_s4.pdf · Universitatea "Politehnica" Bucures¸ti, Facultatea de Inginerie Electrica,˘ Departamentul

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.