你在哪个群里潜伏着啊?你帮我看看我的结果对不对好不好。
一、我的命令流及其结果
!本程序采用管单元、油膜轴承,考虑重力,动不平衡力,计算谐响应分析,及固有频率分析
/finish
/CLEAR !清除变量空间
/Units,SI !公制单位
/Show
pi=3.1415926
NVolcity=0000
!------------进入前处理器------------------
/PREP7 !进入前处理器
!----------定义材料属性------------------------------
mp,EX,1,2.1e+11 !输入弹性模量,常温下。此处可以改为随温度变化
mp,DENS,1,7800 !输入密度,常温下。此处可以改为随温度变化
mp,PRXY,1,0.3 !输入泊松比,常温下。此处可以改为随温度变化
!--------------创建梁单元类型
et,1,beam188 !单元类型为梁188单元,后面的2什么意思?
!keyopt,1,2,1 !经典timoshenko梁,梁截面为刚体
!---------------定义变量---------------
ElementNum=16 !定义主轴单元个数,即阶梯轴的段数
*DIM,DiamOut,ARRAY,ElementNum !定义存放主轴外径的数组
DiamOut(1)=0.080
DiamOut(2)=0.080
DiamOut(3)=0.080
DiamOut(4)=0.080
DiamOut(5)=0.120
DiamOut(6)=0.120
DiamOut(7)=0.160
DiamOut(8)=0.160
DiamOut(9)=0.160
DiamOut(10)=0.160
DiamOut(11)=0.120
DiamOut(12)=0.120
DiamOut(13)=0.080
DiamOut(14)=0.080
DiamOut(15)=0.080
DiamOut(16)=0.080
!最后一段主轴的外径,能搞成交互式就好了
*DIM,DiamInner,ARRAY,ElementNum !定义存放主轴内径的数组
DiamInner(1)=0.040
DiamInner(2)=0.040
DiamInner(3)=0.040
DiamInner(4)=0.040
DiamInner(5)=0.040
DiamInner(6)=0.040
DiamInner(7)=0.040
DiamInner(8)=0.040
DiamInner(9)=0.040
DiamInner(10)=0.040
DiamInner(11)=0.040
DiamInner(12)=0.040
DiamInner(13)=0.040
DiamInner(14)=0.040
DiamInner(15)=0.040
DiamInner(16)=0.040
!---------------生成主轴截面属性-------------------------
*DO,I,1,ElementNum
SECTYPE,I,BEAM,CSOLID !截面类型ID: 截面号TYPE: BEAM:定义此截面用于梁 CSOLID:圆形实心截面CTUBE: 圆管
SECDATA,DiamOut(I)/2,20,4 !存放各轴段的内径DiamInner,外径 DiamOout, 圆周方向划分为40个单元
*ENDDO
!-------------定义轴承系数--------------------------
KXX1=8.686656e+8 !前轴承动力学系数
KXY1=7.641009e+8
KYX1=-7.639675e+8
KYY1=8.686656e+8
CXX1=3.2459e+5 !前轴承动力学系数
CXY1=-5.0656e+3
CYX1=4.9737e+3
CYY1=3.2465e+5
KXX2=8.686656e+8 !后轴承动力学系数
KXY2=7.641009e+8
KYX2=-7.639675e+8
KYY2=8.686656e+8
CXX2=3.2459e+5 !后轴承动力学系数
CXY2=-5.0656e+3
CYX2=4.9737e+3
CYY2=3.2465e+5
!----------创建轴承单元及实常熟
et,2,combi214 !为定义轴承单元类型
keyopt,2,2,1 !设置自由度属性,当为1时YZ平面内,轴承所在平面,0为XY平面,第一个2表示什么意思?
keyopt,2,3,1 !刚度、阻尼不对称
r,1,KXX1,KYY1,KXY1,KYX1,CXX1,CYY1 !通过参数定义实常数,
rmore,CXY1,CYX1 !实常熟多余6个,需要补充定义
r,2,KXX2,KYY2,KXY2,KYX2,CXX2,CYY2 !通过参数定义实常数,
rmore,CXY2,CYX2 !实常熟多余6个,需要补充定义
!-----------------------------------------------
*DIM,LenghthShaft,ARRAY,ElementNum !定义存放主轴分段长度的数组
LenghthShaft(1)=0.025
LenghthShaft(2)=0.025
LenghthShaft(3)=0.025
LenghthShaft(4)=0.025
LenghthShaft(5)=0.100
LenghthShaft(6)=0.100
LenghthShaft(7)=0.050
LenghthShaft(8)=0.050
LenghthShaft(9)=0.050
LenghthShaft(10)=0.050
LenghthShaft(11)=0.100
LenghthShaft(12)=0.100
LenghthShaft(13)=0.025
LenghthShaft(14)=0.025
LenghthShaft(15)=0.025
LenghthShaft(16)=0.025
!-------------创建主轴上的节点及单元------------------
NodeNum=ElementNum+1 !定义总节点数
MidNub=0
N,1,0 !创建第1个节点
*DO,I,2,NodeNum
MidNub=MidNub+LenghthShaft(I-1)
N,I,,,MidNub !自动生成节点:序号,X坐标,Y坐标,Z坐标。沿着Z轴生成点
*ENDDO
*DO,I,1,ElementNum
SECNUM,I !指定梁的截面号 ,一定在生成单元前
E,I,I+1 !生成单元
*ENDDO
!----------创建轴承单元--------------------
NodeBearingFront=NODE(0,0,0.050) !前轴承单元在主轴上的节点
NodeNum2=0.750
NodeBearingRear=NODE(0,0,NodeNum2) !后轴承单元在主轴上的节点
N,5000,0,-0.070,0.050 !创建前轴承机架上的节点
N,5001,0,-0.070,NodeNum2 !创建后轴承机架上的节点
TYPE,2 !调用第2中单元类型
REAL,1 !调用第1个实常数
E,5000,NodeBearingFront !创建前轴承单元
REAL,2 !调用第1个实常数
E,5001,NodeBearingRear !创建前轴承单元
!-----------------创建组件--------------------------------------------------
cm,Spindle,elem !创建集合名为Spindle的组件,把上面所有的单元放在一个集合里
allsel !选择所有的节点,单元
!--------------设置自由度边界条件---------------------
!限制所有节点绕轴扭转的自由度
d,all,,,uz,,,,,,rotz
!固定2个轴承的机架端
d,5000,all
d,5001,all
!----------------自由度设置结束
!--------------设置载荷边界条件--------------
!-------设置不平衡力----------
CMOMEGA,Spindle,0,0,NVolcity/60*2*pi !生成角速度
CORIOLIS,1, , ,1,1 !设置是否考虑陀螺力矩
f0=70e-6 !不平衡力的幅值
f,9,fx,f0,0 !不平衡力在yz平面中,y方向的分量,把不平衡力加在第7个节点
f,9,fy,0,-f0 !不平衡力在yz平面中,z方向的分量,把不平衡力加在第7个节点
!设置重力载荷
ACEL,0,-9.8,0 !加上重力加速度
!--------------所有载荷设置结束
fini !退出前处理器
!------------退出前处理器--------------------------------------------------------------
!------------设置求解器------------------------
/SOLU !进入求解器
antype,modal
modopt,QRDAMP,10,,,on !模态提取方法Method=LANB、SUBSP、REDUC、UNSYM、DAMP、QRDAMP。
HARFRQ,10,2000, !输出领率范围
DMPRAT,0.000 !比例阻尼系数
OUTRES,ALL,ALL, !输出结果设置
SOLVE !求解
!------------------------------------------------------------
!------------进入后处理器------------------------
/POST1 !进入通用后处理器
SET,1,10 !读取第1个载荷步的20个子步数,对模态分析而言,就是前20阶
命令流算出的结果
***** INDEX OF DATA SETS ON RESULTS FILE *****
SET TIME/FREQ(Damped) TIME/FREQ(Undamped) LOAD STEP SUBSTEP CUMULATIVE
1 0.0000 0.39008E-04j 0.0000 1 1 1
0.0000 -0.39008E-04j
2 0.99658E-04 0.0000 j 0.39008E-04 1 2 2
0.99658E-04 0.0000 j
3-0.99658E-04 0.0000 j 1203.5 1 3 3
-0.99658E-04 0.0000 j
4 -570.14 384.71 j 1876.8 1 4 4
-570.14 -384.71 j
5 -728.59 250.02 j 2481.8 1 5 5
-728.59 -250.02 j
6 0.0000 1203.5 j 2514.6 1 6 6
0.0000 -1203.5 j
7 0.0000 2481.8 j 4060.2 1 7 7
0.0000 -2481.8 j
8 0.0000 4322.9 j 4322.9 1 8 8
0.0000 -4322.9 j
9 0.0000 5884.6 j 5884.6 1 9 9
0.0000 -5884.6 j
10 -7198.2 0.0000 j 7047.7 1 10 10
-7198.2 0.0000 j
二、同学用workbench计算出的结果
分别为1.5127e-3Hz,523.3Hz,1137.8Hz
三、我用matlab编程,根据Nelson论文中两节点八自由度Timoshenko梁单元算出来的结果(曾用该方法计算袁惠群《转子动力学基础》第259页例子,前三节临界转速很吻合,编程应该没问题)
439.3Hz,1274.8Hz,1851.3Hz,2309.0Hz,2889.7Hz,3181.9Hz,4559.1Hz
我的问题:
(1)我想大家帮计算出一个结果来,验证我哪个结果是对的。
(2)我的命令流哪里出错了?我曾用它验证袁惠群的例子,得不出正确的结果。 |