
發布
注冊
/
登錄abaqus常用函數的案例
getMask()討論:Abaqus Part對象的成員變量常用函數 ¥1
但是當開始寫程序的時候才發現一個巨大的坑點:Part對象的Skin函數不接受列表類型的參數或者數組類型的參數,它只接受ABAQUS特定的幾何數組類型或者序列類型,按理說list類型屬于序列類型,但是該函數并不接受。如果通過getSequenceFromMask生成可用faces,mask究竟如何獲得又是一個問題。
mask為什么難以獲得呢?因為getMask()函數是FaceArray對象的成員函數,而該對象的建立是通過part對象建立的(p.faces),它會生成所有faces的合集(比如[0,1,2,3,4,5,6]),而我要進行skin的cell只包含這些faces中的一部分,并且編號是隨機的不可預測的,但是組成該cell的face編號可以通過c.getFaces()((2,3.4,5))。按照我最初的想法,我有了這些面的ID號,把它們從p.faces中讀取出來重新組合就可以了,但是組合完成的類型是list,Skin函數不接受它作為參數。我嘗試了多種方法均不能將最終的結果轉化成Skin可以使用的格式。并且由于組合后的不是abaqus的幾何數組類型,所以它并沒有getMask()方法,也就無法通過該方法獲得可以使用的mask。
無奈之下只好使用getSequenceFromMask函數,這就要解決一個麻煩的問題:getSequenceFromMask的mask值究竟怎么來?目前看來唯一的辦法就是解密getMask()函數。(未知原因,公司網絡連接不了ABAQUS幫助文件。)
展開 #ABAQUS2016常用庫函數Numpy,Scipy,Xlrd及Xlwt,Reportlab安裝
網絡資源http://blog.sina.com.cn/s/blog_14f71f4ef0102x1y2.html
當用abaqus進行二次開發的時候,為了充分利用python的強大計算編程功能,因此為abaqus中的python文件安裝常用的庫函數文件,像Numpy,Scipy,Xlrd和Xlwt等非常有用,接下來講解如何安裝這些插件。
值得注意的是,由于python主要有2.7和3.4兩個版本,對庫函數的安裝要嚴格相對應,Windows還分是32位還是64位,這些都要嚴格對應,對應不成功,安裝的插件很可能就用不了。當用abaqus進行二次開發的時候,為了充分利用python的強大計算編程功能,因此為abaqus中的python文件安裝常用的庫函數文件,像Numpy,Scipy,Xlrd和Xlwt等非常有用,接下來講解如何安裝這些插件。
首先查看自己的abaqus中安裝的是哪個python版本,查看abaqus中的python版本的方法如下:如圖1,點擊Abaqus Command,打開Abaqus 命令;再在命令窗口輸入:abaqus python回車,就可以看到abaqus2016安裝的是python2.7.3這個版本。由于我的電腦安裝是Win7 64位,安裝的abaqus2016也是64位的。因此在自己的電腦上也安裝python 2.7.3 64位的python軟件,這樣在python2.7.3中安裝的插件直接拷貝到ababqus2016的python中就可以直接使用了。接下來講解如何安裝插件。由于abaqus中的python中已經集成了Numpy插件,因此不用再安裝這個插件了。
展開 Abaqus Python二次開發常用的函數接口、示例程序與注意事項介紹(含零基礎視頻教程)
03「常用函數接口」
Abaqus二次開發常用的函數接口包括Python和C++接口。?
Python接口:?
定義材料和截面:?使用myModel.Material和myModel.HomogeneousShellSection等函數定義材料和截面屬性。?
定義負荷:?使用myModel.ConcentratedForce定義點力荷載。?
定義邊界條件:?使用myModel.DisplacementBC定義固定邊界條件。?
歷史數據輸出:?使用特定函數將節點位移輸出到ODB文件。?
C++接口:
Abaqus支持使用C++編寫用戶子程序,?包括邊界條件、?荷載條件、?接觸條件、?材料特性等。?
此外,?Abaqus還提供了getinput和getinputs函數,?用于在腳本運行時提供一個對話框,?讓用戶輸入參數,?便于直觀地進行建模操作。?這些函數允許用戶輸入單個或多個變量,?提高了建模的靈活性和便利性。?
04「Python示例程序」
在Abaqus的GUI中,輸入“model”,選擇“python”,可以看到很多函數接口。通過這些接口可以方便的使用Python編寫一些簡單的程序。
以下是一個簡單的Abaqus Python二次開發示例程序,用于創建一個簡單的靜態分析模型并運行分析。
展開 mathcad14常用內置函數啟蒙之1—基本數學函數
這是mathcad14常用內置函數啟蒙之1—基本數學函數
因為特殊需要,計劃寫幾篇mathcad14的《頁面程序語言啟蒙》,大概包括“常用運算符”、“常用內置函數”、和“符號運算關鍵字”三個部分。
基本數學函數.rar

ADAMS的常用函數!
ADAMS的函數種類比較多:
1、Displacement Functions
2、Velocity Functions
3、 Acceleration Functions
4、 Contact Functions
5、 Spline Functions
6、 Force in Object Functions
7、Resultant Force Functions
8、 Math Functions
9、 Data Element Access
10、User-Written Subroutine Invocation
11、Constants & Variables
雖然在ADAMS的幫助文檔有些說明, 但實際使用時初學者可能往往遇到困難,
所以在此,提議大家把自己熟悉的函數簡單說明一下:歡迎踴躍參加!
展開 ADAMS常用函數總結!
在使用adams的過程中,由于函數比較多,大概有11種之多,如 1、Displacement Function 2、Velocity Functions 3、 Acceleration Functions 4、 Contact Functions 5、 Spline Functions 6、 Force in Object Functions 7、Resultant Force Functions 8、 Math Functions 9、 Data Element Access 10、User-Written Subroutine Invocation 11、Constants & Variables。
在adams中也有幫助文檔,但是對于初學者來說還是有一定的難度的,基于這種情況我總結了一下幾種常用的函數,希望能夠起到拋磚引玉的作用!
展開 umat子程序編寫常用的fortran函數分享(四)
subroutine Voigt_to_forth(b,a)
include 'ABA_PARAM.INC'
dimension a(3,3,3,3), b(6,6)
do i = 1,3
do j = 1,3
ia = i
if (i.ne.j) ia=9-i-j
do k = 1,3
do l = 1,3
ib = k
if (k.ne.l) ib=9-k-l
a(i,j,k,l) = b(ia,ib)
if (ia.gt.3) a(i,j,k,l) = a(i,j,k,l) / 2
if (ib.gt.3) a(i,j,k,l) = a(i,j,k,l) / 2
end do
end do
end do
end do
return
end
sgn函數
展開 C語言常用轉換函數實現原理
= '\0' && *str <= '9' && *str >= '0')
{
value = value * 10 + *str - '0'; //將數字字符轉為對應的整形數
str++;
}
if (flag == 0) //負數的情況
{
value = -value;
}
return value;
}
效果:字符串:”-123” 轉為 -123
第二種,如果不帶負號
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” 轉為 123
第三種:包含轉為浮點數
//m^n函數
//返回值:m^n次方.
u32 NMEA_Pow(u8 m,u8 n)
{
u32 result=1;
while(n--)result*=m;
return result;
}
//str轉換為數字,以','或者'*'結束
//buf:數字存儲區
//dx:小數點位數,返回給調用函數
//返回值:轉換后的數值
int NMEA_Str2num(u8 *buf,u8*dx)
{
展開 umat子程序編寫常用的fortran函數分享(三)
計算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)
if (abs(det) < 1e-6) then
invA=0.0d+0
else
invA(1,1)=((A(2,2)*A(3,3))-(A(2,3)*A(3,2)))/det
invA(2,1)=-((A(2,1)*A(3,3))-(A(2,3)*A(3,1)))/det
invA(3,1)=((A(2,1)*A(3,2))-(A(2,2)*A(3,1)))/det
invA(1,2)=-((A(1,2)*A(3,3))-(A(1,3)*A(3,2)))/det
invA(2,2)=((A(1,1)*A(3,3))-(A(1,3)*A(3,1)))/det
invA(3,2)=-((A(1,1)*A(3,2))-(A(1,2)*A(3,1)))/det
invA(1,3)=((A(1,2)*A(2,3))-(A(1,3)*A(2,2)))/det
invA(2,3)=-((A(1,1)*A(2,3))-(A(2,1)*A(1,3)))/det
invA(3,3)=((A(1,1)*A(2,2))-(A(1,2)*A(2,1)))/det
endif
return
end subroutine inv3x3
計算2*2矩陣的逆:
subroutine inv2x2(A
展開 umat子程序編寫常用的fortran函數分享(二)
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(3)-dvin1(3)*dvin2(2)
dvout(2)=dvin1(3)*dvin2(1)-dvin1(1)*dvin2(3)
dvout(3)=dvin1(1)*dvin2(2)-dvin1(2)*dvin2(1)
return
end subroutine vecprod
3*1向量點乘:
subroutine dotprod(dvin1,dvin2,dvout)
implicit none
real(8), intent(in) :: dvin1(3), dvin2(3)
real(8), intent(out) :: dvout(3)
dvout = dvin1(1)*dvin2(1)+dvin1(2)*dvin2(2)+dvin1(3)*dvin2(3)
dvout = abs(dvout)
return
end subroutine dotprod
3*3矩陣的行列式的值:
subroutine deter3x3(dmin,d)
implicit none
real(8), intent(in) :: dmin(3,3
展開 umat子程序編寫常用的fortran函數分享(一)
計算2*2矩陣的跡:
subroutine trace2x2(a,aii)
implicit none
real(8), intent(in) :: a(2,2)
real(8), intent(out) :: aii
aii = a(1,1)+a(2,2)
return
end subroutine trace2x2
計算3*3矩陣的跡:
subroutine trace3x3(a,aii)
implicit none
real(8), intent(in) :: a(3,3)
real(8), intent(out) :: aii
aii = a(1,1)+a(2,2)+a(3,3)
return
end subroutine trace3x3
將向量(9*1:變形梯度)轉化為3*3矩陣存儲
subroutine vecmat9(dvin,dmout)
implicit none
real(8), intent(in) :: dvin(9)
real(8), intent(out) :: dmout(3,3)
integer :: i
dmout(1,1) = dvin(1)
dmout(1,2) = dvin(2)
dmout(1,3) = dvin(3)
dmout(2,1) = dvin(4)
dmout(2,2) = dvin(5)
dmout(2,3
展開 
數控車床常用計算公式及三角函數計算公式,推薦收藏!
直徑Φ 倒角量 a 角度θ 正切函數tan θ 正弦函數 sin θ 余弦函數 cos θ 圓弧半徑R 乘以號x 除以號÷ 先運算( )內結果,再運算【 】,再運算全式。
數控車床必備常用三角函數計算公式,收藏隨時用!
在編程的時候,很多時候會用到函數來計算坐標,而且不是每個車間都會有電腦,如果沒有就無處下手了,相信很多同學都把知識還給老師了,所以學習三角函數就很有必要。。
三菱ST語言編程中常用的函數/功能塊使用方法
2,TON/TOF(延時啟動/關閉功能塊)
延時功能塊也是非常常用的FB,除了起到延時的作用,還可以用來過濾信號,起到篩選的作用,例如:使用對射光電傳感器X0(阻擋時ON)檢測皮帶上產品縫隙,當傳感器OFF時間超過100ms時報警Y0。
聲明標簽
編程
3,TP(脈沖定時器)
脈沖定時器的功能是輸出一個固定時長脈沖,典型的應用如報的控制,舉個例子:當變量bAlarm觸發后,點亮報Y0,要求每隔700ms亮一次,一次亮200ms,持續閃爍。
聲明標簽
編程
ton功能塊的輸入設置為自身輸出的非,作用是每隔700ms生成一個單掃描周期的脈沖,tp功能塊將脈沖的時長設定為200ms,并給到指示燈。
算術運算
算數運算除了常用的"+","-","*","/"(加減乘除)還有“**”(冪運算)"<","=",">"(比較)等。還有一些常用的函數可供使用。
1,MAX,MIN(最大值,最小值函數)
選取最大值/最小值存入iMax/iMin中,三菱最多可比較28個數據。這個函數在我的《五子棋》游戲程序中有用到,選取一個棋子4個方向連棋數和分數的最大值。
2,MOD(取余數函數)
取余數是非常有用的函數,比如生成一個范圍內的隨機數時可以使用MOD對生成的數字進行限制;可以將一維數組存入多維數組時使用MOD進行設限,例如:將一維數組DataListA[0..99]的數據傳遞給二維數組DataListB[0..1,0..49]。
3,ABS(絕對值函數)
還有很多三角函數(sin,cos,tan)反三角函數,這里就不再演示了,用法差不多。
展開 Snap7-S7400通訊_實現各種常用算法函數方便調用 ¥40
該源碼是在Snap7-S7400通訊Demo的基礎上進行了幾個常用函數的封裝,以方便工程實踐的應用。