*afun,rad
pi=acos(-1)

*afun,deg

drehzahla=drehzahls
tstepa=mtstep
drehzahl=drehzahla

/prep7


*Do,im,1,m
ET,114+im-1,CIRCU124,4,0
*if,p,eq,2,then
u1im=1e-6*cos(2*pi*freq*zeita*180/pi+(im-1)*360/m)
*else
u1im=1e-6*cos(2*pi*freq*zeita*180/pi-(im-1)*360/m)
*endif
R,114+im-1,u1im,0,  
*EndDo

allsel
cedel,all,all,all
cmsel,s,krotor
allsel,below,area
csys,1

agen,,krotor,,,,winkela,,,,1          !   Drehung des Rotors um oben angegebenen Winkel
winkel=winkela

allsel

_cef=.3
cmsel,s,nodeinnen
cmsel,s,elemaussen
cmsel,u,nodeaussen 
CEINTF,_cef, , , , , , ,0,

allsel

 
i=0
zeit=1e-6

/solu

antyp,trans
timint,on,mag
timint,on,elect
time,zeit

*if,fronspar,eq,0,then
eqslv,frontal
*else
eqslve,sparse,stoler,-1
*endif

cnvt,a,
cnvt,csg
lnsrch,on
neqit,250

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


/post1
set,last,last,,0,,,             ! real part to be written out
plf2d,51,0,20,1

esel,s,enam,,124
etable,spanng,smisc,1
etable,strom,smisc,2
etable,leistu,nmisc,1

etable,refl
*get,u1e,elem,eu1,etab,spanng
*get,u2e,elem,eu2,etab,spanng
*get,u3e,elem,eu3,etab,spanng
*get,i1e,elem,er1,etab,strom
*get,i2e,elem,er2,etab,strom
*get,i3e,elem,er3,etab,strom
*get,Pauf1,elem,eu1,etab,leistu
*get,Pauf2,elem,eu2,etab,leistu
*get,Pauf3,elem,eu3,etab,leistu
*get,PR1,elem,er1,etab,leistu
*get,PR2,elem,er2,etab,leistu
*get,PR3,elem,er3,etab,leistu

/output,U_I_Stator%ausgabe%,lis,,append
*VWrite,i,zeit,winkel,drehzahl,U1e,i1e,u2e,i2e,u3e,i3e,rechzeit
(11(g14.6,' '))
/output,term
/output,Pauf_Stator%ausgabe%,lis,,append
*VWrite,i,zeit,winkel,drehzahl,Pauf1,Pauf2,Pauf3,PR1,PR2,PR3,rechzeit
(11(g14.6,' '))
/output,term

*Do,iz2,1,z2
*get,ispu%iz2%,elem,espu%iz2%,etab,strom
*EndDo
/output,Ispul%ausgabe%,lis,,append
*VWrite,i,zeit,Winkel,Drehzahl,ispu1,ispu2,ispu3,ispu4,ispu5,ispu6,ispu7,ispu8,ispu9,ispu10,ispu11,ispu12,ispu13,ispu14
(18(g14.6,' '))
/output,term

torqsumo,'kraftrot'
torqmx=tfor2*jochtiefe
torqvw=tfor1*jochtiefe

/output,Drehmoment%ausgabe%,lis,,append
*VWrite,i,zeit,winkel,Drehzahl,torqmx,torqvw
(6(g14.6,' '))
/output,term

/title,Asynchronkaefiglaeufermaschine,Drehzahl=%Drehzahl%,Winkel=%winkel%,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   
csys,1  
NSEL,S,LOC,X,rinnen+jochdicke2+delta/2  
/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,Plots%ausgabe%,grph,,append
/show,term
luftspaltfeld.txt
/show,term
!
!
!
/prep7

*Do,jj,1,ninit



    tstep=mtstep


  zeit=zeit+tstep

!
/prep7
!
i=i+1
!

allsel
cedel,all,all,all
cmsel,s,krotor
allsel,below,area
csys,1

deltan=(torqmx-ML_Lastmoment)*tstep/(j_traegheit*2*pi)*60
drehzahl=drehzahl+deltan
winkels=tstep/(1/(drehzahl-deltan/2)*60)*360

agen,,krotor,,,,winkels,,,,1          !   Drehung des Rotors um oben angegebenen Winkel
winkel=winkel+winkels

drehzahla=drehzahl
tstepa=tstep

allsel

_cef=.3
cmsel,s,nodeinnen
cmsel,s,elemaussen
cmsel,u,nodeaussen 
CEINTF,_cef, , , , , , ,0,

allsel
!
!
!  Spannungsvektor
!
*Do,im,1,m
ET,114+im-1,CIRCU124,4,0
*if,p,eq,2,then
u1im=u1*cos(2*pi*freq*zeit*180/pi+(im-1)*360/m)
*else
u1im=u1*cos(2*pi*freq*zeit*180/pi-(im-1)*360/m)
*endif
R,114+im-1,u1im,0,  
*EndDo
!
alls
!
fini
!
/prep7
dsys,0
csys
save,sicher,db
resume,leer,db
resume,sicher,db


/solu
antyp,tran,rest
timinit,on,mag
tintp,,,,1
time,zeit
!
*get,timea,active,0,time,cpu
SOLVE  
*get,timee,active,0,time,cpu
rechzeit=timee-timea

!
fini
/show,term
/post1                      !   bergang zum Postprozessor
!
!
set,last,last               !   Whlen des letzten Datensatzes der Lsung
/post1
esel,s,enam,,124
etable,refl
*get,u1e,elem,eu1,etab,spanng
*get,u2e,elem,eu2,etab,spanng
*get,u3e,elem,eu3,etab,spanng
*get,i1e,elem,er1,etab,strom
*get,i2e,elem,er2,etab,strom
*get,i3e,elem,er3,etab,strom
*get,Pauf1,elem,eu1,etab,leistu
*get,Pauf2,elem,eu2,etab,leistu
*get,Pauf3,elem,eu3,etab,leistu
*get,PR1,elem,er1,etab,leistu
*get,PR2,elem,er2,etab,leistu
*get,PR3,elem,er3,etab,leistu

/output,U_I_Stator%ausgabe%,lis,,append
*VWrite,i,zeit,winkel,drehzahl,U1e,i1e,u2e,i2e,u3e,i3e,rechzeit
(11(g14.6,' '))
/output,term
/output,Pauf_Stator%ausgabe%,lis,,append
*VWrite,i,zeit,winkel,drehzahl,Pauf1,Pauf2,Pauf3,PR1,PR2,PR3,rechzeit
(11(g14.6,' '))
/output,term

*Do,iz2,1,z2
*get,ispu%iz2%,elem,espu%iz2%,etab,strom
*EndDo
/output,Ispul%ausgabe%,lis,,append
*VWrite,i,zeit,Winkel,Drehzahl,ispu1,ispu2,ispu3,ispu4,ispu5,ispu6,ispu7,ispu8,ispu9,ispu10,ispu11,ispu12,ispu13,ispu14
(18(g14.6,' '))
/output,term

torqsumo,'kraftrot'
torqmx=tfor2*jochtiefe
torqvw=tfor1*jochtiefe

/output,Drehmoment%ausgabe%,lis,,append
*VWrite,i,zeit,winkel,Drehzahl,torqmx,torqvw
(6(g14.6,' '))
/output,term

/title,Asynchronkaefiglaeufermaschine,Drehzahl=%Drehzahl%,Winkel=%winkel%,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   
csys,1  
NSEL,S,LOC,X,rinnen+jochdicke2+delta/2  
/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,Plots%ausgabe%,grph,,append
/show,term
luftspaltfeld.txt
/show,term
!
!
allsel

*EndDo


!!!
!!! Stufiger Hochlauf
!!!

*Do,idreh,1,ndrehs

ML_Lastmoment=ML_Lastmoment+lastschritt

*Do,jj,1,ndschritt

  zeit=zeit+tstep

!
/prep7
!
i=i+1
!

allsel
cedel,all,all,all
cmsel,s,krotor
allsel,below,area
csys,1

deltan=(torqmx-ML_Lastmoment)*tstep/(j_traegheit*2*pi)*60
drehzahl=drehzahl+deltan
winkels=tstep/(1/(drehzahl-deltan/2)*60)*360

agen,,krotor,,,,winkels,,,,1          !   Drehung des Rotors um oben angegebenen Winkel
winkel=winkel+winkels

drehzahla=drehzahl
tstepa=tstep

allsel

_cef=.3
cmsel,s,nodeinnen
cmsel,s,elemaussen
cmsel,u,nodeaussen 
CEINTF,_cef, , , , , , ,0,

allsel
!
!
!  Spannungsvektor
!
*Do,im,1,m
ET,114+im-1,CIRCU124,4,0
*if,p,eq,2,then
u1im=u1*cos(2*pi*freq*zeit*180/pi+(im-1)*360/m)
*else
u1im=u1*cos(2*pi*freq*zeit*180/pi-(im-1)*360/m)
*endif
R,114+im-1,u1im,0,  
*EndDo
!
alls
!
fini
!
/prep7
dsys,0
csys
save,sicher,db
resume,leer,db
resume,sicher,db


/solu
antyp,tran,rest
timinit,on,mag
tintp,,,,1
time,zeit
!
*get,timea,active,0,time,cpu
SOLVE  
*get,timee,active,0,time,cpu
rechzeit=timee-timea

!
fini
/show,term
/post1                      !   bergang zum Postprozessor
!
!
set,last,last               !   Whlen des letzten Datensatzes der Lsung
/post1
esel,s,enam,,124
etable,refl
*get,u1e,elem,eu1,etab,spanng
*get,u2e,elem,eu2,etab,spanng
*get,u3e,elem,eu3,etab,spanng
*get,i1e,elem,er1,etab,strom
*get,i2e,elem,er2,etab,strom
*get,i3e,elem,er3,etab,strom
*get,Pauf1,elem,eu1,etab,leistu
*get,Pauf2,elem,eu2,etab,leistu
*get,Pauf3,elem,eu3,etab,leistu
*get,PR1,elem,er1,etab,leistu
*get,PR2,elem,er2,etab,leistu
*get,PR3,elem,er3,etab,leistu

/output,U_I_Stator%ausgabe%,lis,,append
*VWrite,i,zeit,winkel,drehzahl,U1e,i1e,u2e,i2e,u3e,i3e,rechzeit
(11(g14.6,' '))
/output,term
/output,Pauf_Stator%ausgabe%,lis,,append
*VWrite,i,zeit,winkel,drehzahl,Pauf1,Pauf2,Pauf3,PR1,PR2,PR3,rechzeit
(11(g14.6,' '))
/output,term

*Do,iz2,1,z2
*get,ispu%iz2%,elem,espu%iz2%,etab,strom
*EndDo
/output,Ispul%ausgabe%,lis,,append
*VWrite,i,zeit,Winkel,Drehzahl,ispu1,ispu2,ispu3,ispu4,ispu5,ispu6,ispu7,ispu8,ispu9,ispu10,ispu11,ispu12,ispu13,ispu14
(18(g14.6,' '))
/output,term

torqsumo,'kraftrot'
torqmx=tfor2*jochtiefe
torqvw=tfor1*jochtiefe

/output,Drehmoment%ausgabe%,lis,,append
*VWrite,i,zeit,winkel,Drehzahl,torqmx,torqvw
(6(g14.6,' '))
/output,term

/title,Asynchronkaefiglaeufermaschine,Drehzahl=%Drehzahl%,Winkel=%winkel%,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   
csys,1  
NSEL,S,LOC,X,rinnen+jochdicke2+delta/2  
/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,Plots%ausgabe%,grph,,append
/show,term
luftspaltfeld.txt
/show,term
!
!
allsel

*EndDo

*EndDo
!!! 

/prep7

allsel
cedel,all,all,all
cmsel,s,krotor
allsel,below,area
csys,1

agen,,krotor,,,,-winkel,,,,1          !   Drehung des Rotors um oben angegebenen Winkel
allsel

_cef=.3
cmsel,s,nodeinnen
cmsel,s,elemaussen
cmsel,u,nodeaussen 
CEINTF,_cef, , , , , , ,0,

allsel
