integer加1_利用Abaqus UEL开发自定义单元1
1. 簡介
在Abaqus/Standard模塊中,用戶可以利用子程序UEL來開發(fā)自定義單元,用以實(shí)現(xiàn)一些通過Abaqus內(nèi)置單元無法實(shí)現(xiàn)的功能。如果編寫恰當(dāng),用戶自定義單元可以正常使用Abaqus/Standard的大部分功能,并且在用戶子程序UEL中可以編寫多個(gè)自定義單元,這些單元可以同時(shí)使用。
相比于開發(fā)完整的有限元程序,使用Abaqus來開發(fā)單元的優(yōu)勢是非常明顯的:首先,Abaqus提供了大量的結(jié)構(gòu)單元、分析程序以及前處理工具,這些功能可以與Abaqus UEL配合使用;其次,Abaqus中可以完成自定義單元的部分后處理工作;并且,開發(fā)子程序的效率也遠(yuǎn)高于開發(fā)完整的有限元程序。
盡管用戶子程序UEL為在Abaqus中進(jìn)行有限元分析提供了非常強(qiáng)大和靈活的工具,但由于開發(fā)自定義單元需要較高的數(shù)學(xué)和力學(xué)理論基礎(chǔ),加之前、后處理過程不便,因此相比于諸如UMAT之類的子程序,可供參考的資料非常少。恰好筆者在完成畢設(shè)的過程中需要使用到用戶子程序UEL進(jìn)行結(jié)構(gòu)單元的開發(fā),因此借由此機(jī)會(huì)和大家分享一些子程序UEL的開發(fā)經(jīng)驗(yàn)以及存在的問題,希望可以幫助到有這方面需求的同學(xué)。
為了理解用戶子程序UEL的工作流程,必須熟悉有限元分析求解的整個(gè)過程。因此,本文以最為簡單的桿單元為例,介紹桿結(jié)構(gòu)的有限元分析流程,隨后利用子程序UEL開發(fā)自定義桿單元,并驗(yàn)證計(jì)算結(jié)果的準(zhǔn)確性。
(為了便于排版,部分內(nèi)容采用圖片格式)
附錄1:自定桿單元UEL用戶子程序CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 程序用于定義2節(jié)點(diǎn)桿單元 CC 單元節(jié)點(diǎn)數(shù):2 節(jié)點(diǎn)自由度數(shù):1 單元自由度數(shù):2×1=2 CC 材料參數(shù): (1)彈性模量E (2)截面積AREA CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 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(*)CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C 子程序主要變量說明 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 需要更新的變量CC AMATRX:單元的剛度矩陣 所有非零元素都必須定義C RHS:單元?jiǎng)偠确匠讨械挠叶讼蛄?變量中包含有殘余載荷(不平衡力)向量C SVARS:求解狀態(tài)變量 狀態(tài)變量的個(gè)數(shù)由NSVARS確定(可以不更新)C ENERGY:用戶自定義單元的能量 共有8個(gè)分量(可以不更新)C 傳入模型的信息變量(不可修改)C C NNODE:自定義單元的節(jié)點(diǎn)個(gè)數(shù)C JTYPE:單元類型 UnC NDOFEL:自定義單元的自由度個(gè)數(shù)C JELEM:用戶指定的自定義單元號(hào)C NSVARS:用戶自定義狀態(tài)變量的個(gè)數(shù)C PROPS:單元材料參數(shù)實(shí)數(shù)數(shù)組 包含有NPROPS個(gè)實(shí)數(shù)參數(shù)C JPROPS:單元材料參數(shù)整數(shù)數(shù)組 包含有NJPROPS個(gè)整數(shù)參數(shù)C COORDS:坐標(biāo)數(shù)組 COORDS(K1,K2)為第K2個(gè)節(jié)點(diǎn)的第K1個(gè)坐標(biāo)C U:單元計(jì)算中的自由度(本單元中為位移)C DU:位移的增量值CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 變量定義及聲明 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC REAL::L !桿單元長度 REAL::E !材料彈性模量 REAL::AREA !桿單元截面積 REAL::EPS !單元應(yīng)變 REAL::SIGMA !單元應(yīng)力 INTEGER::I,J !循環(huán)索引 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 定義剛度矩陣及右端矢量 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 獲取材料參數(shù) E=PROPS(1) AREA=PROPS(2)C 通過單元節(jié)點(diǎn)坐標(biāo)計(jì)算桿單元長度C 節(jié)點(diǎn)坐標(biāo)COORDS(K1,K2)表示當(dāng)前單元第K2個(gè)節(jié)點(diǎn)第K1個(gè)坐標(biāo) L=ABS(COORDS(1,2)-COORDS(1,1)) C 構(gòu)造剛度矩陣AMATRX AMATRX(1,1)=E*AREA/L AMATRX(1,2)=-1*E*AREA/L AMATRX(2,1)=-1*E*AREA/L AMATRX(2,2)=E*AREA/LC 構(gòu)造右端矢量RHSC RHS=-K?U DO I=1,NDOFEL !NDOFEL為單元的自由度數(shù) 本單元中為2 RHS(I,1)=0 !初始化右端矢量 DO J=1,NDOFEL RHS(I,1)=RHS(I,1)-AMATRX(I,J)*U(J) !按照矩陣相乘的公式計(jì)算RHS END DO END DO CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 計(jì)算單元應(yīng)力和應(yīng)變 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 計(jì)算單元應(yīng)變 EPS=(U(2)-U(1))/LC 計(jì)算單元應(yīng)力 SIGMA=E*EPSC 將計(jì)算結(jié)果儲(chǔ)存置狀態(tài)變量 SVARS(1)=EPS SVARS(2)=SIGMA RETURN END附錄2:UEL用戶子程序簡介總結(jié)
以上是生活随笔為你收集整理的integer加1_利用Abaqus UEL开发自定义单元1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 硬盘数据恢复大师如何安装硬盘数据恢复大师
- 下一篇: 散热性能强劲电脑散热性能如何