【ansys】网格划分-优化、改善网格质量、修复网格、减小skewness、增大Orthogonal Quality的技巧

news2024/12/27 13:48:17

一、分析几何结构网格划分拓扑关系,调整网格尺寸

优化策略1:如果发现质量差的网格单元聚集在某一个实体附近,基本说明是这个实体的网格划分定义存在优化的地方。

例如下面这个几何模型。一个薄壁状长方体,加上一个模具框架,最外面包裹一层圆柱体。这些几何模型之间存在接触,并且设置共享拓扑(以便生成共节点网格)。
在这里插入图片描述
在这里插入图片描述
在ansys meshing中划分网格时,先指定全局网格划分尺寸,以及添加proximity区域网格细分。
在这里插入图片描述

对薄壁长方体添加一个sweep方法。

手动指定源面-目标面。

在这里插入图片描述
设置一定的划分次数。
在这里插入图片描述

接着,在薄壁长方体的厚度方向定义“边尺寸”,细化厚度。

在这里插入图片描述

最后在【圆柱体】与【薄壁长方体-模具框架组合体】之间的边界上定义膨胀层。
在这里插入图片描述
生成网格后,查看网格质量。最大歪斜度(skewness)有0.99,这种网格肯定不能用于CFD计算的,所以必须要优化。

在这里插入图片描述
我先是用了多种方法:1.调整Target Skewness为0.7;2.设置smoothing为high;3.将全局网格尺寸设置得更小。

发现都没有用之后,我不得不开始怀疑网格划分策略有问题。

我将歪斜度最高的网格单元全部显示,发现它们基本在薄壁长方体附近。
在这里插入图片描述
接着,主要查看薄壁长方体和其他几何交界部分的网格状况。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可以发现模具框架上面那层有严重的不均匀网格单元分布,长度方向上很粗糙,宽度方向上较为精细。

于是我将扫掠方向上的划分次数增多,让长度方向和宽度方向网格精细程度相当,效果如下。
在这里插入图片描述
这一次,最大歪斜度大大下降,只有0.7。并且它们的分布并不是在薄壁长方体周围了(这时如果还想降低歪斜度,就不能再薄壁长方体网格划分策略上下功夫了),而是比较均匀地分布在各处。
在这里插入图片描述

二、利用Fluent meshing优化网格

(1)Improve Surface Mesh

在导入几何后,生成面网格的按钮上右键——Insert Next Task——Improve Surface Mesh,即可在Generate the surface mesh后面加一个改善面网格质量的步骤。

在这里插入图片描述
(2)同理,体网格的改善思路也是如此。

在这里插入图片描述

(3)如果觉得上面的网格改善措施还不给力,可以用Auto Node Move

在mesh菜单——toools选项里面。
在这里插入图片描述

三、利用Fluent solver优化网格

首先通过report quality输出网格质量
在这里插入图片描述
发现最低正交质量只有0.1
在这里插入图片描述
于是我们用domain选项卡——mesh组——quality下拉——Improve Mesh Quality
在这里插入图片描述
迭代次数设置为20次,每次迭代更新10%,单击improve。
在这里插入图片描述

再输出网格质量时,发现最低正交质量达到了0.3,符合了我们的要求!
在这里插入图片描述

四、利用Fluent solver修复网格

如果网格质量特别烂,或者说划分结果出现明显异常时,在Fluent中执行“Mesh check”时会警报存在极其糟糕的网格。

而也只有在警报存在糟糕网格之后,才需要对网格进行修复。

胡老师在他的公众号上发表过一篇文章【Fluent中网格质量修复】,里面讲解得非常详细,我只是在本文用简单的语言做以总结。

首先,本文所述糟糕网格/劣质网格包括如下几种:1.网格面是左手面;2.网格质量太低(低到不能再低的程度了才会说是糟糕);3.节点顺序错误;4.网格面法向错误或非凸面;5.网格面缺失或太小。

1、在Solution Methods任务页底部的Report Poor Quality Elements按钮,只有在check发现网格存在严重问题时才会出现。功能是输出糟糕网格的统计信息,来反映网格质量的糟糕程度。下面再额外列举两种输出/标记糟糕网格的方法:

  • TUI命令mesh → repair-improve → report-poor-elements
  • 在Field Variable Register对话框或Contours对话框里,Field Value of下拉列表框中选择Mesh及Mark Poor Elements

2、Domain功能区选项卡中的Repair按钮在检查到有劣质网格时才被激活可用,并且此按钮是修复网格最简单有效的方法。如果有更加细致地要求,请看3以及后面。

3、如果需要调整边界上的网格,需要在使用Repair按钮前执行TUI命令mesh → repair-improve → allow-repair-at-boundaries。

4、如果需要用到“悬挂节点网格自适应”方法,就不允许存在多面体网格,而Repair按钮可能产生;可通过执行Repair按钮前执行TUI命令mesh → repair-improve → include-local-polyhedra-conversion-in-repair来屏蔽多面体网格的产生。

5、如果只需要修复低质量的网格,那么可以通过多次执行TUI命令mesh → repair-improve → improve-quality达到目的。

6、如果只需要修复节点顺序错误的网格,可以通过执行TUI命令mesh → repair-improve → repair-face-node-order来修复;因为有些左手面就是节点顺序错误导致,因此此法也会顺带着修复左手面劣质网格。

7、如果法6执行后还是存在左手面缺陷,那么执行TUI命令mesh → repair-improve → repair-face-handedness。

8、如果警告WARNING: node on face thread 2 has multiple shadows.,说明存在重复节点(发生在有周期性壁面的模型中),通过TUI命令mesh → repair-improve → repair-periodic完成修复。

后记

本人后续也会接着发布网格质量优化的心得,各位大爷拭目以待

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/479391.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码优美,搬砖不累:探索高质量代码之路

一、 前言 写出高质量代码是每个程序员的追求,也是提高自己编程能力的必经之路。高质量的代码可以提高软件的可维护性、可读性、可扩展性和可移植性等,降低软件开发和维护的成本。本文将介绍一些如何写出高质量代码的实用技巧和方法。 二、高质量代码的…

搞定Maven全功能,来从根上理解Maven拉包原理

依赖 生命周期与插件 模块聚合 模块继承 属性 版本管理 环境配置 私服 <dependencyManagement>的作用 在一次需求迭代中&#xff0c;我要求同事把写好的 RPC 接口打好包上传到公司私服上。然而&#xff0c;她并不熟悉 Maven&#xff0c;仅仅掌握了最基础的使用方…

【24】linux进阶——初识shell

大家好&#xff0c;这里是天亮之前ict&#xff0c;本人网络工程大三在读小学生&#xff0c;拥有锐捷的ie和红帽的ce认证。每天更新一个linux进阶的小知识&#xff0c;希望能提高自己的技术的同时&#xff0c;也可以帮助到大家 另外其它专栏请关注&#xff1a; 锐捷数通实验&…

管家婆辉煌Ⅱ 13.32版安装方法

因管家婆辉煌版已经长期不更新&#xff0c;现已经出现蓝屏的问题&#xff0c;故此新开此贴&#xff0c;慢慢更新安装方法。 首先管家婆下载地址&#xff1a;http://www.grasp.com.cn/download.aspx?id116 先安装sql server 2008 下载后&#xff0c;运行安装&#xff0c;请注…

《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第八章课后习题参考答案

第八章 面向对象技术与UML 课后习题参考答案 一、单项选择题 D &#xff08;2&#xff09;C &#xff08;3&#xff09;B &#xff08;4&#xff09;D &#xff08;5&#xff09;C &#xff08;6&#xff09;B &#xff08;7&#xff09;A &#xff08;8&#xff09;C&…

【LeetCode】343. 整数拆分

343. 整数拆分&#xff08;中等&#xff09; 方法一&#xff1a;数学推导 思路 将数字 n 拆分为若干个数字之和&#xff0c;即 n n1 n2 ... na &#xff0c;本道题等价于求解 max(n1 * n2 * ... * na) &#xff0c;根据数学推导&#xff0c;可以得到两个结论&#xff1a;…

【51单片机】LED点阵屏

&#x1f38a;专栏【51单片机】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【Waiting For Love】 大一同学小吉&#xff0c;欢迎并且感谢大家指出我的问题&#x1f970; 目录 &#x1f354;74HC595图片 &#x1f354;74HC59…

多层感知器模型与模型训练

文章目录 1. 多层感知器模型与模型训练1.1 多层感知器模型1.2 损失函数1.3 优化器与初始化模型1.4 编写训练循环1.5 案例代码整合 最近看了日月光华老师的《PyTorch深度学习简明实战》&#xff0c;将里面的代码自己动手复现了一遍&#xff0c;还是受益良多&#xff0c;书里面的…

【Python】狂肝两万字带你学会——类与对象

目录 01-初始对象 生活中的数据组织 程序中的数据组织​编辑 使用对象组织数据 总结01 02-类的成员方法 类的定义和使用 成员变量和成员方法 成员方法的定义语法 注意事项 成员方法——代码演示 总结02 03-类和对象 现实世界的事物和类 类和对象 使用类和对象…

Android 9.0 原生SystemUI下拉通知栏每条通知默认展开

1.前言 在9.0的系统rom原生开发中,在产品对SystemUI下拉通知栏做定制的时候,在下拉状态栏的时候,通知栏中 最后一条通知默认是收缩的 点击按钮 就会展开 原生系统systemui就是如此,为了更美观 所以要求最后一条通知也默认展开,显得更美观 最终效果图: 2.原生SystemUI下拉通…

网络通信原理

网络通信原理目录 1.网络通信基础1.1 IP地址1.2 端口号 2. 通信协议2.1 协议简介2.1 协议分层 3. 封装和分用 1.网络通信基础 &#x1f604;网络通信的目的是网络数据传输&#xff0c;是主机的不同进程间&#xff0c;基于网络实现的数据传输。那么&#xff0c;首先我们应该先弄…

Java实现调用外部程序

Java实现调用外部程序 Java库Runtime类与ProcessBuilder类参数传递执行结果Runtime类的使用ProcessBuilder类的使用无参数调用简单参数调用复杂参数调用 Apache Commons Exec库使用步骤介绍使用实例 Java库 在Java中&#xff0c;可以通过Runtime类或ProcessBuilder类来实现调用…

看看人家的MyBatis批量插入数据优化,从120s到2.5s,那叫一个优雅!

粗略的实验 最后 最近在压测一批接口的时候&#xff0c;我发现接口处理速度比我们预期的要慢。这让我感到有点奇怪&#xff0c;因为我们之前已经对这些接口进行了优化。但是&#xff0c;当我们进行排查时&#xff0c;发现问题出在数据库批量保存这块。 我们的项目使用了 myb…

开源小项目ChatGPT-website已获得100+star,我都干了什么

&#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是阿牛&#xff0c;全栈领域优质创作者。&#x1f61c;&#x1f4dd; 个人主页&#xff1a;馆主阿牛&#x1f525;&#x1f389; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4d…

微信小程序学习实录1(wxml文档、引入weui、双向数据绑定、提交表单到后端)

微信小程序学习实录 一、wxml文档二、新建页面快捷方式三、微信小程序引入weui四、双向数据绑定1.wxml渲染层2.js逻辑层 提交表单到后端五、微信小程序跳转到H5 一、wxml文档 <!-- index.wxml --> <view><!-- 数据绑定 --><view><text>{{name}}…

蛋白质界的 ChatGPT:AlphaFold2 论文必备知识,不会有人还不知道吧

你知道 AlphaFold2 吗&#xff1f;它真正解决了蛋白质三维结构预测的算法困境&#xff0c;堪称蛋白质界的 chat-GPT4&#xff0c;甚至它的意义不是 chat-GPT4 所能够匹敌的。它为世界疾病治疗药物开发以及探究生物生命之谜提供了通向天神的一条道路&#xff0c;未来是生物的世纪…

Java 基础入门篇(二)—— Java 基础语法

文章目录 一、注释二、字面量三、变量3.1 变量概述3.2 变量在计算机中的底层原理 四、数据类型五、关键字、标志符六、类型转换6.1 自动类型转换6.2 表达式的自动类型转换6.3 强制类型转换 七、运算符7.1 基本算数运算符7.2 符号做连接符7.3 自增自减运算符7.4 赋值运算符7.5 …

Java 基础入门篇(五)—— 面向对象编程

文章目录 一、面向对象的思想二、类的定义与对象的创建三、对象内存分配情况 ★ 3.1 两个对象的内存图3.2 两个变量指向同一个对象内存图 四、构造器4.1 构造器的格式与分类4.2 构造器的调用 五、 this 关键字六、封装七、标准JavaBean补充&#xff1a;局部变量和成员变量的区别…

Java 基础入门篇(六)—— String 类详解

文章目录 一、String 类概述二、String 创建对象的方式2.1 创建对象的两种方式2.2 面试&#xff1a;两种方式的区别 ★2.3 常见面试题 ★ 三、String 类常用方法3.1 字符串内容比较3.2 常用 API&#xff1a;遍历、截取、替换、分割 一、String 类概述 java.lang.String 类代表…

Java 基础入门篇(四)—— 方法的重载与参数传递机制

文章目录 一、方法的定义二、方法的参数传递机制 ★2.1 基本类型的参数传递2.2 引用类型的参数传递 三、方法重载 一、方法的定义 方法的作用&#xff1a;封装一段代码的语法结构&#xff0c;可以被重复调用&#xff0c;以此提高代码的复用性&#xff0c;提高开发效率&#xf…