成魔即佛 发表于 2015-10-6 17:09

谁能帮我算算前10阶固有频率么?

轴承的刚度
Kxx=8.686656*10^8;
Kxy=7.641009*10^8;
Kyx=-7.639675*10^8;
Kyy=8.688285*10^8;
轴承阻尼
Cxx=3.2459*10^5;
Cxy=-0.050656*10^5;
Cyx=0.049737*10^5;
Cyy=3.2465*10^5;

主轴一共8段
长度依次为(单位:mm)5050   200   100   100   200    50   50
主轴直径为(单位:mm)80    80   120    160    1601208080

轴承添加在两段长度为50mm的轴之间。
只限制轴向位移及绕轴转动自由度



suffer 发表于 2015-10-10 10:41

找找论坛有相应的matlab转子工具箱,自己用工具箱算一下吧

dollfish000 发表于 2015-10-11 11:15

QQ群里也看到你的帖子了,实际上就是计算弯曲振动,
这个还真比较简单,如果你认真钻研的话,加油。

成魔即佛 发表于 2015-10-15 08:14

你在哪个群里潜伏着啊?你帮我看看我的结果对不对好不好。

一、我的命令流及其结果

!本程序采用管单元、油膜轴承,考虑重力,动不平衡力,计算谐响应分析,及固有频率分析



/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 STEPSUBSTEPCUMULATIVE
   10.0000   0.39008E-04j       0.0000             1         1         1
      0.0000    -0.39008E-04j
   2 0.99658E-040.0000    j      0.39008E-04         1         2         2
       0.99658E-040.0000    j
   3-0.99658E-040.0000    j       1203.5             1         3         3
      -0.99658E-040.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
   60.0000      1203.5    j       2514.6             1         6         6
      0.0000   -1203.5    j
   70.0000      2481.8    j       4060.2             1         7         7
      0.0000   -2481.8    j
   80.0000      4322.9    j       4322.9             1         8         8
      0.0000   -4322.9    j
   90.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)我的命令流哪里出错了?我曾用它验证袁惠群的例子,得不出正确的结果。

在路上的蜗牛 发表于 2015-10-15 20:33

好厉害啊{:{10}:}

billions1943 发表于 2015-10-30 11:56

似乎结果和 matlab验证的也不是差距很大呢!
想问下楼主是工作了还是学生呢

TNC 发表于 2015-10-30 17:55

成魔即佛 发表于 2015-10-15 08:14
你在哪个群里潜伏着啊?你帮我看看我的结果对不对好不好。

一、我的命令流及其结果


给你提一个简单的验证思路吧
从最简单的模型开始计算比较两个程序,先从实心轴开始验算,不考虑支承弹性,然后在逐步将相关的因素考虑进去。
1. 你可以用你的程序计算一下刚性光轴的结果,刚性光轴有理论解
3. 计算http://forum.vibunion.com/thread-71082-1-1.html中给出例子
2. 计算一下钟一鄂《转子动力学》上的例子,上面的例子结果是没有问题的

成魔即佛 发表于 2015-11-2 09:31

TNC 发表于 2015-10-30 17:55
给你提一个简单的验证思路吧
从最简单的模型开始计算比较两个程序,先从实心轴开始验算,不考虑支承弹性 ...


非常感谢楼上的指点。我按照这个算例验证了一下
算例一:如图所示两端简支的光轴系统,轴长为2m,轴直径为0.1m,转子弹性模量为2.095e11Pa,转子材料密度为7.85e3kg/m3。
弹簧的刚度为1e9N/m
http://forum.vibunion.com/forum.php?mod=attachment&aid=Mzc0MDJ8ZmI2Y2UyOWF8MTQ0NjQyNTU4NHwxNjMwOTd8NzEwODI%3D&noupdate=yes
论坛里计算的临界转速
1.0e+004 *

    0.3033
    1.2016
    2.6620
    4.6314
    7.0321

一、我用把轴向划分为256个单元(只划分为8个单元时误差特别大),泊松比0.3,截面系数0.9,计算结果如下
1.0e+004 *
    0.3025
    1.1937
    2.6269
    4.5302
    6.8107
二、我用apdl计算16个单元时
3035.9
6882
12102
19022
27056
34970
37493
47574
62478

自己用matlab编程计算,如果单元划分少的话,误差很大。用apdl用较少的单元数就能计算出较为准确的结果。
但是,单元数增加后,计算出的临界转速更多一些。

感谢大家的帮忙




TNC 发表于 2015-11-2 09:47

成魔即佛 发表于 2015-11-2 09:31


理论角度来讲,自己编程的话,分段越细,精度越高
自己编程分析控制误差比较方便

成魔即佛 发表于 2015-11-2 13:09

TNC 发表于 2015-11-2 09:47
理论角度来讲,自己编程的话,分段越细,精度越高
自己编程分析控制误差比较方便

感谢你的帮助

特别声明:

我贴出来的apdl里有一句是错误的,应该为keyopt,2,2,0    !设置自由度属性,当为1时YZ平面内,轴承所在平面,0为XY平面。

我想起来了,当初我用的轴向为X方向,后来改为Z方向了。但是这一句忘了改。所以,造成计算结果不正确。

VibInfo 发表于 2015-11-2 13:50

成魔即佛 发表于 2015-11-2 13:09
感谢你的帮助

特别声明:


逐步排除是一种好办法,恭喜解决问题
页: [1]
查看完整版本: 谁能帮我算算前10阶固有频率么?