paraFoam error, while reading binaryBlock

模拟 Euler-Lagrange 粒子流时,出现以下问题:

--> FOAM FATAL IO ERROR: 
Expected a ')' while reading binaryBlock, found on line 20 an error

file: ./constant/polyMesh/faces at line 20.

    From function Foam::Istream& Foam::Istream::readEnd(const char*)
    in file db/IOstreams/IOstreams/Istream.C at line 109.

FOAM exiting

而在其他网格或求解器下则没有问题。

OpenFOAM 版本:5.x
ParaView 版本:5.4.0
求解器:DPMFoam

经过大量查找,发现原因是 ParaView 的 LABEL_SIZE 和 OpenFOAM 的 LABEL_SIZE 不匹配,OpenFOAM LABEL_SIZE 为 64,而 ParaView 的则为 32,因此,修改 OpenFOAM 的 LABEL_SIZE 设置为 32,并重新编译 OpenFOAM, ParaView 及 PVReader。设置 LABEL_SIZE 的文件是 etc/bashrc 里面:

export WM_LABEL_SIZE=32

正确读出的效果如下图: