一、輸入格式要求
ANSYS的APDL語言其語法等各方面均與Fortran有很大的共通之處。在數據的輸入輸出格式方面也可以參考Fortran。對于初學者來說,輸入數據時更容易引發錯誤,所以下面談幾點在這方面的小認識。
APDL 從外部文件輸入數據,一般是采用*vread命令實現,而輸入格式一般是在此命令的下一行定義,關于此命令的具體應用,可參見ANSYS幫助。
在輸入格式方面與Fortran不同:
(1)APDL在數值方面沒有整型(I)、G型描述符,字符型數據采用A描述符,沒有H描述符。
(2)在Fortran中如果數據是整數,但是輸入格式采用實數(如單精度浮點型F),則系統可以按指定格式自動為數據加上小數點,但在APDL中如輸入數據為整數,如:6,則格式 Fw.d中的d只能為零,否則會出現讀入錯誤;而如果是6.則Fw.d中的d可以不為0。
另外在輸入時還容易引起輸入錯誤的是:
(1) 輸入格式的長度大于數據長度(指前一個數據的起至緊接的下一個數據的起始前一位,小數點和負號均占一位),如6._ _ _ _-5.6,前面的數據長度應為6,如果輸入格式Fw.d中的w>6,則會出現讀入錯誤;
(2) 格式語句應置于*vread的下一行,兩行之間可以有空行,但不能有其它語句,甚至是注釋語句也不能有。
二、輸出格式
輸出與輸入在格式方面基本一致,用*vwrite執行,但也有不同之處:
輸出時可以使用%c控制字符輸出,%wI控制整數輸出;%w.pF或%w.pE或%w.pG控制實數輸出;
不能加括號。如格式語句: (F6.0,F5.2,A3),對應于:%6.0F%5.2F%3c;
應注意后一種格式中沒有用逗號相隔開,也沒有用括號括起,如有逗號,逗號也將一并輸出。
注意:輸入輸出格式最好從一行的開始寫,前面不要有空格
用%號(%wI)的這種格式可以輸出整型數字。
%這種控制語句也應緊接*vwrite行,可以有空行,但不能有其它語句夾在中間(注釋也不行)。
應當指出的是,%這種控制語句不能用在控制輸入中。#p#分頁標題#e#
三、一個例子
*GET, ELEMENTNUM,ELEMENT,0,COUNT
*GET, NODENUM,NODE,0,COUNT
*CFOPEN,c:tecplot,plt !!tecplot的輸出文件
*VWRITE
('TITLE="Ansys to Tecplot FOR TETRAHEDRON MESH"')*VWRITE
('VARIABLES="X","Y","Z"')*VWRITE, NODENUM,ELEMENTNUM
ZONE N=%5I,E=%7I,F=FEPOINT,ET=TETRAHEDRON*DO, I,1,NODENUM,1
*VWRITE, NX(I),NY(I),NZ(I)
(3F12.6)*ENDDO
*DO, I,1,ELEMENTNUM,1
*VWRITE, NELEM(I,1),NELEM(I,2),NELEM(I,3),NELEM(I,5)
%7I%7I%7I%7I*ENDDO
*CFCLOS
finish
/clear
Item='Weight'
data=234.56
Unit='Kg'
*Dim,AA,Array,4,1,1
AA(1)=10.2,324.5,123.7,908
*Dim,BB,Char,3,1,1
BB(1)='I am','a good','man'
*CFopen,'G:ANSYSUserabc','txt'
*vwrite,
(5X,'*Vwrite Demo')
*vwrite,
('******************************************************')
*vwrite,Item,data,Unit
(A8,F10.2,A8)
*vwrite
(/'*********** Array Parameter Output Demo**************')
*Vwrite,
('Float Format /SEQU Keyword:')
*vwrite,SEQU,AA(1)
(F3.0,4F10.4)
*vwrite,AA(1),AA(2),AA(3),AA(4)
(//'Float /x Format:'/F4.1,2X,F10.4,2X,F10.4,2X,F10.4)
*vwrite,AA(1),AA(2),AA(3),AA(4)
(//'Float Format:'/4F10.4)
*vwrite,AA(1),AA(2),AA(3),AA(4)
(//'Double Format:'/D13.5,/D15.6,/D18.10,/D10.3)
*vwrite,
(/'****************char parametric output demo *******')
*vwrite,BB(1),BB(2),BB(3)
(3A6)
*CFclos
輸出結果為:
*Vwrite Demo
******************************************************
Weight 234.56Kg
*********** Array Parameter Output Demo**************
Float Format /SEQU Keyword:
1. 10.2000
2. 324.5000
3. 123.7000
4. 908.0000
Float /x Format:
10.2 324.5000 123.7000 908.0000
Float Format:
10.2000 324.5000 123.7000 908.0000
Double Format:
0.10200D+02
0.324500D+03
0.1237000000D+03
0.908D+03
****************char parametric output demo *******
I am a goodman
/*******************************************************/
幾點說明:
1.使用*VWrite命令把數據輸出到文件時,必須要使用*CFOpen命令事先打 開一個 文件;*CFOpen命令必須和*CFClos命令配對使用;
2.*Vwrite命令后面必須緊跟輸出格式說明;
例如:
*Vwrite,a,b,c
(格式說明)
3.格式說明中Fw.d,w的數值不能太小,以至于輸出的數據丟失了整數部分的 精度;
例如:a=123.4,
Fw.d中的w至少要為5,否則在ANSYS中運行時報錯;這樣的非語法類錯誤,很難發現;為了避免此類錯誤發生,
w應該至少設置為輸出數據的所有數字個數+1(小數點)#p#分頁標題#e#
附:常用格式說明:***********************************************************************************************
1.''(一對單引號):用于在輸出數據的時候,輸出注釋字符串,常常用來增加一些說明文字,增加可讀性;
比如:
*Vwrite,Widh,Length,Height
('寬度為:',F6.3,'長度為:',F6.3,'高度為:',F6.3)
2.nX:輸出n個空格;
比如:在輸出的a,b,c3個數據之間加入2個空格;
*vwrite,a,b,c
(F6.3,2X,F6.3,2X,F6.3)
3./:結束當前行的輸出,轉到下一行輸出;如果兩個//連續出現,則添加一個空行;
相關文章
- 2021-09-08EXCEL在工作中的應用 制表、數據處理及宏應用PDF下載
- 2021-08-04中文版AutoCAD2010快捷命令一冊通 [康士廷 劉昌麗 王
- 2021-02-24AutoCAD 2013中文版建筑設計標準培訓教程 [ACAA教育
- 2021-02-22AutoCAD 2013中文版電氣設計標準培訓教程 [ACAA教育
- 2021-01-01AUTOCAD 2000命令參考手冊PDF下載
- 2016-04-30梁景華深圳觀瀾湖高爾夫別墅樣板間AA型南加洲風格施工
- 2016-02-17AutoCAD2010中文版入門與提高PDF高清版下載
- 2013-11-20的剖面圖及立面圖(cad和pdf格式)
- 2013-03-06一些標準件和常用件規定畫法(PPT格式)
- 2013-03-04ABB公司M2QA電機CAD圖庫dxf格式文件