以下文章来源于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结果文件自动后处理过程。
研究表明,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表现出高度的非线性和各向异性,并表现出明显的应变率相关性。各向异性行为是由排列在柔软材料基质中的胶原纤维族引起的。韧带是粘弹性的,因此表现出与时间有关和与载荷历史有关的机械性能。韧带的粘弹性行为具有临床意义,因为它们有助于防止韧带的疲劳衰竭。
本文的研究内容是使用具有粘弹性的各向异性超弹性材料模型来建模各向异性,非线性行为,大应变,对弯曲载荷的高顺应性和不可压缩性。
ACL是膝盖的四个主要稳定韧带之一。当受到弯曲,拉伸和旋转时,它限制了胫骨相对于股骨的运动。
ANSYS求解文件材料模型参数化:
边界条件和载荷:ACL模型的胫骨(底部)侧保持固定,并约束所有自由度。膝关节可弯曲,伸展和旋转。因此,分析考察了ACL在单轴弯曲,拉伸和旋转下的行为这三个工况。
工况二:弯曲
工况三:旋转
这里主要用于ACL各向异性超弹材料模型的参数拟合。即材料模型中的四个参数a1、c1、c2、d。通过Python直接读取rst结果文件,并将ACL的应力应变结果输出,用于材料参数拟合优化分析。关于材料参数优化本文就不做过多介绍,具体方法可以参考以往文章。包括基于LSOPT、Isight、Heeds、Optimus、Modefrontier的都已经备全了。当然,也可以直接在Python中进行拟合优化。
这里定义了一个求米塞斯应力强度的函数,因为通过Python直接读取的rst结果中只有基础解,即节点的6分应力分量。如果需要考察主应力、等效应力强度等需要对基础解进行计算即可。
这里的stresslist1为最后一个子步所有节点的应力强度结果,从中找到最大应力的节点,用于后续输出该节点的应力应变数据和曲线。
这里将应力应变写到stresslist和strainlist列表中。
在spyder中运行的效果,优化联合时后台运行即可。
在优化联合时,只需要将应力应变数据输出到结果文件即可。