如何讀取在MPP產生的*database_*檔案(以前的ASCII格式)

Q:

如何讀取MPP產生的*database_*檔案(以前的ASCII格式) 

A:

(1) LS-PrePost讀取的方法如下:

(2)使用l2a.exe將binary資料轉換成ascii資料:

關於l2a的資訊如下:

從970版本開始,smp版本可以加入control card自動輸出ASCII output的檔案,但在MPP-DYNA中不會自動寫出該格式的文件,只會輸出binary的格式。

LSTC的l2a是一個資料轉換工具,l2a檔會包含在相應版本的MPP求解器的壓縮檔中,可以用來將binary資料轉換成ascii資料。


當MPP-DYNA求解器輸出binout*數據時,會多一個以”binout”作為主要的名字。

同時在d3hsp檔案中,可以看到類似下方所顯示的訊息:

>The following binary output file are being created,

>and contain data equivalent to the indicated ascii output files

> binout0000:(on processor 0)

> nodout

> matsum

> rcforc

> abstat

> rbdout

> sleout

> jntforc (type 0)

> binout0001:(on processor 1)

> jntforc

> binout0003:(on processor 3)

> deforc

該訊息可以知道每一個binout文件包含哪些數據。

 


在Linux環境下可以寫一個shell檔,指定l2a程式,空一格後,在後方加入計算後產生的binout0000


請參考附件。

補充

(1)

壓縮檔裡有兩個轉換指令,一個是在windows下執行用的,另一是linux下;其中data_convert_windows.bat裡有註解說明。

(2)

12a轉換的相關說明,可參考Manual1的Appendix O:

※若資料有移到windows系統,使用linux跑mpp所產生的binout0000,也可以在windows系統下使用l2a.exe來轉換檔案。

keyword: MPP、LINUX、ASCII、BINARY、BINOUT