二次开发 | ABAQUS提取变形后的节点坐标

源问题
abaqus中,对一圆柱管材冲压胀形,结果中,怎么提取管材的厚度变化曲线?
问题分析
根据问题描述,所述圆柱管材应该采用实体建模,其厚度变化无法直接获得,一种可行的思路是在圆柱管材内外壁找到两个特征节点,以这两个特征节点之间的距离表示管材的厚度,从而得到厚度变化曲线。
ABAQUS中不支持输出变形后的节点坐标(当前使用版本6.12,后续更新版本未知),因此本问题的关键在于如何获取变形后的节点坐标。
如何获取变形后的节点坐标?
目前从网上查找的可行的方法有三种。
方法一
在visualization模块中,通过query-general queries-Nodes工具,逐个选取查询变形后的节点坐标(Deformed coordinates (unscaled)),手动记录后再用其他工具绘制进行处理,得到想要的结果。
此方法适用于较少的节点坐标获取需求,若需要获得的节点数量很多的话,工作量不言而喻。
方法二
先完成计算,得到计算结果的odb文件;
新建一个model,在abaqus菜单中 file-import-part,类型选择odb,导入你的odb,然后在出现的对话框下面选中“import deformed configuration” ,step、frame根据你的需要选择,此时模型上的节点坐标即为变形后的坐标。
此时输出的inp文件中的坐标即为变形后的坐标。如果需要的是特定节点的坐标,则可以新建一个节点set,然后插入关键字(插入位置为end STEP的前一行)
*Node print, nset=nsetname(需要输出的节点集合名)
coord
这样就可将所关注的节点坐标写入到dat文件,使用其他编程工具读取进行后处理。
此方法整个思路其实相对容易理解,但是操作过于繁杂,而且每次只能提取一个增量步的变形节点坐标,输出数据还需要编程读取处理,比较麻烦。
方法三
由于输出的常变量中没有变形后的节点坐标,因此可采用Python语言提取节点坐标(original coordinate)和特定分析步-增量步的变形量,通过运算容易得到变形后的节点坐标。
示例:
根据题目描述,建立一个厚度5mm、高度50mm的圆柱管,在上表面施加-10mm的强制位移约束,在圆柱管(part上,非assembly)内外相对应位置分别建立一个单节点的节点集,分别命名为SET-IN、SET-OUT,采用general static分析步,设置分20个增量步求解(便于绘制曲线),其余为常规操作。

本算例脚本已进行升级,此版本不再提供购买下载(原贴为收费改不过来了),请勿购买!!!
新版代码及使用说明详见:
http://www.jishulink.com/content/post/0c63a829-4f12-43c9-970a-070e77481906
以下内容为付费内容,请购买后观看
64人购买
脚本已进行版本更新,详见:http://www.jishulink.com/content/post/0c63a829-4f12-43c9-970a-070e77481906

工程师必备
- 项目客服
- 培训客服
- 平台客服
TOP
