abaqus安装分析用户手册_【ABAQUS二次开发】python简单后处理的语法规则(1)

b9afd7736601ff3962457dacf1123dde.png
二次开发背景简介

在abaqus的二次开发中,我们往往采用两种语言进行辅助开发,即偏向理论层面的fortran和偏向便捷操作的python。

举个简单的例子来讲,如果在仿真分析中,我们需要定义某种新型材料(笔者同学课题组需要引进竹材进行仿真),而这种材料的本构关系(应力-应变关系)显然采用abaqus自带的定义属性和方式无法准确描述出来,再如某些比较特殊与复杂的加载方式仅采用系统自带的功能有时也难以满足需求,这些都需要我们强有力的理论推导作为支撑,辅助以fortran为编译器进行相关程序的编写,在此我们为便于概括,将其统称为‘’子程序‘’。子程序的存在,使得仿真有限元软件成为一个研发与计算平台,用户可以按自身需求丰富软件的各项计算准则和操作。

而在fortran之外,python作为abaqus的底层语言,也具有很重要的使用和实用价值。可以这样讲,你在cae界面中的每一步操作几乎都对应着一条python语句,所以当你需要进行大规模的计算结果提取,批量化建模,批量化计算等等需要耗费大量人力与时间的问题时,我则推荐你使用python进行编程处理,提高工作效率。

如何通过python进行模型的ODB结果提取?

首先我们需要引入odb文件才能进行后续的分析(语句请自己手打,不要粘贴复制,中英文切换会有问题),引入odb文件的语句为:

odb=openOdb(‘Job-1 ’)

上述为定义一个名为odb的参数,将odb文件赋予给他,这种引入方法需要名为job-1的文件放于软件工作目录下(一般提交计算以后的odb自动都会放到工作目录下)

当然有的同学会说,那么我是从别人那里嫖来的模型,现在就在X盘底下随便丢着,我该怎么写呢?

用第二种带路径的语句即可实现上述功能:

odb=openOdb(path='D:.......Job-1.odb' )

总的来说,后处理要提取的数据类型分为两类,history &field output,他们各自需要遵循以下两种语言结构:

1.提取ODB结果文件中的history output(历史变量):

odb.setps[].historyRegions[].historyOutputs[]...(省略号代表未写完,根据需要补充后续语句),其中:

steps[],里输入需要提取数据对应的step,例如:step['Step-1']

historyRegions[],里输入需要提取数据对应的区域,一般历史变量常提取的都是整个模型的某些量,可输为:historyRegions['Assembly ASSEMBLY']

historyOutputs[],里输入需要提取的参数,例如:historyOutputs[‘ALLPD’]

至于该语句剩下内容需要补充什么,全看自身的需求,若提取的仅仅是数据的话,可以采用以下语句:

odb.setps[].historyRegions[].historyOutputs[].data

但要注意,此时提取出来的是什么数据需要自己去判断,有可能给出的是两列,一列是time,另一列才是用户关系的数据,这个需要自己去判断然后再进行列表内的元素提取。

1.提取ODB结果文件中的field output(场变量):

odb.steps[].frames[].fieldOutputs[]...(省略号代表未写完,根据需要补充后续语句),其中:

steps[],里输入需要提取数据对应的step,例如:step['Step-1']

frames[],里输入需要提取数据对应的帧,这个帧在不同分析中具有不同的代表意义,需要查阅用户手册去详细了解,按常规最一般的静力分析,frame就是指的后处理中云图的变化情况,当你拖动frame进度条的时候,软件为你呈现整个计算过程中的模型逐步变化,如果你要研究的是加载到某个地方所具有的受力或者位移,那就要确定他是哪一帧,从而在这里输入,例如:frames[15]

fieldOutputs[],里输入所要提取的参数,例如:fieldOutputs['U']

至于该语句剩下内容需要补充什么,全看自身的需求,若提取的仅仅是数据的话,可以采用以下语句:

odb.steps[].frames[].fieldOutputs[].values[].data

为什么多了一个values?因为位移或者力并不是一个节点上所具有的,values[]里需要输入编号,如果是遍历所有部分那就可以采用循环语句去逐个提取。

下述给出了abaqus中该部分内容的英文介绍,但是很遗憾,详细程度还不足以使大家精通,很多未提及语法的正确性与相关功能的实现还要依赖多次的尝试和练习。

http://ivt-abaqusdoc.ivt.ntnu.no:2080/v6.14/books/cmd/default.htm​ivt-abaqusdoc.ivt.ntnu.no:2080
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值