1.1 ASCII文件和binout文件的区别
从970版本开始,可以输出类似ASCII文件(matsum、rcforc等)的二进制格式的文件。
MPP-DYNA运行时不直接输出ASCII文件,而是将结果输出到一个二进制文件中。这种文件有两种格式:dbout 和 binout。MPP 默认输出 binout 格式的文件。database_matsum、*database_rcforc等第二个参数则是控制输出哪些类型的结果文件。
*control_mpp_io_binoutonly使MPP计算时将上述参数“BINARY”忽略,此时将写出binout*文件而不是dbout*文件。
LS-PrePost可以直接对binout文件进行读取、转换和绘制。在LS-PrePost中,选择标有“2”的方形按钮(位于“Group”按钮下),接着选择“binout”,然后在窗口底部选择“Load”,在此可以绘制数据而不必输出 ASCII 文件,当然也可以在绘制数据时输出ASCII文件,如glstat、matsum等。要输出ASCII文件,可高亮加载binout栏目中“Open files”下的选项,单击左侧的“Save”按钮,在屏幕的右侧将看见“output interface”,在下面可以看见“Write out branches:”和文件列表,单击其中的一些项(或者“All”)来创建ASCII文件。单击“As ASCII(es)”按钮,然后单击“Apply”按钮(不需要“File name”),将在当前工作目录下输出ASCII文件。现在可以转到LSPP的第1页,从右上角的按钮中选择“ASCII”,选择想要的 ASCII 文件(如 jntforc),然后像平常一样操作即可。
从binout文件中输出ASCII文件的另一种方法:
lsda 安装包下有两个程序:一个程序是“l2a”,它可以从一个 binout 文件中提取多个ASCII文件;另一个程序是“ioq”,它是一个小的实用程序,可以直接读取/浏览binout文件。
“l2a”程序通常包含在用于平台的 MPP 可执行文件的同一个 tar 文件中,但 LSTC也可以使用该l2a程序对任何LS-DYNA求解器MPP或SMP、单精度或双精度的任何平台生成的binout文件进行操作。
或者,用户可以在系统上安装l2a程序。要做到这一点,需要先提取tar文件,然后执行“cd test;make linuxnof”,这将生成包括l2a程序的一些lsda工具。
从binout文件中提取ASCII文件,需要运行l2a程序,并在运行中包含binout文件的名称,例如l2a binout.0000。
也可以只提取matsum和nodout的ASCII文件,例如l2a binout*matsum nodout。
l2a程序可以对多个作业进行binout文件的转换更新(在LS-DYNA中使用*CASE),也可以同时处理多个作业,例如:
这将需要来自r71669的Dev版本或更高版本的l2a程序。
binout 文件与平台无关,也就是说,可以处理同一平台或任何其他平台上的 binout数据。
当MPP LS-DYNA输出binout数据时,将有多个具有“binout”名字的文件。在d3hsp文件中将看到如下信息,说明每个binout文件中包含了哪些数据:
如果加载第一个binout文件(默认名称为“binout 0000”)或用LS-PrePost加载binout文件中的任何一个,程序会自动加载相同根名的所有binout文件(默认根名为“binout”)。
MPP输出格式的其他控制方法:
在Pfile中设置以下内容。
程序将像以前一样输出dbout.*,LSTC则可以使用dumpbdb提取所有的ASCII文件。
在运行l2a程序之前,可通过读取dbout.*文件产生的“dumpbdb”来生成ASCII文件。dbout.*文件的格式取决于求解器[单精度还是双精度,以及bigendian (如IBM)还是littleendian(如Intel)]。在给定的dbout.*文件上使用错误的dumpbdb程序可能会导致垃圾数据产生。因此LSTC习惯于把dumpbdb程序与求解器一起发布,这样程序才能都是可用的。
LSTC运行l2a程序时,不同的求解器将生成不同的binout文件(单/双、大/小字节)。任何l2a程序都可以读取任何binout文件,用于编写binout.*文件的LSDA库在内部纠正了所有这些差异。所以,LSTC所要做的只是在后处理的机器上运行l2a程序。对于不同版本的DYNA,LSTC不需要不同的l2a程序。
binout文件有时会被更改、添加或修复,所以最好使用最新版的l2a程序。新的l2a程序能够处理所有旧的binout文件,反之则不行。
因此,在每个平台上应该都有一个“l2a”程序。目前这种方法的优点是用户不必单独再去下载l2a程序,如果已经下载了求解器,就将有l2a程序。