Python腳本快速重建翼型選ABAQUS 還是ANSYS ?



Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

作者 | 孔祥宏 小田老師


Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

導讀:前不久,在筆者的朋友圈出現2篇Python二次開發的原創文章引發學習型仿真工程師們的關注:它們分別是孔祥宏博士的《使用Python腳本輔助機翼建模》和小田老師《使用Python腳本快速重建翼型》。其中前者是Python語言在Abaqus中的應用,而後者卻是Python語言在ANSYS中的應用。

在此致謝孔博士採用Python腳本在ABAQUS中讀取翼型座標數據,實現快速建立機翼模型(step by step),並提供模型源文件和數據供學習型仿真工程師自學。

此外,我們還要感謝小田老師,以孔博士分享的數據和源文件為基礎,分享了Python腳本在ANSYS中實現同樣功能(文末提供了源文件)。歡迎學習型工程日後師多加練習,來提升自己二次開發能力。

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

飛機強度工程師是個很辛苦的工種。

看看波音777的強度試驗有多震撼。國內C919、運20的強度試驗,也是在經歷了無數強度工程師無數晝夜無數輪強度分析的基礎上進行的。

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

為人民解放軍造衛星易,為人民群眾造飛機難。

下面簡單發揮一下Python腳本在Abaqus中的效率,快速建立機翼模型。

1、選擇翼型

翼型千萬種,NACA 4、5、6先了解一下。

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

隨便示意一個翼型數據。兩列數據為翼型曲線的x、y座標。後緣約為(1,0)、前緣(0,0),絃線沿X軸,點的順序為從後緣沿上表面到前緣,再沿下表面到後緣。

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

2、建草圖

使用Python腳本建草圖,代碼如下。定義了creat_Airfoil_Sketch( )方法,用於創建翼型草圖。除了平直翼,一般一個機翼至少有兩個翼型輪廓,翼根和翼梢。

下圖中,翼根、翼梢的翼型曲線草圖分別為Airfoil-R、Airfoil-T,弦長chord分別為1400mm、1000mm。翼型相對厚度沒有改變,否則,y座標要乘以一個係數。

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

上面Python腳本中用Spline( )創建樣條曲線,用Line( )創建直線。一個封閉的翼型不能用一條樣條曲線創建。既然某些NACA翼型的上翼面後端為直線,那麼就分兩段畫翼型曲線。

取翼型上翼面後面兩個點畫直線,其餘畫樣條曲線。

根據翼型數據的特點,取前兩個點座標畫直線,取第2個點及以下所有點畫樣條曲線。

由於翼型數據是單位化的,乘上弦長就是所需的翼型數據。

在Abaqus/CAE中運行腳本得到兩個翼型草圖。

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

3、建機翼

翼梁、翼肋手動建的,也可以參數化建模,很簡單的事。

機翼的上反角、扭轉角、前緣後掠角、後緣前/後掠角、翼展等,都可以通過機翼展向各截面草圖的相對位置來確定。Abaqus的多截面拉伸/掃掠還是很好用的。建幾個參考面,在參考面上畫個翼型草圖,多截面拉伸/掃掠即可。

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

4、資料下載

腳本及翼型數據文件下載鏈接如下:

鏈接:https://pan.baidu.com/s/1u2yo7aaA5gMOWKHi0JxFug
提取碼:furv

您也可以點擊文尾的閱讀原文下載本文的全部資料和源文件


上週看見一篇有意思公眾號文章:作者(AbaPy)採用Python腳本在Abquas中讀取翼型座標數據,實現快速建立機翼模型。心血來潮,我也來採用Python腳本在ANSYS中實現同樣功能。

1、SCDM草圖建模

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

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

SCDM腳本中草圖工具類

今天我們繪製翼型需要用到Nurbs樣條曲線,對應API為SketchNurbs類,開發文檔中方法如下:

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

創建的思路:我們可以先讀取翼型座標數據,存入數組中,然後創建草繪平面,採用SketchNurbs類中CreateFrom2DPoints方法實現。

2、翼型數據處理

對博主AbaPy分享的千萬種翼型數據,我們可以簡要對翼型的數據進行分類。

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

感謝AbaPy分享的翼型數據

下面給出幾個的典型的翼型數據,兩列數據為翼型曲線的座標,前緣為(0, 0),後緣約為(1, 0),點的順序從後緣沿上表面到前緣,再沿下表面到後緣。

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

典型翼型數據構成

我們可以發現座標數據從第二行起,座標之間通過空格分隔,非常有規律;所以就可以通過Python腳本讀寫文本,接下來循環每一行,然後分隔字符,並通過數組接收,就能得到所有座標的列表集合。

3、機翼模型創建

上述翼型數據中,起始與終止座標一致的,我們可以直接創建樣條曲線;如果不一致,就需要在翼面後端處創建直線。所以我們就需要判斷初始的樣條曲線是否封閉,如果不封閉就連接起始與終止點創建直線。

平直的機翼可以通過拉伸操作直接創建,這次代碼演示如何創建翼根和翼梢的翼型輪廓。定義的初始參數為:翼根和翼梢處對應的弦長分別為1400mm、1000mm,機翼長度為2500mm,翼型厚度沒有變化;由於翼型數據是單位化的,乘上弦長就是所需的翼型數據。代碼如下:

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

創建的封閉的翼根與翼梢曲線切換到三維模式下填充成面,示意如下。

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

然後選擇兩個翼型面,創建融合特徵,腳本代碼如下:

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

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

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

上述腳本對多種翼型適用性好,比如ag04.dat:翼型在翼面後端無法使用樣條曲線封閉時,就自動創建直線段封閉。

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

4、後記

機翼的上反角、扭轉角、前緣後掠角、後緣前/後掠角、翼展等特徵,都能通過SCDM腳本快速地創建,並實現參數化建模。最後也能創建一個外流場和邊界命名,用於後續的機翼的外氣動分析。

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

本文章內容摘自《

SCDM腳本建模及二次開發》系列課中第16講:CFD分析準備-抽取內流場及創建外流場詳解,感興趣的朋友可以識別文尾圖片二維碼觀看。

三、寫在最後

以上是兩位仿真優質內容創作者使用Python腳本在ABAQUS和ANSYS有限元軟件快速重建翼型step by step 全部介紹,歡迎學習型工程師拿到源文件後勤加鍛鍊,提升自己。最後,歡迎大家把學習感受在後臺留言告訴我。

誠邀您填寫學習問卷

作者:孔祥宏博士,小田老師 仿真秀專欄作者

聲明:原創文章,本文部分轉自AbaPY公眾號(ID:AbaPY_k)和ANSYS仿真與開發公眾號(ID:ansys_development),本文已經被授權,部分圖片源自網絡,如有不當請聯繫我們,歡迎分享,禁止私自轉載,轉載請聯繫我們。

Python腳本快速重建翼型選ABAQUS 還是ANSYS ?

在仿真秀官網或APP文章附件下載本文全部源文件和資料



分享到:


相關文章: