Elektrisk systembeskrivelse av kontaktledningsanlegg ver01 Vedlegg script: Forskjell mellom sideversjoner

Fra Lærebøker i jernbaneteknikk
Hopp til navigering Hopp til søk
mIngen redigeringsforklaring
Linje 9: Linje 9:
== Enkel linjesløyfe ==
== Enkel linjesløyfe ==
Teoretisk beskrivelse: [[Elektrisk_systembeskrivelse_av_kontaktledningsanlegg_ver01#Enkel_linjesløyfe|Linjesløyfe]]
Teoretisk beskrivelse: [[Elektrisk_systembeskrivelse_av_kontaktledningsanlegg_ver01#Enkel_linjesløyfe|Linjesløyfe]]
  '''Funksjon:'''     admLoop
  '''Funksjon:'''           admLoop
  '''Beskrivelse: ''' Beregner admittansmatrisa for ei linjesløyfe
  '''Beskrivelse: '''       Beregner admittansmatrisa for ei linjesløyfe
  '''Kalles ved:'''   Y = admLoop(rLoop,xLoop,gLoop,bLoop,l)
  '''Syntaks:'''           [Y,INDR,INDS] = admLoop(rLoop,xLoop,gLoop,bLoop,l)
'''Alternativ syntaks:''' Y = admLoop(rLoop,xLoop,gLoop,bLoop,l,INDR,INDS)
'''Alternativ syntaks:''' [Y,INDR,INDS] = admLoop(rLoop,xLoop,gLoop,bLoop,l,INDR,INDS)


function Y = admLoop(r,x,g,b,l)
function [Y,INDR,INDS] = admLoop(rLoop,xLoop,gLoop,bLoop,l,INDR,INDS)
     z = r + %i * x
     zLoop = rLoop + %i * xLoop
     y = g + %i * b
     yLoop = gLoop + %i * bLoop
     Z0 = sqrt(z/y)
     Z0 = sqrt(zLoop/yLoop)
     gam = sqrt(z*y)
     gam = sqrt(zLoop*yLoop)
     Y = (1/(Z0*sinh(gam*l))) * [cosh(gam*l) -1 ; -1 sinh(gam*l)]
     const = (Z0*sinh(gam*l))^(-1)
endfunction
    Y = zeros(2,2)
    if (~and([exists(INDR),exists(INDS)])) then
        INDR = 1
        INDS = 2
    end
    Y(INDR,INDR) = const*cosh(gam*l)
    Y(INDR,INDS) = -const
    Y(INDS,INDR) = -const
    Y(INDS,INDS) = const*sinh(gam*l)
endfunction


{| class="wikitable"
{| class="wikitable"
Linje 25: Linje 36:
|-
|-
| Y || (2x2) kompleks matrise || S || Resultat || Admittansmatrise for linjesløyfe
| Y || (2x2) kompleks matrise || S || Resultat || Admittansmatrise for linjesløyfe
|-
| INDR || heltall skalar || - || Input, <br> resultat || Indeks for node R i admittansmatrisa. <br> Må være 1 eller 2 og ulik INDS
|-
| INDS || heltall skalar || - || Input, <br> resultat || Indeks for node S i admittansmatrisa <br> Må være 1 eller 2 og ulik INDR
|-
|-
| r || reell skalar || Ω/km || Input || Spesifikk serieresistans
| r || reell skalar || Ω/km || Input || Spesifikk serieresistans

Sideversjonen fra 21. jul. 2017 kl. 11:54

__NUMBEREDHEADINGS__

Generelt

I dette vedlegget presenteres funksjoner srevet i Scilab som gjør de beregningene som er beskrevet i Lenke: Elektrisk systembeskrivelse. Koden er testet med Scilab 6.0.0.

Lineær modell

Ingen script tilgjengelig

Transmisjonslinje

Enkel linjesløyfe

Teoretisk beskrivelse: Linjesløyfe

Funksjon:           admLoop
Beskrivelse:        Beregner admittansmatrisa for ei linjesløyfe
Syntaks:            [Y,INDR,INDS] = admLoop(rLoop,xLoop,gLoop,bLoop,l)
Alternativ syntaks: Y = admLoop(rLoop,xLoop,gLoop,bLoop,l,INDR,INDS)
Alternativ syntaks: [Y,INDR,INDS] = admLoop(rLoop,xLoop,gLoop,bLoop,l,INDR,INDS)

function [Y,INDR,INDS] = admLoop(rLoop,xLoop,gLoop,bLoop,l,INDR,INDS)

   zLoop = rLoop + %i * xLoop
   yLoop = gLoop + %i * bLoop
   Z0 = sqrt(zLoop/yLoop)
   gam = sqrt(zLoop*yLoop)
   const = (Z0*sinh(gam*l))^(-1)
   Y = zeros(2,2)
   if (~and([exists(INDR),exists(INDS)])) then
       INDR = 1
       INDS = 2
   end
   Y(INDR,INDR) = const*cosh(gam*l)
   Y(INDR,INDS) = -const
   Y(INDS,INDR) = -const
   Y(INDS,INDS) = const*sinh(gam*l)

endfunction

Variabel Type Enhet Type Beskrivelse
Y (2x2) kompleks matrise S Resultat Admittansmatrise for linjesløyfe
INDR heltall skalar - Input,
resultat
Indeks for node R i admittansmatrisa.
Må være 1 eller 2 og ulik INDS
INDS heltall skalar - Input,
resultat
Indeks for node S i admittansmatrisa
Må være 1 eller 2 og ulik INDR
r reell skalar Ω/km Input Spesifikk serieresistans
x reell skalar Ω/km Input Spesifikk seriereaktans
g reell skalar S/km Input Spesifikk parallell konduktans
b reell skalar S/km Input Spesifikk parallell susceptans
l reell skalar km Input Linjesløyfas lengde

Transmisjonslinje med flere parallelle ledere

Teoretisk beskrivelse: Transmisjonslinje

Funksjon:     admLine
Beskrivelse:  Beregner admittansmatrisa for en transmisjonslinje med n parallelle ledere
Kalles ved:   Y = admLine(r,x,g,b,l)
function Y=admLine(r,x,g,b,l)
   n = size(r,1)
   nul = zeros(n,n)
   z = r + %i*x
   y = g + %i*b
   A = [nul , -z ; -y , nul]
   [M,fi] = spec(A) // Finds eigenvector matrix (M) and eigenvalue matrix (fi)
   for i=1:2*n
       fi(i,i) = exp(fi(i,i)*l)
   end
   fi = M*fi*inv(M)
   fi11 = fi(1:n,1:n)
   fi12 = fi(1:n,n+1:2*n)
   fi21 = fi(n+1:2*n,1:n)
   fi22 = fi(n+1:2*n,n+1:2*n)
   fi12inv = inv(fi12)
   Y = [-fi12inv*fi11 , fi12inv ; (fi22*fi12inv*fi11-fi21) , -fi22*fi12inv]
endfunction
Variabel Type Enhet Type Beskrivelse
Y (2nx2n) kompleks matrise S Resultat Admittansmatrise for flerlederlinje
r (nxn) reell matrise Ω/km Input Spesifikk serieresistans
x (nxn) reell matrise Ω/km Input Spesifikk seriereaktans
g (nxn) reell matrise S/km Input Spesifikk parallell konduktans
b (nxn) reell matrise S/km Input Spesifikk parallell susceptans
l (nxn) reell matrise km Input Linjas lengde

Sugetransformator

Teoretisk beskrivelse: Sugetransformator

Funksjon:     admBoosterTransformer
Beskrivelse:  Beregner admittansmatrisa for en sugetransformator
Kalles ved:   Y = admBoosterTransformer(yk,ym)
function Y=admBoosterTransformer(rk,xk,gm,bm)
   yk = (rk + %i * xk)^(-1)
   ym = gm + %i * bm
   ytmp = [yk+ym,-yk;-yk,yk]
   Y = zeros(4,4)
   Y([1:2],[1:2]) = ytmp
   Y([1:2],[3:4]) = -ytmp
   Y([3:4],[1:2]) = -ytmp
   Y([3:4],[3:4]) = ytmp
endfunction
Variabel Type Enhet Type Beskrivelse
Y (4x4) kompleks matrise S Resultat Admittansmatrise for sugetransformator
rk reell skalar Ω Input Kortslutningsresistans
xk reell skalar Ω Input Kortslutningsreaktans
gm reell skalar S Input Magnetiseringskonduktans
bm reell skalar S Input Magnetiseringssusceptans

Seksjonering

Teoretisk beskrivelse: Seksjonering

Funksjon:     admSeriesImpedance
Beskrivelse:  Beregner admittansmatrisa for en seksjonering
Kalles ved:   Y = admSeriesImpedance(g,b)
function Y=admSeriesImpedance(g,b)
   ytmp = g + %i*b
   Y = zeros(2,2)
   Y(1,1) = ytmp
   Y(1,2) = -ytmp
   Y(2,1) = -ytmp
   Y(2,2) = ytmp
endfunction
Variabel Type Enhet Type Beskrivelse
Y (2x2) kompleks matrise S Resultat Admittansmatrise for serieimpedans eller seksjonering
g reell skalar S Input Konduktans
b reell skalar S Input Susceptans
Kommentar: For en ren seksjonering er g og b lik 0 S, og resultatet blir en nullmatrise.

Autotransformator

Teoretisk beskrivelse: Autotransformator

Funksjon:     admAutoTransformer
Beskrivelse:  Beregner admittansmatrisa for en autotransformator
Kalles ved:   Y = admAutoTransformer(rk,xk,gm,bm)
function Y=admAutoTransformer(rk,xk,gm,bm)
   yk = rk + %i * xk
   ym = gm + %i * bm
   Yat = zeros(3,3)
   Yat(1,1) = yk+ym
   Yat(2,2) = yk+ym
   Yat(1,2) = yk-ym
   Yat(2,1) = yk-ym
   Yat(3,[1:2]) = -2.0*yk
   Yat([1:2],3) = -2.0*yk
   Yat(3,3) = 4.0*yk
endfunction
Variabel Type Enhet Type Beskrivelse
Y (4x4) kompleks matrise S Resultat Admittansmatrise for autotransformator
rk reell skalar Ω Input Kortslutningsresistans
xk reell skalar Ω Input Kortslutningsreaktans
gm reell skalar S Input Magnetiseringskonduktans
bm reell skalar S Input Magnetiseringssusceptans