General Mechanical

General Mechanical

Displacement of high speed rotating shaft

    • IMKT
      Subscriber

      Hello,


      We designed the attached shaft with solid185 Elements. We have the goal to identify critical speeds of this shaft with a campbell diagram. This identification already works. The problem is the displacment. It is not plausible, because its scaled in meters and has an amount of more then 1 meter. I attached the visualisation as well.


      Apart from that i plan to implement material and bearing damping. This doesnot work properly. By now its uncommented. Can you please check my concept. What value I should implement for the damping constants? I caclulated for the damoing keoficient a value of 1e-2. But it lowers the critical speed to 0rpms.


      I would like to ask you, if you can try to help me identify the problem in my script. Perhabs it is a problem of unit setting or visualisation of result.


      Best Regards,

    • peteroznewman
      Subscriber

      Here is the script attached above for those who can't open attachments : )



      • !** Startup

      • FINISH

      • /clear,nostart


      • !** KOS

      • cswpla,11,1,1,1, ! Zylinderkoordinaten eingeführt

      • !** Simdaten

      • P_NW                = 20       ! Diskretisierung des Lastvektors, Zahl der Simulationszyklen

      • P_RSPEED_BEGIN      = 0    ! Startdrehzahl, prm

      • P_RSPEED_END        = 100000   ! Enddrehzahl, rpm


      • !** geometrische Parameter

      • !Länge in Z-Richtung [m]

      • L_A1 = 0.03 ! Länge Wellenabsatz 1 - Wellenvorsprung

      • L_A2 = 0.067 ! Länge Wellenabsatz 2 - Lagersitz A

      • L_A3 = 0.238         ! Länge Wellenabsatz 3 - Zwischenabsatz

      • L_A4 = 0.066 ! Länge Wellenabsatz 4 - Lagersitz B

      • L_RP = 0.160


      • L_Lager= 0.016 ! Lagerring Breite

      • L_DistA= 0.010 ! Lagerhülsen Abstand - Lager A

      • L_DistB= 0.020 ! Lagerhülsen Abstand - Lager B

      • L_A2WS = 0.025 ! Freie Wellenschulter - Lagersitz A

      • L_A4WS = 0.014 ! Freie Wellenschulter - Lagersitz B

      • L_Dist_A3_RP=(L_A3-L_RP)/2 !Abstand Rotorpaket - Lagersitze


      • !Lagerposition

      • pi=acos(-1) ! Definition der Zahl Pi

      • Anstellwinkel=15 ! Anstellwinkel Spindellager [°]

      • R_Lager=0.024 ! Abstand Kugelmittelpunkt zu Wellenmittelpunkt


      • *afun,deg

      • Anstellversatz=sin(Anstellwinkel)*R_Lager ! Wirklinienschnittpunkt der lager mit Wellenachse



      • Pos_LA1=L_A1+L_A2WS+L_Lager/2-Anstellversatz !Position Lager A1

      • Pos_LA2=L_A1+L_A2-L_Lager/2+Anstellversatz !Position Lager A2

      • Pos_LB1=L_A1+L_A2+L_A3+L_Lager/2-Anstellversatz !Position Lager B1

      • Pos_LB2=L_A1+L_A2+L_A3+L_Lager/2+L_DistB+L_Lager+Anstellversatz !Position Lager B2




      • !Querschnittsradien Welle [m]


      • r_A1=0.012 ! Radius Absatz 1

      • r_A2=0.015 ! Radius Absatz 2

      • r_A3=0.0175 ! Radius Absatz 3

      • r_A4=0.015 ! Radius Absatz 4

      • r_arp=0.0353 ! Außenradius Rotorpaket



      • !** Materialparameter


      • ex_s=2.1e11 ! Elastizitätsmodul Welle [m^4]

      • ex_rp=3e10 ! Elastizitätsmodul Rotorpakets [m^4]

      • dens_s=7850 ! Dichte Welle [kg/m^3]

      • dens_rp=7830 ! Dichte Rotorpaket [kg/m^3]



      • bs_r=1.632e8/2      ! Lagersteifigkeit Lager [N/m]


      • !Damping


      • damp1=1e-3 ! shaft damping

      • damp2=1e-3 ! rotorpackage damping

      • damp3=1e-3 ! bearing damping


      • /UNITS, SI ! Einführung von SI-Einheiten


      • *STAT


      • !** PREP7 Commands: https://www.sharcnet.ca/Software/Ansys/16.2.3/en-us/help/ans_cmd/Hlp_C_CH2_5.html

      • ! Preprocessing - Aufbau der Simulation


      • /prep7


      • !** Dehzahlerzeugung mit Schleife in P-Spin der Dimension P_NW

      • *DIM, P_SPIN, ARRAY, P_NW

      • !** Lastenvektor P-SPIN Füllen

      • P_SPEED_STEP_SIZE = (P_RSPEED_END-P_RSPEED_BEGIN)/(P_NW)

      • *DO, I, 1, P_NW !

      • P_SPIN(I) = P_RSPEED_BEGIN+(I-1)*P_SPEED_STEP_SIZE

      • *ENDDO



      • !Herstellung des Wellenkörper mich zylindrischen Volumenkörpern

      • !Erzeugung sich durchdringender Körper

      • !Schleife zur Teilung der Wellenabsätze in 4 Teile auf Unfang im 90° Winkel zur Erzeugung von Mittelknoten




      • *DO, x, 1,4


      • !1. Absatz


      • Cylind,0,r_a1,0,L_A1+L_A2+L_A3+L_a4,0+(x-1)*90,90+(x-1)*90


      • !2. Absatz


      • Cylind,0,r_a2,L_A1,Pos_LA1,0+(x-1)*90,90+(x-1)*90


      • Cylind,0,r_a2,Pos_LA1,(Pos_LA2+Pos_LA1)/2,0+(x-1)*90,90+(x-1)*90


      • Cylind,0,r_a2,(Pos_LA2+Pos_LA1)/2,Pos_LA2,0+(x-1)*90,90+(x-1)*90


      • !4. Absatz


      • Cylind,0,r_a2,Pos_LA2,Pos_Lb1,0+(x-1)*90,90+(x-1)*90


      • Cylind,0,r_a2,Pos_Lb1,(Pos_Lb1+Pos_LB2)/2,0+(x-1)*90,90+(x-1)*90


      • Cylind,0,r_a2,(Pos_Lb1+Pos_LB2)/2,Pos_Lb2,0+(x-1)*90,90+(x-1)*90


      • Cylind,0,r_a2,Pos_Lb2,L_A1+L_A2+L_a3+L_a4,0+(x-1)*90,90+(x-1)*90


      • !3. Absatz


      • Cylind,0,r_a3,L_A1+L_A2,L_A1+L_A2+L_Dist_A3_RP*(1/2),0+(x-1)*90,90+(x-1)*90

      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP*(1/2),L_A1+L_A2+L_Dist_A3_RP,0+(x-1)*90,90+(x-1)*90


      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP,L_A1+L_A2+L_Dist_A3_RP+L_RP*(1/16),0+(x-1)*90,90+(x-1)*90

      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP+L_RP*(1/16),L_A1+L_A2+L_Dist_A3_RP+L_RP*(2/16),0+(x-1)*90,90+(x-1)*90

      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP+L_RP*(2/16),L_A1+L_A2+L_Dist_A3_RP+L_RP*(3/16),0+(x-1)*90,90+(x-1)*90

      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP+L_RP*(3/16),L_A1+L_A2+L_Dist_A3_RP+L_RP*(4/16),0+(x-1)*90,90+(x-1)*90

      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP+L_RP*(4/16),L_A1+L_A2+L_Dist_A3_RP+L_RP*(5/16),0+(x-1)*90,90+(x-1)*90

      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP+L_RP*(5/16),L_A1+L_A2+L_Dist_A3_RP+L_RP*(6/16),0+(x-1)*90,90+(x-1)*90

      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP+L_RP*(6/16),L_A1+L_A2+L_Dist_A3_RP+L_RP*(7/16),0+(x-1)*90,90+(x-1)*90

      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP+L_RP*(7/16),L_A1+L_A2+L_Dist_A3_RP+L_RP*(8/16),0+(x-1)*90,90+(x-1)*90

      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP+L_RP*(8/16),L_A1+L_A2+L_Dist_A3_RP+L_RP*(9/16),0+(x-1)*90,90+(x-1)*90

      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP+L_RP*(9/16),L_A1+L_A2+L_Dist_A3_RP+L_RP*(10/16),0+(x-1)*90,90+(x-1)*90

      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP+L_RP*(10/16),L_A1+L_A2+L_Dist_A3_RP+L_RP*(11/16),0+(x-1)*90,90+(x-1)*90

      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP+L_RP*(11/16),L_A1+L_A2+L_Dist_A3_RP+L_RP*(12/16),0+(x-1)*90,90+(x-1)*90

      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP+L_RP*(12/16),L_A1+L_A2+L_Dist_A3_RP+L_RP*(13/16),0+(x-1)*90,90+(x-1)*90

      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP+L_RP*(13/16),L_A1+L_A2+L_Dist_A3_RP+L_RP*(14/16),0+(x-1)*90,90+(x-1)*90

      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP+L_RP*(14/16),L_A1+L_A2+L_Dist_A3_RP+L_RP*(15/16),0+(x-1)*90,90+(x-1)*90

      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP+L_RP*(15/16),L_A1+L_A2+L_Dist_A3_RP+L_RP*(16/16),0+(x-1)*90,90+(x-1)*90



      • Cylind,0,r_a3,L_A1+L_A2+L_Dist_A3_RP+L_RP*(4/4),L_A1+L_A2+(3/2)*L_Dist_A3_RP+L_RP*(4/4),0+(x-1)*90,90+(x-1)*90

      • Cylind,0,r_a3,L_A1+L_A2+(3/2)*L_Dist_A3_RP+L_RP*(4/4),L_A1+L_A2+2*L_Dist_A3_RP+L_RP*(4/4),0+(x-1)*90,90+(x-1)*90

      • !Rotorpaket


      • Cylind,0,r_arp,L_A1+L_A2+L_Dist_A3_RP,L_A1+L_A2+L_Dist_A3_RP+L_RP*(4/4),0+(x-1)*90,90+(x-1)*90


      • *enddo


      • vovlap,all ! Verbinden der Volumenkörper - Festlegung der Verschiebungen an den Kontaktflächen




      • !Einführung der Elemente


      • et,1,185 ! Elementtyp 185: SOLID185 https://www.sharcnet.ca/Software/Ansys/16.2.3/en-us/help/ans_elem/Hlp_E_SOLID185.html

      • keyopt,1,2,3 ! Einführung des Solid 185 Volumenelements


      • r,1

      • type,1

      • mat,1 ! Zuweisung Materialnummer der Welle

      • real,1


      • ! mp,alpd,1,damp1      ! Material damping

      • ! mp,betd,1,damp1

      • ex,1,ex_s ! Zuweisung des E-moduls für Welle

      • nuxy,1,0.3 ! Zuweisung des Schermoduls für Welle

      • dens,1,dens_s ! Zuweisung der Dichte der Welle


      • et,2,185 ! Elementtyp 185: SOLID185 https://www.sharcnet.ca/Software/Ansys/16.2.3/en-us/help/ans_elem/Hlp_E_SOLID185.html

      • keyopt,1,2,3 ! Einführung des Solid 185 Volumenelements


      • r,2

      • type,2

      • mat,2 ! Zuweisung Materialnummer des Rotorpakets

      • real,2


      • ! mp,alpd,2,damp2      ! Material damping

      • ! mp,betd,2,damp2

      • ex,2,ex_rp ! Zuweisung des E-moduls des Rotorpakets

      • nuxy,2,0.3 ! Zuweisung des Schermoduls des Rotorpakets

      • dens,2,dens_rp ! Zuweisung der Dichte des Rotorpakets


      • ! Mashing


      • mshape,1,3 ! Einstellung von 3D Volumenelementen

      • mshkey,0 ! Einstellung von freiem Meshing

      • DESIZE,2,,2,2 !Einstellbarkeit der Dichte des Meshes

      • Mopt,aorder,on ! Einstellung der Mashing priorität - kleine Flächen zuerst

      • lplott


      • ! Zuerst gezieltes Mashing des Rotorpakets mit Volumenelementen der Materialeigenschaften des Rotorpakets

      • ! Anwählung der entprechenden Volumen - (mit vsweep,p - Befehl ermittelt)

      • ! vsweep,p

      • ! /eof

      • type,2

      • mat,2

      • vsweep,427

      • type,2

      • mat,2

      • vsweep,425


      • type,2

      • mat,2

      • vsweep,428

      • type,2

      • mat,2

      • vsweep,426


      • type,1

      • mat,1

      • vsweep,all


      • !** Steifigkeitsmodellierung der Lager

      • ! mp,alpd,7,damp3

      • ! mp,betd,7,damp3 !Bearing Damping

      • et,7,14 ! Einführung des Combin 14 Elements - https://www.sharcnet.ca/Software/Ansys/16.2.3/en-us/help/ans_elem/Hlp_E_COMBIN14.html

      • r,7,bs_r,damp3  ! Zuweisung der radialen Steifigkeit

      • type,7

      • real,7



      • !Lager A1


      • csys,11

      • n,20000,R_Lager,0,Pos_LA1+Anstellversatz ! Erzeugung der Federfußpunkte

      • n,20001,R_Lager,90,Pos_LA1+Anstellversatz


      • !Anwählen der Federfußpunkte

      • nsel,s,loc,x,0,R_Lager

      • nsel,r,loc,z,Pos_LA1-anstellversatz,Pos_LA1+Anstellversatz


      • !Erzeugung der Combin14 Elemente

      • !Auswählen der Mittelknoten und Verbinden mit Federfußpunkten

      • e,20000,node(0,0,Pos_LA1)

      • e,20001,node(0,0,Pos_LA1)


      • !Sperrung der translatorischen Freiheitsgrade der Federfußpunkte

      • d,20000,ux,0

      • d,20000,uy,0

      • d,20000,uz,0


      • d,20001,ux,0

      • d,20001,uy,0

      • d,20001,uz,0



      • !Lager A2


      • n,20010,R_Lager,0,Pos_LA2-Anstellversatz

      • n,20011,R_Lager,90,Pos_LA2-Anstellversatz



      • nsel,s,loc,x,0,R_Lager

      • nsel,r,loc,z,Pos_LA2-Anstellversatz,Pos_LA2+Anstellversatz


      • e,20010,node(0,0,Pos_LA2)

      • e,20011,node(0,0,Pos_LA2)



      • d,20010,ux,0

      • d,20010,uy,0

      • d,20010,uz,0


      • d,20011,ux,0

      • d,20011,uy,0

      • d,20011,uz,0


      • !Lager B1


      • n,20020,R_Lager,0,Pos_LB1+Anstellversatz

      • n,20021,R_Lager,90,Pos_LB1+Anstellversatz


      • nsel,s,loc,x,0,R_Lager

      • nsel,r,loc,z,Pos_LB1-anstellversatz,Pos_Lb1+Anstellversatz


      • e,20020,node(0,0,Pos_LB1)

      • e,20021,node(0,0,Pos_LB1)



      • d,20020,ux,0

      • d,20020,uy,0

      • d,20020,uz,0


      • d,20021,ux,0

      • d,20021,uy,0

      • d,20021,uz,0


      • !Lager B2


      • n,20030,R_Lager,0,Pos_LB2-Anstellversatz

      • n,20031,R_Lager,90,Pos_LB2-Anstellversatz



      • nsel,s,loc,x,0,R_Lager

      • nsel,r,loc,z,Pos_LB2-Anstellversatz,Pos_LB2+Anstellversatz


      • e,20030,node(0,0,Pos_LB2)

      • e,20031,node(0,0,Pos_LB2)



      • d,20030,ux,0

      • d,20030,uy,0

      • d,20030,uz,0


      • d,20031,ux,0

      • d,20031,uy,0

      • d,20031,uz,0


      • allsel


      • /pnum,type,1

      • /color,num,blue,1

      • /color,num,red,2

      • /color,num,gree,7



      • !/eof

      • !** Anpassung der Ansicht

      • /VIEW,  1, -0.300232386613    , -0.767188078802    ,  0.566818282850

      • /ANG,   1,  -67.4214496653

      • /REPLO


      • !Verarbeitung des Modells


      • !** Komponenten

      • esel,s,ename,,185 ! Auswählen Elemente

      • esel,a,ename,,14

      • cm,rotor,elem

      • nsle,s,1

      • esel,a,ename,,14

      • cm,rotor_bear,elem




      • allsel

      • save,rotor_supp_full,db

      • finish


      • EPLOT



      • !Lösen der Simulation

      • /solu

      • *afun,rad

      • pi=acos(-1)

      • !pi=3.141

      • rpmtorps=2*pi/60 ! Umrechnung der Drehzahl in Winkelgeschwindigkeiten

      • antype,modal

      • modopt, qrdamp,6,1,0,1,on ! Berücksichtigung der Modalen Dämpfung

      • mxpand,6, , ,1

      • coriolis,on,,,on ! Einstellung der Kreiselwirkung

      • beta,1e-6


      • ! Einleitung der Lasten in einer Schleife

      • *DO, I, 1, P_NW

      • cmomega,rotor,P_SPIN(I)*rpmtorps,,,0,0,0,0,0,L_A1+L_a2+L_a3+L_a4 ! Specifies the rotational velocity of an element component about a user-defined rotational axis.

      • solve

      • *ENDDO


      • save, rotor_use,db

      • finish


      • ! **********************

      • !   Anzeige der Ergebnisse

      • ! **********************


      • /clear, nostart

      • resume, rotor_use,db



      • ! Postprocessing - Illustration der Ergebnisse


      • ! Skalierung und Generierung des Campbell Diagramms

      • /post1

      • /gropt,divx,5

      • /gropt,divy,5

      • /yrange,0,2000,1

      • /xrange,0,100000,1

      • /show,jpeg


      • ! Erzeugung der Daten für das Campbell Diagrams - Harmonische und Eigenfrequenzen werden berechnet

      • plcamp,on,1,rpm,,rotor ! Campbelldiagramm 1. Ordnung

      • ! Erzeugung von Front und Backwhirl

      • ! Die Linie representiert die Anzahl der Erregungen pro Umdrehung des Rotors.

      • prcamp,on,1,rpm,,rotor ! prints campbell diagram with 1st order excitation

      • /show,close


      • ! Eigenfrequenzen und kritischen Drehzaheln abspeichern

      • *Get,camp_nMode,camp,,NBMO ! Auslesen der Anzahl der Moden

      • *Get,camp_nStep,camp,,NBST ! Anzahl der Lastschritte


      • ! Abspreichern der Eigenfrequenzen in einem

      • *DIM,camp_freq1,array,camp_nMode,P_NW



      • ! Füllen des zweidimensionalen

      • *DO,E,1,camp_nMode

      • *DO,O,1,P_NW

      • *Get,camp_freq1(E,O),camp,E,freq,O

      • *Enddo

      • *Enddo



      • ! Abspeichern der kritischen Drehzahen in einem

      • *DIM,camp_vcri,array,camp_nMode

      • *DO,A,1,camp_nMode

      • *Get,camp_vcri(A),camp,A,vcri

      • *ENDDO



      • ! Erzeugung der Daten des Campbell diagrams in einer Textdatei


      • ! Öffnen der Datei zur Dokumentation der Eigenfrequenzen - Benennung variabel

      • *CFOPEN,'camp_dat_Solid_20V_MS4_okW_test','txt'


      • *VWRITE,'Drehzahl',' ','1. Frequenz',' ','2. Frequenz',' ','3. Frequenz',' ','4. Frequenz',' ','5. Frequenz',' ','6. Frequenz'

      • (A8,A5,A11,A5,A11,A5,A11,A5,A11,A5,A11,A5,A11,A5,A11)

      • *DO,L,1,P_NW

      • *VWRITE,P_SPIN(L),'',camp_freq1(1,L),'',camp_freq1(2,L),'',camp_freq1(3,L),'',camp_freq1(4,L),'',camp_freq1(5,L),'',camp_freq1(6,L)

      • (F15.5,A5,F15.5,A5,F15.5,A5,F15.5,A5,F15.5,A5,F15.5,A5,F15.5,A5,F15.5,A5)

      • *ENDDO

      • *CFCLOS



      • *CFOPEN,'camp_crit_Solid_20V_MS4_okW_test','txt'

      • *VWrite,camp_vcri(1),'',camp_vcri(2),'',camp_vcri(3),'',camp_vcri(4),'',camp_vcri(5),'',camp_vcri(6)

      • (F15.5,A5,F15.5,A5,F15.5,A5,F15.5,A5,F15.5,A5,F15.5)

      • *CFCLOS




      • !Erzeugung des Durchbiegungsschaubildes

      • !/erase

      • !fini



      • !** combined results of foundation and rotor

      • /clear, nostart

      • /verify

      • resume, rotor_use,db

      • /post1

      • ! /color,wbak,whit,1

      • ! /color,pbak,0,-1,1

      • /eshape,1

      • cmsfile,clear

      • !!!file, rotor_use,rst

      • set,3,2

      • /dscale,,1

      • /show,jpeg

      • plnsol,u,sum,0

      • *get, umax,plnsol,0,max

      • *stat,umax

      • /show,close

      • !/show,jpeg

      • ! plnsol,u,sum,0

      • ! *get, umax,plnsol,0,max

      • ! *stat,umax

      • ! /show,close

      • finish

Viewing 1 reply thread
  • You must be logged in to reply to this topic.