查看原文
其他

理解波动系列文章:在有限结构上算出的"波动"

2016-04-07 范雨 声振之家

在网络论坛和甚至正式的学术会议中,关于结构动力学中的“波动方法”都是一个热点话题。尤其是其与工程上常用的以模态叠加法为基础的“振动方法”之间的区别和联系,更是值得深入玩味。其中有许多非常有意思的论点,有些来自于直观的工程经验,有些来自于对公式的粗略检视。比如,有的观点认为波动方法只能分析无界(无限大)结构的动力学行为,而振动方法只能分析有界(有限)结构的动力学行为。又有些观点认为有限结构在高频段就必须考虑“波动效应”,但什么是“波动效应”却语焉不详。实际上,“振动”方法和“波动”方法只是同一个问题的两种不同理解思路而已。换言之,他们都可以计算有界和无界结构在低频和高频动力学特性。为了说明这个观点,更好地辨析和理解“波动”和“振动”,最直接的办法是进行一些计算,看看所得的结果是否与预期相同。这也是本系列文章的目的。这里给出第一个算例。


算例目的

说明如下论点,即有限结构上也能出现“波动”现象,而这一现象的由最常规的“振动”分析方法获得。可以理解为“站在振动的立场上看波动”。为此,我们一个有限的结构,施加瞬态力载荷,并用有限元方法计算其瞬态响应。


概念约定

将以模态叠加法和动力刚度法为基础的结构响应求解方法称为“振动”方法,它们用一系列频率上离散的“模态”来刻画系统的固有特性;


将以傅里叶变换法为基础的结构响应求解方法称为“波动”方法,它们用“波数空间”(wave number space)来刻画系统的固有特性。


算例参数

材料弹性模量:2e11 Pa;

材料密度:7800 kg/m3;

梁长:2000 mm;

梁横截面:正方形2 mm ×2 mm;

阻尼:忽略一切阻尼;

边界条件:两端固支;

单元类型:BEAM188;

网格划分:沿梁长方向分为200段;




载荷:坐标原点处,沿Y方向的集中力载荷,其时间历程为:



此算例中,频率



计算软件:ANSYS


计算参数:瞬态动力学,完全法,计算时间范围:

计算结果

在瞬态动力学计算后,结构随时间的变形为:


分别选择激振点(x=0)和左侧传播路径上的一点(x=x0),绘出它们的时序响应,如下图:


红线:激振力时序历程

绿线:原点处的速度历程

蓝线:X负方向上一点的速度历程


讨论:这是一个在有限域上进行的瞬态计算,激振力只按照正弦形式持续了1个周期,后续的过程既可以理解为自由振动,也可以理解为波的传导。除了结构的振动,在结果中我们发现了较为典型的“波动”现象,尤其在波动尚未传递到边界时。而通过最后绘制的两个离激振点不同距离的点,绘制了它们的响应时程,更是清晰地发现了由于波传播引起的“滞后”现象。


由此可见,“波动”并不是什么特殊的现象,首先它可以发生在有限的结构上,其次波动现象可以由常规的结构动力学分析方法得到,诸如“因为我们用了有限元,有限元是振动方法,所以我们无法分析波动”这样的说法是不成立的。


这次计算是若干年前做的了,在计算之前与当时同一个实验室的同学打赌,让大家猜计算的结果大概长什么样子,猜错的请猜对的人吃饭。结果有些同学说一开始结构的所有点就会参与响应,有些甚至断言所有的点会以相同的相位响应。我虽然觉得应该是有一些部分先变形,另一些部分后变形,但是不确信这样的特性能否由ANSYS(有限元)这样的“振动”分析工具计算出来。其实现在想想,有限元哪里是什么“振动”分析工具,有限元就是一个普遍的动力响应分析工具,很多基于“波动”理论的方法也是以有限元为起点的。


感兴趣的话可以把APDL(见附)拿去跑一跑,多算一些时间,换一个更低/高的频率,再计算看看。


附:APDL代码

FINISH

/CLEAR

/PREP7

/eshape,1

BL = 1

BW = 2e-2

BH = 2e-2

NMESH = 100

ET,1,BEAM188

MP,EX,1,2.1E11

MP,PRXY,1,0.3

MP,DENS,1,7800

SECTYPE,1,BEAM,RECT

SECDATA,BW,BH,2,2

K,1,-BL,0,0

K,3,0,0,0

K,2,BL,0,0

L,2,3,NMESH

L,1,3,NMESH

LMESH,ALL

NSEL,S,LOC,X,-BL

D,ALL,ALL

ALLSEL,ALL

NSEL,S,LOC,X,BL

D,ALL,ALL

ALLSEL,ALL

!**********************

!模态分析

!**********************

!/SOLU

!ANTYPE,2 !指定为模态分析

!MODOPT,LANB,10 !指定提取特征值数及所用方法

!MXPAND,10,,,YES !指定扩展的模态阶数

!SOLVE

/PREP7

*SET,N_CIRCLE,20 !计算的周期数

*SET,NSTP_C,30 !每周期的载荷步数

*SET,FRE,10000 !载荷频率

*SET,CURR_T,0

*SET,DT,1.0/FRE/NSTP_C

*SET,PI,3.141592653

/SOLU

ANTYPE,4 !指定分析类型:动力学分析

TRNOPT,FULL !完全法

TIMINT,ON !时间积分效应

OUTRES,ALL,LAST !所有子步,所有记录写入DATABASE

*DO,I,0,N_CIRCLE-1,1 !外部循环:共计算N_CIRCLE个周期

*DO,J,1,NSTP_C,1 !内部循环:每个周期NSTP_C个载荷步

CURR_T=(I*NSTP_C+J)*DT !计算当前载荷步的时间点

*IF,I,EQ,0,THEN

ALLSEL,ALL

NSEL,S,LOC,X,0 !选择加载点

F,ALL,FY,100*SIN(2*PI*FRE*CURR_T) !施加当前时间点的载荷

ALLSEL,ALL

*ENDIF

ALLSEL,ALL

TIME,CURR_T !设置当前载荷步的时间点

AUTOTS,1 !自动时间步长

KBC,0 !载荷步之间线性插值:递增方式

DELTIM,DT/10,DT/12,DT/8 !本载荷步之中指定时间步长

LSWRITE,I*NSTP_C+J !写载荷步

*ENDDO

*ENDDO

LSSOLVE,1,N_CIRCLE*NSTP_C !求解所有载荷步

FINISH

本文原文2014年发布于声振论坛,2015年作者对本文进行了重编辑,对论述和讨论进行了增删


声明:本文由声振论坛会员范雨(Rainyboy)原创,并授权声振之家编辑发布,转载必须注明出处(声振论坛:vibunion.com或者声振之家公众号:vibunion)。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存