/prep7
*do,im,1,m
ET,50+im,CIRCU124,4,0
*enddo



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

verschiebung=0

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

/solu
!*  
antyp,trans
timinit,off,mag
time,zeit


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



/post1
inres,
file,a0,rst, 

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

SET,last,LAST,1,

/auto,1
/rep
/title,Kurzstator-Linearmotor-Kaefig, Zeit=%zeit%
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
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%
/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,irech,zeit,position,speed,accel,U1e,i1e,u2e,i2e,u3e,i3e,rechzeit
(12(g14.6,' '))
/output,term
/output,Pauf_Stator%ausgabe%,lis,,append
*VWrite,irech,zeit,position,speed,accel,Pauf1,Pauf2,Pauf3,PR1,PR2,PR3,rechzeit
(12(g14.6,' '))
/output,term
/output,Kraft%ausgabe%,lis,,append
*VWrite,irech,zeit,position,speed,accel,formxx,forvwx,formxy,forvwy
(9(g14.6,' '))
/output,term


*do,irech,1,tsteps

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

/prep7

kraftx=(formxx+forvwx)/2.

accel=(kraftx-kraftg)/massef
speed=speed+accel*tstep
verschiebung=0.5*accel*tstep*tstep+speed*tstep
position=position+verschiebung
positionr=positionr+verschiebung

cedel,all,all,all

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

*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



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=irech/krit
ijj=nint(ij-0.5)
isort=irech-ijj*krit
*If,isort,eq,0,then
  isort=krit
*EndIf
!
*If,isort,le,krit/3,then
!
!   Kriterium a
!
  /com,Jetzt ist irech = %irech%
  /assign,rst,a%irech%,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%irech%,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%irech%,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%irech%,rst,
*ElseIf,resfile,eq,2,then
  inres,
    file,b%irech%,rst,
*ElseIf,resfile,eq,3,then
  inres,
    file,c%irech%,rst,
*EndIf



SET,last,LAST,1,

/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,irech,zeit,position,speed,accel,U1e,i1e,u2e,i2e,u3e,i3e,rechzeit
(12(g14.6,' '))
/output,term
/output,Pauf_Stator%ausgabe%,lis,,append
*VWrite,irech,zeit,position,speed,accel,Pauf1,Pauf2,Pauf3,PR1,PR2,PR3,rechzeit
(12(g14.6,' '))
/output,term
/output,Kraft%ausgabe%,lis,,append
*VWrite,irech,zeit,position,speed,accel,formxx,forvwx,formxy,forvwy
(9(g14.6,' '))
/output,term


SET,last,LAST,1,

/auto,1
/rep
/title,Kurzstator-Linearmotor-Kaefig, Zeit=%zeit%
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,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%
/show,Plots%ausgabe%,grph,,append
plpath,by
/show,term

allsel


*enddo


