ansys workbench + apdl 悬臂梁 原创案例


悬臂梁简单静力学分析


重点:如何在workbench中插入命令流实现仿真!

※模型比较简单,如下→

1.jpg

新建两个Named Selections。这点很重要。Apdlworkbench交互只能通过,选择Named Selections,实现

新建方法如下:选择一个面,然后右键即可

2.jpg


3.jpg

 

通过命令流实现约束与加载(通过Named selections实现)

cmsel,s,s1  !选择组s1

!­­上面这句很重要,选择组s1,相当于选择了面s1的所有节点。

!下面就是对这些节点进行操作¯¯

d,all,all   !约束s1上节点所有自由度

cmsel,all   !选择全部

cmsel,s,s2  !选择组s2

*get,nn,node,,count  !计算s2上节点个数

f,all,fy,-200/nn  !对节点施加-y方向力

cmsel,all   !选择全部

4.jpg


通过命令流约束加载 非命令流约束加载 结果比较

5.jpg

6.jpg

结果差不多,0.034383≈0.034309,说明命令流计算是有效的。

下面用命令流进行后处理

后处理想要到达的目的是,对右端面所有节点y方向位移,求平均值。


7.jpg

选取右端面(s2面),查看y轴方向的位移(uy), 结果在-3.3945e-2-3.3909e-2之间。

8.jpg

通过命令流求得的uy的平均值为:-3.3926e-2。结果是正确的,说明命令流有效。

后处理命令流如下

cmsel,s,s2  !选择组s2

*get,nn,node,,count !计算组s2中节点个数nn

*get,nd,node,,num,min  !获取编号最小的节点编号赋值给nd

*dim,nuy,array,nn,1   !新建一个数组nuy,长度为nn

*do,I,1,nn  !s2中每个节点的Y向变形值uy赋值给nuy

 nuy(I)=uy(nd) 

 nd=ndnext(nd) !找到比nd大的下一个编号值,赋值给nd(这句挺有用的)

*enddo

*status,nuy   !显示nuy,solution information中可以找到

*vscfun,nsum,sum,nuy   !对数组nuy求和,即每个元素相加

my_uy=nsum/nn  !uy的平均值

cmsel,all

solution information中的信息 

9.jpg

 

附:Named Selections的建立应该在画网格之前,不然后面插入命令流会选不中Named Selections. 若是出现命令流选不中Named Selections的情况,清除网格,重画就行。

出现错误时,可以去项目文件的文件夹里去找,一个叫file.err的文件,错误和警告信息全在里面。路径就是(盘名:\文件名_files\dp0\SYS\MECH)(这里面还有一个比较重要的文件file.rst 这个是结果文件,可以读到经典界面的)。由于错误文件会不断累加,所以可以先删除里面的内容,再重新运行,会生成最新的错误文件。

 

原创文件,转载请注明出处!!


(2条)
默认 最新
请问如果不是用cmsel选中节点的话,还有别的方法在后处理apdl里选想处理的节点吗? 用nsel好像不行
评论 点赞
你好,我用类似的做法,创建了面集合,运行APDL时却报错,看solution information老提示我说NO areas defined。可是我定义了面的集合了,一个面固定,一个面施加载荷,固定的那个面老提示没定义,施加载荷的面没有错误提示,求贴主不吝赐教
评论 点赞
点赞 3 评论 1 收藏 4
关注