有人用Modelica做模擬嗎?用什麼開發平台?


關於平台方面,dymola無疑是所有平台中最好的,simulationX感覺最近在步步逼近。我太不同意一樓說的某些觀點,Modelica我覺得跟Matlab完全不可以放在一起比較,Modelica的存在就是為了物理建模。Matlab顧名思義,矩陣實驗室,現代的動力學控制學等模擬科學的發展都是建立在矩陣運算的基礎上,導致大家都在用Matlab搞模擬。關於求解器,我覺得一樓說的不太正確,基本上我覺得Modelica任何一個平台的求解器都比Matlab的求解器強太多了,Modelica平台的求解器一般都是DAE求解器,MATLAB基本都是ODE當然你要是願意自己寫求解器另當別論。Modelica平台的強大還在於把DAE轉化成ODE,這點不知為什麼很多人把她忽略掉了。而且你如果能使用Dymola,他還可以做inline integration,這個東西在實時模擬領域幾乎無人能敵,這也是為什麼現在F1車隊的模擬都在轉向Modelica。不僅如此,Modelica在建模方面的優勢太多了,比如面向對象,acausal,可視化編程,C語言介面,多物理等等太多了簡直,只有你在用的時候你才會發現她的美妙,我用過之後就再也沒碰過Matlab的ode45和simulink, Matlab現在我只用他來畫圖。。。繪製Dymola產生的結果


額...學校的一個教授是SimulationX的項目初創負責人(大boss,公司成立的時候的Gesch?ftsführer,前兩年剛退休了,好像是身體原因)...補充一些吧...首先Modelica,SimulationX這種工具和Matlab不同,Modelica底層是求解DAE方程的,而Matlab是一個通用數值工具。而工業應用的話,modelica會比較直觀,一些constraints什麼的可以直接映射到下層,matlab DAE方面並不是強項,所以modelica做混合系統建模模擬會有更好的結果。


念在是關於modelica的唯一一個問題,還沒人答,我這個門外漢來答答吧。純粹的modelica平台只有dymola,openmodelica,Mworks,Jmodelica;Amesim和SimulationX都是支持modelica語言,Amesim支持的比較差可忽略;另外好像美國還有什麼Systemmodeler和Maplesim,沒用過,不過是mathematica和maple這兩個公司的,應該還是不錯的。另外有openmodelica和Jmodelica是開源的,其他都是收費的,Openmodelica是開源中用戶體驗做的最好的,不過相比dymola差了不少,湊合能用。至於這些軟體和Matlab/Simulink對比的話,用戶體驗,模型豐富程度,求解器都差了十萬八千里。。。。。。不過作為開源建模語言,今後的發展未知,說不定有前途,不過想要在系統建模領域佔一杯羹,每個軟體都會某個領域有所擅長,如果樣樣來都不給力,那這個軟體就跪了。


需要modelica學習資料的聯繫我,或者留下郵箱


http://www.comodel.net 是國內唯一的modelica雲平台,提供了modelica在線建模和編譯模擬計算,可以試試。


樓上貌似是同濟的,不知跟哪個老師,我們實驗室在用OpenModelica和MapleSim兩款軟體,MapleSim當前的版本對Modelica的支持還是比較差的(基本使用沒有問題),但涉及到調用外部C與相關一些有用的語法,expandable,externalObject等就不那麼理想了,但是它提供了dSpace的介面,這個可以期待,但沒試過。OpenModelica交互做的不是很好,但對語言支持是很強的,緊跟著語言規範的更新,還有是開源的,還是很有價值的。沒有試過JModelica,不過看網站上對FMI的支持很強大,這一點在做大的項目中也許會是很有用的一點。Dymola的話,最初開發這個軟體的人就是最初提出Modelica的人,無論是人機界面還是語言支持都非常好,如果用商業軟體的話,比較推薦。


modelica的話,國內的Mworks軟體不錯,多領域系統建模,其實和dymola是差不多的,很多東西是從dymola移植過來的;軟體可以直接從蘇州同元下載,模擬動畫等功能可以申請licence。


我們這邊都用Mworks,國產軟體裡面對Modelica特性支持比較全面的。自帶很多中文學習資料,很容易上手。商業軟體,我們這的學生可以免費申請license。


這個語言做模型計算確實方便。一般問題都有模型庫,調用很方便,穩定性也不錯。dymola自然是目前綜合水平最高、功能最強的基於Modelica語言的軟體。但它是商業的,需要注意版權。

OpenModelica是開源的,功能上明顯差很多,dymola能算的複雜模型在OpenModelica上就經常計算失敗。不過,如果只是計算簡單模型或許學習modelica語言,OpenMo基本夠用。

JMo了解不多,只知道其優化功能不錯。


支持國產。用MWorks。


Dymola從功能性來說無疑是最好的,Modelica協會老大就是Dymola的用戶


Dymola自然是現在發展最完善的modelica模擬平台,庫也比較多。OpenModelica的模型庫大部分都是學生做畢設做的,跟商業化的自然沒法比。


關於樓主的問題,首先必須明確,Modelica是語言,是語言,是語言!

好了,既然Modelica是編程語言了,那麼問題就來了,樓主是要用一些通用的元件搭建模型,還是要用Modelica語言編寫這些元件,再用這些元件完成模型搭建?

對於做工程,不應執著於這些用來搭建系統的元件什麼語言編的,蛋營養又好吃,不用管生它的雞漂不漂亮,找能滿足你搭建系統的平台即可。

對於做研究,Modelica的好處還是有的,容易實現物理領域的代碼編寫。選擇Modelica平台的時候也要盡量選擇已有相關元件的平台,在此之上做自己的研究和更改。

而如果題主想開發模擬平台庫,就不必在太多乎Modelica平台了,盡量選擇免費的平台,避免知識產權風險。


推薦閱讀:

飛行故事——迪拜之戰

TAG:航空 | 機械 | 自動控制 | 航天 | 模擬模擬 |