Elektrisk systembeskrivelse av kontaktledningsanlegg ver01 Vedlegg script: Forskjell mellom sideversjoner

Fra Lærebøker i jernbaneteknikk
Hopp til navigering Hopp til søk
 
(66 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 =
== Enkel linjesløyfe ==
== Enkel linjesløyfe ==
  '''Funksjon:'''     admLoop
Teoretisk beskrivelse: [[Elektrisk_systembeskrivelse_av_kontaktledningsanlegg_ver01#Enkel_linjesløyfe|Linjesløyfe]]
  '''Beskrivelse: ''' Beregner admittansmatrisa for ei linjesløyfe
  '''Funksjon:'''           admLoop
  '''Kalles ved:'''   Y = admLoop(rLoop,xLoop,gLoop,bLoop,l)
  '''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 = admLoop(rLoop,xLoop,gLoop,bLoop,l)
  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
        INDR = 1
     Z0 = sqrt(zLoop/yLoop)
        INDS = 2
     gam = sqrt(zLoop*yLoop)
    end
     Y = (1/(Z0*sinh(gam*l))) * [cosh(gam*l) -1 ; -1 sinh(gam*l)]
    z = r + %i * x
  end
     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


{| class="wikitable"
{| class="wikitable"
! Variabel !! Type !! Enhet !! Type !! Beskrivelse
! Variabel !! Type !! Enhet !! Type !! Beskrivelse
|-
|-
| Y || (2x2) kompleks matrise || Ohm || Resultat || Admittansmatrise
| Y || (2x2) kompleks matrise || S || Resultat || Admittansmatrise for linjesløyfe
|-
|-
| rLoop || reell variabel || Ohm/km || Input || Spesifikk serieresistans
| INDR || heltall skalar || - || Input eller resultat || Indeks for node R i admittansmatrisa. <br> Må være 1 eller 2 og ulik INDS
|-
|-
| xLoop || reell variabel || Ohm/km || Input || Spesifikk seriereaktans
| INDS || heltall skalar || - || Input eller resultat || Indeks for node S i admittansmatrisa <br> Må være 1 eller 2 og ulik INDR
|-
|-
| gLoop || reell variabel || S/km || Input || Spesifikk parallell konduktans
| r || reell skalar || Ω/km || Input || Spesifikk serieresistans
|-
|-
| bLoop || reell variabel || S/km || Input || Spesifikk parallell susceptans
| x || reell skalar || Ω/km || Input || Spesifikk seriereaktans
|-
|-
| l || reell variabel || km || Input || linjesløyfas lengde
| 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: [[Elektrisk_systembeskrivelse_av_kontaktledningsanlegg_ver01#Transmisjonslinje_med_flere_parallelle_ledere|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
 
{| class="wikitable"
! 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. <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
|-
| 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: [[Elektrisk_systembeskrivelse_av_kontaktledningsanlegg_ver01#Sugetransformator|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
 
{| class="wikitable"
! 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. <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
|-
| xk || reell skalar || Ω || Input || Kortslutningsreaktans
|-
| gm || reell skalar  || S || Input || Magnetiseringskonduktans
|-
| bm || reell skalar  || S || Input || Magnetiseringssusceptans
|}
 
= Seksjonering =
Teoretisk beskrivelse: [[Elektrisk_systembeskrivelse_av_kontaktledningsanlegg_ver01#Seksjonering|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
 
{| class="wikitable"
! 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. <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
|-
| b || reell skalar || S || Input || Susceptans
|-
| colspan="5"| Kommentar: For en ren seksjonering er g og b lik 0 S, og resultatet blir en nullmatrise.
|}
 
= Autotransformator =
Teoretisk beskrivelse: [[Elektrisk_systembeskrivelse_av_kontaktledningsanlegg_ver01#Autotransformator|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
 
{| 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
 
{| class="wikitable"
! 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). <br> INDC og INDR må være ulike og 1 eller 2.
|-
| 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
|-
| 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.