国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于C#與Ansys的索道桁架有限元計(jì)算程序的二次開發(fā)

2021-10-23 12:07:22張喻捷
起重運(yùn)輸機(jī)械 2021年16期
關(guān)鍵詞:索道桁架可視化

張喻捷

北京起重運(yùn)輸機(jī)械設(shè)計(jì)研究院有限公司 北京 100007

0 引言

隨著設(shè)計(jì)理論的完善與施工水平的提高,現(xiàn)代客運(yùn)索道在高山、沙漠、海灘等各種復(fù)雜地形中得到了越來越廣泛的應(yīng)用。對于復(fù)雜地形下的索道設(shè)計(jì),線路中支架的受力性能則有著更加嚴(yán)苛的要求。因此,桁架形式的支架結(jié)構(gòu)以其剛度大、強(qiáng)度高、抗扭轉(zhuǎn)能力強(qiáng)等特點(diǎn)得到了更多的運(yùn)用。對超過20 m的高支架,目前一般采用桁架結(jié)構(gòu)[1]。圖1 為客運(yùn)索道線路中常見的采用桁架結(jié)構(gòu)的支架。

圖1 索道桁架

桁架結(jié)構(gòu)體型復(fù)雜、構(gòu)件多樣、受荷工況多變。因此在涉及到桁架的設(shè)計(jì)時,不僅需要對不同高度、不同形式的桁架進(jìn)行對比分析,對同一桁架,也需要進(jìn)行各個不同工況下的受力計(jì)算。目前主要采用有限元法進(jìn)行復(fù)雜結(jié)構(gòu)的分析與計(jì)算。對桁架結(jié)構(gòu),采用傳統(tǒng)的有限元計(jì)算方法進(jìn)行結(jié)構(gòu)分析,每次均需要進(jìn)行模型建立、網(wǎng)格劃分、荷載施加、程序求解及后處理等復(fù)雜操作。這種重復(fù)性的工作,嚴(yán)重地降低了設(shè)計(jì)者的工作效率。作為在全球得到廣泛使用的通用有限元軟件,盡管Ansys 為設(shè)計(jì)者提供了APDL 這一參數(shù)化設(shè)計(jì)語言用以完成一些通用性的工作[2],但其仍然存在著非可視化、語言繁瑣、學(xué)習(xí)成本高等缺點(diǎn)。

因此,本文利用C#高級編程語言,基于Ansys 經(jīng)典提供的APDL 腳本,開發(fā)了參數(shù)化有限元分析的設(shè)計(jì)工具。通過專用的可視化用戶交互界面,設(shè)計(jì)人員只需輸入不同的設(shè)計(jì)參數(shù),程序即可自動生成封裝好的APDL 命令流模板,并在后臺啟動Ansys,導(dǎo)入命令流模板,實(shí)現(xiàn)桁架的參數(shù)化建模及分析。

1 二次開發(fā)工具

1.1 APDL 設(shè)計(jì)語言

APDL(Ansys Parametric Design Language)是通用有限元軟件Ansys 提供的一種參數(shù)化設(shè)計(jì)語言[3],用戶可通過編寫命令流的方式實(shí)現(xiàn)參數(shù)化的模型建立、結(jié)構(gòu)分析、后處理顯示等功能,該方式解決了Ansys GUI(用戶界面)交互模式下建立大型模型時遇到的界面復(fù)雜、步驟繁瑣等問題,大大提高了復(fù)雜結(jié)構(gòu)的建模效率。同時,APDL 語言編寫的腳本模板可以適用于各個版本的Ansys,方便用戶開發(fā)一些基本的建模命令或標(biāo)準(zhǔn)零件庫。因此APDL 被廣泛運(yùn)用于各種計(jì)算程序的二次開發(fā)工作。但APDL 本身作為一種腳本語言,對于普通設(shè)計(jì)者來說,具有一定的學(xué)習(xí)成本。

1.2 C#高級編程語言

C#(C Sharp)是微軟公司發(fā)布的一種由C 和C++衍生出來的、全新的、面向?qū)ο蟮母呒壋绦蛟O(shè)計(jì)語言。其主要運(yùn)行于.NET 開發(fā)框架之上,在繼承C 和C++強(qiáng)大功能的同時去除掉了一些固有的復(fù)雜特性,同時還綜合了VB的簡單可視化操作和Java 中類庫的設(shè)計(jì)理念。具有安全、穩(wěn)定、簡單、規(guī)范等特點(diǎn),尤其適用于桌面端程序的開發(fā)。借助于微軟公司優(yōu)秀的IDE(集成開發(fā)環(huán)境)—Visual Studio,設(shè)計(jì)者可以快速地搭建具有良好界面的桌面端軟件[4]。因此,選擇C#編程語言進(jìn)行可視化交互界面的構(gòu)建。

2 參數(shù)化有限元分析的流程

索道桁架的參數(shù)化有限元分析工作,需要終端程序具有精準(zhǔn)性、高效性、開放性、實(shí)用性等特點(diǎn)。因此,二次開發(fā)工具的參數(shù)化建模分析主要實(shí)現(xiàn)過程如下:第一步,通過C#編程語言構(gòu)建可視化的用戶輸入界面;第二步,根據(jù)用戶輸入的結(jié)構(gòu)尺寸、荷載信息、約束條件等參數(shù)生成各個工況下的APDL 命令流模板;第三步,程序啟動Ansys,導(dǎo)入APDL 命令流模板文件進(jìn)行結(jié)構(gòu)分析。圖2 為桁架結(jié)構(gòu)參數(shù)化有限元分析的具體流程圖。

圖2 參數(shù)化有限元分析的流程圖

3 參數(shù)化有限元分析的程序?qū)崿F(xiàn)

3.1 參數(shù)輸入可視化用戶界面設(shè)計(jì)

WinForm(Windows Form),是一種基于.NET Framework平臺的客戶端(PC 軟件)開發(fā)技術(shù),設(shè)計(jì)者可以輕易地創(chuàng)建Windows 窗體應(yīng)用程序。它是C#語言的一個重要應(yīng)用,也是C#最常見的應(yīng)用[5]。WinForm 窗體提供了一套豐富的、封裝好的控件,開發(fā)人員可以通過拖動控件的方式靈活地創(chuàng)建各種命令窗口、按鈕、菜單等屏幕元素。

在本套參數(shù)化有限元分析工具信息交互可視化界面的實(shí)現(xiàn)過程中,主要利用WinForm 自帶的TextBox 和ComboBox 控件進(jìn)行尺寸信息、荷載參數(shù)、基本風(fēng)壓等基礎(chǔ)信息的錄入。同時,為了便于多工況下復(fù)雜荷載的快速錄入,在本套程序界面中增加了DataGridView 控件用于顯示荷載信息,通過點(diǎn)擊相應(yīng)的Button 按鈕,程序可打開資源瀏覽器,在用戶選擇相應(yīng)的荷載計(jì)算文件后,自動讀取桁架荷載,并在用戶界面顯示。整個可視化用戶界面如圖3 所示。

圖3 參數(shù)化有限元分析二次開發(fā)工具用戶界面

3.2 設(shè)計(jì)參數(shù)的傳遞

桁架結(jié)構(gòu)的參數(shù)化建模,關(guān)鍵點(diǎn)在于如何將分析模型的主要參數(shù)信息由用戶界面?zhèn)鬟f給Ansys。即將用戶界面的信息轉(zhuǎn)換成可被Ansys 識別讀取的APDL 語言。

本套參數(shù)化有限元分析二次開發(fā)工具主要運(yùn)用C#中的StreamWrite 和StreamReader 類進(jìn)行參數(shù)文件的控制和輸出。StreamWrite 和StreamReader 類是.NET 框架提供給開發(fā)者封裝好的用于文件流讀寫的類庫。運(yùn)用StreamReader 類中的WriteLine()方法,可快速輸出APDL 語言,實(shí)現(xiàn)對APDL 命令流的封裝。最后,通過FileStream 類,實(shí)現(xiàn)在指定路徑文件夾下各工況下Txt格式APDL 文檔的輸出,如圖4 所示。其核心代碼為:

圖4 APDL 文件模板輸出窗口示意圖

3.3 參數(shù)化建模

單個桁架模型最主要的結(jié)構(gòu)尺寸參數(shù)包括桁架高度、柱腳間距、各截圓管直徑、支撐件截面尺寸等。對不同高度的桁架,將桁架高度作為主參數(shù),通過桁架構(gòu)件間的固定角度,制定相應(yīng)標(biāo)準(zhǔn)化規(guī)則,通過尺寸驅(qū)動,即可實(shí)現(xiàn)不同高度桁架結(jié)構(gòu)的參數(shù)化建模。在具體的建模指令中,可簡化部分對分析影響較小的模型特征,減少建模的工作量。

對桁架結(jié)構(gòu),在Ansys 中主要通過定義關(guān)鍵點(diǎn)KeyPpoint,生成相應(yīng)的線Line,最后生成實(shí)體模型,如圖5 所示。

圖5 桁架實(shí)體模型圖

APDL 示例語句如下:

3.4 單元選擇和網(wǎng)格劃分

有限元模型分析的重要前提是單元的選擇及網(wǎng)格的劃分。桁架結(jié)構(gòu)中的主要構(gòu)件均屬于長度大、截面小的狹長形構(gòu)件,其橫截面的尺寸遠(yuǎn)遠(yuǎn)小于桿件的長度。因此,本二次開發(fā)程序在對APDL的封裝中,主要選擇Beam 188 梁單元進(jìn)行模擬。同時,如果用戶采用梁單元進(jìn)行有限元分析,就可以通過SECTYPE,SECID,Beam,Subtype,,0 命令方便地定義各個構(gòu)件截面。再通過MPDATA 命令定義材料彈性模量、泊松比、密度等參數(shù),完成以上工作后,即可以進(jìn)行網(wǎng)格的劃分工作。

本程序選擇Smartsize 方式進(jìn)行網(wǎng)格智能控制。其主要APDL 語句如下:

3.5 約束和荷載

桁架結(jié)構(gòu)中的4 個支腿法蘭通過地腳螺栓同基礎(chǔ)預(yù)埋件進(jìn)行緊固連接,故可將4 個支腿設(shè)定為固定約束;桁架本身主要承受風(fēng)荷載以及塔柱頂部傳來的集中荷載。這兩個步驟的設(shè)置同樣可以通過APDL的賦值命令完成。其主要APDL 語句為:

3.6 求解

在完成上述步驟后,Ansys 導(dǎo)入APDL 命令流模板,通過Slove 命令,即可進(jìn)行結(jié)構(gòu)分析。本二次開發(fā)工具可以自動調(diào)用打開Ansys 軟件,并且在APDL 模板的封裝中同樣嵌入了求解命令。因此在點(diǎn)擊生成命令流命令后,再點(diǎn)擊打開Ansys 即可以自動進(jìn)行求解。

4 工程實(shí)例

以參與設(shè)計(jì)的某脫掛索道線路支架為例,運(yùn)用參數(shù)化有限元分析二次開發(fā)工具,進(jìn)行桁架的有限元分析。

該桁架為某景區(qū)脫掛索道項(xiàng)目線路中的3 號支架。該索道線路全長3 430 m,上下站高差440 m,共設(shè)23個支架。同時整個線路中存在多個大跨。線路中多個支架采用了桁架形式。其中3 號支架高為27 m,且為索輪組為壓索,受力較大,故以該桁架為例進(jìn)行二次開發(fā)工具的校核。

索道支架受力工況多樣,僅單一桁架,就需要進(jìn)行重上重下、重上空下、空上重下、空上空下、施工工況共6 種工況的分析計(jì)算。首先通過傳統(tǒng)的Ansys GUI 界面對該桁架進(jìn)行了建模計(jì)算,再通過二次開發(fā)工具進(jìn)行計(jì)算,兩者建模及計(jì)算結(jié)果完全相同,進(jìn)一步驗(yàn)證了二次開發(fā)工具的準(zhǔn)確性。解決了傳統(tǒng)Ansys GUI 界面建模易出錯,且浪費(fèi)時間的問題。

該脫掛索道項(xiàng)目涉及5 個桁架,共計(jì)30 種工況,因此對該項(xiàng)目,均采用了二次開發(fā)工具對桁架進(jìn)行了參數(shù)化設(shè)計(jì)。圖6 為通過參數(shù)化二次開發(fā)工具進(jìn)行有限元分析的3 號桁架重上重下工況下的受力變形云圖。

圖6 某桁架重上重下工況有限元變形受力云圖

5 結(jié)語

基于C#編程語言,通過建立可視化的輸入界面,結(jié)合對APDL 語言的封裝和文本快速生成,實(shí)現(xiàn)了索道桁架結(jié)構(gòu)的參數(shù)化建模及分析。桁架結(jié)構(gòu)參數(shù)化有限元分析二次開發(fā)工具操作簡單、界面友好、使用可靠。對體型復(fù)雜的桁架結(jié)構(gòu),設(shè)計(jì)者只需輸入相應(yīng)參數(shù),就可以自動完成結(jié)構(gòu)的有限元分析工作。這不僅給不熟悉Ansys的設(shè)計(jì)者提供了一種簡便的分析手段,更大大減少了桁架設(shè)計(jì)過程中的重復(fù)性勞動,提高了工作效率,使得設(shè)計(jì)者可以把更多地精力專注于線路方案的調(diào)整和結(jié)構(gòu)本身的優(yōu)化中。

猜你喜歡
索道桁架可視化
桁架式吸泥機(jī)改造
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運(yùn)行動態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
淺析索道橋性能的改善方法
基于CGAL和OpenGL的海底地形三維可視化
擺臂式復(fù)合桁架機(jī)器人的開發(fā)
“融評”:黨媒評論的可視化創(chuàng)新
傳媒評論(2019年4期)2019-07-13 05:49:14
固定抱索器索道吊椅拆裝工具車
長江索道迎來30歲生日
紅巖春秋(2017年11期)2017-12-07 21:47:04
Loader軸在雙機(jī)桁架機(jī)械手上的應(yīng)用
正镶白旗| 大港区| 青川县| 宁都县| 江阴市| 色达县| 旬邑县| 富阳市| 南召县| 巧家县| 肃宁县| 柘荣县| 溧水县| 绥芬河市| 运城市| 凌海市| 隆化县| 绥德县| 华坪县| 正阳县| 九江市| 扎兰屯市| 沁水县| 威宁| 通化县| 三原县| 鹿邑县| 兰州市| 海南省| 阿尔山市| 炉霍县| 普兰店市| 正安县| 体育| 响水县| 阳东县| 普定县| 岐山县| 南木林县| 西林县| 隆回县|