亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Matlab混合編程技術(shù)在汽車有限元仿真中的應(yīng)用

        2017-01-10 08:42:56
        汽車實(shí)用技術(shù) 2016年12期
        關(guān)鍵詞:插件編程載荷

        徐 英

        (華晨汽車工程研究院底盤部,遼寧 沈陽(yáng) 110021)

        Matlab混合編程技術(shù)在汽車有限元仿真中的應(yīng)用

        徐 英

        (華晨汽車工程研究院底盤部,遼寧 沈陽(yáng) 110021)

        隨著數(shù)值分析技術(shù)和計(jì)算機(jī)處理技術(shù)的迅猛發(fā)展,有限元仿真在汽車開(kāi)發(fā)過(guò)程中應(yīng)用越來(lái)越多。針對(duì)汽車整車開(kāi)發(fā)中底盤零部件設(shè)計(jì)開(kāi)發(fā)而言,多達(dá)數(shù)十種的仿真工況應(yīng)用于底盤零部件強(qiáng)度校核當(dāng)中;仿真工程師不得不編寫對(duì)應(yīng)數(shù)十種工況的仿真代碼來(lái)完成底盤零部件的強(qiáng)度校核工作;盡管仿真前處理軟件能部分解決繁重的建模問(wèn)題,但是面對(duì)數(shù)十種的工況載荷輸入仍然讓仿真工程師頭痛不已。因此我們需要開(kāi)發(fā)一種自動(dòng)化有限元仿真代碼生成程序,使仿真工程師從大量重復(fù)性工作中解脫出來(lái)。Matlab是Mathworks公司推出的面向工程和計(jì)算的交互式計(jì)算軟件,它在眾多的工程軟件中以其非常強(qiáng)大的運(yùn)算能力且使用簡(jiǎn)便易著稱,已成為國(guó)際公認(rèn)的最優(yōu)秀的科技應(yīng)用軟件;Excel VBA是一種應(yīng)用程序自動(dòng)化語(yǔ)言,通過(guò)編寫VBA程序可以讓Excel等自動(dòng)完成相關(guān)操作文章利用Matlab和Excel之間的Excel Link接口技術(shù),實(shí)現(xiàn)Matlab和Excel之間的混合編程;利用Matlab主程序調(diào)用在Excel VBA程序預(yù)先處理的數(shù)據(jù)實(shí)現(xiàn)有限元仿真代碼自動(dòng)生成。

        有限元仿真代碼;Excel VBA;Matlab;混合編程;Excel Link接口技術(shù)

        10.16638/j.cnki.1671-7988.2016.12.031

        CLC NO.: U467 Document Code: A Article ID: 1671-7988 (2016)12-91-04

        前言

        近年來(lái),利用計(jì)算機(jī)程序編寫工作應(yīng)用軟件越來(lái)越受到工程師,特別是仿真工程師的青睞。一方面由于計(jì)算機(jī)技術(shù)的迅猛發(fā)展,伴隨的應(yīng)用軟件以及開(kāi)發(fā)程序語(yǔ)言層出不窮;另一方面在結(jié)構(gòu)設(shè)計(jì)和仿真過(guò)程中存在著大量的重復(fù)性的、機(jī)械性的工作,使工程師不停地進(jìn)行重復(fù)性勞動(dòng)。正因于此,工程師便傾向于利用自己熟悉的計(jì)算機(jī)語(yǔ)言,結(jié)合自己工作實(shí)際情況,編寫計(jì)算機(jī)程序代替人工進(jìn)行重復(fù)性勞動(dòng)。這樣即提高了工作效率和減少工作失誤率,又讓工程師從繁瑣的重復(fù)勞動(dòng)中解放出來(lái)。

        本文作者研究方向是有限元仿真分析。實(shí)際工作中經(jīng)常遇到對(duì)結(jié)構(gòu)進(jìn)行多種工況強(qiáng)度校核的情況。由于需要實(shí)現(xiàn)包括試驗(yàn)場(chǎng)路面和客戶路面在內(nèi)的所有工況的再現(xiàn),因此通常仿真工況數(shù)量不少于十幾種,有時(shí)多達(dá)三十幾種,這就給仿真工程師帶來(lái)了相當(dāng)大的工作量。針對(duì)工這種實(shí)際情況,作者利用Matlab和Excel混合編程,通過(guò)程序?qū)崿F(xiàn)有限元輸入文件自動(dòng)生成。

        1、Matlab簡(jiǎn)介

        Matlab是Mathworks公司推出的面向工程和計(jì)算的交互式計(jì)算軟件,它在眾多的工程軟件中以其非常強(qiáng)大的運(yùn)算能力且使用簡(jiǎn)便易著稱,已成為國(guó)際公認(rèn)的最優(yōu)秀的科技應(yīng)用軟件[1]。

        Matlab是matrix和laboratory兩個(gè)詞的組合,意為矩陣工廠(矩陣試驗(yàn)室)。主要面對(duì)科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計(jì)語(yǔ)言(如C、Fortran)的編輯模式,代表了當(dāng)今國(guó)際科學(xué)計(jì)算軟件的先進(jìn)水平。

        Matlab的應(yīng)用非常廣泛,包括信號(hào)處理、通訊、控制系統(tǒng)設(shè)計(jì)、測(cè)試和測(cè)量、財(cái)務(wù)建模和分析以及計(jì)算生物學(xué)等眾多應(yīng)用領(lǐng)域。附加的工具箱(單獨(dú)提供的專用Maltab函數(shù)集)擴(kuò)展了Matlab環(huán)境以解決應(yīng)用領(lǐng)域內(nèi)特定類型的問(wèn)題。

        Excel是一個(gè)非常出色的電子表格軟件,在制表、繪圖、數(shù)據(jù)運(yùn)算中有很好的性能;但在處理較復(fù)雜的數(shù)據(jù)時(shí),卻顯得力不從心,如大量數(shù)據(jù)處理,進(jìn)行三維視圖繪制等。如能將Matlab強(qiáng)大的數(shù)據(jù)計(jì)算和處理能力、靈活的可編程能力、完美的圖形數(shù)據(jù)輸出能力與Excel相結(jié)合,那將會(huì)使程序變得更加強(qiáng)大。

        2、Excel VBA簡(jiǎn)介

        Microsoft Excel是微軟公司提供的一個(gè)強(qiáng)大的電子表格處理軟件,它是微軟公司Microsoft office套裝辦公軟件的一個(gè)重要組成部分。Microsoft Excel是分析和提供信息的強(qiáng)有力的工具,它功能強(qiáng)大,界面友好,使用方便。在此軟件中有一個(gè)十分重要的組件VBA組件[2]。

        Excel VBA(Visual Basic for Application)是微軟應(yīng)用程序開(kāi)發(fā)語(yǔ)言---Visual Basic的子集,是一種應(yīng)用程序自動(dòng)化語(yǔ)言,通過(guò)編寫VBA程序可以讓常規(guī)應(yīng)用程序(如Excel,Word等)自動(dòng)完成工作。

        VBA不是一個(gè)獨(dú)立存在的語(yǔ)言,它必須基于一個(gè)主應(yīng)用程序。例如,基于Microsoft Excel的VBA。實(shí)際上VBA用于Excel時(shí)并沒(méi)有加入Excel的特有的成分,Excel通過(guò)一個(gè)叫做對(duì)象庫(kù)的特殊命令集對(duì)VBA顯示出它的能力。正因?yàn)閂BA通過(guò)不同的對(duì)象對(duì)應(yīng)用程序進(jìn)行控制,所以VBA能控制任何一個(gè)能提供對(duì)象庫(kù)的應(yīng)用程序(如下圖1所示)。

        圖1 VBA控制含對(duì)象庫(kù)應(yīng)用程序

        3、MATLAB與VBA接口技術(shù)

        Excel VBA的不足之處是缺少一些復(fù)雜的庫(kù)函數(shù),因此要通過(guò)Excel VBA實(shí)現(xiàn)復(fù)雜的控制算法,就需要做大量的編程工作。 Matlab語(yǔ)言是目前使用最為廣泛的科學(xué)計(jì)算軟件,包括大量實(shí)用的工具箱和庫(kù)函數(shù),很容易實(shí)現(xiàn)各種復(fù)雜的控制算法,如模糊控制、神經(jīng)網(wǎng)絡(luò)、遺傳算法等。如果實(shí)現(xiàn)兩種軟件的聯(lián)合應(yīng)用,就可以綜合利用它們各自的優(yōu)越之處。因此,利用Excel VBA 與Matlab的接口技術(shù),實(shí)現(xiàn)Matlab語(yǔ)言和EXCEL VBA混合編程,充分利用兩者的優(yōu)點(diǎn)已經(jīng)成為當(dāng)前研究的一個(gè)熱點(diǎn)[3]。

        總的來(lái)說(shuō),EXCEL VBA和MATLAB的常用接口技術(shù)有以下三種:

        1)利用Excel Link插件

        Excel Link是一個(gè)在Windows環(huán)境下實(shí)現(xiàn)Excel與Matlab進(jìn)行數(shù)據(jù)通信的插件。通過(guò)Excel Link連接Excel和Matlab實(shí)現(xiàn)數(shù)據(jù)共享,不脫離Excel環(huán)境直接在Excel中調(diào)用Matlab函數(shù)。

        2)文件導(dǎo)入方法

        利用xlsread和xlswrite函數(shù)讀寫Excel文件,然后進(jìn)行數(shù)據(jù)處理操作。

        3)MATLAB作為COM服務(wù)器

        COM是一組面向?qū)ο蟮募夹g(shù)和工具的集合。利用Matlab提供的COM生成器,把Matlab算法程序生成組件,這些組件可作為獨(dú)立的COM對(duì)象被Excel的VBA使用。

        本文采用第1種方法,即利用Excel Link插件。該方法對(duì)Matlab支持最全面、實(shí)現(xiàn)最容易,可直接在Excel VBA中利用Matlab引擎調(diào)用Matlab中現(xiàn)有的庫(kù)函數(shù)實(shí)現(xiàn)程序控制,接口原理如下圖2所示。

        圖2 Excel和Matlab接口原理圖

        Excel Link可將Excel與Matlab進(jìn)行集成,實(shí)現(xiàn)它們之間的數(shù)據(jù)共享。通過(guò)Matlab與Excel的鏈接,用戶可以在Excel的工作空間中,利用Excel的宏編程功能,使用Matlab函數(shù)調(diào)用等相關(guān)操作,使用Excel Link時(shí),不必脫離Excel環(huán)境,而直接在Excel的工作區(qū)或者宏操作中調(diào)用Matlab函數(shù),Excel提供了11個(gè)函數(shù)來(lái)實(shí)現(xiàn)鏈接和數(shù)據(jù)操作[4]。

        4、 MATLAB與VBA混合編程

        根據(jù)以上內(nèi)容,利用Excel數(shù)據(jù)處理優(yōu)勢(shì)和Matlab豐富的庫(kù)函數(shù)以及強(qiáng)大的格式化輸出能力,混合編寫有限元求解輸入文件的生成程序。

        4.1 程序界面

        圖3所示為程序操作界面,程序大體分為數(shù)據(jù)輸入、數(shù)據(jù)預(yù)處理、生成文件三個(gè)步驟。

        圖3 程序操作界面

        Input Cases:點(diǎn)擊該按鈕,程序自動(dòng)彈出輸入窗口,輸入仿真工況數(shù)以及工況名稱;

        Input Nodes:點(diǎn)擊該按鈕,程序自動(dòng)彈出輸入窗口,按一定順序輸入載荷節(jié)點(diǎn)ID(順序必須與載荷輸入順序一致);

        Input Loads:點(diǎn)擊該按鈕,程序自動(dòng)彈出輸入窗口,輸入所有工況載荷數(shù)據(jù);

        Updata和Start ML:進(jìn)行數(shù)據(jù)預(yù)處理并后臺(tái)啟動(dòng)Matlab程序;

        Run:運(yùn)程主程序生成文件。

        4.2 工作過(guò)程

        本程序以Excel作為GUI程序界面,利用Excel VBA編程進(jìn)行數(shù)據(jù)預(yù)處理,再通過(guò)Excel Link 插件調(diào)用Matlab實(shí)現(xiàn)設(shè)計(jì)目標(biāo)。

        程序工作原理如圖4所示:

        圖4 程序工作原理圖

        首先,在程序操作界面依次點(diǎn)擊各輸入按鈕,在彈出的窗口中輸入相應(yīng)數(shù)據(jù)。

        然后,點(diǎn)擊Updata按鈕進(jìn)行數(shù)據(jù)預(yù)處理。Excel VBA程序自動(dòng)運(yùn)行,進(jìn)行相應(yīng)預(yù)處理操作,并將處理后的數(shù)據(jù)自動(dòng)保存。

        圖5 部分VBA程序代碼

        部分Excel VB程序代碼段如圖5所示。

        最后,點(diǎn)擊Run按鈕調(diào)用Matlab程序生成有限元求解文件(自動(dòng)載入有限元初始文件)。

        圖6 部分Matlab程序代碼

        部分Matlab程序代碼段如圖6所示。

        通過(guò)Excel Link插件連接Excel和Matlab,操作代碼如下圖7所示[5]。

        圖7 Excel Link 操作代碼

        4.3 應(yīng)用實(shí)例

        本文以某車型三角臂強(qiáng)度仿真分析為例,僅分析五種工況以描述該程序的應(yīng)用過(guò)程。

        三角臂的幾何模型如圖8所示:

        圖8 某車型三角臂幾何模型

        對(duì)該三角臂進(jìn)行五種工況的強(qiáng)度仿真分析;模型共有三個(gè)受力點(diǎn)(每個(gè)受力點(diǎn)承受六個(gè)方向載荷),即共有五種載荷工況,每個(gè)工況18行載荷數(shù)據(jù),總計(jì)90行載荷數(shù)據(jù)。首先利用有限元前處理軟件Hypermesh對(duì)三角臂幾何進(jìn)行網(wǎng)格劃分、焊縫連接、賦材料屬性及厚度信息等前處理操作,生成初始原始有限元求解文件(內(nèi)僅無(wú)載荷信息)。

        工況信息、節(jié)點(diǎn)信息、載荷信息如下表1-表3所示:

        表1 節(jié)點(diǎn)1輸入列表

        表2 節(jié)點(diǎn)2輸入列表

        表3 節(jié)點(diǎn)3輸入列表

        按照順序在程序內(nèi)輸入以上輸入信息,運(yùn)行程序。當(dāng)出現(xiàn)提示窗口“程序運(yùn)行結(jié)束”,表示程序已經(jīng)運(yùn)行結(jié)束,成功生成有限元求解文件。

        生成的求解文件如下圖9所示。

        圖9 生成的部分求解文件

        將求解文件導(dǎo)入Hypermesh查看模型載荷輸入準(zhǔn)確無(wú)誤,如圖10所示:

        圖10 帶有載荷的有限元模型

        提交生成的求解文件“final.bdf”進(jìn)行有限元分析,經(jīng)過(guò)有限元求解驗(yàn)證文件可以正常運(yùn)行。工況1的應(yīng)力云圖如下圖11所示:

        圖11 三角臂應(yīng)力云圖(工況1)

        5、結(jié)論

        本文通過(guò)對(duì)Matlab和Excel混合編程的程序的闡述,得出以下結(jié)論:

        1)Excel Link 插件在實(shí)現(xiàn)Excel和Matlab兩種軟件的無(wú)縫連接上簡(jiǎn)單易行;

        2)多種程序混合編程可以充分發(fā)揮各自程序優(yōu)勢(shì),取長(zhǎng)補(bǔ)短;

        3)利用編寫的程序執(zhí)行固定重復(fù)性工作既提高工作效率又減少工作失誤率。

        總之,隨著計(jì)算機(jī)和軟件技術(shù)的高速發(fā)展,類似的應(yīng)用會(huì)越來(lái)越多,也會(huì)給我們工作的各個(gè)方面帶來(lái)更多好處。

        [1] 馬興義.Matlab應(yīng)用開(kāi)發(fā)指南[M].北京:機(jī)械工業(yè)出版社.

        [2] 杜茂康.Excel與數(shù)據(jù)處理[M].北京:電子工業(yè)出版社,2002.

        [3] 盧守峰.韋欽平.沈文.劉喜敏.集稱VISSIM、EXCELVBA和MATLAB的仿真平臺(tái)研究.交通運(yùn)輸系統(tǒng)工程與信息.第12卷第4期.2012.8:43-48.

        [4] 李曉玫.楊小平.Excel中的VBA程序設(shè)計(jì).四川師范大學(xué)學(xué)報(bào)(自然科學(xué)版).第27卷.2004.07:423-426.

        [5] TheMathworksInc.ExcelLinkUser'sGuide,Version1.0.8.

        The application of MATLAB mixed programming on automobile finite element analysis

        Xu Ying
        (Brilliance Automotive Engineering Research Institute, Liaoning Shenyang 110021)

        With rapid development of numerical analysis and computer processing technology ,finite element simulation in car design aspect has got more and more application .In the design process of chassis component of the vehicle development, there are dozens of simulation cases applied for strength analysis of chassis component. therefore, simulation engineer have to make different FEA code corresponding to dozens of simulation cases to finish strength analysis of chassis component. Although some pre-process softwares about finite element simulation could make it easy for some parts of these boring job, the amount of repetitive jobs has made our engineers so bored. As for it,we need to develop a computer program with some computer language ,which could build finite element code automatically, to make engineers get out of lots of repetitive jobs. Matlab is a interactive calculation software for engineering and computing, launched by the Mathworks company. Among most engineering applications, Matlab is well known by its very powerful computer capabilities and ease to use, which has become an international famous application software on science and technology applications. And Excel VBA is a kind of computer language which may make an application to deal with some actions automatically. This article uses the Excel Link interface technique between Excel and Matlab, realizes the mixed programming between Excel VBA and Matlab. First, the program have the data pretreatment by Excel VBA, then the main program (wrote by MATLB) could perform automatically some operations to build the FEA code which will be request for the next step on strength analysis.

        Finite element analysis code; Excel VBA; Matlab; Mixed programming; Excel Link interface technique

        U467

        A

        1671-7988 (2016)12-91-04

        徐英,就職于華晨汽車工程研究院。

        猜你喜歡
        插件編程載荷
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        交通運(yùn)輸部海事局“新一代衛(wèi)星AIS驗(yàn)證載荷”成功發(fā)射
        水上消防(2022年2期)2022-07-22 08:45:00
        自編插件完善App Inventor與樂(lè)高機(jī)器人通信
        電子制作(2019年22期)2020-01-14 03:16:34
        滾轉(zhuǎn)機(jī)動(dòng)載荷減緩風(fēng)洞試驗(yàn)
        MapWindowGIS插件機(jī)制及應(yīng)用
        基于Revit MEP的插件制作探討
        一種基于白噪聲響應(yīng)的隨機(jī)載荷譜識(shí)別方法
        亚洲一区二区三区乱码在线中国| 亚洲 欧美 激情 小说 另类| 国产在线美女| 日韩久久无码免费看A| 免费人成黄页在线观看国产| 国产熟女露脸91麻豆| 亚洲精品动漫免费二区| 中国熟妇人妻xxxxx| 精品亚洲午夜久久久久| 黑丝美女喷水在线观看| 高潮精品熟妇一区二区三区| 欧洲乱码伦视频免费| 久久久日韩精品一区二区三区| 狠狠噜天天噜日日噜| 亚洲av人片在线观看调教| 久久日本视频在线观看| 无码人妻久久一区二区三区蜜桃| 无码精品日韩中文字幕| 国产女奸网站在线观看| 精品一区二区亚洲一二三区| 亚洲av高清天堂网站在线观看| 18禁裸男晨勃露j毛网站| 亚洲国产精品久久久久秋霞影院| 日韩国产欧美成人一区二区影院| 国产高清不卡在线视频| 精品亚洲一区二区区别在线观看| 中文字幕无码毛片免费看 | 亚洲精品久久久久一区二区| 一区二区三区人妻无码| 精品国产免费久久久久久| 色噜噜精品一区二区三区 | 国产无套内射又大又猛又粗又爽| 欧美日韩视频在线第一区| 97人妻视频妓女网| 亚洲一区久久久狠婷婷| 所有视频在线观看免费| 精品三级av无码一区| 亚洲女同精品一区二区久久| 国产亚洲精品高清视频| 国产人妻熟女高跟丝袜| 亚洲av片一区二区三区|