abaqus python二次开发攻略_基于CAE二次开发进行弹簧批量建模
一、 為什么要進行彈簧批量建模
當一個公司或者學者從事科研任務時,往往通過有限元進行建模分析,建模的時間通常與工作效率掛鉤。例如ABAQUS/CAE建模,想必很多老用戶都有某種共同的感受,那就是實體模型并不繁雜,真正繁雜的是一些虛擬連接的建立,例如彈簧、阻尼、連接器之類大規模的建立,往往這些虛擬傳力單元的建立決定著建模時間的長或短。這類現象在很多專業領域都有突顯,尤其是在交通領域尤為突出,大批量的建立彈簧連接,往往需要半天甚至更加長的時間,而且使人產生惡心、厭煩、無聊等負面情緒。
針對上述存在的問題,小編痛下決心,基于python進行二次開發,旨在解決很大一部分通用彈簧連接的批量建立。
二、 通用彈簧模型案例(一)
小編用最簡單的模型來演示這個程序的可行性,首先基于ABAQUS建立一個10m×10m×10m的立方塊,命名為Part-1如圖所示:
其次,將該模型再進行復制一個,命名為Part-2。
模型參數定義為普通鋼材。
將模型Part-1、Part-2進行裝配,兩者之間進行密貼,如圖:
分析步設置為靜力通用。
將全局網格設置為1,相當于每條邊切分出10段,每段1m。
將用戶界面打開到Interaction中,將Setsprings的python腳本文件放在工作路徑下。
點擊File→Run Script,出現界面
選擇.py文件
輸入第一個部件Part-1,回車
輸入第二個部件Part-2,回車
輸入用來識別建立彈簧的兩點距離臨界值,0.1。在這里也可以輸入其他的值,但是必須遵循一個原則,輸入值必須小于網格長度!
回車
輸入每個彈簧的剛度值,彈簧總剛度為30e6N/m,一共有11*11個彈簧,兩者之商就是輸入值。
輸入阻尼值,靜力不采用阻尼,因此隨意輸入一個參數即可。
回車。
我們在記錄欄將看到fasteners setup successfully,證明彈簧已經建立好。
效果不是很明顯,我們在裝配中將上方綠色部件向Y軸正偏移5m,再回到Interaction中可看見。
此時,我們的彈簧已經做好了。
在上方加載30e6的荷載,下方固定。
提交計算。如圖所示,模型位移為1m,而之前的總剛度為30e6N/m,荷載大小為30e6N,因此驗證成功。
三、 應用于軌道交通扣件批量建立案例
隨著軌道交通的快速發展,越來越多線路選用無砟軌道。對于有砟軌道而言,軌道結構的彈性主要由道砟提供;但對于無砟軌道而言,軌道結構的彈性主要由扣件系統的非金屬彈性墊板提供。扣件系統在無砟軌道彈性方面起非常重要的作用。
無砟軌道中,扣件間距一般為0.6m-0.65m之間,這大大增加了有限元工程師們建模的難度。靜力學中軌道長度一般在20m左右(三塊單元板的長度),共計66個扣件,如果一個扣件做兩個彈簧連接點,一共需要連接132點,還是很可觀的。如若進行動力學仿真,一般軌道長度都超過了100m,此時的扣件大概在333個左右,要連接666個。上述所說的情況都是建立在彈簧模型簡化的基礎上,如果一個扣件下需要建立大于2個彈簧連接,此時的工作量將會是成倍的增加。
接下來我們將ABAQUS/CAE批量建立彈簧系統應用于軌道交通專業領域。
建立如圖所示的鋼軌、軌枕、道床板。
接下來我們將ABAQUS/CAE批量建立彈簧系統應用于軌道交通專業領域。
建立如圖所示的鋼軌、軌枕、道床板。
將鋼軌命名為rail60、軌枕命名為sleeper。
首先進行網格劃分,鋼軌和軌枕的網格尺寸設置為0.05m。以便于共節點設置。
接下來進行扣件系統的批量建模。File→Run Script→setsprings.py。
輸入第一個部件rail60
輸入第二個部件sleeper
輸入截斷長度0.01m
輸入剛度,這時候需要注意一個軌枕點是4*6=24個彈簧。總剛度假設為50kN/mm,因此一個彈簧的剛度大概是2.1kN/mm,輸入2.1e6。
阻尼一個扣件為5e4,每根彈簧則為2083。
信息區提示:fasteners setup successfully。此時,扣件已經批量設置好。接下來進行效果展示:
基于Python二次開發進行彈簧的批量操作,不僅能快速建立用戶所需彈簧,而且可有效的節省很大一部分建模時間。在軌道交通領域尤其適用。
全程視頻如下:
購買課程,您將獲得一份上述完整案例代碼。:
http://www.fangzhenxiuxiu.com/course/681512?price=charge (二維碼自動識別)
總結
以上是生活随笔為你收集整理的abaqus python二次开发攻略_基于CAE二次开发进行弹簧批量建模的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: randi()函数
- 下一篇: jq 通过标签名称获取标签_通过微盛·企