ANSYS中彈性地基的實(shí)現(xiàn)方法(三)

前面講述了兩期關(guān)于ANSYS中彈性地基的實(shí)現(xiàn)方法,其方式主要是采用特殊單元定義實(shí)常數(shù)的方法來解決。這些所謂的特殊單元其實(shí)也就是在我們定義該實(shí)常數(shù)時,軟件會自動創(chuàng)建彈簧,只是該彈簧不能由用戶訪問。除此之外,細(xì)心的同學(xué)還會發(fā)現(xiàn),該類單元不能實(shí)現(xiàn)單向彈簧的作用,這是與實(shí)際嚴(yán)重不符合的。因而在進(jìn)行模擬結(jié)構(gòu)可能受拉導(dǎo)致地基彈簧失效的情況時,該類單元是不可用的。

  除了可以采用這些特殊單元外,我們也可以自己手動添加彈簧來模擬彈性地基。自己手動添加彈簧的好處便是可以設(shè)置單向受拉或者單向受壓彈簧,此處仍以前面文章中的大板為例,來簡要說明手動添加彈簧的方法。關(guān)于ANSYS中實(shí)現(xiàn)單向彈簧的討論,下節(jié)再仔細(xì)討論。

  首先回顧下前面文章的例子,設(shè)有一尺寸為8mX4mX0.6m的大板,在其頂面3mX2m的居中范圍內(nèi)作用均布荷載,荷載大小為150KN/m^2,彈性地基剛度取20MN/m^3,板的彈性模量取30GPa,泊松比系數(shù)取0.2,試分析其在均布荷載作用下的結(jié)構(gòu)響應(yīng)。

   手動設(shè)置彈簧的一個核心點(diǎn)便是如何確定不同位置處彈簧的彈性剛度,彈簧的彈性剛度(KN/m)=彈性地基剛度(KN/m^3)*彈簧節(jié)點(diǎn)投影面積(m^2)。顯然當(dāng)單元劃分大小不一致的時候,我們不可能手動去添加彈簧剛度,這樣工作量很大。解決方法便是利用APDL編程循環(huán)獲取彈簧節(jié)點(diǎn)對應(yīng)的面積,乘以地基剛度并賦予相關(guān)節(jié)點(diǎn)即可。

  因而,如何獲取節(jié)點(diǎn)對應(yīng)的單元面積是建模的重要地方。一個思路便是采用*get命令獲取單元表面積,這對于殼單元是可以的。而對于實(shí)體單元,則可以通過表面效應(yīng)單元來間接獲取。

命令流如下:(篇幅所限,只列出核心命令流)

finish

/clear

/prep7

A=8$B=4$H=0.6

A1=3$B1=2

Q=150e3

ESF=2.0e7            !彈性地基剛度


ET,1,solid186

et,2,surf154         !輔助表面效應(yīng)單元

et,3,combin39

!單向彈簧設(shè)置

keyopt,3,4,0

keyopt,3,3,3

keyopt,3,1,0

keyopt,3,2,1

!==============

建模、劃分單元、建立表面效應(yīng)單元

!==============

!下列命令流為核心命令流

allsel,all

!選擇與地基相連的節(jié)點(diǎn)和單元

!此處考慮在整個模型中單元和節(jié)點(diǎn)號可能不連續(xù)的問題

!假定四邊形和三角形兩種單元

!獲得節(jié)點(diǎn)總數(shù),即彈簧個數(shù);單元總數(shù)

*get,tmmax,node,,num,max  !整個模型的最大節(jié)點(diǎn)號

esel,s,type,,2

!此處需注意,我們只選擇各個單元角點(diǎn)處的節(jié)點(diǎn)

nsle,s,corner

*get,ntol,node,,count !節(jié)點(diǎn)總數(shù)

*get,etol,elem,,count !單元總數(shù)

*get,nmax,node,,num,max !最大節(jié)點(diǎn)號

*dim,nodno,,ntol !存儲節(jié)點(diǎn)號

*dim,nodk,,nmax  !存儲各節(jié)點(diǎn)面積、彈簧剛度

*dim,eleno,,etol !存儲單元號

!獲得各個單元號

*get,e1,elem,,num,min

eleno(1)=e1

*do,i,2,etol

e1=elnext(e1)

eleno(i)=e1

*enddo

!獲得各節(jié)點(diǎn)號

*get,n1,node,,num,min

nodno(1)=n1

*do,i,2,ntol

n1=ndnext(n1)

nodno(i)=n1

*enddo

!求每個節(jié)點(diǎn)對應(yīng)的面積

*do,i,1,etol

ei=eleno(i)

n1=nelem(ei,1)

n2=nelem(ei,2)

n3=nelem(ei,3)

n4=nelem(ei,4)

*get,ai,elem,ei,area

*if,n3,ne,n4,then

ai=ai/4.0

nodk(n1)=nodk(n1)+ai

nodk(n2)=nodk(n2)+ai

nodk(n3)=nodk(n3)+ai

nodk(n4)=nodk(n4)+ai

*else

ai=ai/3.0

nodk(n1)=nodk(n1)+ai

nodk(n2)=nodk(n2)+ai

nodk(n3)=nodk(n3)+ai

*endif

*enddo

!求得彈簧剛度

!面積乘以彈性地基剛度

*do,i,1,nmax

nodk(i)=nodk(i)*ESF

*enddo


*do,i,1,ntol

ni=nodno(i)

r,i+1,0.01,nodk(ni)*0.01

*enddo

!創(chuàng)建彈簧單元

type,3

*do,i,1,ntol

ni=nodno(i)

!注意,此處為好觀察彈簧,所以沒有選擇重合,求解時,軟件會提示節(jié)點(diǎn)不重合的警告,一般而言,自己建模時可以重合節(jié)點(diǎn)。

n,tmmax+i,nx(ni),ny(ni),nz(ni)-0.5 !創(chuàng)建節(jié)點(diǎn)(重合)

real,i+1

e,ni,tmmax+i

*enddo

nsel,s,,,tmmax+1,tmmax+ntol

d,all,all

finish

!==============

求解,后處理

!==============

建立的彈簧單元如下所示:

blob.png

細(xì)節(jié)如下:

blob.png

求解結(jié)果對比:

采用前面方法計算出來的豎向位移云圖如下:

blob.png

采用本方法計算出來的位移云圖如下:

blob.png

各個彈簧單元的軸力如下:

blob.png

  從上述結(jié)果可見,采用手動彈簧時,最大位移為0.001846,采用前面方法最大位移為0.001847,兩者結(jié)果吻合。同時,從彈簧反力也可以看出,本例所有彈簧均受到壓力,無拉力產(chǎn)生,結(jié)果可信。

       

  下期將闡述在ANSYS中如何實(shí)現(xiàn)單向彈簧,歡迎關(guān)注!




登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺客服

TOP

5
3