# CFDmonitor **Repository Path**: jiangxuhao/CFDmonitor ## Basic Information - **Project Name**: CFDmonitor - **Description**: Used for monitoring the running information of openfoam examples. - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 2 - **Created**: 2025-05-13 - **Last Updated**: 2025-10-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenFOAM Monitor ## 介绍 OpenFOAM Monitor 是一个用于实时监控 OpenFOAM CFD(计算流体动力学)仿真进度的工具。它能够分析 OpenFOAM 生成的日志文件,提取关键信息并以图形化或终端方式展示,帮助使用者直观地了解仿真进度、残差变化及计算剩余时间等信息。 提供两个版本: - **GUI 版本** (`openfoam_monitor`): 提供图形用户界面,包含实时残差图表显示,计算时刻,步长,剩余时间,模拟进度监控 ![GUI界面](docs/GUI.png) - **终端版本** (`openfoam_monitor_noGUI`): 轻量级终端界面,适用于远程服务器或无图形界面环境 ![GUI界面](docs/noGUI.png) ## 主要功能 ### 共同功能 - 实时解析 OpenFOAM 日志文件 - 监控物理时间、时间步长(deltaT)和执行时间 - 自动估算剩余完成时间 - 基于 endTime 显示进度 - 检测并响应 controlDict 文件更改 - 智能处理大型日志文件(可选择从文件末尾开始监控) - 当日志中未明确指定时根据输出时刻差值自动估算 deltaT ### GUI 版本特有功能 - 使用 matplotlib 绘制残差变化图表(对数比例) - 现代化图形界面,包含多变量残差可视化 - 圆形进度条指示仿真完成百分比 - 文件浏览器用于选择案例目录和日志文件 - "查找日志"功能用于列出可用的日志文件 - 多线程设计,防止界面卡顿 - 右侧状态面板显示实时仿真参数 ### 终端版本特有功能 - 彩色终端输出,增强可读性 - ASCII 艺术风格进度条 - 资源占用少,适合远程或服务器环境 - 简单的键盘控制(Ctrl+C 退出) ## 使用方法 ### GUI 版本 1. 下载可执行文件到本地目录 2. 添加可执行权限:`chmod +x openfoam_monitor` 3. 运行程序:`./openfoam_monitor` 4. 在界面中点击"浏览"选择 OpenFOAM 案例目录 5. 点击"查找日志"列出可用的日志文件 6. 选择要监控的日志文件后点击"开始监控" ### 终端版本 1. 下载可执行文件到本地目录 2. 添加可执行权限:`chmod +x openfoam_monitor_noGUI` 3. 运行程序并指定日志文件路径: ``` ./openfoam_monitor_noGUI /path/to/log.solverName ``` 例如:`./openfoam_monitor_noGUI /home/user/OpenFOAM/case/log.interFoam` ## 优化说明 - 对于大型日志文件(>100MB),工具会自动调整读取策略以提高性能 - 可以选择从文件末尾开始监控,以避免处理大型日志文件的历史数据 - GUI 版本使用多线程设计,防止日志解析影响界面响应性 - 智能的 deltaT 估算机制,即使日志中未明确指定也能准确计算 ## 提示 - 确保有权限访问 OpenFOAM 案例目录和日志文件 - GUI 版本的残差图会随着数据的增加自动调整布局(1x1 到 3x3) - 远程服务器或计算节点建议使用终端版本 ## 作者信息 - 项目地址:https://gitee.com/jiangxuhao - 电子邮箱:jiangxuhao@sjtu.edu.cn - 作者(BiliBili / 微信公众号):NumericLab