

*get,timea,active,0,time,cpu


lin_asyn_kurzw_interl.txt

izeit=0
verschiebung=0
position=verschiebung
positionr=verschiebung

speed=speed0
accel=0
allsel
zeit=1e-6

wsort,x
/assign,rst,a0,rst

irech=0
i=0

/solu
!*  
antyp,trans
timinit,off,mag
time,zeit
cnvt,a,
cnvt,csg
neqit,250


!!
!!  Startrechnung (statisch)
!!

/prep7

*afun,deg
omegat=2*3.141593*freq*zeit
omegat=omegat/3.141593*180.
/prep7
*do,im,1,m
R,50+im,1e-6*cos(omegat-(im-1)*120), ,  
*enddo
/solu
allsel
solve

*get,timee,active,0,time,cpu
rechzeit=timee-timea

/post1
inres,
file,a0,rst, 

/PNUM,KP,0  
/PNUM,LINE,0
/PNUM,AREA,0
/PNUM,VOLU,0
/PNUM,NODE,0
/PNUM,TABN,0
/PNUM,SVAL,0
/NUMBER,0   
!*  
/PNUM,MAT,0 
/REPLOT 


SET,1,LAST,1,0, , , 

/auto,1
/rep
/title,Kurzstator-Linearmotor-Schiene, t=%zeit%, v=%speed%
allsel
/show,Plots%ausgabe%,grph,,append
aplot
/show,Plots%ausgabe%,grph,,append
plf2d,51,0,20,1
allsel,below,area
/show,Plots%ausgabe%,grph,,append
PLNSOL,B,SUM,0, 
/show,Plots%ausgabe%,grph,,append
PLESOL, JT,SUM, 0   
NSEL,S,LOC,y,-delta/2-1e-6,-delta/2-1e-6+1e-6  
/VSCALE,1,1,0   
/show,Plots%ausgabe%,grph,,append
PLVECT,B, , , ,VECT,ELEM,ON,0   
/show,Plots%ausgabe%,grph,,append
PLVECT,h, , , ,VECT,ELEM,ON,0   
/show,term
cmsel,s,_stator
allsel,below,area
/show,Plots%ausgabe%,grph,,append
PLESOL, JT,SUM, 0   
/show,term
/show,Plots%ausgabe%,grph,,append
plf2d,51,0,20,1
/show,term

PADEL,ALL   
PATH,lufts1,2,12,6000, 
PPATH,1,0,0,-delta/2,,0,
PPATH,2,0,laenge,-delta/2,,0,
PDEF,by,B,Y,AVG 
/PBC,PATH, ,1   
 /axlab,x,Statorkoordinate in m 
 /axlab,y,B_r  in T
 /grid,1
 /xrange,0,laenge
 /yrange,-luftskal,luftskal
 /GCOL,1,'B (vertikal)'
 /title,Luftspaltfeld des Linearmotors bei t=%zeit%, v=%speed%
/show,Plots%ausgabe%,grph,,append
plpath,by
/show,term

allsel


/post1
allsel
esel,s,enam,,124
etable,spanng,smisc,1
etable,strom,smisc,2
etable,leistu,nmisc,1
etable,refl
*get,u1e,elem,elemusp21,etab,spanng
*get,u2e,elem,elemusp22,etab,spanng
*get,u3e,elem,elemusp23,etab,spanng
*get,i1e,elem,elemst21,etab,strom
*get,i2e,elem,elemst22,etab,strom
*get,i3e,elem,elemst23,etab,strom
*get,Pauf1,elem,elemusp21,etab,leistu
*get,Pauf2,elem,elemusp22,etab,leistu
*get,Pauf3,elem,elemusp23,etab,leistu
*get,PR1,elem,elemst21,etab,leistu
*get,PR2,elem,elemst22,etab,leistu
*get,PR3,elem,elemst23,etab,leistu

FMAGSUM_L.MAC,'kraftste'
for1x=_for(1,1,2)
for2x=_for(1,1,1)
for1y=_for(1,2,1)
for2y=_for(1,2,2)
formxx=for1x*tiefe
forvwx=for2x*tiefe
formxy=for1y*tiefe
forvwy=for2y*tiefe
kraftx=(formxx+forvwx)/2

/output,U_I_Stator%ausgabe%,lis,,append
*VWrite,i,zeit,position,speed,accel,U1e,i1e,u2e,i2e,u3e,i3e,rechzeit
(12(g14.6,' '))
/output,term
/output,Pauf_Stator%ausgabe%,lis,,append
*VWrite,i,zeit,position,speed,accel,Pauf1,Pauf2,Pauf3,PR1,PR2,PR3,rechzeit
(12(g14.6,' '))
/output,term
/output,Kraft%ausgabe%,lis,,append
*VWrite,i,zeit,position,speed,accel,formxx,forvwx,formxy,forvwy
(9(g14.6,' '))
/output,term

!
!Einschwingrechnung
!

!!tstepse=150
!!iperiode=6

*do,irech,1,tstepse
tstep=1./freq/iperiode
i=i+1

*get,timea,active,0,time,cpu

/prep7

kraftx=(formxx+forvwx)/2.

accel=kraftx/massef
speed=speed+accel*tstep
verschiebung=0.5*accel*tstep*tstep+speed*tstep
position=position+verschiebung
positionr=positionr+verschiebung

cedel,all,all,all

*if,positionr,gt,laenge/2,then
positionr=positionr-laenge
cmsel,s,_statorg
agen,1,all,,,-laenge,,,,,1
allsel
*endif

*if,positionr,lt,-laenge/2,then
positionr=positionr+laenge
cmsel,s,_statorg
agen,1,all,,,laenge,,,,,1
allsel
*endif

cmsel,s,_statorg
agen,1,all,,,verschiebung,,,,,1
allsel

lin_asyn_kurzw_interl.txt

allsel

zeit=zeit+tstep

*afun,deg
omegat=2*3.141593*freq*zeit
omegat=omegat/3.141593*180.

/prep7
*do,im,1,m
R,50+im,u1*cos(omegat-(im-1)*120), ,  
*enddo

/solu

krit=6
!
!   Kriterium erfuellen
!
ij=i/krit
ijj=nint(ij-0.5)
isort=i-ijj*krit
*If,isort,eq,0,then
  isort=krit
*EndIf
!
*If,isort,le,krit/3,then
!
!   Kriterium a
!
  /com,Jetzt ist i = %i%
  /assign,rst,a%i%,rst
resfile=1
/sys,del b*.rst
!
*ElseIf,isort,le,2*krit/3,then
  *If,isort,gt,krit/3,then
    !
    !    Kriterium b
    !
    /assign,rst,b%i%,rst
    resfile=2
    /sys,del c*.rst
  *EndIf
!
*ElseIf,isort,le,krit,then
  *If,isort,gt,2*krit/3,then
    !
    !   Kriterium c
    !
    /assign,rst,c%i%,rst
    resfile=3
    /sys,del a*.rst
  *EndIf
*EndIf
!
!

allsel


antyp,tran,rest
timinit,on,mag
tintp,,,,1
time,zeit
cnvt,a,
cnvt,csg
neqit,250
*EndIf

solve

*get,timee,active,0,time,cpu
rechzeit=timee-timea

/post1

*If,resfile,eq,1,then
  inres,
    file,a%i%,rst,
*ElseIf,resfile,eq,2,then
  inres,
    file,b%i%,rst,
*ElseIf,resfile,eq,3,then
  inres,
    file,c%i%,rst,
*EndIf



SET,last,LAST,1,
/auto,1
/rep
/title,Kurzstator-Linearmotor-Schiene, t=%zeit%, v=%speed%
allsel
/show,Plots%ausgabe%,grph,,append
aplot
/show,Plots%ausgabe%,grph,,append
plf2d,51,0,20,1
allsel,below,area
/show,Plots%ausgabe%,grph,,append
PLNSOL,B,SUM,0, 
/show,Plots%ausgabe%,grph,,append
PLESOL, JT,SUM, 0   
NSEL,S,LOC,y,-delta/2-1e-6,-delta/2-1e-6+1e-6  
/VSCALE,1,1,0   
/show,Plots%ausgabe%,grph,,append
PLVECT,B, , , ,VECT,ELEM,ON,0   
/show,Plots%ausgabe%,grph,,append
PLVECT,h, , , ,VECT,ELEM,ON,0   
cmsel,s,_stator
allsel,below,area
/show,Plots%ausgabe%,grph,,append
PLESOL, JT,SUM, 0   
/show,Plots%ausgabe%,grph,,append
plf2d,51,0,20,1
/show,term

PADEL,ALL   
PATH,lufts1,2,12,6000, 
PPATH,1,0,0,-delta/2,,0,
PPATH,2,0,laenge,-delta/2,,0,
PDEF,by,B,Y,AVG 
/PBC,PATH, ,1   
 /axlab,x,Statorkoordinate in m 
 /axlab,y,B_r  in T
 /grid,1
 /xrange,0,laenge
 /yrange,-luftskal,luftskal
 /GCOL,1,'B (vertikal)'
 /title,Luftspaltfeld des Linearmotors bei t=%zeit%, v=%speed%
/show,Plots%ausgabe%,grph,,append
plpath,by
/show,term
allsel

/post1
allsel
esel,s,enam,,124
etable,spanng,smisc,1
etable,strom,smisc,2
etable,leistu,nmisc,1
etable,refl
*get,u1e,elem,elemusp21,etab,spanng
*get,u2e,elem,elemusp22,etab,spanng
*get,u3e,elem,elemusp23,etab,spanng
*get,i1e,elem,elemst21,etab,strom
*get,i2e,elem,elemst22,etab,strom
*get,i3e,elem,elemst23,etab,strom
*get,Pauf1,elem,elemusp21,etab,leistu
*get,Pauf2,elem,elemusp22,etab,leistu
*get,Pauf3,elem,elemusp23,etab,leistu
*get,PR1,elem,elemst21,etab,leistu
*get,PR2,elem,elemst22,etab,leistu
*get,PR3,elem,elemst23,etab,leistu

FMAGSUM_L.MAC,'kraftste'
for1x=_for(1,1,2)
for2x=_for(1,1,1)
for1y=_for(1,2,1)
for2y=_for(1,2,2)
formxx=for1x*tiefe
forvwx=for2x*tiefe
formxy=for1y*tiefe
forvwy=for2y*tiefe
kraftx=(formxx+forvwx)/2


/output,U_I_Stator%ausgabe%,lis,,append
*VWrite,i,zeit,position,speed,accel,U1e,i1e,u2e,i2e,u3e,i3e,rechzeit
(12(g14.6,' '))
/output,term
/output,Pauf_Stator%ausgabe%,lis,,append
*VWrite,i,zeit,position,speed,accel,Pauf1,Pauf2,Pauf3,PR1,PR2,PR3,rechzeit
(12(g14.6,' '))
/output,term
/output,Kraft%ausgabe%,lis,,append
*VWrite,i,zeit,position,speed,accel,formxx,forvwx,formxy,forvwy
(9(g14.6,' '))
/output,term

*enddo

!
!Periodenschritterhoehung
!

!!iperiodp=20
!!iperiodi=10
tstepsp=(iperiodp-iperiode)*iperiodi*1.2

iperiodps=iperiode

*do,irech,1,tstepsp
iperiodps=iperiodps+1/iperiodi
iiperiodp=iperiodps  !!! nint(iperiodps)
*if,iiperiodp,gt,iperiodp,then
iiperiodp=iperiodp
*endif

tstep=1./freq/iiperiodp
i=i+1

*get,timea,active,0,time,cpu

/prep7

kraftx=(formxx+forvwx)/2.

accel=kraftx/massef
speed=speed+accel*tstep
verschiebung=0.5*accel*tstep*tstep+speed*tstep
position=position+verschiebung
positionr=positionr+verschiebung

cedel,all,all,all

*if,positionr,gt,laenge/2,then
positionr=positionr-laenge
cmsel,s,_statorg
agen,1,all,,,-laenge,,,,,1
allsel
*endif

*if,positionr,lt,-laenge/2,then
positionr=positionr+laenge
cmsel,s,_statorg
agen,1,all,,,laenge,,,,,1
allsel
*endif

cmsel,s,_statorg
agen,1,all,,,verschiebung,,,,,1
allsel

lin_asyn_kurzw_interl.txt

allsel

zeit=zeit+tstep

*afun,deg
omegat=2*3.141593*freq*zeit
omegat=omegat/3.141593*180.

/prep7
*do,im,1,m
R,50+im,u1*cos(omegat-(im-1)*120), ,  
*enddo

/solu

krit=6
!
!   Kriterium erfuellen
!
ij=i/krit
ijj=nint(ij-0.5)
isort=i-ijj*krit
*If,isort,eq,0,then
  isort=krit
*EndIf
!
*If,isort,le,krit/3,then
!
!   Kriterium a
!
  /com,Jetzt ist i = %i%
  /assign,rst,a%i%,rst
resfile=1
/sys,del b*.rst
!
*ElseIf,isort,le,2*krit/3,then
  *If,isort,gt,krit/3,then
    !
    !    Kriterium b
    !
    /assign,rst,b%i%,rst
    resfile=2
    /sys,del c*.rst
  *EndIf
!
*ElseIf,isort,le,krit,then
  *If,isort,gt,2*krit/3,then
    !
    !   Kriterium c
    !
    /assign,rst,c%i%,rst
    resfile=3
    /sys,del a*.rst
  *EndIf
*EndIf
!
!

allsel


antyp,tran,rest
timinit,on,mag
tintp,,,,1
time,zeit
cnvt,a,
cnvt,csg
neqit,250
*EndIf

solve

*get,timee,active,0,time,cpu
rechzeit=timee-timea

/post1

*If,resfile,eq,1,then
  inres,
    file,a%i%,rst,
*ElseIf,resfile,eq,2,then
  inres,
    file,b%i%,rst,
*ElseIf,resfile,eq,3,then
  inres,
    file,c%i%,rst,
*EndIf



SET,last,LAST,1,
/auto,1
/rep
/title,Kurzstator-Linearmotor-Schiene, t=%zeit%, v=%speed%
allsel
/show,Plots%ausgabe%,grph,,append
aplot
/show,Plots%ausgabe%,grph,,append
plf2d,51,0,20,1
allsel,below,area
/show,Plots%ausgabe%,grph,,append
PLNSOL,B,SUM,0, 
/show,Plots%ausgabe%,grph,,append
PLESOL, JT,SUM, 0   
NSEL,S,LOC,y,-delta/2-1e-6,-delta/2-1e-6+1e-6  
/VSCALE,1,1,0   
/show,Plots%ausgabe%,grph,,append
PLVECT,B, , , ,VECT,ELEM,ON,0   
/show,Plots%ausgabe%,grph,,append
PLVECT,h, , , ,VECT,ELEM,ON,0   
cmsel,s,_stator
allsel,below,area
/show,Plots%ausgabe%,grph,,append
PLESOL, JT,SUM, 0   
/show,Plots%ausgabe%,grph,,append
plf2d,51,0,20,1
/show,term

PADEL,ALL   
PATH,lufts1,2,12,6000, 
PPATH,1,0,0,-delta/2,,0,
PPATH,2,0,laenge,-delta/2,,0,
PDEF,by,B,Y,AVG 
/PBC,PATH, ,1   
 /axlab,x,Statorkoordinate in m 
 /axlab,y,B_r  in T
 /grid,1
 /xrange,0,laenge
 /yrange,-luftskal,luftskal
 /GCOL,1,'B (vertikal)'
 /title,Luftspaltfeld des Linearmotors bei t=%zeit%, v=%speed%
/show,Plots%ausgabe%,grph,,append
plpath,by
/show,term
allsel

/post1
allsel
esel,s,enam,,124
etable,spanng,smisc,1
etable,strom,smisc,2
etable,leistu,nmisc,1
etable,refl
*get,u1e,elem,elemusp21,etab,spanng
*get,u2e,elem,elemusp22,etab,spanng
*get,u3e,elem,elemusp23,etab,spanng
*get,i1e,elem,elemst21,etab,strom
*get,i2e,elem,elemst22,etab,strom
*get,i3e,elem,elemst23,etab,strom
*get,Pauf1,elem,elemusp21,etab,leistu
*get,Pauf2,elem,elemusp22,etab,leistu
*get,Pauf3,elem,elemusp23,etab,leistu
*get,PR1,elem,elemst21,etab,leistu
*get,PR2,elem,elemst22,etab,leistu
*get,PR3,elem,elemst23,etab,leistu

FMAGSUM_L.MAC,'kraftste'
for1x=_for(1,1,2)
for2x=_for(1,1,1)
for1y=_for(1,2,1)
for2y=_for(1,2,2)
formxx=for1x*tiefe
forvwx=for2x*tiefe
formxy=for1y*tiefe
forvwy=for2y*tiefe
kraftx=(formxx+forvwx)/2


/output,U_I_Stator%ausgabe%,lis,,append
*VWrite,i,zeit,position,speed,accel,U1e,i1e,u2e,i2e,u3e,i3e,rechzeit
(12(g14.6,' '))
/output,term
/output,Pauf_Stator%ausgabe%,lis,,append
*VWrite,i,zeit,position,speed,accel,Pauf1,Pauf2,Pauf3,PR1,PR2,PR3,rechzeit
(12(g14.6,' '))
/output,term
/output,Kraft%ausgabe%,lis,,append
*VWrite,i,zeit,position,speed,accel,formxx,forvwx,formxy,forvwy
(9(g14.6,' '))
/output,term

*enddo

!
!Schrittweise Erhoehung der Geschwindigkeit
!

!!igeschw=20
!!geschwst=-2.5
!!tstepsgs=120

*do,igeschwst,1,igeschw

speed=speed+geschwst


*do,irech,1,tstepsgs

tstep=1./freq/iiperiodp
i=i+1

*get,timea,active,0,time,cpu

/prep7

kraftx=(formxx+forvwx)/2.

accel=kraftx/massef
speed=speed+accel*tstep
verschiebung=0.5*accel*tstep*tstep+speed*tstep
position=position+verschiebung
positionr=positionr+verschiebung

cedel,all,all,all

*if,positionr,gt,laenge/2,then
positionr=positionr-laenge
cmsel,s,_statorg
agen,1,all,,,-laenge,,,,,1
allsel
*endif

*if,positionr,lt,-laenge/2,then
positionr=positionr+laenge
cmsel,s,_statorg
agen,1,all,,,laenge,,,,,1
allsel
*endif

cmsel,s,_statorg
agen,1,all,,,verschiebung,,,,,1
allsel

lin_asyn_kurzw_interl.txt

allsel

zeit=zeit+tstep

*afun,deg
omegat=2*3.141593*freq*zeit
omegat=omegat/3.141593*180.

/prep7
*do,im,1,m
R,50+im,u1*cos(omegat-(im-1)*120), ,  
*enddo

/solu

krit=6
!
!   Kriterium erfuellen
!
ij=i/krit
ijj=nint(ij-0.5)
isort=i-ijj*krit
*If,isort,eq,0,then
  isort=krit
*EndIf
!
*If,isort,le,krit/3,then
!
!   Kriterium a
!
  /com,Jetzt ist i = %i%
  /assign,rst,a%i%,rst
resfile=1
/sys,del b*.rst
!
*ElseIf,isort,le,2*krit/3,then
  *If,isort,gt,krit/3,then
    !
    !    Kriterium b
    !
    /assign,rst,b%i%,rst
    resfile=2
    /sys,del c*.rst
  *EndIf
!
*ElseIf,isort,le,krit,then
  *If,isort,gt,2*krit/3,then
    !
    !   Kriterium c
    !
    /assign,rst,c%i%,rst
    resfile=3
    /sys,del a*.rst
  *EndIf
*EndIf
!
!

allsel


antyp,tran,rest
timinit,on,mag
tintp,,,,1
time,zeit
cnvt,a,
cnvt,csg
neqit,250
*EndIf

solve

*get,timee,active,0,time,cpu
rechzeit=timee-timea

/post1

*If,resfile,eq,1,then
  inres,
    file,a%i%,rst,
*ElseIf,resfile,eq,2,then
  inres,
    file,b%i%,rst,
*ElseIf,resfile,eq,3,then
  inres,
    file,c%i%,rst,
*EndIf



SET,last,LAST,1,
/auto,1
/rep
/title,Kurzstator-Linearmotor-Schiene, t=%zeit%, v=%speed%
allsel
/show,Plots%ausgabe%_v%igeschwst%,grph,,append
aplot
/show,Plots%ausgabe%_v%igeschwst%,grph,,append
plf2d,51,0,20,1
allsel,below,area
/show,Plots%ausgabe%_v%igeschwst%,grph,,append
PLNSOL,B,SUM,0, 
/show,Plots%ausgabe%_v%igeschwst%,grph,,append
PLESOL, JT,SUM, 0   
NSEL,S,LOC,y,-delta/2-1e-6,-delta/2-1e-6+1e-6  
/VSCALE,1,1,0   
/show,Plots%ausgabe%_v%igeschwst%,grph,,append
PLVECT,B, , , ,VECT,ELEM,ON,0   
/show,Plots%ausgabe%_v%igeschwst%,grph,,append
PLVECT,h, , , ,VECT,ELEM,ON,0   
cmsel,s,_stator
allsel,below,area
/show,Plots%ausgabe%_v%igeschwst%,grph,,append
PLESOL, JT,SUM, 0   
/show,Plots%ausgabe%_v%igeschwst%,grph,,append
plf2d,51,0,20,1
/show,term

PADEL,ALL   
PATH,lufts1,2,12,6000, 
PPATH,1,0,0,-delta/2,,0,
PPATH,2,0,laenge,-delta/2,,0,
PDEF,by,B,Y,AVG 
/PBC,PATH, ,1   
 /axlab,x,Statorkoordinate in m 
 /axlab,y,B_r  in T
 /grid,1
 /xrange,0,laenge
 /yrange,-luftskal,luftskal
 /GCOL,1,'B (vertikal)'
 /title,Luftspaltfeld des Linearmotors bei t=%zeit%, v=%speed%
/show,Plots%ausgabe%_v%igeschwst%,grph,,append
plpath,by
/show,term
allsel

/post1
allsel
esel,s,enam,,124
etable,spanng,smisc,1
etable,strom,smisc,2
etable,leistu,nmisc,1
etable,refl
*get,u1e,elem,elemusp21,etab,spanng
*get,u2e,elem,elemusp22,etab,spanng
*get,u3e,elem,elemusp23,etab,spanng
*get,i1e,elem,elemst21,etab,strom
*get,i2e,elem,elemst22,etab,strom
*get,i3e,elem,elemst23,etab,strom
*get,Pauf1,elem,elemusp21,etab,leistu
*get,Pauf2,elem,elemusp22,etab,leistu
*get,Pauf3,elem,elemusp23,etab,leistu
*get,PR1,elem,elemst21,etab,leistu
*get,PR2,elem,elemst22,etab,leistu
*get,PR3,elem,elemst23,etab,leistu

FMAGSUM_L.MAC,'kraftste'
for1x=_for(1,1,2)
for2x=_for(1,1,1)
for1y=_for(1,2,1)
for2y=_for(1,2,2)
formxx=for1x*tiefe
forvwx=for2x*tiefe
formxy=for1y*tiefe
forvwy=for2y*tiefe
kraftx=(formxx+forvwx)/2


/output,U_I_Stator%ausgabe%,lis,,append
*VWrite,i,zeit,position,speed,accel,U1e,i1e,u2e,i2e,u3e,i3e,rechzeit
(12(g14.6,' '))
/output,term
/output,Pauf_Stator%ausgabe%,lis,,append
*VWrite,i,zeit,position,speed,accel,Pauf1,Pauf2,Pauf3,PR1,PR2,PR3,rechzeit
(12(g14.6,' '))
/output,term
/output,Kraft%ausgabe%,lis,,append
*VWrite,i,zeit,position,speed,accel,formxx,forvwx,formxy,forvwy
(9(g14.6,' '))
/output,term

*enddo

*enddo