问题描述

OpenFOAM自带Profiling功能,需要通过controlDict中的关键字打开。 OpenFOAM自带的Profiling功能链接:OpenFOAM: API Guide v2112 profiling.H File Reference

controlDict中添加如下关键字后,并行运行OpenFOAM完成后,会在writeInterval标记的时间步处输出profiling信息。

profiling
{
    active      true;
    cpuInfo     true;
    memInfo     true;
    sysInfo     true;
}

然后使用profilingSummary可将各进程自己的profiling信息汇总到postProcessing/profiling/[YourTimeStep]/profiling

但是这个文件纯文本,内含各个线性系统解法器部分的耗时及其调用关系。 希望有个脚本可以直接绘制profiling文件内容表述的调用关系并汇总时间开销。

解决方案

使用jingchangshi/OpenFOAMProfilingParser中的Python脚本解析该文件,调用graphviz绘制树状图。