首页/文章/ 详情

基于Python的Ansys后处理二次开发

7月前浏览11457

以下文章来源于CAE数值优化轻量化 ,作者方永利

本文摘要(由AI生成):

本文主要介绍了基于Python的ANSYS结果自动后处理内容,包括数据深度处理、完成商用后处理软件无法完成的数据处理工作、自动化后处理和优化软件联合等优点。文章以Anterior Cruciate Ligament (ACL) 前交叉韧带仿真分析为例,介绍了有限元模型、材料模型、边界条件和载荷、分析结果等内容。最后,文章还介绍了基于Python的ANSYS结果自动后处理开发,包括求米塞斯应力强度函数、应力应变计算、输出结果文件等。


今天简单介绍下基于Python的ANSYS结果自动后处理内容。这里用Python做后处理主要有以下几个原因:

1. 可以进行数据深度处理,尤其是对于大量分析数据可以进行基于机器学习等内容的研究。

2. 可以完成商用后处理软件无法完成的数据处理工作。

3. 可自动化后处理包括自动出报告等。

4.可用于优化软件的联合。

诚然无论是ANSYS自带的后处理模块还是商业后处理软件hyperview/hypergraph/meta/Animator4等都可以进行丰富的后处理工作,亦可以进行二次开发完成结果处理和自动报告生成。ANSYS经典界面的参数化编程语言APDL,Hyperworks的tcl语言,meta自带的Python接口,Animator4的tcl语言等都可以进行二次开发。这里只是简单介绍一下另外一个思路。

为了不过于单调,这里选了一个比较有意思的小例子介绍基于Python的ANSYS结果文件自动后处理过程。

Anterior Cruciate Ligament (ACL) 前交叉韧带仿真分析

背景:运动和汽车事故是韧带损伤的重要原因,前交叉韧带(ACL)的损伤是最常见的韧带损伤。在将人的膝盖关节固定在一起的许多韧带中,ACL尤为重要,因为它可以保持膝盖的稳定性,并通过限制关节运动来帮助防止对膝盖的伤害。ACL主要由连接股骨和胫骨的密集堆积的胶原纤维组成。ACL位于膝盖关节内部,如下图所示:

图片

研究表明,ACL极限抗张力强度(2020±264)N,最大形变(15.9±3.5)mm。ACL刚度为240N/mm,弹性模量为278MPa,极限抗张强度为35MPa[9]。所受应力变化与膝关节屈伸位置、肌肉收缩状态、负重或者非负重都有关系。ACL材料属性的研究不能全面反映运动状态下ACL受力变化。研究表明,ACL应力变化在不同外力大小、屈曲角度下及不同分束之间是不相同的。屈伸运动中,110N和22N胫骨前向外力下,当屈曲15°时ACL应力最大,为(110.6±14.8)N和(25.7±3.7)N;在屈曲90°时应力最小,为(71.1±29.5)N和(12.8±7.3)N。不同分束在屈伸过程中应力变化也不相同。

日常活动中ACL最大应力均小于极限应力,一般为极限应力0.0%~44%。正常情况下以股四头肌收缩为主、屈曲度较小情况下(如股四头肌等长收缩、蹲起、主动伸膝等)ACL受力较大;而以腘绳肌收缩为主、屈曲度较大情况下(如腘绳肌等长收缩、60°和90°时股四头肌的等长收缩和股四头肌、腘绳肌协同收缩等)ACL应力则很小。步态循环中早期阶段(脚离地过程)ACL所受剪切力较大,在单脚离地时刻产生最大应力303N。后期阶段(脚着地过程)由于肌肉收缩、地面反作用以及胫骨-股骨之间相互作用,此时ACL受力较小。了解生理活动下ACL受力变化规律,对术后正确康复,避免ACL危险位置和动作,防止负荷过大有重要意义。00:45

问题描述:由于较大的变形和旋转,ACL表现出高度的非线性和各向异性,并表现出明显的应变率相关性。各向异性行为是由排列在柔软材料基质中的胶原纤维族引起的。韧带是粘弹性的,因此表现出与时间有关和与载荷历史有关的机械性能。韧带的粘弹性行为具有临床意义,因为它们有助于防止韧带的疲劳衰竭。

本文的研究内容是使用具有粘弹性的各向异性超弹性材料模型来建模各向异性,非线性行为,大应变,对弯曲载荷的高顺应性和不可压缩性。

ACL是膝盖的四个主要稳定韧带之一。当受到弯曲,拉伸和旋转时,它限制了胫骨相对于股骨的运动。

有限元模型:ACL使用SOLID187单元进行网格画分。股骨使用刚性面的。在股骨表面和ACL之间定义了标准接触(KEYOPT(12)= 0)。

图片

材料模型:使用各向异性超弹性材料模型用于ACL仿真。各向异性超弹性是一种基于势的函数,具有用于定义体积部分,等容部分和材料方向的参数。各向异性超弹性的应变能势由下式给出:
图片
各向异性超弹材料模型常数:

图片

ANSYS求解文件材料模型参数化:

图片

边界条件和载荷:ACL模型的胫骨(底部)侧保持固定,并约束所有自由度。膝关节可弯曲,伸展和旋转。因此,分析考察了ACL在单轴弯曲,拉伸和旋转下的行为这三个工况。

工况一:在ACL的上表面施加单轴位移载荷,总拉伸率为1.12。
工况二:ACL发生45度弯曲(膝盖弯曲)
工况三:在1.5秒的时间内使股骨表面旋转11.25度。
分析结果:
工况一:拉伸
图片
(注:这种云图不是PS的,是在后处理软件中完成的)

工况二:弯曲

图片

图片
在最大应力处容易发生损伤撕裂。

图片

工况三:旋转

旋转.gif

图片

Anterior Cruciate Ligament (ACL) 前交叉韧带参数优化

这里主要用于ACL各向异性超弹材料模型的参数拟合。即材料模型中的四个参数a1、c1、c2、d。通过Python直接读取rst结果文件,并将ACL的应力应变结果输出,用于材料参数拟合优化分析。关于材料参数优化本文就不做过多介绍,具体方法可以参考以往文章。包括基于LSOPT、Isight、Heeds、Optimus、Modefrontier的都已经备全了。当然,也可以直接在Python中进行拟合优化。

基于Python的ANSYS结果自动后处理开发

图片

ac71fcfcbf4a5b09b9cea502f4a305a.png

这里定义了一个求米塞斯应力强度的函数,因为通过Python直接读取的rst结果中只有基础解,即节点的6分应力分量。如果需要考察主应力、等效应力强度等需要对基础解进行计算即可。

e5787ac0255c89514d68107108b1411.png

这里的stresslist1为最后一个子步所有节点的应力强度结果,从中找到最大应力的节点,用于后续输出该节点的应力应变数据和曲线。

058dafe5dc103a09c398cf085c889e5.png

这里将应力应变写到stressliststrainlist列表中。

ae30472cadf3c60c808613ad43e152e.png

在spyder中运行的效果,优化联合时后台运行即可。

图片

图片

在优化联合时,只需要将应力应变数据输出到结果文件即可。

注:
1. ANSYS批处理提交命令语法为:“ANSYS_Install_Path\ANSYSxxx.exe” -np 2 -b -i acl_tension.dat -o acl_tension.out
2. 读取ANSYS输入文件、结果文件需要安装pyansys库。
库功能介绍:
*Interactively control an instance of ANSYS v14.5   using Python on        Linux, >=17.0 on Windows.
*Extract data directly from binary ANSYS v14.5  files and to display or animate them.
*Rapidly read in binary result (.rst), binary mass and stiffness (.full), and ASCII block archive (.cdb) files.
3. 文中云图不是PS的,均为在后处理软件中完成的。

后处理分析二次开发汽车医疗器具python运动休闲仿生
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-11-29
最近编辑:7月前
CAE学习之家
本科 | CAE仿真 专业团队、精致服务!
获赞 80粉丝 9259文章 38课程 4
点赞
收藏
未登录
1条评论
风起
静水流深
1年前
厉害
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈