首页/文章/ 详情

拯救畸变网格!Python驱动的高效高保真三维重划分方案

9小时前浏览1

一、当网格畸变成为数值模拟“致命伤”

在岩土工程、地质建模等领域的复杂几何体(如不均匀地层)仿真中,网格容易发生畸变,计算崩溃终止。传统全域重划分(PFEM)虽能解决,但计算成本巨大。

本文推荐的方法适用于以下两种情景:

 

情景1 初始表面网格质量不佳

 

情景2 模拟大变形过程中的网格畸变


、方案:表面重构 → 全域新生

工具链:MeshLab(表面处理)+ PyGmsh(体网格生成)+ Python(自动化流程)

 

实现步骤

四个步骤介绍:

① 畸变检测:调用MeshLab质量评估,定位问题网格:

ms.apply_filter('compute_scalar_by_aspect_ratio_per_face', metric='area/max side')

metric表示网格质量的特征,可选包括:

面积/三角形最大边长

内切圆半径与外切圆半径之比

三角形的平均比值 = 面积 / (a*a + b*b + c*c)

纹理角度扭曲。3D空间与纹理空间中的角度差异

纹理区域扭曲。3D空间与纹理空间中区域之间的差异

多边形平面性(到支撑平面的最大距离)

多边形平面性(与支撑平面的相对距离)

② 表面高保真重构

apply_filter('meshing_isotropic_explicit_remeshing',

 iterations=10,                   # 重构迭代次数

 adaptive=True,                 # 启用自适应加密

 selectedonly=False,         # 全局或局部

 targetlen=PercentageValue(1),# 目标边长

 featuredeg=30,                 # 保留原特征边

 checksurfdist=True,          # 启用偏离检测

 maxsurfdist=PercentageValue(1), # 每步最大偏离 1%

 splitflag=True,                  # 允许细化操作

 collapseflag=True,           # 允许塌陷操作

 swapflag=True,                 # 允许翻边操作

 s moothflag=True,             # 允许平滑操作

 reprojectflag=True)          # 重投影回原曲面

上述过滤器有以下两种优势:

 局部自适应:畸变区域自动加密,平坦区域简化;

 严格投影约束:确保新网格贴合原始几何

③    提取优化后的表面网格

④    全域高效重划分

将优化后的表面输入PyGmsh脚本生成均匀体网格


优化效果

 

情景1 优化后效果图


 

情景2 优化后效果图


三、技术内核

网格能量最小化模型(Mesh Optimization, 1993)

 

Isotropic Explicit Remesh优化

通过三类操作迭代优化:

1. 边折叠(Collapse):合并相邻点 → 简化网格

2. 边分裂(Split):插入新点 → 加密畸变区

3. 边交换(Swap):重构连接 → 提升单元质量

“表面优化+联动重构”策略,为复杂仿真中的网格畸变问题提供了轻量级高保真解法。


来源:CAE仿真空间
Meshing几何处理python岩土曲面DAP
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-08-21
最近编辑:9小时前
CAE仿真空间
硕士 |欢迎关注“CAE仿真空间”公众号
获赞 103粉丝 800文章 114课程 3
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈