Elektrisk systembeskrivelse av kontaktledningsanlegg ver01 Vedlegg script: Forskjell mellom sideversjoner

Fra Lærebøker i jernbaneteknikk
Hopp til navigering Hopp til søk
 
(8 mellomliggende revisjoner av samme bruker vises ikke)
Linje 116: Linje 116:
| b || (nxn) reell matrise || S/km || Input || Spesifikk parallell susceptans
| b || (nxn) reell matrise || S/km || Input || Spesifikk parallell susceptans
|-
|-
| l || (nxn) reell matrise || km || Input || Linjas lengde
| l || reell skalar || km || Input || Linjas lengde
|}
|}


Linje 218: Linje 218:
         INDR = 3
         INDR = 3
     end
     end
     yk = rk + %i * xk
     zk = rk + %i * xk
    yk = zk^(-1)
     ym = gm + %i * bm
     ym = gm + %i * bm
     Y = zeros(3,3)
     Y = zeros(3,3)
Linje 241: Linje 242:
| INDR || heltall skalar || - || Input og resultat || Indeks for returkrets (RR) i admittansmatrisa. <br> INDN, INDP og INDR må være unike og i intervallet (1:3).
| INDR || heltall skalar || - || Input og resultat || Indeks for returkrets (RR) i admittansmatrisa. <br> INDN, INDP og INDR må være unike og i intervallet (1:3).
|-
|-
| rk || reell skalar || Ω || Input || Kortslutningsresistans
| rk || reell skalar || Ω || Input || Kortslutningsresistans - referansespenning 30 kV
|-
|-
| xk || reell skalar || Ω || Input || Kortslutningsreaktans
| xk || reell skalar || Ω || Input || Kortslutningsreaktans - referansespenning 30 kV
|-
|-
| gm || reell skalar  || S || Input || Magnetiseringskonduktans
| gm || reell skalar  || S || Input || Magnetiseringskonduktans - referansespenning 30 kV
|-
|-
| bm || reell skalar  || S || Input || Magnetiseringssusceptans
| bm || reell skalar  || S || Input || Magnetiseringssusceptans - referansespenning 30 kV
|}
|}


Linje 257: Linje 258:
= Kilde og belastning =
= Kilde og belastning =
== Kilde ==
== Kilde ==
Teoretisk beskrivelse: [[Elektrisk_systembeskrivelse_av_kontaktledningsanlegg_ver01#Kilde|Kilde]]
  '''Funksjon:'''          nortonSource
  '''Funksjon:'''          nortonSource
  '''Beskrivelse: '''      Beregner nortonekvivalenten (admittansmatrise og nortonstrøm) for en kilde
  '''Beskrivelse: '''      Beregner nortonekvivalenten (admittansmatrise og nortonstrøm) for en kilde
Linje 285: Linje 289:
|-
|-
| Y || (2x2) kompleks matrise || S || Resultat || Admittansmatrise for nortonkilde
| Y || (2x2) kompleks matrise || S || Resultat || Admittansmatrise for nortonkilde
|-
| i || (1x2) kompleks vektor || A || Resultat || Strømvektor for nortonkilde
|-
|-
| INDC || heltall skalar || - || Input og resultat || Indeks for kontaktledning (kl). <br> INDC og INDR må være ulike og 1 eller 2.
| INDC || heltall skalar || - || Input og resultat || Indeks for kontaktledning (kl). <br> INDC og INDR må være ulike og 1 eller 2.
Linje 298: Linje 304:


== Belastning ==
== Belastning ==
Teoretisk beskrivelse: [[Elektrisk_systembeskrivelse_av_kontaktledningsanlegg_ver01#Belastning|Belastning]]
  '''Funksjon:'''          currentLoad
  '''Funksjon:'''          currentLoad
  '''Beskrivelse: '''      Beregner strømmen ved en strømbelastning
  '''Beskrivelse: '''      Beregner spenning og strøm ved en strømbelastning
  '''Syntaks:'''            [i] = currentLoad(i0,INDC,INDR)
  '''Syntaks:'''            [uL,iL] = currentLoad(iLoad,fiLoad,uB,Z,INDC,INDR)
  '''Alternativ syntaks:''' [Y,i] = nortonSource(r,x,u0,INDC,INDR)
 
'''Alternativ syntaks:''' [Y,i,INDC,INDR] = nortonSource(r,x,u0)
  function [uB,iB] = currentLoad(iLoad,fiLoad,u0,Z,INDC,INDR)
  '''Alternativ syntaks:''' [Y,i,INDC,INDR] = nortonSource(r,x,u0,INDC,INDR)
    ul0 = u0(INDC)-u0(INDR)
    zg = Z(INDC,INDC)+Z(INDR,INDR)-Z(INDC,INDR)-Z(INDR,INDC)
    delta = atan(imag(ul0),real(ul0))
    gam = (delta-fiLoad)
    theta = atan(imag(zg),real(zg))
    zg=abs(zg)
    func =  abs(ul0)*(sin(delta-gam)-cos(delta-gam)*tan(fiLoad)) + iLoad*zg*(cos(theta)*tan(fiLoad)-sin(theta))
    while (abs(func)>10D-9)
        dfdg = abs(ul0)*(cos(delta-gam)+sin(delta-gam)*tan(fiLoad))
        gam = gam + func/dfdg
        func = abs(ul0)*(sin(delta-gam)-cos(delta-gam)*tan(fiLoad)) + iLoad*zg*(cos(theta)*tan(fiLoad)-sin(theta))
    end
    iLoad = iLoad*exp(gam*%i)
    iB = [-iLoad;iLoad]
    uB = u0 + Z*iB
endfunction
 
{| class="wikitable"
! Variabel !! Type !! Enhet !! Type !! Beskrivelse
|-
| uL || (2x1) kompleks vektor || V || Resultat || Vektor med spenning ved belastningen
|-
| iL || (2x1) kompleks vektor || A || Resultat || Vektor med strøm ved belastningen
|-
| iLoad || rell skalar || A || Input || Belastningsstrøm
|-
| fiLoad || reell skalar || radianer || fasevinkel ved belastningen
|-
| u0 || (2x1) kompleks vektor || V || Tomgangsspenning ved belastningen før belastningen er innkoplet
|-
| Z || (2x2) kompleks matrise || Ω || Impedansmatrise for belastningen
|-
| INDC || heltall skalar || - || Input || Indeks for kontaktledning (kl). <br> INDC og INDR må være ulike og 1 eller 2.
|-
| INDR || heltall skalar || - || Input || Indeks for returkrets (RR). <br> INDC og INDR må være ulike og 1 eller 2.
|}

Siste sideversjon per 21. sep. 2017 kl. 13: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

Script er ikke utarbeidet

Transmisjonslinje

Enkel linjesløyfe

Teoretisk beskrivelse: Linjesløyfe

Funksjon:           admLoop
Beskrivelse:        Beregner admittansmatrisa for ei linjesløyfe
Syntaks:            Y = admLoop(r,x,g,b,l)
Alternativ syntaks: Y = admLoop(r,x,g,b,l,INDR,INDS)
Alternativ syntaks: [Y,INDR,INDS] = admLoop(r,x,g,b,l)
Alternativ syntaks: [Y,INDR,INDS] = admLoop(r,x,g,b,l,INDR,INDS)
function [Y,INDR,INDS] = admLoop(r,x,g,b,l,INDR,INDS)
   if (~and(exists(INDR,INDS,1))) then
       INDR = 1
       INDS = 2
   end
   z = r + %i * x
   y = g + %i * b
   Z0 = sqrt(z/y)
   gam = sqrt(z*y)
   const = (Z0*sinh(gam*l))^(-1)
   Y = zeros(2,2)
   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 eller resultat Indeks for node R i admittansmatrisa.
Må være 1 eller 2 og ulik INDS
INDS heltall skalar - Input eller 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
Syntaks:            Y = admLine(r,x,g,b,l)
Alternativ syntaks: Y = admLine(r,x,g,b,l,INDR,INDS)
Alternativ syntaks: [Y,INDR,INDS] = admLine(r,x,g,b,l)
Alternativ syntaks: [Y,INDR,INDS] = admLine(r,x,g,b,l,INDR,INDS)
function [Y,INDR,INDS]=admLine(r,x,g,b,l,INDR,INDS)
   n = size(r,1)
   if (~and([size(r),size(x),size(g),size(b)]==n)) then
       // Wrong dimensions of input variables
       Y = 0
       return
   end
   if (~and(exists(INDR,INDS,1))) then
       INDR = [1:n]
       INDS = [n+1:2*n]
   elseif (and([size(INDR),size(INDS)] == 1) then
       tmp = (n*(INDR-1))
       INDR = (tmp+1:tmp+n)
       tmp = (n*(INDS-1))
       INDS = (tmp+1:tmp+n)
   end
   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(INDR,INDR)
   fi12 = fi(INDR,INDS)
   fi21 = fi(INDS,INDR)
   fi22 = fi(INDS,INDS)
   fi12inv = inv(fi12)
   Y = zeros(2*n,2*n)
   Y(INDR,INDR) = -fi12inv*fi11
   Y(INDR,INDS) = fi12inv
   Y(INDS,INDR) = fi22*fi12inv*fi11-fi21
   Y(INDS,INDS) = -fi22*fi12inv
endfunction
Variabel Type Enhet Type Beskrivelse
Y (2nx2n) kompleks matrise S Resultat Admittansmatrise for flerlederlinje
INDR (n) heltall vektor - Input eller resultat Indekser for node R i admittansmatrisa.
Alle elementer i INDR og INDS må være unike og i intervallet (1:2n).
Ved input kan INDR og INDS alternativt settes til 1 eller 2 (skalare verdier)
INDS (n) heltall vektor - Input eller resultat Indekser for node S i admittansmatrisa.
Alle elementer i INDR og INDS må være unike og i intervallet (1:2n).
Ved input kan INDR og INDS alternativt settes til 1 eller 2 (skalare verdier)
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 reell skalar km Input Linjas lengde

Sugetransformator

Teoretisk beskrivelse: Sugetransformator

Funksjon:           admBoosterTransformer
Beskrivelse:        Beregner admittansmatrisa for en sugetransformator
Syntaks:            Y = admBoosterTransformer(rk,xk,gm,bm)
Alternativ syntaks: Y = admBoosterTransformer(rk,xk,gm,bm,INDR,INDS)
Alternativ syntaks: [Y,INDR,INDS] = admBoosterTransformer(rk,xk,gm,bm)
Alternativ syntaks: [Y,INDR,INDS] = admBoosterTransformer(rk,xk,gm,bm,INDR,INDS)
function [Y,INDR,INDS] = admBoosterTransformer(rk,xk,gm,bm,INDR,INDS)
   if (~and(exists(INDR,INDS,1))) then
       INDR = [1:2]
       INDS = [3:4]
   elseif (and([size(INDR),size(INDS)] == 1) then
       tmp = (2*(INDR-1))
       INDR = (tmp+1:tmp+2)
       tmp = (2*(INDS-1))
       INDS = (tmp+1:tmp+2)
   end
   yk = (rk + %i * xk)^(-1)
   ym = gm + %i * bm
   ytmp = [yk+ym,-yk;-yk,yk]
   Y(INDR,INDR) = ytmp
   Y(INDR,INDS) = -ytmp
   Y(INDS,INDR) = -ytmp
   Y(INDS,INDS) = ytmp
endfunction
Variabel Type Enhet Type Beskrivelse
Y (4x4) kompleks matrise S Resultat Admittansmatrise for sugetransformator
INDR (1x2) heltall vektor - Input eller resultat Indekser for node R i admittansmatrisa.
Alle elementer i INDR og INDS må være unike og i intervallet (1:4).
Ved input kan INDR og INDS alternativt settes til 1 eller 2 (skalare verdier)
INDS (1x2) heltall vektor - Input eller resultat Indekser for node S i admittansmatrisa.
Alle elementer i INDR og INDS må være unike og i intervallet (1:4).
Ved input kan INDR og INDS alternativt settes til 1 eller 2 (skalare verdier)
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 serieimpedans eller en seksjonering
Syntaks:            Y = admSeriesImpedance(g,b)
Alternativ syntaks: Y = admSeriesImpedance(g,b,INDR,INDS)
Alternativ syntaks: [Y,INDR,INDS] = admSeriesImpedance(g,b)
Alternativ syntaks: [Y,INDR,INDS] = admSeriesImpedance(g,b,INDR,INDS)
function [Y,INDR,INDS] = admSeriesImpedance(g,b,INDR,INDS)
   if (~and(exists(INDR,INDS,1))) then
       INDR = 1
       INDS = 2
   end
   ytmp = g + %i*b
   Y = zeros(2,2)
   Y(INDR,INDR) = ytmp
   Y(INDR,INDS) = -ytmp
   Y(INDS,INDR) = -ytmp
   Y(INDS,INDS) = ytmp
endfunction
Variabel Type Enhet Type Beskrivelse
Y (2x2) kompleks matrise S Resultat Admittansmatrise for serieimpedans eller seksjonering
INDR heltall skalar - Input eller resultat Indeks for node R i admittansmatrisa.
Må være 1 eller 2 og ulik INDS
INDS heltall skalar - Input eller resultat Indeks for node S i admittansmatrisa
Må være 1 eller 2 og ulik INDR
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
Syntaks:            Y = admAutoTransformer(rk,xk,gm,bm)
Alternativ syntaks: Y = admAutoTransformer(rk,xk,gm,bm,INDN,INDP,INDR)
Alternativ syntaks: [Y,INDN,INDP,INDR] = admAutoTransformer(rk,xk,gm,bm)
Alternativ syntaks: [Y,INDN,INDP,INDR] = admAutoTransformer(rk,xk,gm,bm,INDN,INDP,INDR)
function [Y,INDN,INDP,INDR]=admAutoTransformer(rk,xk,gm,bm,INDN,INDP,INDR)
   if (~and(exists(INDN,INDP,INDR,1))) then
       INDN = 1
       INDP = 2
       INDR = 3
   end
   zk = rk + %i * xk
   yk = zk^(-1)
   ym = gm + %i * bm
   Y = zeros(3,3)
   Y(INDN,INDN) = yk+ym
   Y(INDP,INDP) = yk+ym
   Y(INDN,INDP) = yk-ym
   Y(INDP,INDN) = yk-ym
   Y(INDR,[INDN,INDP]) = -2.0*yk
   Y([INDN,INDP],INDR) = -2.0*yk
   Y(INDR,INDR) = 4.0*yk
endfunction
Variabel Type Enhet Type Beskrivelse
Y (3x3) kompleks matrise S Resultat Admittansmatrise for autotransformator
INDN heltall skalar - Input og resultat Indeks for negativleder (NL) i admittansmatrisa.
INDN, INDP og INDR må være unike og i intervallet (1:3).
INDP heltall skalar - Input og resultat Indeks for positivleder (PL) i admittansmatrisa.
INDN, INDP og INDR må være unike og i intervallet (1:3).
INDR heltall skalar - Input og resultat Indeks for returkrets (RR) i admittansmatrisa.
INDN, INDP og INDR må være unike og i intervallet (1:3).
rk reell skalar Ω Input Kortslutningsresistans - referansespenning 30 kV
xk reell skalar Ω Input Kortslutningsreaktans - referansespenning 30 kV
gm reell skalar S Input Magnetiseringskonduktans - referansespenning 30 kV
bm reell skalar S Input Magnetiseringssusceptans - referansespenning 30 kV

Jordforbindelse

Teoretisk beskrivelse: Jordforbindelse

Script er ikke utarbeidet

Kilde og belastning

Kilde

Teoretisk beskrivelse: Kilde

Funksjon:           nortonSource
Beskrivelse:        Beregner nortonekvivalenten (admittansmatrise og nortonstrøm) for en kilde
Syntaks:            [Y,i] = nortonSource(r,x,u0)
Alternativ syntaks: [Y,i] = nortonSource(r,x,u0,INDC,INDR)
Alternativ syntaks: [Y,i,INDC,INDR] = nortonSource(r,x,u0)
Alternativ syntaks: [Y,i,INDC,INDR] = nortonSource(r,x,u0,INDC,INDR)
function [Y,i,INDC,INDR] = nortonSource(r,x,u0,INDC,INDR)
   if (~and(exists(INDC,INDR,1))) then
       INDC = 1
       INDR = 2
   end
   y = (r + %i * x)^(-1)
   Y = zeros(2,2)
   Y(INDC,INDC) = y
   Y(INDC,INDR) = -y
   Y(INDR,INDC) = -y
   Y(INDR,INDR) = y
   iN = u0*y
   i = zeros(2,1)
   i(INDC)=iN
   i(INDR)=-iN
endfunction
Variabel Type Enhet Type Beskrivelse
Y (2x2) kompleks matrise S Resultat Admittansmatrise for nortonkilde
i (1x2) kompleks vektor A Resultat Strømvektor for nortonkilde
INDC heltall skalar - Input og resultat Indeks for kontaktledning (kl).
INDC og INDR må være ulike og 1 eller 2.
INDR heltall skalar - Input og resultat Indeks for returkrets (RR).
INDC og INDR må være ulike og 1 eller 2.
r reell skalar Ω Input Kilderesistans (nortonekvivalent)
x reell skalar Ω Input Kildereaktans (nortonekvivalent)
u0 reell skalar V Input Tomgangsspenning ved kilden

Belastning

Teoretisk beskrivelse: Belastning

Funksjon:           currentLoad
Beskrivelse:        Beregner spenning og strøm ved en strømbelastning
Syntaks:            [uL,iL] = currentLoad(iLoad,fiLoad,uB,Z,INDC,INDR)
function [uB,iB] = currentLoad(iLoad,fiLoad,u0,Z,INDC,INDR)
   ul0 = u0(INDC)-u0(INDR)
   zg = Z(INDC,INDC)+Z(INDR,INDR)-Z(INDC,INDR)-Z(INDR,INDC)
   delta = atan(imag(ul0),real(ul0))
   gam = (delta-fiLoad)
   theta = atan(imag(zg),real(zg))
   zg=abs(zg)
   func =  abs(ul0)*(sin(delta-gam)-cos(delta-gam)*tan(fiLoad)) + iLoad*zg*(cos(theta)*tan(fiLoad)-sin(theta))
   while (abs(func)>10D-9)
       dfdg = abs(ul0)*(cos(delta-gam)+sin(delta-gam)*tan(fiLoad))
       gam = gam + func/dfdg
       func =  abs(ul0)*(sin(delta-gam)-cos(delta-gam)*tan(fiLoad)) + iLoad*zg*(cos(theta)*tan(fiLoad)-sin(theta))
   end
   iLoad = iLoad*exp(gam*%i)
   iB = [-iLoad;iLoad]
   uB = u0 + Z*iB
endfunction
Variabel Type Enhet Type Beskrivelse
uL (2x1) kompleks vektor V Resultat Vektor med spenning ved belastningen
iL (2x1) kompleks vektor A Resultat Vektor med strøm ved belastningen
iLoad rell skalar A Input Belastningsstrøm
fiLoad reell skalar radianer fasevinkel ved belastningen
u0 (2x1) kompleks vektor V Tomgangsspenning ved belastningen før belastningen er innkoplet
Z (2x2) kompleks matrise Ω Impedansmatrise for belastningen
INDC heltall skalar - Input Indeks for kontaktledning (kl).
INDC og INDR må være ulike og 1 eller 2.
INDR heltall skalar - Input Indeks for returkrets (RR).
INDC og INDR må være ulike og 1 eller 2.