-
-
October 11, 2018 at 7:58 am
IMKT
SubscriberHello,
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,
-
October 11, 2018 at 1:25 pm
peteroznewman
SubscriberHere 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
-
- The topic ‘Displacement of high speed rotating shaft’ is closed to new replies.
-
5834
-
1906
-
1420
-
1305
-
1021
© 2026 Copyright ANSYS, Inc. All rights reserved.