實(shí)戰(zhàn)!!加筋土擋墻建模,“面向?qū)ο蟆盇BAQUS PYTHON 二次開發(fā)

 實(shí)戰(zhàn)!!加筋土擋墻建模,“面向?qū)ο蟆?a href="http://www.yqgqt.org.cn/video/c210070" class="jsk-anchor">ABAQUS PYTHON 二次開發(fā)

ss.png

因?yàn)闈M鋪包裹式加筋土的 建模參數(shù)明確、形狀較簡(jiǎn)單、同時(shí)完全手工進(jìn)行各種情況的 反復(fù)建模很繁瑣,所以滿鋪包裹式加筋土的建模過程,非常適合作為“面向?qū)ο蟆?a href="http://www.yqgqt.org.cn/video/c18030" class="jsk-anchor">ABAQUS PYTHON 二次開發(fā)實(shí)戰(zhàn)的例子。

下面為大家展示本次“戰(zhàn)果”。

ss.png

“面向?qū)ο蟆保幻}相承

本文與前面《鳥瞰》、《神乎》兩篇帖子是一脈相承的,如果對(duì)“面向?qū)ο缶幊獭备械侥吧?qǐng)回頭先瀏覽一下前文(http://www.yqgqt.org.cn/content/post/441360)(http://www.yqgqt.org.cn/content/post/441445)。

在本次實(shí)戰(zhàn)中,“滿鋪包裹式加筋土擋墻”被抽象為一個(gè)“對(duì)象”,以 geogrid 的名稱“封裝”在“類型”(class)里面:(見下圖)

ss.png

圖中 def 所定義的,就是“對(duì)象”的“成員函數(shù)”或“方法”。我已經(jīng)把建模需要的步驟、流程都變成了一個(gè)個(gè)拿來即用的方法。比如,用這個(gè)“對(duì)象”來建模計(jì)算,我只需要在命令欄輸入以下語句:

from geogrid import geogrid   # 導(dǎo)入對(duì)象到當(dāng)前建模流程中
g = geogrid([一些參數(shù)])             # 把“對(duì)象”實(shí)例化,后面直接用 g 就可以代表 geogrid 了
# ----------------------------------執(zhí)行到這里,幾何模型就創(chuàng)建完了
g.setSoilMaterial([一些參數(shù)])       # 創(chuàng)建土體材料
g.setGeogridMaterial([一些參數(shù)])    # 創(chuàng)建加筋體材料
g.autoSetSection([一些參數(shù)])        # 創(chuàng)建截面特性,并自動(dòng)分配
g.assembly()                        # 自動(dòng)組裝部件
g.gravityStep([一些參數(shù)])           # 創(chuàng)建自重荷載分析步
g.setInteraction([一些參數(shù)])        # 設(shè)置筋土界面
g.BC()                              # 設(shè)置邊界條件,本例邊界簡(jiǎn)單,無需傳入?yún)?shù)
g.setBodyForce([一些參數(shù)])          # 設(shè)置體力(自重)荷載
g.autoMesh(seedsize)                # 傳入網(wǎng)格種子尺寸參數(shù),自動(dòng)完成網(wǎng)格劃分
#-----------------------------------執(zhí)行到這里,前處理完畢
g.job(jobname)                      # 提交計(jì)算,一次建模計(jì)算過程執(zhí)行完畢!

這個(gè)流程已經(jīng)能夠很好的展示“面向?qū)ο缶幊獭钡哪Яα恕1绕?ABAQUS/CAE 自動(dòng)生成的腳本,這是一個(gè)極大的進(jìn)步!

還能再簡(jiǎn)化嗎?

能!針對(duì)某些需要反復(fù)試算,調(diào)動(dòng)參數(shù)不大的情況,完成一次建模計(jì)算過程只要四行代碼!!!!

極致的封裝,帶來極致的方便!可以將上面橫線中間的代碼全部“封裝”在 go 這個(gè)方法里面,然后只需要以下四行代碼:

from geogrid import geogrid
g = geogrid([一些參數(shù)])
g.go([一些參數(shù)])
g.job(jobname)

如何使用這個(gè) python 腳本工具?

不需要 file / run script ,不需要在命令區(qū)用 execfile 函數(shù)導(dǎo)入。只要把編譯好的 .pyc 文件放到以下圖中所示路徑的文件夾里面,就可以在 CAE 界面命令欄通過  from geogrid import geogrid 來導(dǎo)入這個(gè)工具。

(想學(xué)習(xí)把腳本編譯成 .pyc 文件的朋友,文末有入口鏈接)

ss.png

有 python 二次開發(fā)經(jīng)驗(yàn)的朋友們也可以參考這樣的方式來使用自己開發(fā)的腳本,

采用上述方式使用腳本,不僅僅局限在命令欄,還可以集成到其他的腳本里面。其他腳本只要在開頭加上

 from geogrid import geogrid  就能夠直接使用“封裝”在 geogrid “對(duì)象”里面的各種“方法”了。比如十分方便的選取“線”、“面”的方法:

xrange(xmin, xmax, type)、yrange(ymin, ymax, type)、zrange(zmin, zmax, type)

分別表示從 x 、y、z 方向某區(qū)間內(nèi)選擇 線(type = "edges")、面(type = "faces"),這三個(gè)方法還可以相互配合使用。

想使用這個(gè)二次開發(fā)腳本實(shí)戰(zhàn)工具的朋友,可以點(diǎn)擊文末鏈接。

想學(xué)習(xí)“面向?qū)ο?ABAQUS python 二次開發(fā)”的朋友,請(qǐng)關(guān)注本人賬號(hào),后面將會(huì)推出完全實(shí)戰(zhàn)化的視頻課程。



加筋土擋墻 python 面向?qū)ο蠼9ぞ撸?a href="http://www.yqgqt.org.cn/content/post/442169">http://www.yqgqt.org.cn/content/post/442169

加筋土擋墻算例(http://www.yqgqt.org.cn/content/post/442137

python 腳本編譯成 .pyc ,手把手演示教程(http://www.yqgqt.org.cn/college/video/c13427) 

登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺(tái)客服

TOP

6
1
2