首页/文章/ 详情

连续介质力学的变形与运动是不是一头雾水?

4月前浏览632

系统所有质点在给定时刻的位置的集 合被称为系统在该时刻的构形。人们总是需要把某个时刻系统的构形作为衡量系统运动和变形的基准,这种构形被称为初始构型或参考构形,记为    。某些情况下,尤其是在固体力学领域中,常把t=0时刻的构形选作参考构形。人们所研究的那个时刻系统的构形则被称为当前构型或即时构形,记为    。系统从参考构形    到即时构形    的变换构成了系统的运动(图1)。

▲图1

原则上,应该在参考构形和即时构形上建立各自的坐标系,然后通过坐标系的变换来研究物体的运动和变形。为简单起见,可以让两个坐标系重合。然而,两种构形的坐标系仍有本质的差别。记系统某个质点P在参考构形中的坐标为    ,那么,就可以通过不同的    来鉴别不同的质点,因此称    为物质坐标。显然,    是一个矢量。记P在即时构形中的位置为p,坐标为    ,显然,在不同的时刻,    这一位置可能被不同的质点所占据,它仅仅代表空间中的一个点,因此称    为空间坐标。这里,    也是一个矢量。

物体的运动有两种不同的描述方法。如果观察者紧紧地注视着质点的运动,时刻记录着质点的空间位置变化,那么就可以写出物质坐标为    的质点P的空间坐标变化规律

 

这样,对系统所有质点的这种描述就构成了对系统的运动和物理量变化的描述。这种描述方法被称为物质描述,或拉格朗日(Lagrange)描述。物质描述的数学特征是以物质坐标为自变量(自变量还可能包含时间)。

▲图2

写这篇的目的就在于公式(1),这个公式很抽象,目前的书籍资料也仅限于给出公式。找了很多英文书籍,终于发现关于这个公式的一个例子。如图2是一根长度为    的杆拉伸到    ,从初始构型到当前构型的简单映射,两种构型共用一个坐标系

 

雅可比(Jacobi)行列式

 

这个假定的物理实质是,连续介质在变形过程中不会产生空隙或物质点重叠的情况。

利用物质坐标和空间坐标,便可以表述质点的位移。位移的定义是

 

在物质描述中,上式可写为

 

对于图2,    



来源:数值分析与有限元编程
科普
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-04-08
最近编辑:4月前
太白金星
本科 慢慢来
获赞 14粉丝 32文章 397课程 0
点赞
收藏
作者推荐

有限元 | 图形的平移有一点复杂

有限元分析后处理涉及计算机图形学,以二维梁单元为例,其变形和内力是基于杆的位置的函数,由一系列的离散点组成矩阵绘制平面刚架的变形图和内力图的过程是:以划分的单元为基础逐个完成。在画某一单元的变形或内力图时,通常是以该单元起点为总体坐标系的坐标原点,杆轴沿着总体坐标系的轴正方向,杆轴上的离散点便是矩阵A的第一行,离散点对应的函数值便是矩阵A的第二行。▲图1矩阵A要通过缩放、旋转、平移操作,使之回到对应的位置上去,即图形与局部坐标一致。对于图1中的单元1,则需要作旋转操作(RA),而单元2则需要作平移操作(TA)。缩放操作则根据图形是否协调适当考虑。定义缩放矩阵旋转矩阵importmatplotlib.pyplotaspltimportnumpyasnpdefmain():plt.rcParams['font.sans-serif']=['MicrosoftYaHei']#这个字体能够支持中英文字符plt.rcParams['axes.unicode_minus']=False#正常显示负号#平面刚架x=[0,3,6]y=[0,4,4]xx=np.linspace(0,5,10)#梁划分为10个小段#每一个离散点的弯矩值m=[0.0,-0.395,-0.690,-0.887,-0.985,-0.985,-0.887,-0.690,-0.395,-0.0]#旋转矩阵R=np.array([[0.6,-0.8],[0.8,0.6]])#旋转变换Rxy=R@np.vstack((xx,m))#绘制刚架图fig,(ax0,ax1)=plt.subplots(nrows=1,ncols=2,sharex=True,figsize=(8,4))#绘制刚架图ax0.plot(x,y)#绘制单元1未旋转时的弯矩图ax0.plot(xx,m)ax0.set(title='旋转前的弯矩图')#绘制单元1旋转后的弯矩图ax1.plot(x,y)ax1.plot(Rxy[0,:],Rxy[1,:])ax1.set(title='旋转后的弯矩图')fig.savefig("z1.png",dpi=300)plt.show()if__name__=="__main__":main()▲图2对于平移来说,按照上述思路,定义平移矩阵却达不到预期效果。比如将一个点往右平移2,往上平移2,得到新的位置,但是,通过平移矩阵计算也就是说,仅凭一个矩阵是做不到的。▲图3a▲图3b▲图3c如图3a所示,将平面矩形增加一个维度,成为长方体。这个长方体发生剪切变形,如图3b所示。这个过程在数学上称为剪切变换,所用到的矩阵称为剪切矩阵。然后将三维图形投影到二维平面,即实现了原图像的平移,如图3c所示因此,需要扩充A矩阵,即增加一行则二维图形的平移矩阵经过矩阵乘法运算后,再去掉的第三行,即平移后的图形。这里第三行无实际意义,仅作为辅助计算。importmatplotlib.pyplotaspltimportnumpyasnpdefmain():plt.rcParams['font.sans-serif']=['MicrosoftYaHei']#这个字体能够支持中英文字符plt.rcParams['axes.unicode_minus']=False#正常显示负号#平面刚架x=[0,3,6]y=[0,4,4]xx=np.linspace(0,3,10)#梁划分为10个小段#每一个离散点的弯矩值m=[0.0,-0.395,-0.690,-0.887,-0.985,-0.985,-0.887,-0.690,-0.395,-0.0]ones=np.ones(10)#矩阵A增加维度,即第三行全为1A=np.vstack((xx,m,ones))#平移矩阵T=np.array([[1,0,3],[0,1,4],[0,0,1]])#平移变换Txy=T@A#绘制刚架图fig,(ax0,ax1)=plt.subplots(nrows=1,ncols=2,sharex=True,figsize=(8,4))#绘制刚架图ax0.plot(x,y)#绘制单元2未平移时的弯矩图ax0.plot(xx,m)ax0.set(title='平移前的弯矩图')#绘制单元2平移后的弯矩图ax1.plot(x,y)ax1.plot(Txy[0,:],Txy[1,:])ax1.set(title='平移后的弯矩图')fig.savefig("z2.png",dpi=300)plt.show()if__name__=="__main__":main()▲图4为了方便编程,将三种矩阵统一定义成形式。缩放矩阵旋转矩阵如果是三维图形,则需要将三种矩阵统一定义成形式。来源:数值分析与有限元编程

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈