Elektrisk systembeskrivelse av kontaktledningsanlegg ver01 Vedlegg script: Forskjell mellom sideversjoner

Fra Lærebøker i jernbaneteknikk
Hopp til navigering Hopp til søk
 
(41 mellomliggende revisjoner av samme bruker vises ikke)
Linje 4: Linje 4:


= Lineær modell =
= Lineær modell =
Ingen script tilgjengelig
Script er ikke utarbeidet


= Transmisjonslinje =
= Transmisjonslinje =
Linje 11: Linje 11:
  '''Funksjon:'''          admLoop
  '''Funksjon:'''          admLoop
  '''Beskrivelse: '''      Beregner admittansmatrisa for ei linjesløyfe
  '''Beskrivelse: '''      Beregner admittansmatrisa for ei linjesløyfe
  '''Syntaks:'''            [Y,INDR,INDS] = admLoop(rLoop,xLoop,gLoop,bLoop,l)
  '''Syntaks:'''            Y = admLoop(r,x,g,b,l)
  '''Alternativ syntaks:''' Y = admLoop(rLoop,xLoop,gLoop,bLoop,l,INDR,INDS)
  '''Alternativ syntaks:''' Y = admLoop(r,x,g,b,l,INDR,INDS)
  '''Alternativ syntaks:''' [Y,INDR,INDS] = admLoop(rLoop,xLoop,gLoop,bLoop,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(rLoop,xLoop,gLoop,bLoop,l,INDR,INDS)
  function [Y,INDR,INDS] = admLoop(r,x,g,b,l,INDR,INDS)
    zLoop = rLoop + %i * xLoop
     if (~and(exists(INDR,INDS,1))) then
    yLoop = gLoop + %i * bLoop
    Z0 = sqrt(zLoop/yLoop)
    gam = sqrt(zLoop*yLoop)
    const = (Z0*sinh(gam*l))^(-1)
     if (~and([exists(INDR),exists(INDS)])) then
         INDR = 1
         INDR = 1
         INDS = 2
         INDS = 2
     end
     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 = zeros(2,2)
     Y(INDR,INDR) = const*cosh(gam*l)
     Y(INDR,INDR) = const*cosh(gam*l)
Linje 37: Linje 38:
| 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
| INDR || heltall skalar || - || Input eller 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
| INDS || heltall skalar || - || Input eller 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
Linje 56: Linje 57:
  '''Funksjon:'''          admLine
  '''Funksjon:'''          admLine
  '''Beskrivelse: '''      Beregner admittansmatrisa for en transmisjonslinje med n parallelle ledere
  '''Beskrivelse: '''      Beregner admittansmatrisa for en transmisjonslinje med n parallelle ledere
  '''Syntaks:'''            [Y,INDR,INDS] = admLine(r,x,g,b,l)
  '''Syntaks:'''            Y = admLine(r,x,g,b,l)
  '''Alternativ syntaks:''' Y = admLine(r,x,g,b,l,INDR,INDS)
  '''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)
  '''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)
  function [Y,INDR,INDS]=admLine(r,x,g,b,l,INDR,INDS)
     n = size(r,1)
     n = size(r,1)
     if (~and([size(r),size(x),size(g),size(b)])) then
     if (~and([size(r),size(x),size(g),size(b)]==n)) then
         // Wrong dimensions of input variables
         // Wrong dimensions of input variables
         Yl = 0
         Y = 0
         return
         return
     end
     end
     if (~and([exists(INDR),exists(INDS)])) then
     if (~and(exists(INDR,INDS,1))) then
         INDR = [1:n]
         INDR = [1:n]
         INDS = [n+1:2*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
     end
     nul = zeros(n,n)
     nul = zeros(n,n)
Linje 96: Linje 103:
|-
|-
| Y || (2nx2n) kompleks matrise || S || Resultat || Admittansmatrise for flerlederlinje
| Y || (2nx2n) kompleks matrise || S || Resultat || Admittansmatrise for flerlederlinje
|-
| INDR || (n) heltall vektor || - || Input eller resultat || Indekser for node R i admittansmatrisa. <br> Alle elementer i INDR og INDS må være unike og i intervallet (1:2n). <br> 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. <br> Alle elementer i INDR og INDS må være unike og i intervallet (1:2n). <br> Ved input kan INDR og INDS alternativt settes til 1 eller 2 (skalare verdier)
|-
|-
| r || (nxn) reell matrise || Ω/km || Input || Spesifikk serieresistans
| r || (nxn) reell matrise || Ω/km || Input || Spesifikk serieresistans
Linje 105: 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
|}
|}


= Sugetransformator =
= Sugetransformator =
Teoretisk beskrivelse: [[Elektrisk_systembeskrivelse_av_kontaktledningsanlegg_ver01#Sugetransformator|Sugetransformator]]
Teoretisk beskrivelse: [[Elektrisk_systembeskrivelse_av_kontaktledningsanlegg_ver01#Sugetransformator|Sugetransformator]]
  '''Funksjon:'''     admBoosterTransformer
  '''Funksjon:'''           admBoosterTransformer
  '''Beskrivelse: ''' Beregner admittansmatrisa for en sugetransformator
  '''Beskrivelse: '''       Beregner admittansmatrisa for en sugetransformator
  '''Kalles ved:'''   Y = admBoosterTransformer(yk,ym)
  '''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=admBoosterTransformer(rk,xk,gm,bm)
  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)
     yk = (rk + %i * xk)^(-1)
     ym = gm + %i * bm
     ym = gm + %i * bm
     ytmp = [yk+ym,-yk;-yk,yk]
     ytmp = [yk+ym,-yk;-yk,yk]
    Y = zeros(4,4)
     Y(INDR,INDR) = ytmp
     Y([1:2],[1:2]) = ytmp
     Y(INDR,INDS) = -ytmp
     Y([1:2],[3:4]) = -ytmp
     Y(INDS,INDR) = -ytmp
     Y([3:4],[1:2]) = -ytmp
     Y(INDS,INDS) = ytmp
     Y([3:4],[3:4]) = ytmp
  endfunction
  endfunction


Linje 129: Linje 151:
|-
|-
| Y || (4x4) kompleks matrise || S || Resultat || Admittansmatrise for sugetransformator
| Y || (4x4) kompleks matrise || S || Resultat || Admittansmatrise for sugetransformator
|-
| INDR || (1x2) heltall vektor || - || Input eller resultat || Indekser for node R i admittansmatrisa. <br> Alle elementer i INDR og INDS må være unike og i intervallet (1:4). <br> 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. <br> Alle elementer i INDR og INDS må være unike og i intervallet (1:4). <br> Ved input kan INDR og INDS alternativt settes til 1 eller 2 (skalare verdier)
|-
|-
| rk || reell skalar || Ω || Input || Kortslutningsresistans
| rk || reell skalar || Ω || Input || Kortslutningsresistans
Linje 142: Linje 168:
Teoretisk beskrivelse: [[Elektrisk_systembeskrivelse_av_kontaktledningsanlegg_ver01#Seksjonering|Seksjonering]]
Teoretisk beskrivelse: [[Elektrisk_systembeskrivelse_av_kontaktledningsanlegg_ver01#Seksjonering|Seksjonering]]
  '''Funksjon:'''    admSeriesImpedance
  '''Funksjon:'''    admSeriesImpedance
  '''Beskrivelse: ''' Beregner admittansmatrisa for en seksjonering
  '''Beskrivelse: ''' Beregner admittansmatrisa for en serieimpedans eller en seksjonering
  '''Kalles ved:'''   Y = admSeriesImpedance(g,b)
  '''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=admSeriesImpedance(g,b)
  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
     ytmp = g + %i*b
     Y = zeros(2,2)
     Y = zeros(2,2)
     Y(1,1) = ytmp
     Y(INDR,INDR) = ytmp
     Y(1,2) = -ytmp
     Y(INDR,INDS) = -ytmp
     Y(2,1) = -ytmp
     Y(INDS,INDR) = -ytmp
     Y(2,2) = ytmp
     Y(INDS,INDS) = ytmp
  endfunction
  endfunction


Linje 158: Linje 191:
|-
|-
| Y || (2x2) kompleks matrise || S || Resultat || Admittansmatrise for serieimpedans eller seksjonering
| Y || (2x2) kompleks matrise || S || Resultat || Admittansmatrise for serieimpedans eller seksjonering
|-
| INDR || heltall skalar || - || Input eller resultat || Indeks for node R i admittansmatrisa. <br> Må være 1 eller 2 og ulik INDS
|-
| INDS || heltall skalar || - || Input eller resultat || Indeks for node S i admittansmatrisa <br> Må være 1 eller 2 og ulik INDR
|-
|-
| g || reell skalar || S || Input || Konduktans
| g || reell skalar || S || Input || Konduktans
Linje 170: Linje 207:
  '''Funksjon:'''    admAutoTransformer
  '''Funksjon:'''    admAutoTransformer
  '''Beskrivelse: ''' Beregner admittansmatrisa for en autotransformator
  '''Beskrivelse: ''' Beregner admittansmatrisa for en autotransformator
  '''Kalles ved:'''   Y = admAutoTransformer(rk,xk,gm,bm)
  '''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=admAutoTransformer(rk,xk,gm,bm)
  function [Y,INDN,INDP,INDR]=admAutoTransformer(rk,xk,gm,bm,INDN,INDP,INDR)
     yk = rk + %i * xk
    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
     ym = gm + %i * bm
     Yat = zeros(3,3)
     Y = zeros(3,3)
     Yat(1,1) = yk+ym
     Y(INDN,INDN) = yk+ym
     Yat(2,2) = yk+ym
     Y(INDP,INDP) = yk+ym
     Yat(1,2) = yk-ym
     Y(INDN,INDP) = yk-ym
     Yat(2,1) = yk-ym
     Y(INDP,INDN) = yk-ym
     Yat(3,[1:2]) = -2.0*yk
     Y(INDR,[INDN,INDP]) = -2.0*yk
     Yat([1:2],3) = -2.0*yk
     Y([INDN,INDP],INDR) = -2.0*yk
     Yat(3,3) = 4.0*yk
     Y(INDR,INDR) = 4.0*yk
endfunction
 
{| class="wikitable"
! 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. <br> 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. <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 - 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: [[Elektrisk_systembeskrivelse_av_kontaktledningsanlegg_ver01#Jordforbindelse|Jordforbindelse]]
 
Script er ikke utarbeidet
 
= Kilde og belastning =
== Kilde ==
 
Teoretisk beskrivelse: [[Elektrisk_systembeskrivelse_av_kontaktledningsanlegg_ver01#Kilde|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
  endfunction


Linje 188: Linje 288:
! Variabel !! Type !! Enhet !! Type !! Beskrivelse
! Variabel !! Type !! Enhet !! Type !! Beskrivelse
|-
|-
| Y || (4x4) kompleks matrise || S || Resultat || Admittansmatrise for autotransformator
| 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.
|-
|-
| rk || reell skalar || Ω || Input || Kortslutningsresistans
| INDR || heltall skalar || - || Input og resultat || Indeks for returkrets (RR). <br> 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: [[Elektrisk_systembeskrivelse_av_kontaktledningsanlegg_ver01#Belastning|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
 
{| 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
|-
|-
| xk || reell skalar || Ω || Input || Kortslutningsreaktans
| Z || (2x2) kompleks matrise || Ω || Impedansmatrise for belastningen
|-
|-
| gm || reell skalar || S || Input || Magnetiseringskonduktans
| INDC || heltall skalar || - || Input || Indeks for kontaktledning (kl). <br> INDC og INDR må være ulike og 1 eller 2.
|-
|-
| bm || reell skalar || S || Input || Magnetiseringssusceptans
| 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.