当前位置: 东方风力发电网>观视频 >会议、会展视频>CWPC>CWPC2024 > CWPC2024:三一重能股份有限公司叶片研究院研发项目经理邹文尧发表《风电叶片铺层迭代优化的全过程自动化实现》的演讲

CWPC2024:三一重能股份有限公司叶片研究院研发项目经理邹文尧发表《风电叶片铺层迭代优化的全过程自动化实现》的演讲

2024-04-28 浏览数:21

各位专家大家早上好,我今天带来的题目是:风电叶片铺层优化全过程自动化。我的题目可能和刘总这边有一点重复,我还会

各位专家大家早上好,我今天带来的题目是:风电叶片铺层优化全过程自动化。

我的题目可能和刘总这边有一点重复,我还会介绍具体实践的关键技术。首先,我会把软件做一个解释。再分别介绍一下3个功能,载荷拟合自动化、网格划分自动化、迭代计算自动化。

1、自动化软件展示

(图示)这是载荷拟合的界面程序,这里有一个自动拟合的功能,我们现在载荷的方向比较多,24个方向,点击一下自动拟合就会把所有载荷全部拟合出来,然后加载力会控制的相对比较小。24个方向总共花的时间大概是1分多钟,拟合之后直接输出加载力文件可以直接用。

(图示)这是网格自动化生成界面,在这个页面是设置主梁的定位,区域的范围,还有其他页面要设置网格的密度,后缘粘接胶宽度,然后点击生成网格就开始按顺序,先生成主梁网格,然后是前缘区后缘区,腹板网格,自动切C口或者燕尾,最后生成后缘实体单元。

(图示)叶片铺层前后处理软件,在前处理页面,设置了很多的输入帮助,可以通过点击以及快捷键快速设置铺层参数,在这页面点击更新模型,软件就开始处理铺层参数,把ANSYS模型更新,在链接ANSYS这个页面,主要是设置载荷、选择计算项目提交计算,包括模态、屈曲、极限FF、特征IFF、等效疲劳应变等,在有限元数据页面,可以三D展示计算结果,屈曲结果可以很多阶同时展示,可以方便的查询屈曲敏感位置和屈曲因子的大小。做自动化的一个主要的目的呢,是规范校核的过程,减少一些低级错误的发生,然后能够极大的提升效率,节约时间。我们的目标呢是能够做到一键更新模型,一键开启优化,目前呢已经基本达到了这个目的。后面就分别讲一下这三个软件是怎么实现的。

为什么做这件事情呢?我们知道叶片做有限元计算,它有几个特点,第一个主要的特点就是铺层复杂,叶根的单轴布,双轴布和三轴布的搭配,主梁厚度分布的调整,腹板铺层双轴布和芯材厚度的选择,是双腹板结构还是三腹板结构,还是单腹板结构。第二个特点呢是计算项目多,需要计算纤维失效,纤维间失效,纤维疲劳失效,屈曲失效,很多失效计算需要专门编制程序来做后处理计算。第三个特点就是载荷工况多,以前都是四个方向的载荷,后来到现在用的比较多的是12方向,现在有些厂家包括我们已经开始用24方向,方向越多,计算的结果肯定是越精准,但是计算量就会增大很多。除了满足设计工况之外,试验工况也要考虑,因为现实条件的限制,试验工况的载荷通常风险更高,那我们就要计算钢丝绳拉伸加载下的安全裕度,挥舞和摆振疲劳工况下的应变强度。总结起来就是可控变量多,计算量大。

叶片建模仿真的常规做法,会用到很多不同的软件,第一个就是几何前处理的软件,做主梁定位,腹板建模,边界线划分,然后导入到hypermesh或者workbench,或者ANSA中划分网格,然后使用专业的复合材料插件来做铺层,比如workbench的ACP,abaqus的铺层插件,计算呢就是ansys abaqus nastran。那我们能不能把这些功能都集中到同一套代码里面,当然想取代这些软件基本是不可能的。我在实现自动化的过程中,最主要的2点原则:第一个是利用好python的资源;第二个是不断优化操作体验,自动化程度是没有止境的。

主要包括几个方面的设计:界面设计、数据处理、接口。首先我们要编一个简单的平台,来实现参数的输入和计算结果的输出,然后再增加一些二维显示和三维显示的功能,再增加一些控制其他软件,或者跟其他软件通信的功能。主要用的编程语言是Python。那可能有的人就会有疑问,一个用Python写的软件,如果包含那么多的功能,是不是会运行很慢,容易卡顿?那我这边的实际经验可以给出结论,在完成3万多行的代码之后,现在这个软件运行依然非常流畅。比ACP流畅,比abaqus铺层插件也流畅得多。SSH接口是调用HPC资源来做计算的接口。

2、载荷拟合自动化

现在讲第一个内容,载荷拟合的自动化,我觉得有两个难题需要解决,第一个就是滤波,让数据变化更平滑,我这边使用的是sg滤波方法,效果还是比较好的,然后插值的话是用的分段三次hermite插值。界面程序的编写主要有两部分,第一个是用pyqt5创建功能窗口,我们用qt设计师就可以很方便地创建一个界面程序,把按钮,表格拖入到主页面中就完成了界面设计。当然这个pyqt界面设计要做得好用,还是需要花很多时间去专门学习的。

3、网格划分自动化

首先使用igspy这个插件,读取几何外形导出的igs文件,生成截面坐标点,得到节点的位置,要写一个算法来做计算。然后使用坐标点得网格单元需要的节点,这里我用的是极坐标下角度与弧长的拟合,配合曲线积分长度求解,来精确得到节点的位置。

(图示)这是一个对比,代码生成节点与几何软件CATIA生成节点的一个对比,左边可以看到代码生成的主梁点的边界上的点,都在几何软件画的线上,非常一致。右侧是一个辅梁定位点的对比,x坐标的差异只有0.007mm,y坐标的差异只有0.019mm,可以说这个偏差是非常小了。得到了后缘截面节点的分布之后,可以很方便的生成实体垫块单元,这里只需要简单的向量运算,长度切分,就可以实现,在上下表面,我预留了8mm厚的单元,用于模拟垫块下的粘接胶。

(图示)这是生成网格的结果,这个软件可以在5分钟之内自动更新一次,支持区域单元集合、边界线节点集合的自动创建,这是为了方便后面的自动铺层定位。

4、迭代计算自动化

这边我们要用到的一个关键技术就是做弦向定位,我们设计的算法是这样,从边界线节点往一侧,一个单元一个单元的求解距离,得到每个单元距离边界线的近似弧长距离,只要网格足够精细,这个弧长和几何曲线的弧长是非常接近的。我们对比过2.7米弦向宽度,它的宽差只有2毫米,这个偏差也是非常小的。右侧是一个弦向距离云图。这个算法解决之后,我们可以输入库存参数,自动寻找库存所需要的单元。

第二个关键技术是铺层转化为截面,ANSYS和ABAQUS都是基于单元的截面属性计算,铺层向截面属性的转换可以借助矩阵变换完成。包含单元标记为1,否则标记0,10秒钟就可以转换完成,效率非常快。

模型的精度也要有保证,这里介绍一下芯材厚度的自动修正,也就是倒角,实际生产中,弦向的主梁边,展向的不同厚度芯材之间都会有倒角,让厚度过渡更加光顺,计算模型虽然做不到实体生产那么精细,但是近似得做一些倒角厚度的调整还是比较容易的。这里只需要考虑单元距离边界线的长度,芯材的厚度差,把厚度差加上去或减去就可以了。图中可以看到,做完倒角之后的模型,其材料分布是更接近生产实际情况的。而在我们分析的个别案例中,也发现了倒角后的计算结果与试验结果更为一致。

在有限元计算中,以ANSYS为例,可以编制固定的命令流代码用于计算,然后在python环境中,可以使用ansys官方开发的扩展包实现python对ansys的后台控制,使用.inupt执行命令流完成结构计算。另一种方式是在python中直接执行ansys的python代码,比如上图,命令的用法没有太大差异。

模型的数据我们导出来之后可以简单做一个变换,3D显示方面,这里用的是VTK,当然也有其他的插件可以使用,比如openGL。这里要按照VTK的数据格式要求,输入节点和单元数据,为了便于观察,我们可以把部分部件的坐标做一些变换,就得到了同一个平面上,SS壳体、PS壳体和腹板同时显示的效果。计算项设定阈值评估保守区域和危险区域,将零散的单元还原为铺层参数,继续优化计算。这个过程类似于金融结构的拓扑优化,哪里材料不足就补哪里,哪里材料多就去掉。里面也可以加一些设置,不能减少的补充之类的。这样全套软件就实现不依赖大型的几何处理软件,也不依赖网格化软件,铺层处理我们可以自己做。未来还有一些值得做的开发方向,比如:网格自适应调整,符合铺层弦向10mm级容差。统计铺层数据,引入AI大模型,尝试更多的设计路线。使用第三方有限元工具,自定义计算单元。批量子模型方法,快速优化局部铺层。

主要就是这些,谢谢大家!


版权与免责声明:
凡注明稿件来源的内容均为转载稿或由企业用户注册发布,本网转载出于传递更多信息的目的,如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性;


本文地址:http://www.eastwp.net/video/show.php?itemid=2346

转载本站原创文章请注明来源:东方风力发电网

按分类浏览

点击排行

推荐观视频