ANSYS的結(jié)果進(jìn)行二次運(yùn)算并顯示云圖

ANSYS的結(jié)果進(jìn)行二次運(yùn)算并顯示云圖

在實(shí)際應(yīng)用中經(jīng)常會需要將ANSYS的計(jì)算結(jié)果進(jìn)行二次運(yùn)算,并重新顯示新的結(jié)果云圖。也即是ANSYS的現(xiàn)有計(jì)算結(jié)果不能滿足實(shí)際需求,需要自己在一次計(jì)算結(jié)果的基礎(chǔ)之上編寫計(jì)算方法。

ANSYS里,這個過程是通過修改節(jié)點(diǎn)或者單元的結(jié)來實(shí)現(xiàn)的,筆者以前在ABAQUS里面也實(shí)現(xiàn)過這樣的過程,不過在ABAQUS里面不是通過直接修改節(jié)點(diǎn)/單元解實(shí)現(xiàn)的,而是可以重新定義新的結(jié)果變量。

ANSYS修改節(jié)點(diǎn)解釋通過DNSOL命令完成的,命令解釋如下:

DNSOL, NODE, Item, Comp, V1, V2, V3, V4, V5, V6

其中ItemComp這兩個量是需要修改的變量名稱,例如需要修改位移X,則Item應(yīng)為UComp應(yīng)為X,后面的V1-V6就是新的值。

可以看到,利用DNSOL命令每次只能修改一個節(jié)點(diǎn)的值,因此,很多情況下是需要對全部的節(jié)點(diǎn)值進(jìn)行修改,故通常需要和遍歷命令一起使用。

下面以一個實(shí)際的例子說明具體的使用方法。

新建一個簡單的模型,加載求解得到以下的結(jié)果,分別為x方向的位移和y方向的位移。

X方向的位移如下:

1.png

Y方向的位移如下:


 

2.png

現(xiàn)在需要將XY方向的位移進(jìn)行重新計(jì)算,假設(shè):

新的Ux=Ux**2+0.1

新的Uy=Uy**2-0.1

 

具體實(shí)現(xiàn)過程是先依次讀取計(jì)算得到的UxUy,保存在自定義的數(shù)組中,然后定義新的數(shù)組,將前面的數(shù)組的數(shù)據(jù)分別處理后保存到新的數(shù)組之中,最后依次讀取新的數(shù)組的數(shù)據(jù)再通過DNSOL命令進(jìn)行修改,修改完成即可顯示新的結(jié)果。

!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!讀取并保存原始節(jié)點(diǎn)解

alls,all

*get,node_num,node,,count

*dim,dis_data,array,node_num,3

*do,i,1,node_num,1

    *get,Ux_temp,node,i,u,x

    *get,Uy_temp,node,i,u,y

    dis_data(i,1)=i

    dis_data(i,2)=Ux_temp

    dis_data(i,3)=Uy_temp

*enddo

 

!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!重新計(jì)算節(jié)點(diǎn)解并保存

*dim,dis_data_new,array,node_num,3

*do,i,1,node_num,1

    dis_data_new(i,1)=dis_data(i,1)

    dis_data_new(i,2)=dis_data(i,2)**2+0.1

    dis_data_new(i,3)=dis_data(i,3)**2-0.1

*enddo

 

!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!逐一修改節(jié)點(diǎn)解

*do,i,1,node_num,1

    dnsol,i,u,x,dis_data_new(i,2)

    dnsol,i,u,y,dis_data_new(i,3)

*enddo

這里面需要注意一個問題,利用DNSOL命令是必須在激活FULL graphics的情況下,因此必須關(guān)閉POWRGRPH

之后重新顯示xy方向的位移,分別如下:

X方向的位移如下:

3.png

Y方向的位移如下:

4.png

可以看到,云圖形狀發(fā)生了變化,數(shù)值也發(fā)生了變化。

修改之前:

X方向位移:最大0.506,最小0

Y方向位移:最大0.079,最小-0.079

修改之后:

X方向位移:最大0.356,最小0.1

Y方向位移:最大-0.0793,最小-0.1

 

完整命令流:

/prep7

et,1,182

MPTEMP,,,,,,,,             

MPTEMP,1,0 

MPDATA,EX,1,,196e3

MPDATA,PRXY,1,,0.3 

MPDATA,DENS,1,,7.85E-9

 

RECTNG,-50,50,-50,50,

 

wprot,0,0,90

asbw,all

wprot,0,90

asbw,all

 

alls,all

lsel,r,length,,50

lesize,all,,,10

 

alls,all

amesh,all

 

nummrg,node,,,,low

 

/solu

alls,all

lsel,r,loc,x,-50

aplot

dl,all,,all

 

alls,all

lsel,r,loc,x,50

sfl,all,pres,-1000

alls,all

solve

 

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

/post1

 

alls,all

 

*get,node_num,node,,count

 

*dim,dis_data,array,node_num,3

 

*do,i,1,node_num,1

 

    *get,Ux_temp,node,i,u,x

    *get,Uy_temp,node,i,u,y

 

    dis_data(i,1)=i

    dis_data(i,2)=Ux_temp

    dis_data(i,3)=Uy_temp

 

*enddo

 

 

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

*dim,dis_data_new,array,node_num,3

 

*do,i,1,node_num,1

   

    dis_data_new(i,1)=dis_data(i,1)

    dis_data_new(i,2)=dis_data(i,2)**2+0.1

    dis_data_new(i,3)=dis_data(i,3)**2-0.1

 

*enddo

 

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

*do,i,1,node_num,1

 

    dnsol,i,u,x,dis_data_new(i,2)

    dnsol,i,u,y,dis_data_new(i,3)

 

*enddo

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

TOP

13
5
1