Forskjell mellom versjoner av «Elektrisk systembeskrivelse av kontaktledningsanlegg ver01 Vedlegg script»

Fra Lærebøker i jernbaneteknikk
Hopp til: navigasjon, søk
m (Transmisjonslinje med flere parallelle ledere)
(Kilde og belastning)
(30 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 17: Linje 17:
  
 
  function [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
 
     z = r + %i * x
 
     y = g + %i * b
 
     y = g + %i * b
Linje 22: Linje 26:
 
     gam = sqrt(z*y)
 
     gam = sqrt(z*y)
 
     const = (Z0*sinh(gam*l))^(-1)
 
     const = (Z0*sinh(gam*l))^(-1)
    if (~and([exists(INDR),exists(INDS)])) then
 
        INDR = 1
 
        INDS = 2
 
    end
 
 
     Y = zeros(2,2)
 
     Y = zeros(2,2)
 
     Y(INDR,INDR) = const*cosh(gam*l)
 
     Y(INDR,INDR) = const*cosh(gam*l)
Linje 57: 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
  '''Alternativ syntaks:''' Y = admLoop(r,x,g,b,l,INDR,INDS)
+
'''Syntaks:'''            Y = admLine(r,x,g,b,l)
  '''Alternativ syntaks:''' [Y,INDR,INDS] = admLoop(r,x,g,g,l)
+
  '''Alternativ syntaks:''' Y = admLine(r,x,g,b,l,INDR,INDS)
  '''Alternativ syntaks:''' [Y,INDR,INDS] = admLoop(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)
 
  function [Y,INDR,INDS]=admLine(r,x,g,b,l,INDR,INDS)
Linje 68: Linje 69:
 
         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]
Linje 120: Linje 121:
 
= 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 139: 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 152: 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 168: 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 180: 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)
 +
    if (~and(exists(INDN,INDP,INDR,1))) then
 +
        INDN = 1
 +
        INDP = 2
 +
        INDR = 3
 +
    end
 
     yk = rk + %i * xk
 
     yk = rk + %i * xk
 
     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
 
  endfunction
  
Linje 198: Linje 233:
 
! Variabel !! Type !! Enhet !! Type !! Beskrivelse
 
! Variabel !! Type !! Enhet !! Type !! Beskrivelse
 
|-
 
|-
| Y || (4x4) kompleks matrise || S || Resultat || Admittansmatrise for autotransformator
+
| 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
 
| rk || reell skalar || Ω || Input || Kortslutningsresistans
Linje 207: Linje 248:
 
|-
 
|-
 
| bm || reell skalar  || S || Input || Magnetiseringssusceptans
 
| bm || reell skalar  || S || Input || Magnetiseringssusceptans
 +
|}
 +
 +
= 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
 +
|-
 +
| 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.
 
|}
 
|}

Revisjonen fra 21. jul. 2017 kl. 15:02

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

2 Lineær modell

Script er ikke utarbeidet

3 Transmisjonslinje

3.1 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

3.2 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 (nxn) reell matrise km Input Linjas lengde

4 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

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

6 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
   yk = rk + %i * xk
   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
xk reell skalar Ω Input Kortslutningsreaktans
gm reell skalar S Input Magnetiseringskonduktans
bm reell skalar S Input Magnetiseringssusceptans

7 Jordforbindelse

Teoretisk beskrivelse: Jordforbindelse

Script er ikke utarbeidet

8 Kilde og belastning

8.1 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
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

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