Abaqus子程序之GETVRMAVGATNODE
????? ?大家還記得之前我介紹過的GETNODETOELEMCONN公用程序嗎?當時是像下面這樣解釋的:

1.功能簡介
GETVRMAVGATNODE是一個abaqus子程序,用于在用戶子程序UMESHMOTION中調(diào)用,以獲取在節(jié)點上平均的材料積分點信息。它可以訪問平均結(jié)果值,但僅限處理實值(就是實數(shù),浮點型數(shù)據(jù))結(jié)果。與GETVRM子程序相似,GETVRMAVGATNODE可用于實現(xiàn)節(jié)點平均值的計算。在GETVRM中有哪些結(jié)果變量,GETVRMAVGATNODE也都有。但是,GETVRMAVGATNODE與GETVRM的不同之處在于,GETVRMAVGATNODE將對結(jié)果進行平均處理,因此不能處理表示為整數(shù)或標志的結(jié)果值。
2.對應(yīng)求解器
Abaqus/Standard
3.實用程序接口
DIMENSION ARRAY(15), JELEMLIST(NELEMS)
...
CALL GETVRMAVGATNODE(NODE,JTYP,'VAR',ARRAY,JRCD,JELEMLIST,NELEMS,
JMATYP,JGVBLOCK)
4.要提供給程序的變量
NODE
節(jié)點編號。
JTYP
一個整數(shù)標識,指示材料點信息如何進行平均。設(shè)置JTYP = 0,使用單元形函數(shù)外推結(jié)果,并在節(jié)點處平均結(jié)果。設(shè)置JTYP = 1,對結(jié)果進行體積加權(quán)平均。
VAR
來自與單元積分點變量表格(Element Integration Point Variables)中的輸出變量關(guān)鍵字。適用的關(guān)鍵字在輸出表格中列出,作為可以在單元積分點處進行結(jié)果文件輸出的變量;例如,應(yīng)力的關(guān)鍵字為“S”。唯一的例外是積分點坐標變量COORD,該變量無法傳遞到公用程序中??梢允褂脤嵱贸绦騁ETVRN,以獲取節(jié)點坐標。
JELEMLIST
與你想在平均結(jié)果中考慮材料點數(shù)值的節(jié)點相連接的單元的單元編號數(shù)組。列表中每個單元的結(jié)果都將外推到該節(jié)點并求平均。可以從實用程序GETNODETOELEMCONN中獲得JELEMLIST。
NELEMS
JELEMLIST數(shù)組的長度。
JGVBLOCK
變量必須傳遞到GETVRMAVGATNODE實用程序中。該變量可獲取用戶子程序UMESHMOTION。
JMATYP
變量必須傳遞到GETVRMAVGATNODE實用程序中。該變量獲取于用戶子程序UMESHMOTION。
5.要提供給程序的變量
ARRAY:?包含輸出變量各個組成部分的實數(shù)組。
JRCD: 返回代碼,值為0表示沒有錯誤,值為1表示輸出請求錯誤或所有輸出請求的組成部分都為零。
6.可用的輸出變量鍵
?僅僅在結(jié)果文件輸出中有效的輸出變量關(guān)鍵字可用于GETVRMAVGATNODE(換言之,你要使用的變量必須被輸出在結(jié)果文件中了,才能使用這個變量,本質(zhì)上是因為這個實用程序是從結(jié)果文件中讀取數(shù)據(jù))。一般來說,如果一個關(guān)鍵字對應(yīng)于一個集合的輸出變量,而不是一個單獨的組件(或分量),它可以與GETVRMAVGATNODE一起使用。例如,應(yīng)力張量的S可以使用,而任何單獨的應(yīng)力分量,如S11,都不能使用。集合輸出變量鍵與其單獨的組件區(qū)別在于,它們在表格中的類別.fil后面帶有yes一詞,說明在Using Abaqus/Standard Output Variable Identifiers中。不能與GETVRMAVGATNODE一起使用的輸出變量鍵將在本節(jié)后面列出。
您將返回與請求VAR相關(guān)聯(lián)的組件數(shù)組。如果對于給定請求不適用任何數(shù)組組件,它的值將作為初始化值0.0返回ARRAY中。無論請求鍵未被識別、請求無效或所有的輸出組件請求都為零,GETVRMAVGATNODE始終會返回錯誤標志JRCD=1;否則,JRCD=0。
7.返回分量的排序方式
請求的分量按以下方式寫入。單索引組件(和沒有組件的請求)在位置1、2、3等返回。雙索引組件以對稱張量的順序11、22、33、12、13、23返回,然后是不對稱張量(變形梯度)的21、31、32。因此,平面應(yīng)力元素的應(yīng)力返回值為ARRAY(1)=S11,ARRAY(2)=S22,ARRAY(3)=0.0,ARRAY(4)=S12。無論分析的維度如何,主要值請求始終返回三個值,最小值為第一個,最大值為第三個。
輸出變量的描述(請參閱Using Abaqus/Standard Output Variable Identifiers)確定了在GETVRMAVGATNODE中檢索哪些組件。
8.返回值的分析時間
GETVRMAVGATNODE 在當前增量的結(jié)束時返回值給用戶子程序 UMESHMOTION。
9.訪問9狀態(tài)相關(guān)變量
如果使用 GETVRMAVGATNODE訪問與求解有關(guān)的狀態(tài)變量(輸出變量鍵 SDV),并且在分析中定義了超過15個與解有關(guān)的狀態(tài)變量,則必須更改ARRAY的維數(shù)語句,以便這些數(shù)組被尺寸化到依賴求解狀態(tài)變量的最大數(shù)量。
10.不支持的元素類型和輸出變量鍵
由于此功能涉及到材料點量,因此它不能用于不需要材料定義的大多數(shù)元素類型。因此,以下元素類型不受支持:
DASHPOTx
SPRINGx
CONNxDx
FRAMExD
JOINTC
JOINTxD
DRAGxD
PSIxx
ITSxxx
MASS
ROTARYI
所有聲學(xué)元素
所有靜水壓流體元素
以下輸出變量鍵不能與 GETVRMAVGATNODE 一起使用:
SVOL
TSHR
CTSHR

結(jié)尾
等到我介紹umeshmotion子程序的時候,再給大家分享案例,因為GETNODETOELEMCONN和GETVRMAVGATNODE這兩個公用程序一般都是在umeshmotion中使用的,所有文章中介紹的案例文件和代碼都可在公眾號力學(xué)混子愛AI回復(fù)名稱自動獲取,也會經(jīng)常會給大家分享一些實用工具的。
Abaqus子程序之GETVRMAVGATNODE的評論 (共 條)
