有限元基础及ANSYS应用 - 第6节 - 自重作用下均匀截面直杆的ANSYS分析
对上课可所讲的自重作用下均匀截面直杆的变形问题为例,用ANSYS Mechanical APDL软件对其开展分析,以ANSYS 17.0版本为例,具体过程如下:
需要指定问题的具体参数,咱们给定如下几何和物性参数:
杆长,杆截面积,材料密度,弹性模量,重力加速度,方向竖直向下。
0. 打开软件
开始 -> ANSYS 17.0 -> Mechanical APDL 17.0
1. 初始设置
1.1 设置工作路径
Utility Menu中,File -> Change Directory …,在“浏览文件夹”对话框中选择想要存放该工作的文件夹,然后确定。
1.2 设置工作文件名
Utility Menu中,File -> Change Jobname …,在“Change Jobname”对话框中更改该工作的名字为“verticalPole”,后OK确定。
1.3 设置工作标题
Utility Menu中,File -> Change Title …,在“Change Title”对话框中输入标题“Analysis of a vertical pole with gravity”,OK确定。
1.4 设定分析模块
Main Menu中,点开Preferences,勾选Structural,OK确认。
2. 前处理
2.1 单位定义
ANSYS Mechanical APDL中无需指定单位,只需要保证物理量量纲统一即可。
2.2 定义单元类型
Main Menu中,Preprocessor -> Element Type -> Add/Edit/Delete,
在Element Types对话框中点击Add…,
在Library of Element Types对话框中选择单元类型为Link和3D finit stn 180,即三维连杆单元,然后OK,关闭Library of Element Types对话框,
可见Element Types对话框中已经把该单元包含进来了,点击Close关闭Element Types对话框。
注意:
实际上这里用的Link 3D finit stn 180单元,既可以用于连杆单元的分析,也可以用于杆单元的分析,因为不论是从受力变形状态的物理意义上来看,还是从单元刚度矩阵、载荷向量、位移向量的数学描述上来看,两者都是一样的,所以两者实际上是一种单元。
2.3 定义截面属性
Main Menu中,Preprocessor -> Sections -> Link -> Add,
在Add Link Section with ID中输入截面的ID为随便一个整形数值,如1,2,3等,OK确定,
在Add or Edit Link Section对话框中,输入Section Name,给截面随便起个名字就可以了,在Section Data Link area中输入截面积为14.5e-4,注意这里虽然不用管输入单位,但咱们心里要知道用的的单位是,也就是截面面积为,OK确定完成设置。
2.4 定义材料属性
Main Menu中,Preprocessor -> Material Props -> Material Models,
在打开的Define Material Model Behavior窗口中,选择Structural -> Linera -> Elastic -> Isotropic,
在打开的对话框中的EX输入弹性模量为2e11,单位为Pa,PRXY为泊松比,无需指定,因为连杆单元中只涉及到弹性模量E和截面积A而已。OK确认,它会提醒你PRXY被设成0了,确认。
选择Structural->Density,输入密度7.85e3,单位为,确认。
这个密度主要是为了和后面的重力加速度联合作用,使杆发生重力作用下的变形。
关闭这些设置对话框。
注意
在桁架结构的分析中,我们是直接用连杆单元来绘制一个个的桁架连杆的,所以是创建了节点node,再直接由link单元创建了单元elem。而对于杆分析来说,我们是要先创建关键点keypoints,再由关键点创建线line,完成杆几何体的创建后,再用link单元来剖分该几何体杆,从而得到划分好的单元elem和节点node。
2.5 创建关键点
Main Menu中,Preprocessor -> Modeling -> Create -> Keypoints -> In Active CS,
在Create Keypoints in Active Coordinate System对话框中,输入节点编号1,坐标x,y,z为0,0,0,OK;再次打开,输入节点编号2,坐标x,y,z为0,1,0,OK。注意坐标的单位是m,可以看到图形窗口中已经出现了创建好的两个关键点1和2。
2.6 创建线
Main Menu中,Preprocessor -> Modeling -> Create -> Lines -> Lines -> Straight Line,
在Create Straight Line对话框中,用鼠标图形窗口拾取1,2点,或者直接输入1,2(注意是英文逗号),OK,即可生成从关键点1到关键点2的线1了。
2.7 划分单元
Main Menu中,Preprocessor -> Meshing -> MeshTool,
在弹出的MeshTool对话框中,先确定网格尺度,点击Size Controls组类中Lines后面的Set,
在弹出的Element Size on Picked Lines对话框中,输入1(表示对线1尺度进行设定),或者用鼠标从窗口中点选线1,OK
在弹出的Element Sizes on Picked Lines对话框中,可以设定单元尺度Size为0.02(单位是m),也可以设定单元划分数目NDIV为50(两者等效,因为杆长1m,分50单元,每个单元长度为1m/50=0.02m),OK确定。
注意,到此,只是预先确定了要在这根线上分50段,而并没有真正剖分网格,即并没有把Link单元跟这个杆关联起来。
Main Menu中,Preprocessor -> Meshing -> MeshTool,
在MeshTool对话框中,保持Mesh:中下拉选项为Lines,点击最下方的Mesh,
在弹出的Mesh Lines点选框中,鼠标从窗口选择线1,或者直接输入线1的标识1,OK。
即可完成网格划分。
2.8 检查网格剖分情况
实际上,画完网格后,图形窗口并没有任何显示,因此总让人有些摸不着头脑,不知道到底画好了没有。那么如何检查网格呢?如何检查单元和节点的编号呢?
首先让它显示全了
Utility Menu中,Plot -> Multi-Plots,多重显示,效果如下然后选择性的显示关键点keypoints、线lines、节点nodes、单元elems的标号。
Utility Menu中,PlotCtrls -> Numbering …
在弹出的Plot Numbering Controls中,可以选择性地开启Keypoint numbers、Line numbers、Node numbers、Element numbering。
注意Element numbering的开启是要在Elem / Attrib numbering后面下拉框中进行的,No numbering是不开启,Element numbers是显示单元编号。
只显示Keypoint关键点和Line线编号,如下
最下面是关键点1,最上面是关键点2,只有一根线L1。只显示单元编号Elem numbers,如下
可见,杆从下到上被均匀划分成了50个单元,且自下向上这些单元编号为1,2,3,…,50。
了解单元编号,对于后续每个单元物理量大小分布的研究,将有所帮助。
只显示节点编号Node numbers,如下
可见,最下方节点编号为1,最上方节点编号为2!可能是软件中先对边界节点进行编号吧。
内部节点从下到上依次编号为3,4,5,…,51,共有51个节点。
也就是说,单元1有节点1和3,单元2有节点3和4,…内部单元i有节点i+1和i+2,…单元50有节点51和2。
了解了节点的编码顺序,对于后续节点物理量的分布分析,也很有帮助。
3. 求解
3.1 设置分析类型
Main Menu中,Solution -> Analysis Type -> New Analysis,保持默认的Static静态分析,OK。
3.2 施加约束(施加边界条件)
Main Menu中,Solution -> Define Loads -> Apply -> Structural -> Displacement -> On Keypoints,
在弹出的Apply U,ROT on KPs选择框中,输入Keyppoint2的编号2,或者用鼠标在图形窗口中点选关键点2,OK,
在弹出的Apply U,ROT on KPs对话框中,DOFs to be constrained(限定自由度)选项中,选中ALL DOF,即让该端不能发生任何方向的位移,即把该杆牢牢地插入在天花板上了。OK确定。
实际上,这里也可以把这个固定边界条件,施加在node 2上,因为node2和keypoint 2是重合一致的!
3.3 施加载荷(重力加速度)
重力加速度作为惯性力来添加,添加方法如下:
Main Menu中,Solution -> Define Loads -> Apply -> Structural -> Inertia -> Gravity -> Global,
在Apply (Gravitational) Acceleration输入框中,输入重力加速度在X、Y、Z三个方向的分量,咱们这里重力是y方向竖直向下的,那么理论上就需要在ACELY中输入重力加速度的Y分量。
注意
如果你真的输入一个负的9.8在这里,那么你会发现最后这个杆不是在拉伸,而是在压缩,即这个重力的实际效果反而是向上的!!
也就是说,如果想要让重力的作用效果是向着y轴负方向的,反而需要给它一个正的9.8!
这是为什么呢??
实际上,因为这里施加的是惯性载荷,而根据所谓的达朗贝尔原理,惯性力的方向和加速度的方向是相反的,所以咱们这里施加的加速度如果是正值,那么惯性力它就是沿着负方向了,如果咱们施加的加速度是负值,那么惯性力反而是验证正方向了。
如果是确实搞不懂,那么请牢牢记住:
ANSYS Mechanical APDL当中,施加一个重力加速度g,那么重力的实际作用方向跟你所添加的加速度g的方向刚好是相反的。
因此,这里的重力加速度,要吧Y-comp给成正的9.8就好了,不信的话,咱们后面会看到,计算结果刚好是杆发生了下垂的拉伸变形。
3.4 求解
Main Menu中,Solution -> Solve -> Current LS,
跳出的/STATUS Command是对当前待求解问题的描述,直接点击Solve Current Load Step中的OK,没几秒就算好了,点击Close关闭提示算好的信息窗口。
注意:如果没有展开计算,提示错误,那可能是前面某个地方没有设置好,比如边界条件没有完全施加,外载荷没有施加,截面面积未给定,弹性模量没指定等。
4. 后处理
4.1 查看变形状态
Main Menu中,General PostProc -> Plot Results -> Deformed Shape,
在Plot Deformed Shape窗口中,选择Def shape only,OK。
不难发现,杆的确是发生了下垂的拉伸变形!!从而印证了加速度反向添加的正确性!
4.2 查看节点位移Uy
Main Menu中,General Postproc -> Plot Results -> Contour Plot -> Nodal Solu,
在弹出的Contour Nodal Solution Data窗口中,选择DOF Solution下的Y-Component
of displacement,OK,
从节点Y方向的位移云图中可以看出,杆的Y方向位移都是负值,表明其在向下拉伸,且最下端位移量最大,为-0.192e-6m,将E、A、L、g代入上节课所得理论解,可以求得最大位移量为0.192325e-6m,与ANSYS相吻合。
仔细观察色条分布,不难看出,杆上位移分布并非线性,而是下方变形的增量dU/dx较小,而上方变形的增量dU/dx较大,这与理论推导中,变形量呈抛物线二次分布的结论也是一致的。
当然,也可以把每个节点的位移值用列表展示出来。
Main Menu中,General Postproc -> List Results -> Nodal Solution,
在List Nodal Solution对话框中,选择DOF Solution下的Y-Component
of displacement,OK,
弹出了每个节点Uy的列表,可以把这些值粘到Excel、Matlab或者Origin里面去,绘制位移随着y坐标的分布情况,可以清晰看出是呈现抛物线二次函数分布的!
注意,节点1在最下端,其位移最大-0.19233e-6m(理论解-0.192325e-6m),节点2在最上端,其位移为0,其余节点从下到上依次编号为3,4,…,51,其位移量由大变小,且变化率越来越大。
4.3 定义单元表
接下来查看连杆单元的内力,这通过定义单元表来实现。
Main Menu中,General PostProc -> Element Table -> Define Table,
在Element Table Data中Add…,
在Define Additional Element Table Items中,Lab中输入“ForceA”,Item,Comp中选择By sequence num和SMISC,右下方文本框中输入“SMISC,1”,OK。这个量对应的是连杆单元的内力。
再次在Element Table Data中Add…,
在Define Additional Element Table Items中,Lab中输入“SigmaA”,Item,Comp中选择By sequence num和LS,右下方文本框中输入“LS,1”,OK。这个量对应的是连杆单元的应力。
这会在Element Table Data中可以看到定义好的两个量了,Close来关闭它。
4.4 输出单元表
Main Menu中,General PostProc -> Element Table -> List Elem Table,
在List Element Talbe Data框中选择刚才定义好的ForceA和SigmaA,OK。
就跳出来了个列表,把杆每个单元的内力和应力都展示出来的,注意单元是从下到上依次编号为1,2,…,50的。
单元的内力和应力都是正值,表明杆件受拉,这也表明重力添加方法的正确性,同时,从下往上,杆所受拉力逐渐增大,其上端点承受了整个杆件的重力,其值最大。
若将内力和应力数值导出绘制其随y坐标的变化曲线,可以发现,内力和应力随着杆长从下往上是呈现线性增加,这与理论分析结果也是一致的!
5. 关闭软件
Utility Menu中,File -> Exit…,在Exit对话框中勾选Save Everything,OK。保存相关几何模型、设置参数、计算结果,并关闭该软件。