首页/文章/ 详情

使用ABAQUS作为自编有限元程序后处理

1年前浏览401

在自编有限元程序时,通常在计算完成后希望用云图的方式显示以获得更为直观的视觉效果。鲁迅说过“云图是否美观是有限元计算的重要评判标准,计算做得好不好,就看云图好不好”。

   因此,如果自编有限元程序最终的计算结果仅仅是呆板的数据,那逼格将大大降低,无论是发 论文还是写报告都显得不太高端。

在学术圈,后处理云图常见的软件通常有ParaviewtecplotMatlab等,利用上述软件可以一定程度上对位移,应力等数据结果进行云图显示。


本文则提供一种将自编有限元程序的计算结果用abaqus显示的方法。

具体实施方式:以某二维杆单元计算结果为例:

杆单元的节点坐标如下:

1,-1.000000,1.000000

2,1.000000,1.000000

3,.000000,.000000

4,2.000000,.000000

5,-2.000000,.000000

杆单元连接如下:

1,1,2

2,3,2

3,3,4

4,2,4

5,1,3

6,5,3

7,1,5

上述数据中第1列是单元编号,第2-3列是杆单元的第1-2节点。

节点位移如下:

0.2491870E-04,-0.5192824E-04

-0.5461379E-06,-0.4556203E-04

0.6366207E-05,-0.6147756E-04

0.000000,0.000000

0.000000,0.000000

上述数据中第一列为节点位移UX,第二列为UY





    新建py文件plot.py,按照以下格式输入内容:


可复 制文字版:

from odbAccess import *

odb = Odb(name='C3D4Model',path='displacementplot.odb')

part1 = odb.Part(name='T2D2',embeddedSpace=TWO_D_PLANAR,type=DEFORMABLE_BODY)

nodeData=((1,-1.000000,1.000000),

(2,1.000000,1.000000),

(3,.000000,.000000),

(4,2.000000,.000000),

(5,-2.000000,.000000),)

part1.addNodes(nodeData=nodeData)

elementData=((1,1,2),

(2,3,2),

(3,3,4),

(4,2,4),

(5,1,3),

(6,5,3),

(7,1,5),)

part1.addElements(elementData=elementData, type='T2D2')

instance1 = odb.rootAssembly.Instance(name='part-1-1',object=part1)

step1 = odb.Step(name='step-1',description='first step',domain=TIME, timePeriod=1)

nodeLabelData = (1,

2,

3,

4,

5)

analysisTime=1

frame1= step1.Frame(incrementNumber=1,frameValue=analysisTime,description='results frame for time '+str(analysisTime))

uField = frame1.FieldOutput(name='U',description='Displacements',type=VECTOR)

dispData=((.2491870E-04,-.5192824E-04),

(-.5461379E-06,-.4556203E-04),

(.6366207E-05,-.6147756E-04),

(.000000,.000000),

(.000000,.000000),)

uField.addData(position=NODAL, instance=instance1,labels=nodeLabelData,data=dispData)

step1.setDefaultDeformedField(uField)

odb.save()

odb.close()

print'output finished!'


上述内容即为通过py脚本文件形成abaqus的后处理odb文件displacement.odb。其中,第3行的embeddedSpace=TWO_D_PLANAR需要和实际的空间维度相对应,即如果为平面应力,平面应变,二维梁单元或者二维杆单元即为TWO_D_PLANAR,如果为三维实体单元,三维梁单元等则为THREE_D

4-8行为节点坐标,第10-16行为单元连接,第20-24行为节点编号,第28-32行为对应的节点的位移。

按照上述格式写成plot.py后,打开abaqus command,运行abaqus script=plot.py或者打开abaqus cae,采用file-run script,再选择plot.py即可。等到abaqus cae界面底部出现output finished!即表明已经运行成功,形成了相应的odb文件。接下来直接打开相应的displacement.odb即可看到相应的位移云图。


【完】


来源:易木木响叮当
Deform
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-06-02
最近编辑:1年前
易木木响叮当
硕士 有限元爱好者
获赞 214粉丝 244文章 345课程 2
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈