Ansys Workbench 估計(jì)圓柱面受力變形后的圓柱度

問題:

仿真過程中有時(shí)會遇到要求提取圓柱面在受力變形后的圓柱度。若此時(shí)圓柱面有剛體偏移等,就無法直接在workbench界面中通過創(chuàng)建圓柱坐標(biāo)系而讀取圓柱度信息。

Ansys Workbench 估計(jì)圓柱面受力變形后的圓柱度的圖1

解決方案:

通過apdl后處理命令,提取待評估圓柱面的幾何信息和變形信息。利用matlab強(qiáng)大的優(yōu)化計(jì)算功能,評估圓柱面在變形后的圓柱度。

Ansys Workbench 估計(jì)圓柱面受力變形后的圓柱度的圖2

matlab評估圓柱度大致過程為,根據(jù)圓柱面節(jié)點(diǎn),確定中心軸線,測量每個(gè)節(jié)點(diǎn)到中心軸線的距離,獲得最大、最小距離差,即為圓柱度。

? 依據(jù)初始圓柱面確定中心點(diǎn)O,作為圓柱面的初始中心點(diǎn);

? 以中心點(diǎn)O,計(jì)算O點(diǎn)到壁面的最小距離點(diǎn)A;

? 參考O、A點(diǎn)篩選合適的點(diǎn)B,要求點(diǎn)B盡可能在圓柱面軸線垂直的法平面附近,且∠BOA近似90°;(要求圓柱面圓周方向大于25個(gè)節(jié)點(diǎn),軸向大于20層節(jié)點(diǎn)

? 以O(shè)、A、B三個(gè)點(diǎn)為平面,提取法向向量,作為圓柱面的初始軸線;

? 根據(jù)初始中心點(diǎn)和初始軸線,結(jié)合圓柱度定義,構(gòu)建目標(biāo)函數(shù);

? 利用matlab的優(yōu)化極值功能,優(yōu)化和中心點(diǎn)和軸線方向,使得目標(biāo)函數(shù)獲得極小值。此時(shí)中心點(diǎn)和軸線方向即為變形后所有節(jié)點(diǎn)的理想圓柱中心線;

操作方法:

首先,需要利用APDL后處理命令,在仿真模型計(jì)算后,提取待評估圓柱面的幾何信息和變形信息。

1、 在named Selection中選擇要評估的圓柱面,并命名為cyFace1、cyFace2、cyFace3…等。每個(gè)圓柱面單獨(dú)命名。

Ansys Workbench 估計(jì)圓柱面受力變形后的圓柱度的圖3

2、 在求解Solution下插入Command命令,將附錄1的APDL命令復(fù)制進(jìn)來。并根據(jù)上一步補(bǔ)創(chuàng)建的cyFace數(shù)量,在command的屬性欄ARG1內(nèi),填寫數(shù)值。

Ansys Workbench 估計(jì)圓柱面受力變形后的圓柱度的圖4

3、 求解計(jì)算。計(jì)算完成后會在對應(yīng)的目錄文件夾下生產(chǎn)cyFace#.txt文檔。

Ansys Workbench 估計(jì)圓柱面受力變形后的圓柱度的圖5

至此仿真計(jì)算工作已經(jīng)完成,下步需要借助matlab(R2021B)軟件完成圓柱度的估計(jì)。

利用matlab的自動優(yōu)化求解極值的強(qiáng)大計(jì)算能力,構(gòu)建圓柱度目標(biāo)函數(shù),評估原始圓柱面和變形后圓柱面的,圓柱度。

1、 打開matlab后將工作目錄選擇到附件的matlabProcess文件夾,選擇mainProcess.m右鍵“運(yùn)行”。

Ansys Workbench 估計(jì)圓柱面受力變形后的圓柱度的圖6

2、 運(yùn)行程序后彈出txt文件選擇框,選取仿真求解后處理生成的cyFace1.txt文件,即可。

Ansys Workbench 估計(jì)圓柱面受力變形后的圓柱度的圖7

3、 稍等片刻即可在命令欄內(nèi)顯示圓柱度評估結(jié)果。Output值共兩行,第一行為初始圓柱面在變形前評估的圓柱度結(jié)果。第二行為cyFace面在受力變形后評估的圓柱度結(jié)果。并且顯示兩個(gè)散點(diǎn)圖,左側(cè)圖為初始圓柱面(紅色和綠色線表示選定A/B點(diǎn));右側(cè)圖為變形后的圓柱面,中心黑色線,為程序估計(jì)的圓柱面中心軸線。

Ansys Workbench 估計(jì)圓柱面受力變形后的圓柱度的圖8

附錄1:Command命令,在結(jié)果后處理中,提取cyFace#面的每個(gè)節(jié)點(diǎn)的原始坐標(biāo)和變形量。(每次APDL命令內(nèi)容無需更改,計(jì)算完成后會在對應(yīng)的目錄文件夾下生產(chǎn)cyFace#.txt文檔)

!*******選擇圓柱面組******導(dǎo)出節(jié)點(diǎn)編號,坐標(biāo)位置,變形量,變形后的節(jié)點(diǎn)位置

!*******圓柱面組命名規(guī)則cyFace(NUM)*******

!*******設(shè)定face面的個(gè)數(shù)faceCount

*set,faceCount,ARG1 !由屬性欄參數(shù)定義監(jiān)測面的個(gè)數(shù)

!*set,faceCount,2

!*******main process

finish

/post1

set,last

*do,iFace,1,faceCount

*set,surfaceName,'cyFace%iFace%'

!*set,surfaceName,'face1'

allsel

cmsel,s,%surfaceName% !選取自定面,nameselection為cyface1、cyface2..。

*get,nodeCount,node,0,count !節(jié)點(diǎn)個(gè)數(shù)

*dim,nodeLoc,array,nodeCount,3,1 !三維數(shù)組

*dim,nodeDir,array,nodeCount,3,1

*dim,nodeTotal,array,nodeCount,3,1

*dim,nodes,array,nodeCount,1,1

*get,nodeMin,node,0,num,min !最小節(jié)點(diǎn)編號

*do,i,1,nodeCount

    nodes(i)=nodeMin !最小節(jié)點(diǎn)編號開始循環(huán),提取坐標(biāo),方向變形量,并求和

    *get,nodeLoc(i,1),node,nodes(i),loc,x

    *get,nodeLoc(i,2),node,nodes(i),loc,y

    *get,nodeLoc(i,3),node,nodes(i),loc,z

    *get,nodeDir(i,1),node,nodes(i),u,x

    *get,nodeDir(i,2),node,nodes(i),u,y

    *get,nodeDir(i,3),node,nodes(i),u,z

    nodeTotal(i,1)=nodeLoc(i,1)+nodeDir(i,1)

    nodeTotal(i,2)=nodeLoc(i,2)+nodeDir(i,2)

    nodeTotal(i,3)=nodeLoc(i,3)+nodeDir(i,3)

    nodeMin=ndnext(nodeMin) !循環(huán)至下一個(gè)節(jié)點(diǎn)

*enddo

*cfopen,%surfaceName%,txt !導(dǎo)出至txt文件

*vwrite,nodes(1),nodeLoc(1,1),nodeLoc(1,2),nodeLoc(1,3),nodeDir(1,1),nodeDir(1,2),nodeDir(1,3),nodeTotal(1,1),nodeTotal(1,2),nodeTotal(1,3)

(f9.1,' ',f16.6,' ',f16.6,' ',f16.6,' ',f16.8,' ',f16.8,' ',f16.8,' ',f16.8,' ',f16.8,' ',f16.8)

*cfclose

*enddo

以下內(nèi)容為付費(fèi)內(nèi)容,請購買后觀看

附件包含:1/matlab計(jì)算程序 R2021B版本。2/示例模型。3/提取圓柱面節(jié)點(diǎn)變形量的APDL命令。4/cyFace1示例文件。 有意思的工作內(nèi)容要記錄下來。

App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺客服

TOP

12
6
2