
發(fā)布
注冊(cè)
/
登錄abaqus函數(shù)的案例
Abaqus Python二次開發(fā)常用的函數(shù)接口、示例程序與注意事項(xiàng)介紹(含零基礎(chǔ)視頻教程)
這些函數(shù)庫(kù)已經(jīng)被廣泛應(yīng)用于有限元分析和其他工程領(lǐng)域。如果不會(huì)編程,可以直接使用Abaqus提供的函數(shù)庫(kù),但是要注意以下幾點(diǎn):
1.不能直接調(diào)用Abaqus的函數(shù),必須通過調(diào)用外部程序或?qū)?em>Abaqus. dll文件實(shí)現(xiàn)。
2.如果是想處理數(shù)據(jù),必須先寫好程序,然后導(dǎo)入Abaqus. dll文件。
3. Python不能直接調(diào)用Abaqus的函數(shù)。需要通過讀取Abaqus. dll文件的方法實(shí)現(xiàn),例如讀取、寫入、寫入等。
4. Python程序一般都有自己的運(yùn)行環(huán)境,不能直接使用。
06「Abaqus二次開發(fā)注意事項(xiàng)」
1. Abaqus的API函數(shù)很多,其中有些不支持循環(huán),如果調(diào)用的時(shí)候沒有檢查函數(shù)的參數(shù),會(huì)出現(xiàn)不正確的結(jié)果。另外有些 API函數(shù)也是需要寫一些用戶文檔,才能正常調(diào)用。
2. Abaqus API函數(shù)和Python接口都有對(duì)應(yīng)的用戶文檔,可以把它們打印到屏幕上,便于調(diào)試和驗(yàn)證。
3. Abaqus提供了很多內(nèi)置的模塊,我們可以通過編寫腳本來調(diào)用這些模塊。比如 Abaqus就提供了Abaqus API接口函數(shù)和Python接口函數(shù)。
4. Abaqus提供了一些通用模塊,這些通用模塊可以在其他軟件中調(diào)用。比如有些軟件需要修改后處理參數(shù),這些參數(shù)都是通用的,就可以用Abaqus API調(diào)用這些模塊。
5. Python開發(fā)程序時(shí),需要注意一些問題。比如我們使用的Python包中有很多庫(kù)函數(shù)不支持循環(huán)操作;變量名一定要寫上變量的值等。
07「結(jié)束語(yǔ)」
Abaqus是一個(gè)強(qiáng)大的有限元分析軟件,在仿真過程中,如果能夠用Python編寫一些簡(jiǎn)單的程序,那么可以大大提高工作效率。
展開 IVF 版本和IVS編譯器對(duì)應(yīng)關(guān)系(用abaqus和lsdyna做用戶自定函數(shù)或者子函數(shù)的可以看看)
https://en.wikipedia.org/wiki/Intel_Fortran_Compiler
inel fortran Compiler 不同版本對(duì)應(yīng)的編譯器
Intel Parallel Studio XE 2015 Update 4 or later (compiler 15.0.4) VS2010, VS2012, VS2013, VS2015 (includes VS2010 Shell)
Intel Parallel Studio XE 2015 Initial release through update 3 (compiler 15.0) VS2010, VS2012, VS2013 (includes VS2010 Shell)
Composer XE 2013 SP1 Update 1 or later (compiler 14.0.1) - VS2008, VS2010, VS2012, VS2013 (includes VS2010 Shell)
Composer XE 2013 SP1 initial release (compiler 14.0.0) - VS2008, VS2010, VS2012 (includes VS2010 Shell)
Composer XE 2013 (compiler 13.0 and 13.1) - VS2008, VS2010, VS2012 (includes VS2010 Shell)
Composer XE 2011 (compiler 12.0 and 12.1) - VS2005, VS2008, VS2010 (includes VS2008 Shell (12.0) or VS2010 Shell (12.1))
展開 ABAQUS中調(diào)用MATLAB的函數(shù)
實(shí)例測(cè)試
在運(yùn)行程序時(shí),需要注意的是,必須將用到的自定義的m文件的目錄都包括進(jìn)去
from mlab.releases import latest_release as matlab
# 添加matlab程序的位置,需要引入所有需要依賴的m文件的目錄
x = matlab.path(matlab.path(),r'C:\Users\15321\abaqus_plugins\path')
# 運(yùn)行函數(shù)
number = matlab.plot(x)
Abaqus子程序隨機(jī)函數(shù)添加
Abaqus dload中子程序怎么添加隨機(jī)函數(shù),讓他實(shí)現(xiàn)初始位置隨機(jī)呢?

Abaqus 利用FindAt函數(shù)根據(jù)坐標(biāo)查找點(diǎn),線,面
在ANSYS中可以通過坐標(biāo)來選取對(duì)象,Abaqus雖說沒有ANSYS那么方便,但是也還是可以實(shí)現(xiàn)的,主要是通過findAt函數(shù),可以選擇cell(體)、face(面)、edge(邊)和vertex(頂點(diǎn))。
findAt(): This method returns the object or objects in the VertexArray located at the given coordinates.
findAt initially uses the ACIS tolerance of 1E-6. As a result, findAt returns any Vertex object that is at the arbitrary point specified or at a distance of less than 1E-6 from the arbitrary point. If nothing is found, findAt uses the tolerance for imprecise geometry (applicable only for imprecise geometric entities).
findAt will always try to find objects among all the vertices in the part or assembly instance and will not restrict itself to a subset even if the VertexArray represents such subset.
展開 Abaqus中利用橡膠實(shí)驗(yàn)數(shù)據(jù)獲取本構(gòu)函數(shù)曲線
ABAQUS軟件中有多種橡膠材料的本構(gòu)模型,材料本構(gòu)模型與試驗(yàn)數(shù)據(jù)的關(guān)聯(lián)程度直接影響橡膠分析的精度。ABAQUS提供自動(dòng)材料評(píng)估工具,該工具不僅能夠使用試驗(yàn)數(shù)據(jù)擬合出所選本構(gòu)函數(shù)(應(yīng)變能函數(shù))的參數(shù),而且還能將本構(gòu)函數(shù)曲線與試驗(yàn)數(shù)據(jù)(名義應(yīng)力-應(yīng)變曲線)繪制在同一圖表中,便于對(duì)比擬合效果。
1、選擇超彈性材料,輸入源為:Test data。
2、分別輸入單軸、雙軸、平面或其中一種試驗(yàn)數(shù)據(jù),如下圖單軸拉伸試驗(yàn)數(shù)據(jù)。根據(jù)試驗(yàn)數(shù)據(jù)種類的多少選擇不同的本構(gòu)模型。
3、返回模型樹,使用Evaluate 功能來評(píng)估多種應(yīng)變能函數(shù)。
4、查看擬合出不同應(yīng)變能函數(shù)的參數(shù)及其數(shù)據(jù)穩(wěn)定范圍
5、查看擬合出的曲線結(jié)果,可對(duì)比不同應(yīng)變能函數(shù)擬合出的曲線差異。
文章來源:有限元在線
展開 Abaqus python 漸進(jìn)式二次開發(fā)——網(wǎng)絡(luò)接口、函數(shù)上云
最小的局域網(wǎng)就是同一臺(tái)計(jì)算機(jī)訪問自身的不同端口,所以完全可以在你的計(jì)算機(jī)上配置好網(wǎng)絡(luò)服務(wù)器應(yīng)用,然后在abaqus的python2環(huán)境中訪問、交互,實(shí)現(xiàn)上述的各種功能。
2、函數(shù)上云
對(duì)于那些飽含作者心血的寶貴函數(shù),完全可以部署到各種云服務(wù)器上,在代碼“絕對(duì)安全”和用戶“絕對(duì)方便”的前提上讓有需要的人能夠方便快捷的使用到。
以上,都可以基于Abaqus python 漸進(jìn)式二次開發(fā)的技術(shù)來實(shí)現(xiàn)。代碼的使用方法很大程度決定了代碼使用的場(chǎng)景和邊界。
所以,希望突破限制復(fù)制粘貼“長(zhǎng)長(zhǎng)”腳本的你,歡迎參加《Abaqus python 漸進(jìn)式二次開發(fā)(二)》直播課,從基礎(chǔ)的開發(fā)“套路”開始,重新認(rèn)識(shí)Abaqus python二次開發(fā)。
報(bào)名鏈接https://www.yqgqt.org.cn/live/10820
報(bào)名鏈接https://www.yqgqt.org.cn/live/10820
展開 基于Abaqus與Python的參數(shù)化建模:快速生成空間三角函數(shù)曲線 ¥14.9
通過Abaqus-Python腳本接口,我們可以快速生成三角函數(shù)曲線(如正弦、余弦曲線),
靈活調(diào)整截面參數(shù)以適應(yīng)不同場(chǎng)景(如紗線結(jié)構(gòu)、周期性載荷路徑)。以下為詳細(xì)實(shí)現(xiàn)方法。
1. 腳本設(shè)計(jì)思路
參數(shù)化核心:通過數(shù)學(xué)公式定義曲線,動(dòng)態(tài)控制振幅、頻率、周期等參數(shù)。
Abaqus-Python API:利用Sketch工具創(chuàng)建草圖,結(jié)合Spline函數(shù)生成樣條曲線。
優(yōu)勢(shì):避免GUI重復(fù)操作,支持批量生成與優(yōu)化迭代。
Abaqus如何施加自定義函數(shù)的位移約束
Abaqus如何施加自定義函數(shù)的位移約束
對(duì)于有一些模型需要加載隨時(shí)間變化的載荷和約束,Abaqus提供各種定義方式,通過Amplitude來完成,本次想闡述的時(shí)加載不隨時(shí)間變化而是隨坐標(biāo)變化的約束。
建立如圖所示的模型,想對(duì)這個(gè)模型的整體在x方向施加一個(gè)隨著Y軸坐標(biāo)線性變化的位移約束,即u1=kY形式的約束。
圖1
直接施加肯定不可能,與ANSYS一樣,需要先建立函數(shù),建立函數(shù)菜單的位置如圖2所示,在Load模塊下的Tool菜單下。
圖2
點(diǎn)開之后如圖3所示,點(diǎn)擊Creat彈出對(duì)話框,采用Expression field的方式建立函數(shù),并可以修改名稱。
圖3
之后即可通過如圖4所示的界面來創(chuàng)建函數(shù),能夠用的變量是坐標(biāo)XYZ,運(yùn)算符在右邊,坐標(biāo)采用的坐標(biāo)系可以自由選擇,默認(rèn)采用笛卡爾總體坐標(biāo)系。選擇坐標(biāo)的時(shí)候可以直接點(diǎn)選Abaqus/CAE窗口的已有坐標(biāo)系直接選擇。
圖4
創(chuàng)建完保存。
之后即可創(chuàng)建位移約束,如圖5所示,需要注意兩個(gè)東西,一個(gè)是通過Distrubition選擇剛才創(chuàng)建的函數(shù)AnalyticalField-1,另外施加u1時(shí)填入數(shù)字1的含義表示施加1倍的函數(shù)。
圖5
創(chuàng)建完之后,可以通過主菜單的View-Assembly Display Option-Attribute來設(shè)置顯示,如圖6所示。
圖6
最終加載完成如圖7所示。
圖7
很明顯隨著Y坐標(biāo)的不同而不同。
展開 ABAQUS二次開發(fā)|findAt函數(shù)創(chuàng)建集合的使用方法
圖4 創(chuàng)建集合
3.結(jié)果
圖5 應(yīng)力云圖
4.結(jié)論
演示了使用findAt函數(shù)參數(shù)化建立了集合的流程。
該模型完整代碼可在后臺(tái)回復(fù)“findAt”獲取。下期給大家分享一個(gè)python reader編譯器,可實(shí)時(shí)顯示.rpy代碼,助力高效二次開發(fā)。若沒有第三方軟件協(xié)助,一個(gè)模型成百上千的代碼是多么的令人抓狂
往期推薦:
Abaqus|Abaqus與Matlab對(duì)I型裂紋研究分析
Abaqus|復(fù)合材料熱變形案例
Abaqus|桿件結(jié)構(gòu)中剛接點(diǎn)、鉸接點(diǎn)、交叉桿件的設(shè)置方法與模擬
二次開發(fā)|Python腳本文件生成懸鏈線
點(diǎn)個(gè)在看你最好看
展開 #ABAQUS2016常用庫(kù)函數(shù)Numpy,Scipy,Xlrd及Xlwt,Reportlab安裝
網(wǎng)絡(luò)資源http://blog.sina.com.cn/s/blog_14f71f4ef0102x1y2.html
當(dāng)用abaqus進(jìn)行二次開發(fā)的時(shí)候,為了充分利用python的強(qiáng)大計(jì)算編程功能,因此為abaqus中的python文件安裝常用的庫(kù)函數(shù)文件,像Numpy,Scipy,Xlrd和Xlwt等非常有用,接下來講解如何安裝這些插件。
值得注意的是,由于python主要有2.7和3.4兩個(gè)版本,對(duì)庫(kù)函數(shù)的安裝要嚴(yán)格相對(duì)應(yīng),Windows還分是32位還是64位,這些都要嚴(yán)格對(duì)應(yīng),對(duì)應(yīng)不成功,安裝的插件很可能就用不了。當(dāng)用abaqus進(jìn)行二次開發(fā)的時(shí)候,為了充分利用python的強(qiáng)大計(jì)算編程功能,因此為abaqus中的python文件安裝常用的庫(kù)函數(shù)文件,像Numpy,Scipy,Xlrd和Xlwt等非常有用,接下來講解如何安裝這些插件。
首先查看自己的abaqus中安裝的是哪個(gè)python版本,查看abaqus中的python版本的方法如下:如圖1,點(diǎn)擊Abaqus Command,打開Abaqus 命令;再在命令窗口輸入:abaqus python回車,就可以看到abaqus2016安裝的是python2.7.3這個(gè)版本。由于我的電腦安裝是Win7 64位,安裝的abaqus2016也是64位的。因此在自己的電腦上也安裝python 2.7.3 64位的python軟件,這樣在python2.7.3中安裝的插件直接拷貝到ababqus2016的python中就可以直接使用了。接下來講解如何安裝插件。由于abaqus中的python中已經(jīng)集成了Numpy插件,因此不用再安裝這個(gè)插件了。
展開 
abaqus幅值中周期函數(shù)(傅里葉級(jí)數(shù))的應(yīng)用
最近系統(tǒng)具體的學(xué)習(xí)了相關(guān)幅值曲線的知識(shí),分享一個(gè)周期函數(shù)的知識(shí)。附件有具體的傅里葉級(jí)數(shù)的講解。
ABAQUS交流群:1063594113
隨便在這吐槽一下:竟然有人把這種簡(jiǎn)單的知識(shí)收費(fèi),也是厲害了!
周期信號(hào)的傅里葉級(jí)數(shù).pdf
getMask()討論:Abaqus Part對(duì)象的成員變量常用函數(shù) ¥1
但是當(dāng)開始寫程序的時(shí)候才發(fā)現(xiàn)一個(gè)巨大的坑點(diǎn):Part對(duì)象的Skin函數(shù)不接受列表類型的參數(shù)或者數(shù)組類型的參數(shù),它只接受ABAQUS特定的幾何數(shù)組類型或者序列類型,按理說list類型屬于序列類型,但是該函數(shù)并不接受。如果通過getSequenceFromMask生成可用faces,mask究竟如何獲得又是一個(gè)問題。
mask為什么難以獲得呢?因?yàn)間etMask()函數(shù)是FaceArray對(duì)象的成員函數(shù),而該對(duì)象的建立是通過part對(duì)象建立的(p.faces),它會(huì)生成所有faces的合集(比如[0,1,2,3,4,5,6]),而我要進(jìn)行skin的cell只包含這些faces中的一部分,并且編號(hào)是隨機(jī)的不可預(yù)測(cè)的,但是組成該cell的face編號(hào)可以通過c.getFaces()((2,3.4,5))。按照我最初的想法,我有了這些面的ID號(hào),把它們從p.faces中讀取出來重新組合就可以了,但是組合完成的類型是list,Skin函數(shù)不接受它作為參數(shù)。我嘗試了多種方法均不能將最終的結(jié)果轉(zhuǎn)化成Skin可以使用的格式。并且由于組合后的不是abaqus的幾何數(shù)組類型,所以它并沒有g(shù)etMask()方法,也就無(wú)法通過該方法獲得可以使用的mask。
無(wú)奈之下只好使用getSequenceFromMask函數(shù),這就要解決一個(gè)麻煩的問題:getSequenceFromMask的mask值究竟怎么來?目前看來唯一的辦法就是解密getMask()函數(shù)。(未知原因,公司網(wǎng)絡(luò)連接不了ABAQUS幫助文件。)
展開 abaqus蠕變基本設(shè)置及雙曲正弦函數(shù)損傷蠕變本構(gòu)CREEP子程序 ¥59.9
該部分為abaqus蠕變計(jì)算基本流程
ABAQUS蠕變問題計(jì)算流程.pdf
付費(fèi)部分為使用CREEP子程序建立雙曲正弦函數(shù)蠕變損傷子程序,含到達(dá)預(yù)設(shè)損傷值(假設(shè)為1.0)后終止計(jì)算,和USDFLD子程序控制材料參數(shù)(該子程序可用于損傷后的材料退化,如蠕變第三階段或者蠕變疲勞分析,若不需要場(chǎng)變量控制可對(duì)該部分代碼進(jìn)行刪除),相關(guān)理論請(qǐng)參考附件sci文獻(xiàn)。可提供關(guān)于CREEP子程序的幫助文件學(xué)習(xí)的相關(guān)指導(dǎo)
在ABAQUS中基于圓柱坐標(biāo)系設(shè)置關(guān)于坐標(biāo)函數(shù)的表面力(keyword 曲面加載,圓柱坐標(biāo),面力)
物體受力在單一應(yīng)力狀態(tài)下,內(nèi)部各點(diǎn)也是單一狀態(tài)。在部分科研理論分析中,需要在物體內(nèi)部挖孔,利用逆推法推導(dǎo)物理量。例如下圖所示,受Y方向某拉力作用,各點(diǎn)應(yīng)力狀態(tài)為:
在圓孔中心位置建立圓柱坐標(biāo)系,該應(yīng)力狀態(tài)在圓柱坐標(biāo)系下的公式為:
在這種情況下反推物理量,需要對(duì)曲面施加基于圓柱坐標(biāo)系的面力。
案例如下:在圓弧面基于圓柱坐標(biāo)系施加等效于單向應(yīng)力狀態(tài)的面力。
加載前先建立圓柱坐標(biāo)系(注意R軸方向?yàn)?度位置,T軸方向?yàn)榻嵌仍龃蠓较颍疽鈭D見文后的加載圖)
具體設(shè)置方法為:Load>Create Load>Mechanical>surface traction
選中中間曲面后,先設(shè)置徑向力,按以下參數(shù)設(shè)置:
Distribution:應(yīng)力分配,點(diǎn)擊后面的f(x)創(chuàng)建一個(gè)基于圓柱坐標(biāo)系的表達(dá)式,Local system 要選擇圓柱坐標(biāo)系,Th為角度變量。
Traction:選擇General,為一般力。
Vector:點(diǎn)擊選擇圖標(biāo)后,依次選擇(0,0,0) (-1,0,0) ,坐標(biāo)選擇建立的圓柱坐標(biāo)系。
注:面力方向矢量是基于所選坐標(biāo)系,(-1,0,0)就是沿圓柱坐標(biāo)系下的R軸反向。
Magnitude:選擇應(yīng)力大小為1。
然后在創(chuàng)建一個(gè)Load,設(shè)置切向力,如下圖所示,也是基于圓柱坐標(biāo)系。
再創(chuàng)建一個(gè)Load,在整體坐標(biāo)系下對(duì)兩側(cè)的平面施加Y方向的面力,大小為1,同時(shí)對(duì)后面的面施加全約束。
最后加載形式為下圖所示:
求解結(jié)果如下圖:
大部分位置應(yīng)力在0.99~1.01之間,為單向應(yīng)力狀態(tài),加載方式正確。
本問題的關(guān)鍵是面力的方向問題,在選擇面力的方向矢量時(shí),是基于所選坐標(biāo)系。對(duì)于圓柱坐標(biāo)系,切向力矢量為(0,-1,0)時(shí),即力的方向只沿著
展開