微信掃描二維碼,即可將本頁分享到“朋友圈”中。
2024-04-28 瀏覽數:96
各位專家大家早上好,我今天帶來的題目是:風電葉片鋪層優化全過程自動化。我的題目可能和劉總這邊有一點重復,我還會
各位專家大家早上好,我今天帶來的題目是:風電葉片鋪層優化全過程自動化。
我的題目可能和劉總這邊有一點重復,我還會介紹具體實踐的關鍵技術。首先,我會把軟件做一個解釋。再分別介紹一下3個功能,載荷擬合自動化、網格劃分自動化、迭代計算自動化。
1、自動化軟件展示
(圖示)這是載荷擬合的界面程序,這里有一個自動擬合的功能,我們現在載荷的方向比較多,24個方向,點擊一下自動擬合就會把所有載荷全部擬合出來,然后加載力會控制的相對比較小。24個方向總共花的時間大概是1分多鐘,擬合之后直接輸出加載力文件可以直接用。
(圖示)這是網格自動化生成界面,在這個頁面是設置主梁的定位,區域的范圍,還有其他頁面要設置網格的密度,后緣粘接膠寬度,然后點擊生成網格就開始按順序,先生成主梁網格,然后是前緣區后緣區,腹板網格,自動切C口或者燕尾,最后生成后緣實體單元。
(圖示)葉片鋪層前后處理軟件,在前處理頁面,設置了很多的輸入幫助,可以通過點擊以及快捷鍵快速設置鋪層參數,在這頁面點擊更新模型,軟件就開始處理鋪層參數,把ANSYS模型更新,在鏈接ANSYS這個頁面,主要是設置載荷、選擇計算項目提交計算,包括模態、屈曲、極限FF、特征IFF、等效疲勞應變等,在有限元數據頁面,可以三D展示計算結果,屈曲結果可以很多階同時展示,可以方便的查詢屈曲敏感位置和屈曲因子的大小。做自動化的一個主要的目的呢,是規范校核的過程,減少一些低級錯誤的發生,然后能夠極大的提升效率,節約時間。我們的目標呢是能夠做到一鍵更新模型,一鍵開啟優化,目前呢已經基本達到了這個目的。后面就分別講一下這三個軟件是怎么實現的。
為什么做這件事情呢?我們知道葉片做有限元計算,它有幾個特點,第一個主要的特點就是鋪層復雜,葉根的單軸布,雙軸布和三軸布的搭配,主梁厚度分布的調整,腹板鋪層雙軸布和芯材厚度的選擇,是雙腹板結構還是三腹板結構,還是單腹板結構。第二個特點呢是計算項目多,需要計算纖維失效,纖維間失效,纖維疲勞失效,屈曲失效,很多失效計算需要專門編制程序來做后處理計算。第三個特點就是載荷工況多,以前都是四個方向的載荷,后來到現在用的比較多的是12方向,現在有些廠家包括我們已經開始用24方向,方向越多,計算的結果肯定是越精準,但是計算量就會增大很多。除了滿足設計工況之外,試驗工況也要考慮,因為現實條件的限制,試驗工況的載荷通常風險更高,那我們就要計算鋼絲繩拉伸加載下的安全裕度,揮舞和擺振疲勞工況下的應變強度??偨Y起來就是可控變量多,計算量大。
葉片建模仿真的常規做法,會用到很多不同的軟件,第一個就是幾何前處理的軟件,做主梁定位,腹板建模,邊界線劃分,然后導入到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.al-hams.com/video/show.php?itemid=2346
轉載本站原創文章請注明來源:東方風力發電網
東方風力發電網
微信掃描關注