Dreiphasentransformator

../../../_images/E-I-Kern.png

Skript-Datei

--------------------------------------------------------------------------------
-- Allgemeine Einstellungen ----------------------------------------------------
--------------------------------------------------------------------------------

exit_on_error = false   -- Verhalten nach Fehler
exit_on_end = true      -- Verhalten nach Skriptausführung
verbosity = 2           -- Grad der Bildschirmmeldungen

--------------------------------------------------------
-- Parameterdefinition EI-Kern nach DIN 41 302 Teil 1 --
--------------------------------------------------------

a = 50
b = 40
d1 = 10
delta = 0.5
di1 = 1
di2 = 0.75
h = 3.5

Nc = 150
ur = 1000

----------------------
-- Modellerstellung --
----------------------

new_model_force("example","EI-Kern mit Luftspalt")

global_unit('mm')                 -- Globale Einheit (m, cm, mm)
pickdist(0.01)                    -- Abstand Schnappen auf Knotenpunkt
blow_up_wind(-a/2,0,a/2,b+d1)     -- Fenstergröße anpassen
cosys('cartes')                   -- Koordinatensystem

------------------
-- Knotenketten --
------------------

ndtref=d1/10.0                          -- Referenzknotenabstand
ndt(ndtref)

nc_line(0,0,a/2,0,0)                    -- E
nc_line_cont(a/2,b,0)
nc_line(a/2-d1,b,a/2-d1,d1,0)
nc_line_cont(d1/2,d1,0)
nc_line(d1/2,d1,d1/2,b,0)
nc_line(0,0,0,b,0)

nc_line(a/2,b+delta,a/2,b+delta+d1,0)   -- I
nc_line_cont(0,b+delta+d1,0)
ndt(ndtref*0.5)
nc_line(a/2,b+delta,0,b+delta,0)
ndt(ndtref)
nc_line_cont(0,b+delta+d1,0)

if (delta>0) then                       -- Luftspalt
  ndt(ndtref*0.5)
  nc_line(a/2,b,a/2-d1,b,0)
  nc_line(d1/2,b,0,b,0)
  nc_line(a/2,b,a/2,b+delta,0)
  nc_line(0,b,0,b+delta,0)
  nc_line(a/2-d1,b,a/2-d1,b+delta,0)
  nc_line(d1/2,b,d1/2,b+delta,0)
  ndt(ndtref)
end
                                        -- Bohrungen
if (h>0.0) then
  nc_circle_m(a/2-d1/2+h/2,d1/2,a/2-d1/2-h/2,d1/2,a/2-d1/2,d1/2,h/2,pi*h/ndtref)
  nc_circle_m(a/2-d1/2-h/2,d1/2,a/2-d1/2+h/2,d1/2,a/2-d1/2,d1/2,h/2,pi*h/ndtref)
  nc_circle_m(a/2-d1/2+h/2,b+delta+d1/2,a/2-d1/2-h/2,b+delta+d1/2,a/2-d1/2,b+delta+d1/2,h/2,pi*h/ndtref)
  nc_circle_m(a/2-d1/2-h/2,b+delta+d1/2,a/2-d1/2+h/2,b+delta+d1/2,a/2-d1/2,b+delta+d1/2,h/2,pi*h/ndtref)
end

hw=(a/2-1.5*d1)/2-2*di2                                 -- Wicklungen
nc_rec(d1/2+di2,d1+di1,d1/2+di2+hw,b-di1,"----",0)
nc_line( d1/2+di2+hw,b-di1, d1/2+di2+hw,b+delta, 0)
nc_rec(a/2-d1-di2,d1+di1,a/2-d1-di2-hw,b-di1,"----",0)
nc_line( a/2-d1-di2-hw,b-di1, a/2-d1-di2-hw,b+delta,0)
nc_rec(a/2+di2,d1+di1,a/2+di2+hw,b-di1,"----",0)

ndt(ndtref*3)                                           -- Umhüllung
p1y=-0.15*(b+delta+d1)
p2x=(a/2+di1+hw)*1.25
p2y=1.15*(b+delta+d1)
nc_line(0,p1y,0,0,0)
nc_rec(0,p1y,p2x,p2y,"--- ",0)
nc_line(0,p2y,0,b+delta+d1,0)

--------------------------------
-- Vernetzung und Subregionen --
--------------------------------

create_mesh_se(d1/2,d1/2)                               -- EI-Schnitt
def_new_subreg(d1/2,d1/2,"EI","darkgreen")
create_mesh_se(a/4.0,b+delta+d1/2)
add_to_subreg(a/4.0,b+delta+d1/2)

create_mesh_se((a/2+di1+hw)*0.625,-0.075*(b+delta+d1))  -- Luft
create_mesh_se(d1/2+2*di2+hw,b)
if (delta>0) then
  create_mesh_se(d1/4,b+delta/2)
  create_mesh_se(a/2-d1/2,b+delta/2)
end
if (h>0.0) then                                         -- Bohrungen
  create_mesh_se(a/2-d1/2,d1/2)
  create_mesh_se(a/2-d1/2,b+delta+d1/2)
end

p1x=d1/2+di2+hw/2                                       -- Wicklungen
p1y=(b-d1)/2+d1
create_mesh_se(p1x,p1y)
p2x=a/2-d1-di2-hw/2
p2y=(b-d1)/2+d1
create_mesh_se(p2x,p2y)
p3x=a/2+di2+hw/2
p3y=(b-d1)/2+d1
create_mesh_se(p3x,p3y)

mirror_nodechains(0,0,0,b+delta+d1)                   -- Modellvervollständigung

def_bcond_inf()                                       -- Randbedingung

-----------------------
-- Materialzuweisung --
-----------------------

def_mat_fm(d1/2,d1/2,ur,120)                          -- Blech

-------------------------
-- Wicklungsdefinition --
-------------------------

def_new_wdg(-p3x,p3y,"cyan","Strang 1",Nc,-0.5,wo)    -- Wicklungen
add_to_wdg(-p2x,p2y,wsamekey,wi,wser)
def_new_wdg(p1x,p1y,"green","Strang 2",Nc,1.0,wi)
add_to_wdg(-p1x,p1y,wsamekey,wo,wser)
def_new_wdg(p2x,p2y,"red","Strang 3",Nc,-0.5,wo)
add_to_wdg(p3x,p3y,wsamekey,wi,wser)

i1=1
for ii=1,3 do                                         -- Strom in Wicklungen
  angle = 2*(ii-2)*math.pi/3.0
  def_curr_wdg(ii,i1*math.cos(angle))
end

----------------
-- Berechnung --
----------------

calc_field_single(1,restored,0.01)

color_gradation(d1/2,d1/2,tot,Habs,0,0,"example_Habs.svg")
color_gradation(d1/2,d1/2,tot,Babs,0,0,"example_Babs.svg")

save_model('cont')