1.23 将特定的ASCII数据写入binout文件
每种类型的输出数据都由参与该类型数据的最低编号的处理器输出。例如,如果要输出“nodout”,那么只有输出数据到noout文件的处理器才会参与其输出,而编号最低的处理器(如7)会将输出写入具有其编号的binout文件(在本例中为binout 0007)。
因此,这类数据的数量取决于所需求的数据、用于运行问题的处理器数量及分解(哪些数据在哪里结束)。
当计算开始时,d3hsp和屏幕上都会输出一些摘要信息,如下所示:
随后创建的二进制输出文件,包含了与其对应ASCII文件相同的数据。一些ASCII文件实际上是几个部分的输出,如elout,它是体单元、壳单元、梁单元等的输出,因此可以分成几个binout文件。jntforc(如上面的输出示例)与之类似(普通的运动副连接,弯曲-扭转或“通用”连接分别输出)。
此外,如果输出一系列的数据,则 binoutXXXX 文件将生成一系列名字为binoutXXXX%001、binoutXXXX%002的文件(每个文件大约1GB)。
binout文件以下画线(_)结尾:
当LS-DYNA在重启动计算时找不到存在的binout文件时,会在binout文件名后加一个下画线,如binout 0000_。然而,即使在binout 0000存在的情况下也会自动创建binout 0000_,这个问题在R73513版本得到了修复。
如果使用l2a程序来处理binout数据:
在binout 0000中有一些头数据,而不在binout 0000_,可能会对l2a程序造成混乱。
解决方案非常简单:可以让l2a程序一次处理多个文件,所以可以用“l2a binout0000 binout0000_”,l2a程序就可以处理所有的数据。
如果使用LS-PrePost来处理binout数据:
LSTC可以把带有下画线的binout的下画线重命名替换为%001、%002等。
重命名之后,LSTC 需要处理的系列文件就是 binout0000、binout0000%001、binout0000%002等。
从R85895版本开始,LS-DYNA不再创建以下画线结尾的binout文件,而是自动在binout文件后以%XXX结尾。
ASCII输出的位数:
改变现有ASCII文件的格式是完全不可能的,这会造成很多影响。
如果nodout和elout中需要更多的位数,那么用户应该通过双精度LS-DYNA来输出这些binout文件,并使用定制的l2a程序对数据进行后处理。
使用LSDA程序创建一个定制的l2a程序,其中nodout和elout写入语句被修改以输出尽可能多的位数,然后由用户决定如何读取这种非标准格式的nodout、elout文件。
LSDA数据库格式有很好的文档记录,而binout格式也有文档记录。FTP站点上的LSDA.tar安装包包含了直接读取binout文件并获得所有准确数据所需的所有源代码和文档。它包含C和Python库、示例代码以及l2a程序的完整源代码,它们可以被任意修改。