2025年03月21日
果栗智造2025年03月21日
大眾汽車2025年03月21日
三菱汽車2025年03月21日
Ansys2025年03月21日
NEPCONChina20252025年03月19日
??禉C器人
2025年03月19日
亞馬遜云科技
2025年03月14日
達寬
2025年03月12日
威圖
2025年03月12日
Ansys
2025年03月21日
羅德與施瓦茨
2025年03月21日
巴魯夫
2025年03月20日
堡盟
2025年03月20日
CREAFORM
2025年03月20日
宜科自動化
在多體仿真中,所面臨的工況有很多種,不是簡單的規定一個時間,給定一個輸出步數就能滿足所有工況的仿真要求,經常面臨仿真過程中對系統拓撲關系的變化、模型參數的調整等需求。此時,Adams中的sensor(傳感器)就有了用武之處,通過sensor可以獲得某種狀態,再通過腳本展開后繼的模型修改,從而可以完成絕大多數變拓撲相關的任務要求。本文不再描述簡單的sensor應用,而是針對稍微復雜一些的工況融合sensor展開建模和仿真說明。
PART.01
傳感器功能
傳感器的基本功能類似編程中的if…else語句,通過在仿真過程中實時監測所定義事件的狀態,然后實現修改仿真的目的,再結合腳本命令實現修改模型的目的。這里的事件通常通過邏輯函數的方式完成定義,即利用函數表達式與給定目標的比較實現邏輯的定義。一旦返回邏輯真,sensor將會有很多方式進行仿真的修改,比如終止仿真、重啟、返回等。對于sensor的深入使用,必須分清楚如下幾個概念,函數表達式(function)、事件評估(evaluate)和senval()函數。
函數表達式
通過上圖,可以查看函數表達式的對話框位置。這里的函數表達式是為了實現邏輯判斷,通過函數構建器完成所需要的函數表達式的定義,也或者叫做事件的定義,但需要明確這里僅僅是事件定義中的函數表達式的定義,后面還需要完成比較定義后,才是完整的事件定義。Adams/Solver正是在仿真過程中,實時監測該事件獲得邏輯值的真或假。
事件評估
通過上圖,可以查看事件評估的對話框位置。這個地方的expression,僅當sensor事件觸發時進行計算,并且可通過senval()獲得其值。不要小看senval()函數的作用,它可以讓仿真更加靈活,更符合實際工程所需。
PART.02
應 用
第一個實例,實現計數功能。
建模要素:創建一個水平的圓柱,在一端定義轉動副,并施加驅動,確保其可以圓周回轉。然后進行sensor的定義,按照圖示完成定義,其中位移函數使用圓柱質心點和轉動鉸處點,事件評估處使用senval()函數的計數形式。比較符號采用了equal,比較值為0也即質心點通過y軸時觸發事件并完成事件評估計算。
完成模型創建后,進行2秒的計算,這里的驅動設置為360度每秒,因此,可以看到下圖中左側曲線經歷了兩個周期,也即圓柱轉動了兩圈。前面已論述觸發事件為質心通過Y軸,因此,整個歷程中會有四次事件觸發,因此,右側曲線為每次事件觸發的時間和最終的計數,兩者正好對應。
當然,這類計數的效果Adams還有很多方式可以實現,但是通過sensor結合事件評估與senval()函數的方式,是我們經常采用的一種方法,總體比較簡單直接。通過這個簡單的實例期望對三者的功能有深入的了解,以便展開下一實例的應用。
第二個實例,當一個模型中有多個sensor時,我們并不清楚本工況下,哪個sensor首先觸發,因此,在后繼編寫腳本時不能確定先寫哪個sensor對應的相關命令,本實例應對該種需求。
建模要素:建立四個球體,從上到下分別為Part_a,Part_b,Part_c,Part_d,其中前兩個與大地建立水平滑移副,后兩個與大地建立豎直滑移副,并且前兩個在質心處作用水平力,分別為200N,100N(后繼互換),在后兩個豎直滑移副上定義驅動,以表征sensor事件觸發后的動作。最后分別定義兩個sensor,事件函數分別為a,b兩球的水平速度,比較值分別為10米每秒和15米每秒,由于這里長度采用毫米為單位注意轉化。
完成所需的建模元素定義,為了實現兩個sensor的觸發不受次序的影響,專門將觸發后的動作與之通過senval()函數進行了關聯,如下所示:
當sensor沒有觸發時,senval()的返回值為0,造成驅動速度為0,小球固定在原位不動,當sensor觸發時,senval()的返回值為1,造成驅動速度為1000,小球將沿豎直軸滑動。
模型中的建模元素保持不變,僅僅將兩個驅動力的幅值進行呼喚,由于sensor的事件定義沒有跟著變,兩次觸發的時間是不同的,再次驗證這種方法的適用性。
上圖為紅球施加200N作用力,綠球施加100N作用力的情形。監測紅球水平速度0.2秒左右達到觸發條件即10米每秒,通過上圖中上面的曲線可以看到在0.2秒左右其值發生了突變。監測綠球水平速度0.6秒左右達到觸發條件即15米每秒,通過上圖中下面的曲線可以看到0.6秒左右其值發生了突變。由于紅色球的觸發條件低于綠色球,且紅色球的作用力又大于綠色球,這兩方面都促使了紅色球首先達到觸發條件,基于這個工況中兩球觸發的事件可以橫比于后面的工況。
上圖為紅球施加100N作用力,綠球施加200N作用力的情形(通過圖中力的矢量長度也可判斷力的相對大?。?。監測紅球水平速度0.4秒左右達到觸發條件即10米每秒,通過上圖中上面的曲線可以看到在0.4秒左右其值發生了突變。監測綠球水平速度0.3秒左右達到觸發條件即15米每秒,通過上圖中下面的曲線可以看到0.3秒左右其值發生了突變。對兩球前后兩次工況的橫比,結合v=at,可以看到是合理的。
當然,前后兩次工況下,后面兩個動作球,即c和d,有對應觸發后的動作體現,通過該例實現了多個傳感器條件下,不受限于觸發次序的工況要求。
PART.03
總 結
變拓撲分析是多體動力學中比較重要也很常見的分析類型,sensor作為Adams中獲取設定事件狀態的主要功能,再結合函數、腳本等功能可以有效應對各種類型的變拓撲分析應用。另外,sensor定義中包含了系列參數,如果要對其有更為靈活和深入的使用,需要對這些參數有準確的理解,前述的實例僅僅比常規的sensor應用拓展了事件評估以及senval()函數的應用。
針對變拓撲分析將展開后繼子程序應用模式說明,相比單純的sensor應用將拓展到另一維度,進一步提高應用性。待更。