huazi071783 发表于 2011-3-29 09:15

一个梁在环境激励下的瞬态分析问题

结构就是一个悬臂梁,一端固支,在梁的另一头施加环境激励,激励时间历程是由Matlab里randn生成的一个长度为1000的任意数组,然后乘上幅值,荷载子步为10,取梁上某点(靠近悬臂端)位移响应,按理说得到的响应时间历程曲线也应该是和激励信号相似,但是曲线确几乎偏向于负值,起初以为是重力的影响,但是我又没有开启重力作用,固支端的约束也没有问题,提取了加速度响应,加速度响应又是合理的。问题在哪呢?下面是我的命令流
/config,nres,10000
/PREP7                           
ET,1,SHELL63                     
l=1.0                           !梁长
h=0.01                            !高
b=0.03                            !宽
EX0=73E9
PRXY0=0.33
DENS0=2270
N0=80                           !长度方向单元数
Nh=3                              !高度方向单元数
f=5                               !力幅值
!生成节点
*DO, j, 1, Nh+1
*DO, i, 1, N0+1
    N,i+(j-1)*(N0+1),(i-1)*l/N0,(j-1)*h/(Nh),0,,,,
*ENDDO
*ENDDO
!生成单元
*DO,j,1,Nh
*DO,i,1,N0
   E,i+(j-1)*(N0+1),i+1+(j-1)*(N0+1),i+1+j*(N0+1),i+j*(N0+1)
*ENDDO
*ENDDO
!厚度设定
R,1,b, , , , , ,               !厚度
RMORE, , , ,
RMORE   
RMORE, ,
!
!属性
MPTEMP,,,,,,,,
MPTEMP,1,0
MPDATA,EX,1,,EX0   
MPDATA,PRXY,1,,PRXY0
MPTEMP,,,,,,,,
MPTEMP,1,0
MPDATA,DENS,1,,DENS0
!施加约束
/SOL
ANTYPE,4
TRNOPT,FULL
!
*do,i,1,Nh+1
   D,1+(i-1)*(N0+1), , , , , ,ALL, , , , ,
*enddo
D,all, ,0, , , ,UZ, , , , ,
!施加力
*dim,randforce,array,1000,1
*vread,randforce(1,1),randomsig2,txt, ,ijk,1000,1
(2f8.5)
!荷载步
timint,on,all                               !打开瞬态效应
alphad,0.02                                 !a阻尼
betad,0.004                              !bete阻尼
OUTRES,all,all   
*do,i,1,1000,1
time,0.1*i                              !时间轴
   NSUBST, 10                              !荷载子步
kbc,0                                 
   f,(N0+1)*(Nh+1)-1,fy,-f*randforce(i,1)    !作用力
solve
*enddo
finish
!提取结果
/POST26
*DIM,dis,array,10000,17
*DIM,velocity,array,10000,17
*DIM,accel,array,10000,17
NUMVAR,200
!在梁上表面均匀提取17个节点位移、速度、加速度响应
*do,i,1,17,1
j=i+1
N=(N0+1)*Nh+(i-1)*5+1
NSOL,j,N,U,Y                         !j为变量名,须大于2
*enddo
XVAR,1                                 !定义时间变量为坐标轴      
*do,j,2,18,1
DERIV,j+20,j,1,,vy                   ! 求导得速速
DERIV,j+40,j+20,1,,ay                ! 再求导得加速度
VGET,dis(1,j-1),j
VGET,velocity(1,j-1),j+20
VGET,accel(1,j-1),j+40
*enddo
!      
*CFOPEN,displaceran0,TXT
*Vwrite,dis(1,1),dis(1,2),dis(1,3),dis(1,4),dis(1,5),dis(1,6),dis(1,7),dis(1,8),dis(1,9),dis(1,10),dis(1,11),dis(1,12),dis(1,13),dis(1,14),dis(1,15),dis(1,16),dis(1,17)
(17F13.8,' ')
*CFCLOS
finish
*CFOPEN,veloran0,TXT
*Vwrite,velocity(1,1),velocity(1,2),velocity(1,3),velocity(1,4),velocity(1,5),velocity(1,6),velocity(1,7),velocity(1,8),velocity(1,9),velocity(1,10),velocity(1,11),velocity(1,12),velocity(1,13),velocity(1,14),velocity(1,15),velocity(1,16),velocity(1,17)
(17F13.8,' ')
*CFCLOS
finish
*CFOPEN,acceran0,TXT
*Vwrite,accel(1,1),accel(1,2),accel(1,3),accel(1,4),accel(1,5),accel(1,6),accel(1,7),accel(1,8),accel(1,9),accel(1,10),accel(1,11),accel(1,12),accel(1,13),accel(1,14),accel(1,15),accel(1,16),accel(1,17)
(17F13.5,' ')
*CFCLOS

huazi071783 发表于 2011-3-29 09:18

回复 1 # huazi071783 的帖子

这是环境激励
这是得到的位移响应

huazi071783 发表于 2011-3-29 10:13

回复 2 # huazi071783 的帖子


这是得到的一段加速度响应

ohaiou 发表于 2011-3-29 15:26

激励和响应的采样时间相同吗?文中位移采样时间0.1s,感觉有点大,换做0.001s或是更小试试,不晓得会怎么样,看似那么大的力加上去,梁都没有反弹似地,是不是自振频率太小,要么是正值没采到,还是加的力太小?改变采样时间与力的幅值会怎样?

huazi071783 发表于 2011-3-29 21:16

本帖最后由 huazi071783 于 2011-3-29 21:16 编辑

回复 4 # ohaiou 的帖子

荷载步为0.1秒,每荷载步分10个荷载子步,每个荷载子步都记录结果,所以采样就是0.01秒,我想不是采样频率的问题,如果是那为什么偏偏是负值呢,而且我生成了三个环境激励信号,算的结果都是这情况

huazi071783 发表于 2011-3-30 09:20

哪位高手指点指点啊

ohaiou 发表于 2011-3-30 10:32

回复 5 # huazi071783 的帖子

试试才知道。

MemoryKoodow 发表于 2013-6-14 09:07

本帖最后由 MemoryKoodow 于 2013-6-14 09:15 编辑

怎么没人回复啊?我感觉应该是输出的命令流的问题
楼主后来是怎么解决这个问题的》?
页: [1]
查看完整版本: 一个梁在环境激励下的瞬态分析问题