FunLBM
FunLBM 是一个基于格子玻尔兹曼方法(Lattice Boltzmann Method, LBM)的三维流体力学仿真库。该项目提供了完整的 LBM 仿真框架,包括流场分析、粒子追踪、数据可视化等功能。
✨ 主要特性
- 🔬 完整的 LBM 仿真框架:支持三维流体力学计算
- 📊 数据分析工具:内置流场分析和统计功能
- 🎨 可视化支持:集成 matplotlib 和 VTK 可视化
- 🌐 Web 界面:基于 NiceGUI 的交互式 Web 界面
- 🚀 高性能计算:支持 PyTorch 加速计算
- 📁 多格式支持:支持 HDF5、VTK 等多种数据格式
🚀 快速开始
安装
使用 pip 安装:
pip install funlbm
或者从源码安装:
git clone https://github.com/farfarfun/funlbm.git
cd funlbm
pip install -e .
基本使用
from funlbm.plot.job import plt_job
from nicegui import ui
# 绘制仿真作业结果
plt_job(job_id=13995570, home="/path/to/workbench/")
# 启动 Web 界面
ui.run()
命令行工具
安装后可以直接使用命令行工具:
funlbm --help
📁 项目结构
funlbm/
├── analyse/ # 流场分析工具
├── base/ # 基础类和工具
├── config/ # 配置管理
├── export/ # 数据导出功能
├── file/ # 文件处理工具
├── flow/ # 流场计算核心
├── lbm/ # LBM 算法实现
├── particle/ # 粒子追踪
├── plot/ # 可视化工具
├── server/ # Web 服务器
└── util/ # 通用工具
📖 示例
查看 example/ 目录获取更多使用示例:
00-plot/: 数据可视化示例config/: 配置文件示例
🔧 依赖项
主要依赖包括:
- 计算核心:
torch,scipy,numpy - 数据处理:
pandas,h5py - 可视化:
matplotlib,funvtk,funtecplot - Web界面:
nicegui - 工具库:
funutil,funtable
完整依赖列表请查看 pyproject.toml。
🤝 贡献
欢迎贡献代码!请遵循以下步骤:
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
📄 许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件。
🔗 相关链接
- GitHub: https://github.com/farfarfun/funlbm
- Releases: https://github.com/farfarfun/funlbm/releases
- PyLBM: https://github.com/pylbm/pylbm - 相关的 LBM 实现
👥 维护者
- 牛哥 - niuliangtao@qq.com
- farfarfun - farfarfun@qq.com
📞 联系我们
如有问题或建议,请通过以下方式联系:
Metadata
Release files for funlbm 1.2.87
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| funlbm-1.2.87-py3-none-any.whl | Python 3 | none | any | Details |
Release files / funlbm-1.2.87-py3-none-any.whl
| Download URL | funlbm-1.2.87-py3-none-any.whl |
|---|---|
| Size | 46.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
449188cc3157997b8aa87452374a4178c26309dc0b3e061cba7cfef9c6d9366a
|
|
BLAKE2b-256 checksum How to use checksums |
b60cb9b683f98231d129f3f4737f68f53beca5178113c26d299aa2dbc8388646
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.19
|