轉自http://www.aoxue.org/bbs/read.php?tid=118484,ysy11的貼子。
一、輸入格式要求
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行,可以有空行,但不能有其它語句夾在中間(注釋也不行)。
應當指出的是,%這種控制語句不能用在控制輸入中。
三、一個例子
*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