Skip to content

Releases: cfd-dev/PyMeshGen

Release v1.1.1

27 Apr 13:17

Choose a tag to compare

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,边界部件名称正确保留。
  • 修复全局参数面板默认算法显示为空
    • 当默认网格类型为“三角形网格”时,算法下拉现默认正确显示为阵面推进法
  • 修复全局参数面板下拉框过窄
    • 调整对话框与下拉框宽度策略,确保长选项名称可完整显示。

🧠 多方向推进算法改进

  • 按设计文档完善多方向推进主链路:初始化 -> 光滑 -> 局部步长缩放 -> 推进。
  • 修复“虚拟点 >= 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

24 Apr 02:56

Choose a tag to compare

PyMeshGen v1.1.0

PyMeshGen v1.1.0 正式发布。

这是一个面向 CFD / FEA 场景的开源 Python 非结构网格生成工具,提供从边界导入、尺寸控制、边界层生成、内部网格生成、网格优化到结果导出的完整二维网格生成流程,并同时支持命令行、图形界面和 Python 调用三种使用方式。

主要功能

  • 二维非结构网格生成

    • 支持二维三角形网格生成
    • 支持边界层网格生成
    • 支持混合网格生成能力(边界层 + 非结构内部网格)
  • 核心网格算法

    • 阵面推进法(Advancing Front)
    • 边界层推进(Advancing Layer)
    • 四叉树背景尺寸场控制(Quadtree Sizing)
    • Delaunay / Bowyer-Watson 相关网格生成与重构能力
  • 边界与几何处理

    • 支持从 Fluent .cas 网格中提取边界与部件信息
    • 支持几何与网格边界恢复
    • 支持部件级参数配置与边界层参数控制
  • 输入输出格式

    • 导入 Fluent .cas
    • 导入/导出 VTK
    • 导入/导出 STL
    • 支持几何文件 STEP / IGES / STL 的导入导出流程
  • 网格优化能力

    • 边交换优化(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 是项目从研究型原型走向标准化工程分发的重要一步,欢迎继续反馈问题、建议和改进方向。