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

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

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ú)命名。

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

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

至此仿真計(jì)算工作已經(jīng)完成,下步需要借助matlab(R2021B)軟件完成圓柱度的估計(jì)。
利用matlab的自動優(yōu)化求解極值的強(qiáng)大計(jì)算能力,構(gòu)建圓柱度目標(biāo)函數(shù),評估原始圓柱面和變形后圓柱面的,圓柱度。
1、 打開matlab后將工作目錄選擇到附件的matlabProcess文件夾,選擇mainProcess.m右鍵“運(yùn)行”。

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

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

附錄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)容要記錄下來。
工程師必備
- 項(xiàng)目客服
- 培訓(xùn)客服
- 平臺客服
TOP




















