我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > Ansys教程

ANSYS數據處理小技巧

時間:2010-01-01 19:37:16 來源:

  前一陣做了一個小分析,需要的結果不僅是應力的最值與分布,還要具體到“最值的位置坐標”。要怎么才能最好的做到這一點呢?我想到了3個方法:
1.使用excel幫忙——最簡單、最笨的方法
這就需要得到ansys關于解答的list,這個好辦,直接用list相關命令就好了。不過有個問題,默認情況下,list之后的數據有這樣的格式:
      36    2.1000     0.50000E-01  0.0000        0.00    0.00    0.00
      37    2.4000     0.50000E-01  0.0000        0.00    0.00    0.00
      38    2.7000     0.50000E-01  0.0000        0.00    0.00    0.00
      39    3.0000     0.50000E-01  0.0000        0.00    0.00    0.00
      40    3.3000     0.50000E-01  0.0000        0.00    0.00    0.00
   NODE        X           Y                      Z               THXY THYZ   THZX
      41    3.6000     0.50000E-01  0.0000        0.00    0.00    0.00
      42    3.9000     0.50000E-01  0.0000        0.00    0.00    0.00
      43    4.2000     0.50000E-01  0.0000        0.00    0.00    0.00
      44    4.5000     0.50000E-01  0.0000        0.00    0.00    0.00
 
往往是隔若干行,就出現了斷檔,嚴重影響到向excel導入的過程,不過有一個命令可以解決它,那就是/page
/PAGE, ILINE, ICHAR, BLINE, BCHAR
ILINE
每屏顯示的行數,最少為11行,默認為24行;
ICHAR
單行字符數,41至132,默認為80;
BLINE
每頁顯示行數,最少為11,默認為56;
BCHAR
每行字符數,41至240,默認為132。與ichar不同的是,此項是由系統而定的。
通過它,可以導出一個格式相當規范的數據文件,然后用excel2007打開。我曾用excel2003嘗試過,的確不如2007功能強大,2007在導入的過程中可以自定義數據列,這樣就避免在導入后手動修理了。
之后的事情當然好辦了,譬如選擇一列,然后排序好了。
2.使用sort相關命令——最常用的方法
比如節點排列命令:
NSORT, Item, Comp, ORDER, KABS, NUMB, SEL
Item、Comp
排序對象的標簽與項目,如LOC,U,S,PRES等,具體內容請查看幫助;
ORDER
排序選項:
0—降序排列。
1—升序排列。
KABS
絕對值選項:
0—按真實數值排列。
1—按絕對值排列。
NUMB
指定一個數量值,排序數據數量在達到這個值以后則停止,其他數據則仍然保持未排序的狀態
SEL
允許在序列里選擇操作
空值—默認為不選擇
SELECT—選擇序列中的節點
 多了就不必說了吧~
3.自己編輯小程序,比如下面我順手寫的:
!定義數組
*GET,NMAX,NODE,0,COUNT
*DIM,OJD,,NMAX
*DIM,JDUX,,NMAX
*DIM,JD,,NMAX
*GET,NOD1,NODE,0,NUM,MIN
!對選擇的節點根據節點編號大小排序
OJD(1)=NOD1
*DO,I,2,NMAX
OJD(I)=NDNEXT(OJD(I-1))
*ENDDO
!記錄每個節點的x最大位移
*DO,I,1,NMAX
JDUX(I)=UX(OJD(I))
*ENDDO
!找出最大值,這里沒有用排序
*DO,I,2,NMAX
*IF,JDUX(I),EQ,JDUX(I-1),THEN
  T=JDUX(I)
*ELSEIF,JDUX(I),GT,JDUX(I-1),THEN
  T=JDUX(I)
*ELSEIF,JDUX(I),LT,JDUX(I-1),THEN
  T=JDUX(I-1)
*ENDIF
*ENDDO
!主要的問題是要找出出現最值的節點編號,而且有時最值的節點不止一個
*DO,I,1,NMAX
*IF,T,EQ,JDUX(I)
JD(I)=OJD(I)
*ENDIF
*ENDDO
!顯示數組,不是最大值的項目被系統賦予一個很小的值
*STATUS,JD,
 
    這里要說明一下,以上的程序只是表明了一個思路,實踐過程中也沒有用到(因為似乎不必要^_^),況且貌似寫的比較羅唆,希望有朋友交流一下。
總結:
    方法2是最好的,盡可能多地把數據處理的任務交給ansys自己完成是我的宗旨;對英文仍然不習慣的朋友可以用用方法1,畢竟使用熟悉的excel能做的事情還有很多;至于方法3么,建議打算練練手的同學考慮,很多時候不需要這樣麻煩的~