版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、機(jī)械系統(tǒng)動力學(xué)自動分析聯(lián)合仿真的高效通用方法安德魯S艾略特博士機(jī)械動力學(xué)有限股份有限公司6530東弗吉尼亞街梅薩,亞利桑那州,美國,85215-0736480.985.1557 摘要:本文介紹了一種將任何外在的計算機(jī)編碼和機(jī)械系統(tǒng)動力學(xué)自動分析連接 起來的高效通用的方法,這樣兩個程序可以在系統(tǒng)模擬中連接起來, 從而兩個程 序都能以接近最佳單機(jī)速度的速度運行。該方法允許外部編碼按照設(shè)計在離散時 間中運行,并且可能有多重和(或者)可變的采樣率。有兩個問題可能利用了這 一方法,其分別為氣動伺服彈性響應(yīng)和半實物之類的交互仿真更改。在前者中, 通過有限差分計算流體動力學(xué)軟件計算空氣動力載荷;而在后者中,
2、用戶需要在問題產(chǎn)生時改變模擬輸入。該方法運用了二次內(nèi)插、外插程序,這體現(xiàn)在公式翻 譯程式語言中,不過在任何程序語言中都能輕松實現(xiàn)。序言:在ADAM機(jī)械系統(tǒng)仿真技術(shù)的高級應(yīng)用中,用戶經(jīng)常在只能解決部分問題的 其他計算機(jī)編碼中投入很多,比如說計算水力,電磁負(fù)荷或是氣動載荷。這可能 是個商業(yè)上可行的程序,或者特別開發(fā)的高度專有的內(nèi)部產(chǎn)品。 另外一個編碼通 常的解法和ADAM大相徑庭,它可能在不同的計算機(jī)硬件或是不同的站點上運行。 因此,要把另外一個編碼轉(zhuǎn)化成求解器模塊的子程序,使其運行,這通常是不大可能的。反之亦然。在這些研究中,我們需要把另外一個編碼和求解器模塊連接起來,使得兩個程序能夠在系統(tǒng)模擬
3、中互相通信,從而獲得完整的耦合響應(yīng)。另外,由于這類問 題一般比較大而且復(fù)雜,連接必須有效,如此兩個程序能以最佳可能速度運行, 除非在時間和硬件可用性上沒有限制。聯(lián)合仿真注意事項:提出聯(lián)合仿真解法時,應(yīng)該考慮以下幾點:1.求解器模塊在連續(xù)時間內(nèi)解決系統(tǒng)方程式,并且得出連續(xù)結(jié)果,即使我 們只在固定時間增量內(nèi)要求求解程序給出輸出信息的情況下,亦是如此。除此之外,求解器模塊的解法的安排方式是,如果校正器出現(xiàn)問題,難以聚合,內(nèi)部模 擬時間事實上有可能倒退。2你想連接到求解程序上的另外一個編碼經(jīng)常只能在離散時間內(nèi)解決其自 身問題,而且無法得到時間步長之間的結(jié)果。 如果另外一個編碼使用離散逼近連 續(xù)時間法,
4、譬如說有限差分方法,或者另外一個編碼事實上是模仿數(shù)控執(zhí)行機(jī)構(gòu) 之類的離散過程,那么這有可能成真。3.另外一個編碼有可能比求解器模塊慢得多或者快得多,這取決于每個編 碼解決的問題的相對復(fù)雜程度,以及它們使用的計算機(jī)硬件。如果可能的話,我 們希望確保在聯(lián)合仿真過程中,每個編碼以其最佳可能速度運行,而且編碼之間 的通訊不會限制速度。范例問題一一可能出錯之處通過一個非常簡單的證明題,我們可以說明準(zhǔn)備不充分的聯(lián)合仿真可能出錯 的很多地方。然后,我們將通過同一問題說明如何有效改善結(jié)果。模型包括一對完全相同的彈簧-質(zhì)量-阻尼器,其特征為:K = 314.16 lbf/in (= 121391 Ibm-in/
5、sec2/in)C = 0.0005 Ibf-sec/i nM = 0.3183 Ibm我們特意設(shè)計了這個模型,來創(chuàng)建一個非常僵硬、幾乎沒有阻尼的系統(tǒng),其 自然頻率接近100赫茲(實際上大約為98.3赫茲)。一個彈簧-質(zhì)量-阻尼器受到一個常規(guī)ADAMSFORCH素的推動,其使用了低 頻率,全部是正弦曲線的力量,量值為 50 Ibf,周期為1秒。另外一個彈簧-質(zhì)量-阻尼器受到外部離散時間編碼的推動,這一編碼的力量 接近第一個。我們可以輕易控制另外一個編碼的時間步長。所有仿真會持續(xù)4秒鐘。聯(lián)合仿真會出錯的地方很多。最常見的問題是編碼之間存在通訊瓶頸, 聯(lián)合 解決方案運行速度非常慢。一個編碼如果難以
6、“消化”另外一個編碼提供的數(shù)據(jù), 也會引起減速。然而,某些問題可能導(dǎo)致聯(lián)合仿真得出錯誤答案。這些問題包括:兩個編碼之間的同步化故障采樣區(qū)間不當(dāng)引起的混淆現(xiàn)象離散輸入導(dǎo)致的ADAM系統(tǒng)中的數(shù)值脈沖不兼容的誤差控制引起的人為不穩(wěn)定現(xiàn)在,讓我們一起看看在求解器模塊和另外一個編碼中使用不同步長聯(lián)合仿 真時,這個簡單的系統(tǒng)會出現(xiàn)什么情況。求解器模塊 -25 output steps/sec (step size = .040)夕卜部力量-50 compute steps/sec (step size = .020)由于受迫振動頻率只有1赫茲,我們會期待這些數(shù)值會得出非常不錯的結(jié)果 下面的圖表將受到真正連
7、續(xù)外力作用的質(zhì)量的位移和受到聯(lián)合仿真離散外力作 用的質(zhì)量的位移做了對比。SOLVER OUTPUT AT 04F0RCIN4 COMPUTE AT .020 Q 0 hrQa.Q.9.b UH f一 -DISCRETE1.1JJ'MI JO2DTIME (nc)將求解器的步長減小到.02或者甚至是.01秒,對聯(lián)合仿真響應(yīng)幾乎沒有影 響,除了提高運行時間10%或20%之外。不過,求解器達(dá)到0.005秒或者更小的步 長,會允許離散外部力量在數(shù)值上激起100盒子的機(jī)械系統(tǒng),如下圖所示。求解器模塊 -200 output steps/sec (step size = .005)夕卜部力量 -5
8、0 compute steps/sec (step size = .020)SOLVER OUIPUT Q .005 FORCIN& COMiPUTE ® .02 10310.2 '10.1 -10.0 -9.Q “g.8a.a 3JD3.754QTIME因此,很明顯這不是達(dá)到預(yù)期解決方案的步驟。相反,我們可以試著減少外 部力量編碼的步長,看看是否會改善系統(tǒng)響應(yīng)。求解器模塊 -50 output steps/sec (step size = .020)夕卜部力量 -500 compute steps/sec (step size = .002)goSOLVER OUT
9、PUT ® .02FOFtCIH COMPUTE 您 821.02.0<TIME (5403.0.0CONTINUOUS 一陽CRETE這個方法看起來很有希望,不過隨著仿真的進(jìn)行,響應(yīng)似乎在減弱。如果我 們查看速度軌跡的話,就會發(fā)現(xiàn)系統(tǒng)產(chǎn)生純粹是人為引起的不穩(wěn)定性, 其頻率出 人意料地為大約1.6赫茲。30.0-30.0SOLVER OUTPUT .02 FORCIH& COMPUTE W22D.0 -T0.O -Q0-20.01-0Z.DT IME (sec)3.0我們的最后一個方案是努力提高外部力量編碼的采樣率 求解器模塊 -50 output steps/sec
10、(step size = .020) 外部力量-1000 compute steps/sec (step size = .001)MOSOLVER OUTPUT 凰.02FORCIHG COMPUTE .001102.0TIME (secji3.0"CONTINUOUS -DISCRETEJo104.0結(jié)果更糟糕!離散受迫方不穩(wěn)定,響應(yīng)頻率是奇怪的 1.4赫茲。不僅如此, 數(shù)值變得如此糟糕,響應(yīng)變成預(yù)想的模型的兩倍,而且使得模型也變得不穩(wěn)定!因此,我們很明顯在使用外部計算離散外部力量時,遇到了簡單的聯(lián)合仿真問題。我們無法接近真實解法。增加求解器一方的仿真步數(shù)會認(rèn)為引發(fā)意料不到 的系統(tǒng)
11、諧振,而增加外部力量一方的步數(shù)則會導(dǎo)致響應(yīng)不穩(wěn)定。解決方案“膠水”程序:幸運的是,有一個很直接的方法可以解決這個問題。 那就是在求解器模塊和 另外一個編碼之間加一個內(nèi)插、外插界面。首先,我們必須承認(rèn),這類問題的所有數(shù)字計算機(jī)解法事實上都是對連續(xù)物 理的離散計算逼近(暫時先不考慮數(shù)控)。我們擁有的不同破解工具之間的區(qū)別 主要在于功能的排序。該排序可以用來粗略估計計算的離散點之間的真正解法。有效差分編碼(以及離散壓力器)可能完全不會在求解點之間插入,但是求 解器模塊通過預(yù)估校正解法中各種排序的多項式幫助積分器推動并且插入求解 點之間的響應(yīng)。我們可以將這種方法應(yīng)用到聯(lián)合仿真中。另外一個編碼希望采用它
12、青睞的步長,這一般比求解器的步長小多了。而且, 另外一個編碼希望在每一個步驟里,抽樣檢查 ADAM的響應(yīng)。由于求解器主要使 用不同的步長積分器,因此,要求求解器使用和另外一個編碼相同的小步長既不 合理,也沒效率。而且正如我們上文所示,即使我們可以實現(xiàn)這一點,也不能完 全解決聯(lián)合仿真的問題。我們真正需要的是另外一個編碼可以隨時抽樣檢查的 ADAM結(jié)果的連續(xù)逼近。這就是積分器。另外,求解器模塊希望能夠在任何特定時間詢問另外一個編碼的響應(yīng),不僅僅是在固定的區(qū)間,甚至也不是總是準(zhǔn)時。另外一個編碼通常只有離散輸出,因此它只能響應(yīng)那些。我們可以努力讓另外一個編碼采取細(xì)微的步長, 這樣它會非 常接近連續(xù)。但
13、是我們之前已經(jīng)發(fā)現(xiàn),這不能完全解決聯(lián)合仿真的問題。另外,隨著求解器的進(jìn)步,預(yù)測器需要在未來時代猜測響應(yīng), 但是另外一個 編碼無法提供這些。所以,我們需要一種可以將另外一個編碼的響應(yīng)延伸到未來 的方法,即外插工具。因此,解決問題的方案就是創(chuàng)建一個小巧高效的“膠水” 程序,可以在聯(lián)合仿真過程中將兩個編碼連接起來, 并且能對編碼之間傳輸?shù)臄?shù) 據(jù)進(jìn)行雙向內(nèi)插和外插。這個方法事實上非常有效。我將在下面對其進(jìn)行詳細(xì)描 述。雙向內(nèi)外插界面:下列圖表展示了我們的“膠水”程序所具備的功能ADA MS/S olverInterfaceOther CodeTfueDigital Bypass通常,該程序的實施中伴隨
14、著以下邏輯:1. 求解器模塊隨著每一積分步長的機(jī)械相應(yīng)數(shù)據(jù)更新其界面一方。2. 另外一個編碼在其使用的任意抽樣檢查區(qū)間從界面獲得內(nèi)插響應(yīng)。3. 另外一個編碼向前推移,直到與求解器模塊的仿真時間相差一個步長為 止,同時隨著每一步長的壓力數(shù)據(jù)更新其界面一方。4. 求解器模塊從界面獲得連續(xù)外插力量,促進(jìn)其自身進(jìn)步。由于另外一個 編碼永遠(yuǎn)趕不上求解器,這種方法有時被稱為“半步領(lǐng)先”法。注意,如果另外一個編碼實際上模擬真正的離散過程, 你則不應(yīng)該使用界面 的外插工具。上列圖表的“省略”部分說明了這一點。同樣,如果另外一個編碼 的響應(yīng)不取決于任何ADAM系統(tǒng)狀態(tài),而只是取決于時間,那么你也沒有必要使 用內(nèi)
15、插工具。內(nèi)插工具和外插工具都需要用到二次函數(shù)。 使用二次方程式可以避免高階多 項式中出現(xiàn)的“樣條函數(shù)連接”問題,不過仍然能更好地逼近簡單的一次函數(shù)。 但是,二次函數(shù)要求有三個數(shù)據(jù)點, 因此,計算二次函數(shù)比計算一次函數(shù)代價高, 而且需要三個步長才能開始。 因而, 要認(rèn)真安裝啟用內(nèi)插工具和外插工具, 以便 從界面獲得最好的響應(yīng)。這一點很重要。在二次系數(shù)的分析解法的基礎(chǔ)上,這里說明了在FORTRAN這種界面的單變量實現(xiàn),同時利用旋轉(zhuǎn)迭式存儲器減小存儲操作。這可以轉(zhuǎn)化為任何目標(biāo)語言, 而且可以作為多變量實現(xiàn)的基礎(chǔ)。SUBROUTINE INTRP2 ( yvals, tvals, reqtim, va
16、lue )DOUBLE PRECISION yvals(3), tvals(3), reqtim, valueDOUBLE PRECISION a,b,c,denom,y1d23,y2d31,y3d12,d31,d23C assumptio n is that y = a*tA2 + b*t + cd31 = tvals(3)-tvals(1)d23 = tvals(2)-tvals(3)denom = d31*(tvals(1)*tvals(3) + tvals(2)*(d23-tvals(1)y1d23 = yvals(1)*d23y2d31 = yvals(2)*d31y3d12 = y
17、vals(3)*(tvals(1)-tvals(2)a = ( y1d23 + y2d31 + y3d12 ) / denomb = ( (tvals(2)+tvals(3)*y1d23 +1 (tvals(3)+tvals(1)*y2d31 +2 (tvals(1)+tvals(2)*y3d12 ) / -denomc = ( (tvals(2)*tvals(3)*y1d23) +1 (tvals(1)*tvals(3)*y2d31) +2 (tvals(2)*tvals(1)*y3d12) ) / denomC outputvalue = a*reqtim*2+b*reqtim+cretu
18、rnend使用 TIMGET:兩個程序的同步化取決于它們知道對方在仿真序列里的位置。 求解器模塊的實用子程序TIMGET1常根據(jù)上一次成功的仿真步長,返回時間;而且過了這個時 間,求解器再也不會做備份。通過監(jiān)測用戶編寫的子程序(如SFOSU,BVFOSU)B內(nèi)部的TIMGE結(jié)果,我們可以確認(rèn)一個成功的仿真步長是何時完成的。這里又引出了一個小小的并發(fā)問題。監(jiān)測TIMGE的結(jié)果只能告訴我們上個步 長是何時成功的。這意味著每次進(jìn)入子程序時,我們都需要保存所有傳達(dá)給外部 力量編碼的狀態(tài),這樣當(dāng)我們看到TIMGE結(jié)果的變化時,我們可以從上次調(diào)用子 程序時發(fā)送狀態(tài)數(shù)量。我們在下面概括介紹了這個問題。需要的
19、求解器模塊功能:1. 檢查TIMGET看看上一步是否成功(如果沒有成功,則跳到 3#)。2. 連接到界面。更新保存的狀態(tài)陣列的內(nèi)插陣列。3將保存的狀態(tài)陣列更新為目前的狀態(tài)。4. 連接到界面。獲得外插力量。5. 返回外部力量給模型??邕M(jìn)程通信:當(dāng)然,為了確保聯(lián)合仿真順利工作,兩個編碼和“膠水”程序必須能彼此交 流。根據(jù)每個編碼使用的操作系統(tǒng)和硬件以及你是否能夠進(jìn)入另外一個編碼的內(nèi) 部工作,很多方法可以實現(xiàn)這一點。在求解器一方,通信經(jīng)常是通過用戶為 SFORC,EVFORC,EGFORCEVARIABL或者DIFF元素編寫的標(biāo)準(zhǔn)子程序完成的。最高效的跨進(jìn)程通信借助于直接的子程序界面。也就是說,要設(shè)
20、立內(nèi)插提取界面和另外一個編碼,這樣求解器模塊可以調(diào)用它們。在這種情況下,通過FORTRACOMM分程序塊等共享記憶可以轉(zhuǎn)化數(shù)據(jù)。特 別是在Windows/NT平臺上,只要每個編碼有辦法獲得系統(tǒng)服務(wù),通過動態(tài)連接庫 也可以轉(zhuǎn)化數(shù)據(jù)。跨進(jìn)程通信的另外一個方法是利用“管道”。UNIX和NT操作系統(tǒng)都提供管道服務(wù)。管道服務(wù)與共享內(nèi)存堆棧的功能相當(dāng), 不過要通過文檔形式 存儲。管道服務(wù)包括進(jìn)程阻塞和同步化工具。管道要求所有涉及到的進(jìn)程在NTT作 組內(nèi)的同一個或者是類似的系統(tǒng)里運行。這里舉的例子是把管道作為通信方法。最后,如果參與進(jìn)程是在不同系統(tǒng),甚至不同地方運行,跨進(jìn)程通信可以通 過套接字這種網(wǎng)絡(luò)系統(tǒng)實現(xiàn)。套接字是UNIXffiNT操作系統(tǒng)都提供的另外一項標(biāo)準(zhǔn) 系統(tǒng)服務(wù)。它可以通過TCP/IP協(xié)議,在任何網(wǎng)絡(luò)的任何兼容硬件上運行。 套接字 的實現(xiàn)和管道非常像,也能提供進(jìn)程阻塞和同步化工具。點擊 ntro.html,可以找至卩ADAM的跨進(jìn)程通信套接字的教程。結(jié)果:在這為數(shù)不多的幾次機(jī)會里,我們可以獲得更快更廉價更好的結(jié)果。1. 內(nèi)插聯(lián)合仿真的運行速度比非內(nèi)插聯(lián)合仿真快。這里列舉了 4秒鐘仿真實例的運行時間結(jié)果。該實例在求解器中使用了 50步長/秒,在外部力量編碼中使 用了 1000赫茲抽樣檢查,并且在4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年浙江貨運從業(yè)資格證模擬
- 2025年成都b2貨運資格證多少道題
- 加入學(xué)生會的演講稿15篇
- 2025個人股權(quán)轉(zhuǎn)讓協(xié)議書范本及法律風(fēng)險提示2篇
- 2025年度文化產(chǎn)業(yè)發(fā)展專項資金使用及監(jiān)管合同4篇
- 2025年度新材料研發(fā)場委托招聘協(xié)議3篇
- 2025年度信息技術(shù)項目臨時工雇傭合同范本3篇
- 二零二五年度土地租賃合同法律風(fēng)險防控協(xié)議
- 2025年度UPS不間斷電源設(shè)備銷售與產(chǎn)品研發(fā)合作合同3篇
- 二零二五年度嬰幼兒奶粉品牌授權(quán)專賣店加盟合同協(xié)議書
- 人教版(2025新版)七年級下冊數(shù)學(xué)第七章 相交線與平行線 單元測試卷(含答案)
- GB/T 44351-2024退化林修復(fù)技術(shù)規(guī)程
- 完整2024年開工第一課課件
- 從跨文化交際的角度解析中西方酒文化(合集5篇)xiexiebang.com
- 中藥飲片培訓(xùn)課件
- 醫(yī)院護(hù)理培訓(xùn)課件:《早產(chǎn)兒姿勢管理與擺位》
- 《論文的寫作技巧》課件
- 空氣自動站儀器運營維護(hù)項目操作說明以及簡單故障處理
- 2022年12月Python-一級等級考試真題(附答案-解析)
- T-CHSA 020-2023 上頜骨缺損手術(shù)功能修復(fù)重建的專家共識
- Hypermesh lsdyna轉(zhuǎn)動副連接課件完整版
評論
0/150
提交評論