曾 鵬,景 偉,張 帥
(上海振華重工(集團(tuán))股份有限公司,上海 210031)
岸邊集裝箱起重機(簡稱岸橋)是安裝在港口、碼頭前沿等用于集裝箱裝卸的主要設(shè)備,在國際港口貿(mào)易中起到關(guān)鍵性作用。岸橋從設(shè)計、配套件采購制造、調(diào)試發(fā)運交機整個產(chǎn)品周期約為10~13個月。隨著行業(yè)增速放緩、港口物流市場競爭加劇,客戶對產(chǎn)品交付周期以及產(chǎn)品質(zhì)量有了更高的要求。岸橋主結(jié)構(gòu)作為岸橋產(chǎn)品的重要組成部分,對岸橋的提質(zhì)增效起到至關(guān)重要的影響,但在實際設(shè)計階段,岸橋主結(jié)構(gòu)仿真建模分析占用了許多時間,并受到諸多方面的制約:定制化產(chǎn)品的設(shè)計標(biāo)準(zhǔn)化程度較低,需要很多重復(fù)性的工作;結(jié)構(gòu)優(yōu)化缺乏通用的模型描述方法;幾何尺寸參數(shù)的修改無法自動更新相應(yīng)的有限元模型;由多個部件組成的岸橋有限元模型,當(dāng)個別部件出現(xiàn)較大改動或替換時,盡管單元模型可以組裝,但相互之間參數(shù)存在沖突,需要重新梳理,操作也比較繁瑣;計算模型與詳細(xì)設(shè)計模型缺乏很好的交互性。本文介紹的快速仿真建模分析為上述問題提供了一種解決方案。
項目采用基于幾何造型的有限元建模方法[1],將參數(shù)化設(shè)計和有限元分析結(jié)合起來。創(chuàng)建的岸橋主結(jié)構(gòu)參數(shù)化有限元模型,依循數(shù)字化定義規(guī)范、企業(yè)標(biāo)準(zhǔn)和行業(yè)規(guī)范,在設(shè)計軟件(Inventor)中參數(shù)化建模,然后再將非幾何信息寫入三維模型中,最終形成可供計算的模型。
參數(shù)化建模是通過參數(shù)將結(jié)構(gòu)模型以數(shù)字化的形式存儲起來,具有準(zhǔn)確、快速、便于修改等特點。由于岸橋主結(jié)構(gòu)復(fù)雜,相比于在ANSYS軟件進(jìn)行建模,在Inventor設(shè)計軟件進(jìn)行參數(shù)化建模操作更加簡單,參數(shù)更加明確,幾何造型也更容易通過拓?fù)潢P(guān)系進(jìn)行修改。幾何造型完成后,再通過C#語言,采用序列化的方法將進(jìn)程中模型轉(zhuǎn)換為字節(jié)流,以父類BaseObject為例:
[Serializable]//序列化標(biāo)識
public abstract class BaseObject:IxmlSerializable//接口
public virtual void Writexml(xmlWriter writer)//虛函數(shù)會在子類繼承時被重寫,主要目的是向字節(jié)流寫入數(shù)據(jù)
public virtual void Readxml(xmlReader reader)// 虛函數(shù)會在子類繼承時被重寫,主要目的是從字節(jié)流讀入數(shù)據(jù)
通過該方法將ANSYS模型分析所需要的包括截面信息、質(zhì)量、小車位置信息、載荷以及載荷組合寫入到模型中。
計算模型創(chuàng)建完成后,通過Python編寫的處理器將模型導(dǎo)入到ANSYS軟件進(jìn)行計算,然后將計算結(jié)果通過界面顯示,并自動生成標(biāo)準(zhǔn)計算書。
創(chuàng)建產(chǎn)品知識庫是參數(shù)化有限元建模的關(guān)鍵[2],其目的是將模型需要的幾何和非幾何信息以元數(shù)據(jù)形式統(tǒng)一表述,以xML(Extensible Markup Language,可擴(kuò)展標(biāo)記語言)記錄,這些信息包括模型幾何驅(qū)動參數(shù)、組件信息、規(guī)則庫及各個函數(shù)應(yīng)用類庫等。在計算模型創(chuàng)建的各階段,程序都可以以元數(shù)據(jù)的格式調(diào)用模型中的參數(shù)。以幾何參數(shù)“GA_001”為例,書寫格式如下:
圖1 參數(shù)輸入界面
隨著產(chǎn)品類型豐富,知識庫的信息將會不斷完善,界面信息會隨著知識庫的添加,也會自動修改。
知識庫中定義的幾何元素包括組件信息和驅(qū)動參數(shù),組件信息又包含計算的岸橋裝配模型樹結(jié)構(gòu)、項目工號、應(yīng)力等級、最大使用次數(shù)、起升速度等基礎(chǔ)參數(shù),驅(qū)動參數(shù)包括驅(qū)動關(guān)系及使用參數(shù)(圖2為項目工作流)。非幾何元素中定義了規(guī)則庫和函數(shù)類庫的結(jié)構(gòu)形式,將企業(yè)的項目規(guī)范通過標(biāo)準(zhǔn)格式寫入知識庫中,并在元數(shù)據(jù)中集成了FEM規(guī)范(歐洲起重機械設(shè)計規(guī)范)[3],定義了模型中使用的函數(shù)與外部VBA計算函數(shù)的結(jié)構(gòu)。
圖2 項目工作流
知識庫搭建完成后,根據(jù)元數(shù)據(jù)制定的規(guī)則,創(chuàng)建三維參數(shù)化模型,模型創(chuàng)建方法采用自頂向下的設(shè)計思路。岸橋主結(jié)構(gòu)主要由梁、柱組成,且多為鋼板焊接而成的閉口箱體,截面處多添加隔板以支撐。根據(jù)上述鋼結(jié)構(gòu)特點,計算模型在初始建模時,多采用梁單元創(chuàng)建。在設(shè)計軟件中使用草圖組成的骨架模型(如圖3所示)實現(xiàn)梁單元功能,再通過C#編寫的參數(shù)輸入界面,填寫參數(shù)值,通過VBA和iLogic驅(qū)動模型幾何拓?fù)潢P(guān)系,完成計算模型幾何造型。
圖3 骨架模型
部分iLogic代碼如下:
上述代碼描述函數(shù)Update_SGA_002(),當(dāng)全局參數(shù)GA_202大于13米,有后拉桿,否則無后拉桿。
計算模型需要的非幾何元素,通過C#編寫的人機交互界面,界面樹結(jié)構(gòu)圖。Structure General Arrangement為裝配結(jié)構(gòu)樹,下面結(jié)構(gòu)為各個部件的Beam單元,通過界面可以添加Beam單元截面信息。Mass Components為質(zhì)量結(jié)構(gòu)樹,由于部件為預(yù)設(shè)質(zhì)量,質(zhì)量添加后,會在此結(jié)構(gòu)樹下顯示。Restraint Locations為約束點結(jié)構(gòu)樹,顯示各約束點位置,Moving Load Location顯示動載荷位置,Joints顯示連接點,Library Sections顯示Beam調(diào)用截面信息。
結(jié)構(gòu)樹信息錄入完成后,接著錄入剛性單元、載荷以及載荷組合信息。載荷及載荷組合通過序列化的方法,將已定義的結(jié)構(gòu)類存儲在模型中,C#中相關(guān)類函數(shù)定義如下:
載荷和載荷組合的顯示及修改基于C#編寫界面。
載荷信息等輸入完成后,即完成了計算模型的全部信息錄入,最終模型如圖4所示。將計算模型通過python編寫的處理器自動導(dǎo)入到ANSYS中進(jìn)行計算。
ANSYS軟件完成有限元分析,其中風(fēng)載荷和疲勞載荷相關(guān)計算導(dǎo)入到VB編寫的程序中計算,將計算后的單元和節(jié)點信息輸出。其計算結(jié)果再通過后臺程序調(diào)用計算報告模板,并依據(jù)Office軟件VBA編寫的代碼,將數(shù)據(jù)添加到模板中,自動生成計算報告如圖5所示。
圖5 結(jié)果顯示界面
岸橋有限元參數(shù)化將建模過程還原到三維設(shè)計軟件(Inventor)中,幾何參數(shù)和拓?fù)潢P(guān)系可以直接采用軟件自帶VBA函數(shù)進(jìn)行創(chuàng)建,操作更加簡單。非幾何信息的添加雖然需要程序開發(fā),但不同于傳統(tǒng)的[4]基于APDL(ANSYS Parametric Design Language,ANSYS參數(shù)化設(shè)計語言)開發(fā),程序基于知識庫編寫,開發(fā)的代碼的格式規(guī)范,程序具有普適性。模型存儲計算需要的各種信息,設(shè)計的整個過程也通過程序保存,不僅適用于岸橋,也可以將產(chǎn)品應(yīng)用于輪胎吊、軌道吊等重型鋼結(jié)構(gòu)起重機,僅需要按標(biāo)準(zhǔn)完善相關(guān)產(chǎn)品知識庫和創(chuàng)建幾何模型即可,無需相關(guān)程序開發(fā),因此,軟件具有較好的魯棒性。
岸橋有限元參數(shù)化仿真建模和分析方法為部件設(shè)計提供全局參數(shù),也為企業(yè)設(shè)計工藝一體化提供基礎(chǔ)模型,是設(shè)計協(xié)同的模型基礎(chǔ)。此方法不僅解決了岸橋設(shè)計過程中,部件設(shè)計多次修改,部件尺寸關(guān)系干涉引起的反復(fù)計算問題,而且大大提高了模型的計算分析效率,為部件優(yōu)化設(shè)計提供了同一幾何參數(shù)及非幾何信息,縮短了岸橋主結(jié)構(gòu)設(shè)計周期。