首页/文章/ 详情

Python脚本快速重建翼型选ABAQUS 还是ANSYS ?

4年前浏览4618

前不久,在笔者的朋友圈出现2篇Python二次开发的原创文章引发学习型仿真工程师们的关注:它们分别是孔祥宏博士的《使用Python脚本辅助机翼建模》和小田老师《使用Python脚本快速重建翼型》。其中前者是Python语言在Abaqus中的应用,而后者却是Python语言在ANSYS中的应用。

在此致谢孔博士采用Python脚本在ABAQUS中读取翼型坐标数据,实现快速建立机翼模型(step by step),并提供模型源文件和数据供学习型仿真工程师自学。

此外,我们还要感谢小田老师,以孔博士分享的数据和源文件为基础,分享了Python脚本在ANSYS中实现同样功能(文末提供了源文件)。欢迎学习型工程日后师多加练习,来提升自己二次开发能力。

一、孔博士的原创文章

飞机强度工程师是个很辛苦的工种。
看看波音777的强度试验有多震撼。国内C919、运20的强度试验,也是在经历了无数强度工程师无数昼夜无数轮强度分析的基础上进行的。

为人民解放军造卫星易,为人民群众造飞机难。
下面简单发挥一下Python脚本在Abaqus中的效率,快速建立机翼模型。
1、选择翼型  
翼型千万种,NACA 4、5、6先了解一下。

随便示意一个翼型数据。两列数据为翼型曲线的x、y坐标。后缘约为(1,0)、前缘(0,0),弦线沿X轴,点的顺序为从后缘沿上表面到前缘,再沿下表面到后缘。

2、建草图  
使用Python脚本建草图,代码如下。定义了creat_Airfoil_Sketch( )方法,用于创建翼型草图。除了平直翼,一般一个机翼至少有两个翼型轮廓,翼根和翼梢。
下图中,翼根、翼梢的翼型曲线草图分别为Airfoil-R、Airfoil-T,弦长chord分别为1400mm、1000mm。翼型相对厚度没有改变,否则,y坐标要乘以一个系数。

上面Python脚本中用Spline( )创建样条曲线,用Line( )创建直线。一个封闭的翼型不能用一条样条曲线创建。既然某些NACA翼型的上翼面后端为直线,那么就分两段画翼型曲线。
取翼型上翼面后面两个点画直线,其余画样条曲线。
根据翼型数据的特点,取前两个点坐标画直线,取第2个点及以下所有点画样条曲线。
由于翼型数据是单位化的,乘上弦长就是所需的翼型数据。
在Abaqus/CAE中运行脚本得到两个翼型草图。
3、建机翼  
翼梁、翼肋手动建的,也可以参数化建模,很简单的事。
机翼的上反角、扭转角、前缘后掠角、后缘前/后掠角、翼展等,都可以通过机翼展向各截面草图的相对位置来确定。Abaqus的多截面拉伸/扫掠还是很好用的。建几个参考面,在参考面上画个翼型草图,多截面拉伸/扫掠即可。
4、资料下载 
脚本及翼型数据文件下载链接如下:
链接:https://pan.baidu.com/s/1u2yo7aaA5gMOWKHi0JxFug
提取码:furv
您也可以点击文尾的阅读原文下载本文的全部资料和源文件

二、小田老师的原创文章

上周看见一篇有意思公众号文章:作者(AbaPy)采用Python脚本在Abquas中读取翼型坐标数据,实现快速建立机翼模型。心血来潮,我也来采用Python脚本在ANSYS中实现同样功能。

1、SCDM草图建模

在草图模式中,SCDM中提供了全面的基于Python脚本的草图工具API,常用方法如下:

SCDM脚本中草图工具类


今天我们绘制翼型需要用到Nurbs样条曲线,对应API为SketchNurbs类,开发文档中方法如下:
创建的思路:我们可以先读取翼型坐标数据,存入数组中,然后创建草绘平面,采用SketchNurbs类中CreateFrom2DPoints方法实现。
2、翼型数据处理 
对博主AbaPy分享的千万种翼型数据,我们可以简要对翼型的数据进行分类。
感谢AbaPy分享的翼型数据


下面给出几个的典型的翼型数据,两列数据为翼型曲线的坐标,前缘为(0, 0),后缘约为(1, 0),点的顺序从后缘沿上表面到前缘,再沿下表面到后缘。


典型翼型数据构成
我们可以发现坐标数据从第二行起,坐标之间通过空格分隔,非常有规律;所以就可以通过Python脚本读写文本,接下来循环每一行,然后分隔字符,并通过数组接收,就能得到所有坐标的列表集合。
3、机翼模型创建 
上述翼型数据中,起始与终止坐标一致的,我们可以直接创建样条曲线;如果不一致,就需要在翼面后端处创建直线。所以我们就需要判断初始的样条曲线是否封闭,如果不封闭就连接起始与终止点创建直线。


平直的机翼可以通过拉伸操作直接创建,这次代码演示如何创建翼根和翼梢的翼型轮廓。定义的初始参数为:翼根和翼梢处对应的弦长分别为1400mm、1000mm,机翼长度为2500mm,翼型厚度没有变化;由于翼型数据是单位化的,乘上弦长就是所需的翼型数据。代码如下:


创建的封闭的翼根与翼梢曲线切换到三维模式下填充成面,示意如下。


然后选择两个翼型面,创建融合特征,脚本代码如下:


生成的翼型特征如下所示:



上述脚本对多种翼型适用性好,比如ag04.dat:翼型在翼面后端无法使用样条曲线封闭时,就自动创建直线段封闭。


4、后记  

机翼的上反角、扭转角、前缘后掠角、后缘前/后掠角、翼展等特征,都能通过SCDM脚本快速地创建,并实现参数化建模。最后也能创建一个外流场和边界命名,用于后续的机翼的外气动分析。


本文章内容摘自《SCDM脚本建模及二次开发》系列课中第16讲:CFD分析准备-抽取内流场及创建外流场详解,感兴趣的朋友可以识别文尾图片二维码观看。

作者:孔祥宏博士,小田老师 仿真秀专栏作者

Abaqus二次开发
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2020-04-06
最近编辑:4年前
仿真圈
技术圈粉 知识付费 学习强国
获赞 9862粉丝 21317文章 3459课程 216
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈