Releases: cfd-dev/PyMeshGen
Releases · cfd-dev/PyMeshGen
Release v1.1.1
v1.1.1(多方向推进 / Delaunay / GUI)
✨ 新增功能
- GUI 全局参数面板新增 Delaunay 入口
- 新增“网格生成算法”下拉,可在三角网格模式下选择:
- 阵面推进法(Adfront2)
- Delaunay 三角剖分
- 新增 Delaunay backend 选择(Bowyer-Watson / Triangle),并与网格类型、算法选择联动显示。
- 新增“网格生成算法”下拉,可在三角网格模式下选择:
- Sizing Decay 可配置
- 全局参数面板支持设置
sizing_decay,并已打通到参数传递链路。
- 全局参数面板支持设置
✅ 问题修复
- 修复 Delaunay 结果出现
Unknown部件- 根因修复位于 Delaunay 构网链路(非 GUI 过滤):
- 构建
boundary_nodes时补齐part_name / bc_type元数据回填。
- 构建
- 结果:生成后部件列表不再出现
Unknown,边界部件名称正确保留。
- 根因修复位于 Delaunay 构网链路(非 GUI 过滤):
- 修复全局参数面板默认算法显示为空
- 当默认网格类型为“三角形网格”时,算法下拉现默认正确显示为阵面推进法。
- 修复全局参数面板下拉框过窄
- 调整对话框与下拉框宽度策略,确保长选项名称可完整显示。
🧠 多方向推进算法改进
- 按设计文档完善多方向推进主链路:初始化 -> 光滑 -> 局部步长缩放 -> 推进。
- 修复“虚拟点 >= 2”场景下单元构建错误(零长度虚拟阵面推进逻辑)。
compute_point_normals()移除角度迭代平滑,仅保留基础方向计算。laplacian_smooth_normals()调整为仅距离加权;多方向模式下跳过凸点,避免重复处理。- 多方向专用光滑改为 staged 批量回写,降低顺序依赖导致的不稳定。
🏗️ 代码结构优化
- 将 Delaunay 相关工具/流程函数从
core.py下沉到delaunay/:bw_utils.py:Delaunay 网格构建与 backend 解析、生成流程函数。postprocess.py:边界恢复 + 拓扑校验封装。
core.py聚焦流程编排,模块职责更清晰。
📣 日志与可观测性
- Bowyer-Watson 在
debug_level=0下增强进度提示- 关键里程碑日志提升到
INFO:- 阶段开始/切换、插点阶段完成、边界恢复、平滑、最终统计等。
- 在低日志级别下也能清晰看到生成进度。
- 关键里程碑日志提升到
🧪 验证结果
- 多方向案例与 Delaunay 关键路径回归通过。
config\\quad_quad.json结果满足预期:首层 16 个四边形 + 4 个三角形。
Release v1.1.0
PyMeshGen v1.1.0
PyMeshGen v1.1.0 正式发布。
这是一个面向 CFD / FEA 场景的开源 Python 非结构网格生成工具,提供从边界导入、尺寸控制、边界层生成、内部网格生成、网格优化到结果导出的完整二维网格生成流程,并同时支持命令行、图形界面和 Python 调用三种使用方式。
主要功能
-
二维非结构网格生成
- 支持二维三角形网格生成
- 支持边界层网格生成
- 支持混合网格生成能力(边界层 + 非结构内部网格)
-
核心网格算法
- 阵面推进法(Advancing Front)
- 边界层推进(Advancing Layer)
- 四叉树背景尺寸场控制(Quadtree Sizing)
- Delaunay / Bowyer-Watson 相关网格生成与重构能力
-
边界与几何处理
- 支持从 Fluent
.cas网格中提取边界与部件信息 - 支持几何与网格边界恢复
- 支持部件级参数配置与边界层参数控制
- 支持从 Fluent
-
输入输出格式
- 导入 Fluent
.cas - 导入/导出
VTK - 导入/导出
STL - 支持几何文件
STEP / IGES / STL的导入导出流程
- 导入 Fluent
-
网格优化能力
- 边交换优化(edge swap)
- Laplacian 光滑
- 混合网格优化
- 面向高质量网格生成的后处理优化流程
-
AI/智能优化模块
- 神经网络网格光滑(NN Smoothing)
- 深度强化学习网格光滑(DRL Smoothing)
- 基于 Adam 的网格质量优化实验能力
-
图形用户界面(GUI)
- 基于 PyQt5 + VTK 的交互式图形界面
- 支持模型显示、网格显示、参数配置与结果导出
- 支持异步导入与可视化操作
- 适合研究、教学与工程试用场景
-
命令行与工程化配置
- 支持基于 JSON case 的命令行网格生成
- 支持脚本化、批处理和自动化测试
- 支持作为 Python 包集成到自定义流程中
发布亮点
- 完成核心流程打通:边界输入 -> 尺寸场 -> 边界层 -> 内部网格 -> 优化 -> 导出
- 支持 CLI / GUI / Python 包 三种使用方式
- 支持通过 PyPI 进行标准化分发与安装
- 为后续几何处理、智能优化与高阶网格算法扩展打下统一基础
适用场景
PyMeshGen v1.1.0 适用于:
- CFD / FEA 前处理网格生成
- 二维非结构网格算法研究
- 边界层网格与混合网格实验
- 网格优化与 AI 驱动网格方法验证
- 教学演示与原型开发
致谢
感谢所有关注、使用和参与改进 PyMeshGen 的开发者与用户。
v1.1.0 是项目从研究型原型走向标准化工程分发的重要一步,欢迎继续反馈问题、建议和改进方向。