
發(fā)布
注冊(cè)
/
登錄abaqus常用函數(shù)
關(guān)注創(chuàng)建者:王靖雯 創(chuàng)建時(shí)間:2023-02-27
abaqus常用函數(shù)的視頻教程
abaqus腳本插件107-基于W-M分形函數(shù)極坐標(biāo)表達(dá)式建立圓柱粗糙面(2025-10-23)
abaqus腳本插件107-基于W-M分形函數(shù)極坐標(biāo)表達(dá)式建立圓柱粗糙面(2025-10-23)
免費(fèi) 7分鐘 9播放
查看
abaqus常用函數(shù)的實(shí)例教程
但是當(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()方法,也就無法通過該方法獲得可以使用的mask。
無奈之下只好使用getSequenceFromMask函數(shù),這就要解決一個(gè)麻煩的問題:getSequenceFromMask的mask值究竟怎么來?目前看來唯一的辦法就是解密getMask()函數(shù)。(未知原因,公司網(wǎng)絡(luò)連接不了ABAQUS幫助文件。)
展開 網(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è)插件了。
展開 03「常用函數(shù)接口」
Abaqus二次開發(fā)常用的函數(shù)接口包括Python和C++接口。?
Python接口:?
定義材料和截面:?使用myModel.Material和myModel.HomogeneousShellSection等函數(shù)定義材料和截面屬性。?
定義負(fù)荷:?使用myModel.ConcentratedForce定義點(diǎn)力荷載。?
定義邊界條件:?使用myModel.DisplacementBC定義固定邊界條件。?
歷史數(shù)據(jù)輸出:?使用特定函數(shù)將節(jié)點(diǎn)位移輸出到ODB文件。?
C++接口:
Abaqus支持使用C++編寫用戶子程序,?包括邊界條件、?荷載條件、?接觸條件、?材料特性等。?
此外,?Abaqus還提供了getinput和getinputs函數(shù),?用于在腳本運(yùn)行時(shí)提供一個(gè)對(duì)話框,?讓用戶輸入?yún)?shù),?便于直觀地進(jìn)行建模操作。?這些函數(shù)允許用戶輸入單個(gè)或多個(gè)變量,?提高了建模的靈活性和便利性。?
04「Python示例程序」
在Abaqus的GUI中,輸入“model”,選擇“python”,可以看到很多函數(shù)接口。通過這些接口可以方便的使用Python編寫一些簡(jiǎn)單的程序。
以下是一個(gè)簡(jiǎn)單的Abaqus Python二次開發(fā)示例程序,用于創(chuàng)建一個(gè)簡(jiǎn)單的靜態(tài)分析模型并運(yùn)行分析。
展開 這是mathcad14常用內(nèi)置函數(shù)啟蒙之1—基本數(shù)學(xué)函數(shù)
因?yàn)樘厥庑枰?jì)劃寫幾篇mathcad14的《頁(yè)面程序語(yǔ)言啟蒙》,大概包括“常用運(yùn)算符”、“常用內(nèi)置函數(shù)”、和“符號(hào)運(yùn)算關(guān)鍵字”三個(gè)部分。
基本數(shù)學(xué)函數(shù).rar
= '\0' && *str <= '9' && *str >= '0')
{
value = value * 10 + *str - '0'; //將數(shù)字字符轉(zhuǎn)為對(duì)應(yīng)的整形數(shù)
str++;
}
if (flag == 0) //負(fù)數(shù)的情況
{
value = -value;
}
return value;
}
效果:字符串:”-123” 轉(zhuǎn)為 -123
第二種,如果不帶負(fù)號(hào)
void StrtoDec(uint32_t *pbDest, char *pbSrc, int nLen)
{
int i;
int tmp=0;
if(nLen > 10)
*pbDest = 0;
tmp = 1;
*pbDest = 0;
for (i=nLen-1; i>=0; i--)
{
*pbDest += tmp*(*(pbSrc+i)-'0');
tmp = tmp*10;
}
}
效果:字符串:”123” 轉(zhuǎn)為 123
第三種:包含轉(zhuǎn)為浮點(diǎn)數(shù)
//m^n函數(shù)
//返回值:m^n次方.
u32 NMEA_Pow(u8 m,u8 n)
{
u32 result=1;
while(n--)result*=m;
return result;
}
//str轉(zhuǎn)換為數(shù)字,以','或者'*'結(jié)束
//buf:數(shù)字存儲(chǔ)區(qū)
//dx:小數(shù)點(diǎn)位數(shù),返回給調(diào)用函數(shù)
//返回值:轉(zhuǎn)換后的數(shù)值
int NMEA_Str2num(u8 *buf,u8*dx)
{
展開 
abaqus常用函數(shù)的相關(guān)專題、標(biāo)簽、搜索
abaqus常用函數(shù)的最新內(nèi)容
[圖片]
在有限元分析中,復(fù)雜幾何模型的參數(shù)化建模能顯著提升效率。
通過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
Abaqus本身提供了豐富的函數(shù)庫(kù),可以直接調(diào)用,也可以通過Python語(yǔ)言開發(fā)。另外還有Abaqus提供了很多的函數(shù)接口,是可以直接調(diào)用的,但是這些接口很復(fù)雜,初學(xué)者通常會(huì)不知道從哪里入手,但是如果在仿真中用Python編寫一些簡(jiǎn)單的程序就非常方便了。
本文將介紹Abaqus Python二次開發(fā)中的命令行界面、幾何建模界面、常用的函數(shù)接口、示例程序和注意事項(xiàng)。
01「GUI:命令行界面
本文的初衷主要是幫助讀者梳理常用的國(guó)際單位制及對(duì)應(yīng)換算關(guān)系
一般計(jì)算與設(shè)計(jì)中,礙于軟件等因素,有時(shí)操作者會(huì)忽視結(jié)構(gòu)某些物理量綱的單位,這往往造成部分描述上的混淆,諸如密度到底取多少?其單位又是怎么樣?在許多有限元數(shù)值分析軟件中并沒有系統(tǒng)預(yù)設(shè)的單位轉(zhuǎn)化功能,工程師需要明確自己輸入各個(gè)量的單位是否統(tǒng)一,計(jì)算所得結(jié)果的評(píng)價(jià)是否正常,這都需要讀者心中對(duì)單位制十分敏感,而不是模棱兩可地僅追求數(shù)字
0 引言
在現(xiàn)代海戰(zhàn)中,水下爆炸是一種用以擊沉敵艦的至關(guān)重要的戰(zhàn)術(shù)手段。各個(gè)海洋強(qiáng)國(guó)都極為重視對(duì)船舶在水下爆炸的損傷機(jī)制進(jìn)行研究,但政府主導(dǎo)的一些實(shí)船研究通常并未公開發(fā)表。對(duì)于個(gè)人研究者來說,要進(jìn)行實(shí)船水下爆炸研究存在著巨大的困難,因此一種普遍的做法是采用簡(jiǎn)化船體梁結(jié)構(gòu)進(jìn)行研究。在正式進(jìn)行水下爆炸實(shí)驗(yàn)之前,通過模態(tài)分析的方法來考察所設(shè)計(jì)的簡(jiǎn)化船體梁結(jié)構(gòu)的合理性具有重要意義。
本文參考了
在ABAQUS中,用戶定義的子程序是一種重要的構(gòu)件,可以將其插入到Abaqus分析中以增強(qiáng)該軟件的功能和靈活性。這些子程序允許用戶在分析過程中添加自定義材料模型、邊界條件、初始化、加載等特定操作,以便更精準(zhǔn)地模擬分析中的現(xiàn)象和現(xiàn)象。ABAQUS支持各種不同類型和用途的子程序,下面列舉了最常用的ABAQUS子程序。
1. DLOAD(Abaqus/標(biāo)準(zhǔn))和 VDLOAD(Abaqus/顯式)
兩個(gè)子程序用于定義隨時(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ù)
四階張量雙點(diǎn)乘:
subroutine aaaa_dot_dot_bbbb(n,a,b,c)
include 'ABA_PARAM.INC'
dimension a(n,n,n,n), b(n,n,n,n), c(n,n,n,n)
計(jì)算3*3矩陣的逆矩陣
subroutine inv3x3(A,invA,det)
implicit none
real(8), intent(in) :: A(3,3)
real(8), intent(out) :: invA(3,3), det
integer :: i,j
call deter3x3(A,det)
3*1向量叉乘:
subroutine vecprod(dvin1,dvin2,dvout)
implicit none
real(8), intent(in) :: dvin1(3), dvin2(3)
real(8), intent(out) :: dvout(3)
dvout(1)=dvin1(2)*dvin2(

