ABAQUS UEL


任何形式轉載請聯系作者。

 

用戶子程序UEL:

將針對每個需要元素計算的每個具有通用用戶定義元素類型的元素(即,未由線性剛度或質量矩陣直接讀取或從結果文件數據中定義)調用; 和(或用戶子程序UEL調用的子程序)必須執行元素的所有計算,以適合當前的分析。

User subroutine interface

      SUBROUTINE UEL(RHS,AMATRX,SVARS,ENERGY,NDOFEL,NRHS,NSVARS,
     1 PROPS,NPROPS,COORDS,MCRD,NNODE,U,DU,V,A,JTYPE,TIME,DTIME,
     2 KSTEP,KINC,JELEM,PARAMS,NDLOAD,JDLTYP,ADLMAG,PREDEF,NPREDF,
     3 LFLAGS,MLVARX,DDLMAG,MDLOAD,PNEWDT,JPROPS,NJPROP,PERIOD)
C
      INCLUDE 'ABA_PARAM.INC'
C
      DIMENSION RHS(MLVARX,*),AMATRX(NDOFEL,NDOFEL),PROPS(*),
     1 SVARS(*),ENERGY(8),COORDS(MCRD,NNODE),U(NDOFEL),
     2 DU(MLVARX,*),V(NDOFEL),A(NDOFEL),TIME(2),PARAMS(*),
     3 JDLTYP(MDLOAD,*),ADLMAG(MDLOAD,*),DDLMAG(MDLOAD,*),
     4 PREDEF(2,NPREDF,NNODE),LFLAGS(*),JPROPS(*)


      user coding to define RHS, AMATRX, SVARS, ENERGY, and PNEWDT


      RETURN
      END

RHS——包含該元素對整個方程組的右側向量的貢獻的數組。對於大多數非線性分析程序,NRHS = 1且RHS應包含殘差矢量(外力減去內力)。例外是修改后的Riks靜態程序(靜態應力分析),其中NRHS = 2且RHS中的第一列應包含殘差向量,第二列應包含元素上外部負載的增量。 RHS(K1,K2)是K2右側矢量中元素的第K1自由度的入口。對於直接穩態分析,設置NRHS = 2來定義實部和虛部。對於基於模式的過程,NRHS等於模態疊加中使用的特征向量的數量。

AMATRX——包含此元素對整個方程組的雅可比行列式(剛度)或其他矩陣貢獻的數組。 隨時需要的特定矩陣取決於LFLAGS數組中的條目(請參見下文)。

即使矩陣是對稱的,也應定義AMATRX中的所有非零值條目。 如果在定義用戶元素時未指定矩陣是不對稱的,則Abaqus / Standard將使用由以下定義的對稱矩陣: ,在這個子程序中, 矩陣定義為AMATRX。 如果在定義用戶單元時指定矩陣是不對稱的,Abaqus / Standard將直接使用AMATRX。

SVARS——包含與此元素關聯的依賴於解的狀態變量值的數組。 這些變量的數量是NSVARS(見下文)。 您可以定義這些變量的含義。

對於一般非線性步驟,此數組在當前增量開始時傳遞到包含這些變量值的UEL。 除非UEL被調用的過程不需要這樣的更新,否則它們應該更新為增量結尾的值。 這取決於LFLAGS數組中的條目(見下文)。 對於線性微擾步驟,這個數組被傳遞到包含基態中這些變量值的UEL。 如果您希望輸出這些數量,則應該返回包含攝動值。

ENERGY——對於一般非線性步驟,ENERGY數組包含與單元相關的能量值。 當調用UEL時,此數組中的值是當前增量開始時的單元能量。 它們應該更新為當前增量結束時的值。 對於線性擾動步驟,陣列被傳遞到包含基態能量的UEL。 如果您希望輸出這些數量,則應該返回包含攝動值。 數組中的條目如下所示:

 


ENERGY(1)動能。
ENERGY(2)彈性應變能。
ENERGY(3)蠕變耗散。
ENERGY(4)塑料耗散。
ENERGY(5)粘性耗散。
ENERGY(6)偽應變能量
ENERGY(7)靜電能量。
ENERGY(8)Incremental work done by loads applied within the user element。

 

Variable that can be updated

PNEWDT——建議的新時間增量與當前正在使用的時間增量的比率(DTIME,見下文)。此變量允許您為Abaqus / Standard中的自動時間增量算法(如果選擇自動時間增量)提供輸入。它僅在具有正常時間增量的平衡迭代期間有用,如LFLAGS(3)= 1所示。在嚴重不連續迭代過程中(如接觸變化),除非CONVERT SDI = YES被指定用於此步驟,否則將忽略PNEWDT。下面討論PNEWDT的使用。

在每次調用UEL之前,PNEWDT設置為一個較大的值。

如果將PNEWDT重新定義為小於1.0,則Abaqus / Standard必須放棄時間增量,並以較小的時間增量再次嘗試。提供給自動時間積分算法的建議新時間增量是PNEWDT×DTIME,其中所使用的PNEWDT是所有對用戶子程序的調用的最小值,允許在此迭代中重新定義PNEWDT。

如果對於此次迭代的所有對用戶子程序的調用,PNEWDT的值大於1.0,並且該迭代中的增量收斂,則Abaqus / Standard可能會增加時間增量。為自動時間積分算法提供的建議新時間增量是PNEWDT×DTIME,其中所使用的PNEWDT是此次迭代對用戶子程序的所有調用的最小值。

如果未在分析過程中選擇自動時間增量,則會忽略大於1.0的PNEWDT值,並且小於1.0的PNEWDT值將導致作業終止。

Variables passed in for information

數組

PROPS——包含為此單元定義的NPROPS實型屬性值的浮點數組。 NPROPS是用戶指定的實屬性數量。

JPROPS——一個整數數組,包含為此元素定義的NJPROP整數屬性值。 NJPROP是用戶指定的整數屬性值的數量。

COORDS——包含元素節點原始坐標的數組。 COORDS(K1,K2)是元素的第K2個節點的第K1坐標。

U,DU,V,A——包含當前增量結束時元素節點處的基本解變量(位移,旋轉,溫度,取決於自由度)的當前估計的陣列。 值如下:

U(K1)變量的總值。 如果這是線性擾動步驟,則它是基態的值。
DU(K1,KRHS)右側KRHS是當前增量變量的增量值。 如果這是特征值提取步驟,則這是特征向量KRHS的特征向量幅度。 對於穩態動力學,KRHS表示擾動位移的實部,KRHS表示擾動位移的虛部。
V(K1)變量的時間變化率(速度,旋轉速率)。 僅定義為隱式動力學(LFLAGS(1)11或12)。
A(K1)變量的加速度。 僅定義為隱式動力學(LFLAGS(1)11或12)。

 

JDLTYP

包含用於為元素定義分布式加載類型的整數的數組。 Un類型的負載由JDLTYP中的整數值n標識; UnNU類型的負載由JDLTYP中的負整數值-n標識。 JDLTYP(K1,K2)是第K2個負載情況下第K1個分布式負載的標識符。 對於一般非線性步驟,K2始終為1。

 

ADLMAG
對於一般非線性步驟,ADLMAG(K1,1)是Un類型的分布式負載在當前增量結束時的第K1th分布負載的總負載大小。 對於UnNU類型的分布式負載,負載大小在UEL中定義; 因此,ADLMAG中的相應條目為零。 對於線性擾動步驟,ADLMAG(K1,1)包含在基態中應用的類型Un的第K1次分布負載的總負載大小。 UnNU類型的基本狀態加載必須在UEL內部處理。 目前不使用ADLMAG(K1,2),ADLMAG(K1,3)等。

 

DDLMAG
對於一般非線性步驟,DDLMAG包含對於Un類型的分布式負載,此元素上當前處於活動狀態的分布式負載的大小增量。 DDLMAG(K1,1)是當前時間增量的負載幅度的增量。 需要增加負載大小來計算外部工作貢獻。 對於UnNU類型的分布式負載,負載大小在UEL中定義; 因此,DDLMAG中的相應條目為零。 對於線性擾動步驟,DDLMAG(K1,K2)包含分布式負載的大小的擾動,該分布式負載當前在該元件上對於Un類型的分布式負載是活動的。 K1表示在元件上有效的第K1擾動負載。 除穩態動力學外,K2始終為1,其中實際負載K2 = 1,假想負載K2 = 2。 必須在UEL內部處理UnNU類型的擾動負載。

 

PREDEF
一個數組,包含預定義字段變量的值,例如元素節點處的非耦合應力/位移分析中的溫度(預定義字段)。

數組的第一個索引K1為1或2,其中1表示增量末尾的字段變量值,2表示字段變量的增量。第二個索引K2表示變量:溫度對應於索引1,預定義的字段變量對應於索引2及以上。在未定義溫度的情況下,預定義字段變量以索引1開頭。第三個索引K3表示元素上的本地節點號。

PREDEF(K1,1,K3)溫度。
PREDEF(K1,2,K3)第一個預定義的字段變量。
PREDEF(K1,3,K3)第二個預定義的字段變量。
等等。任何其他預定義的字段變量。
PREDEF(K1,K2,K3)元素的第K3個節點處的第K2個預定義字段變量的總值或增量值。
PREDEF(1,K2,K3)當前增量結束時變量的值。
PREDEF(2,K2,K3)與當前時間增量對應的增量值。

 

PARAMS
包含與解決方案過程關聯的參數的數組。 此數組中的條目取決於調用UEL時當前使用的解決方案過程,如LFLAGS數組中的條目所示(請參見下文)。

對於隱式動力學(LFLAGS(1)= 11或12),PARAMS包含積分運算符值,如下所示:

PARAMS(1)α
PARAMS(2)β
PARAMS(3)γ

LFLAGS

包含定義當前解決方案過程和元素計算要求的標志的數組。本節前面定義了各種Abaqus / Standard程序的詳細要求。

LFLAGS(1)定義過程類型。有關每個過程使用的密鑰,請參閱結果文件輸出格式。
LFLAGS(2)= 0 小位移分析。
LFLAGS(2)= 1 大位移分析(步驟中包含非線性幾何效應;參見一般和擾動程序)。
LFLAGS(3)= 1 正常的隱式時間增量過程。用戶子程序UEL必須定義RHS中的殘差向量和AMATRX中的雅可比矩陣。
LFLAGS(3) = 2  僅定義當前剛度矩陣(AMATRX)。
LFLAGS(3) = 3 僅定義當前阻尼矩陣(AMATRX)。
LFLAGS(3) = 4 僅定義當前質量矩陣(AMATRX)。baqus / Standard始終在分析開始時請求初始質量矩陣。
LFLAGS(3) = 5 定義當前殘差或載荷矢量。
...
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM