Gmsh简介

Gmsh是一款开源的三维非结构有限元网格生成软件. 它内置了前后处理的模块以及高阶网格生成工具. Gmsh有图形和脚本两种模式,用户可以快速生成简单的有限元网格. Gmsh是高精度格式求解器最常用的前处理软件.使用Gmsh时, 用户首先定义几何模型, 然后Gmsh将自动生成网格, 最后用户可以根据需要选择分区等后处理功能. Gmsh的几何生成和其他常用的CAD软件类似, 都是先由点生成线, 再到面, 最后生成体. 有了几何模型之后, 下一步是可以利用Gmsh的选项生成非结构的网格. 最后是后处理的阶段. 所有这些操作都是可以通过脚本实现.下面以几个简单例子说明Gmsh脚本的编写

例子

均匀网格

均匀网格是一个最简单的例子. 下面是一个区域为正方形均匀网格. 脚本代码如下:
    xmin = -0.5;                                 xmax = 0.5;                                  ymin = 0;                                    ymax = 1;                                    NX = 16;                                     NY = 16;                                     Point (1) = {xmin, ymin, 0};//设置点         Point (2) = {xmax, ymin, 0};                 Point (3) = {xmax, ymax, 0};                 Point (4) = {xmin, ymax, 0};                 Line (1) = {1,2};//连线                      Line (2) = {2,3};                            Line (3) = {3,4};                            Line (4) = {4,1};                                                                     Transfinite Line {1,-3} = NX+1;//在线上布置点Transfinite Line {2,-4} = NY+1;              Line Loop (1) = {1,2,3,4};//将封闭的线连成面 Plane Surface (1) = {1};//生成面             Transfinite Surface {1};//网格生成           Recombine Surface {1};//得到结构       
Gmsh脚本语言的语言和C语言类似. 脚本的内容也是按照定义几何, 生成网格, 后处理等步骤编写的. 本例中, 区域是边长为1的正方形. 每个边上有16个点. 最终生成256个四边形网格.

非均匀网格

上边是最简单的Gmsh网格生成例子, 几何都是通过自己定义得到的. 这在几何比较简单的时候是可行的, 如果几何非常复杂, 使用这种方式将非常繁琐. Gmsh提供了Extrude的功能, 使编写脚本的效率提高.下面的代码的功能和上面的是一样的.
    N = 16; Point(1) = {-0.5, 0, 0, 0.1};line[] = Extrude {1, 0, 0.} {Point{1}; Layers{N+1};};Physical Line(1) = {line[1]};surface[] = Extrude {0, 1, 0} {Line{line[1]}; Layers{N+1}; Recombine;};
现在的脚本,看起来比较简单.
下面一个例子是一个非均匀的例子, 比较复杂.
    N = 1; // INPUT N=p+1lc = Pi/nl;Point(1) = {-0.5, 0, 0, lc};ny = 16;r = 1.2^(N/2);h0 = 0.5*(1-r)/(1-r^(ny/2));h=0.;For i In {0:(ny-2)/2}h += h0*r^i;y[i] = h;y[ny-i-2] = 1-h;EndFory[ny/2-1] = 0.5;y[ny-1] = 1.;For i In {0:ny-1}layer[i] = 1;EndForline[] = Extrude {1, 0, 0.} {Point{1}; Layers{ layer[], y[]};};Physical Line(1) = {line[1]};surface[] = Extrude {0.0,1.0,0.0} {Line{line[1]}; Layers{ layer[], y[] };Recombine;};

使用Gmsh画非均匀网格相关推荐

  1. matlab画二维网格贴吧,Matlab二维网格划分—预告

    今天会友了,吃火锅. 毕业后我们来上海的这一波课题组的人,第一次聚的这么齐.一通吃,一通聊,意犹未尽.要不是离我住的地方太远,晚上还可以再燥一波. 上周经历也很丰富,去了西安阎良.住的宾馆里提供的肥皂 ...

  2. OpenFOAM——设置自定义非均匀场区域

    在使用OpenFOAM进行计算的时候,我们需要对计算域设置非均匀场,比如最典型的溃坝算例,在开始计算以前,我们需要首先设定某一区域的水的体积分数为1,就是下面这样的: 有可能我们在计算传热问题的时候, ...

  3. 基于高度图的三维地形生成算法入门篇 —— 均匀网格地形生成算法

    赵 刚 引言     在三维游戏等建立的虚拟世界中要求虚拟场景具有很高的逼真度,其中的三维地形逼真度是关键之一.然而三维地形的生成和绘制需要巨大的计算量,实景地形的生成还需要地形数据库的支持,在运算能 ...

  4. Read correction for non-uniform coverages 读校正非均匀覆盖

    下一代测序技术可以产生大量的短序列,具有广泛的应用前景.序列误差引起的噪声导致了几种校正方法的发展. 主要的校正范式期望较高的(30-40X)统一覆盖范围,以便正确地从用于校正的读操作中推断出一组参考 ...

  5. (发现)问题才是推动创新的动力系列:两种类型硬币(均匀和非均匀)能否用第一次得正面朝上的概率推断“第一第二次依次获得正面反面情况”的概率?

    两种类型硬币(均匀和非均匀)能否用第一次得正概率推断,第一第二次依次获得正反概率? 2种硬币 均匀的 COIN1  正反概率(正0.5  反0.5) 非均匀的COIN2 (正0.9  反0.1) 问题 ...

  6. ​亚马逊出品:非均匀扰动的对抗鲁棒性理论分析

    ©PaperWeekly 原创 · 作者|孙裕道 学校|北京邮电大学博士生 研究方向|GAN图像生成.情绪对抗样本生成 引言 该论文是关于对抗训练的理论性的文章.这篇论文吸引我的点在于它详细的对对抗扰 ...

  7. bitmap画文字 居中_画非画展览馆 观赏石 第八期拍卖

    展览馆介绍 画非画展览馆  经过近一年的扩建升级,第一期工程已初具规模,展览馆分为十个厅,已于2020年9月19日正式开馆.馆内将陈列展示来自世界各地的奇珍异石和各类高端艺术品.画非画展览馆诚邀有识之 ...

  8. origin遇到不适当的参数_Origin教程|如何更改Lable和设置非均匀坐标

    有宝物的柜子 实用.有趣.干货 2019.7.7 前面,我们介绍了 Origin教程|如何改变散点图形状.颜色.大小 Origin教程|如何为数据点添加Lable和数据点值 今天分享教程 ↓↓↓ 更改 ...

  9. 非均匀采样的kalman滤波

    非均匀采样的kalman滤波 问题描述 问题的数学模型描述为 滤波方法 解决非均匀问题的核心思想有: 1.将采样点不在整数周期点上的数据通过线性近似转移到整数周期点上进行kalman滤波. 2.如果一 ...

最新文章

  1. 使用Python+Tensorflow的CNN技术快速识别验证码
  2. Linux线程属性及优先级设置
  3. IIS7下 【请求被中止: 未能创建 SSL/TLS 安全通道 】 解决方法
  4. 最近找到了一个免费的python教程,两周学会了python开发
  5. java 3000并发,还被面试官怼并发编程?来,吃点能量!Java并发编程技术
  6. Radius认证协议(八)报文属性
  7. 微信小程序 【给图片加上删除图标】
  8. win7 桌面html,极品壁纸再一张:Windows7桌面就是我的家
  9. python numpy 矩阵加减规则 ValueError: operands could not be broadcast together with shapes
  10. ERROR: Cannot uninstall ‘PyYAML’. It is a distutils installed project and thus we cannot accurately
  11. md格式的文档转化成pdf格式
  12. 关于开源软件开发的若干问题
  13. python 画图设置中文字体
  14. 【Linux】Linux运维命令汇总单词表
  15. java SE小练习
  16. 看这里!你的手机号关联了多少互联网账号?一证通查→
  17. CISCO CPOS STM配置示例
  18. linux下,批量复制文件名带空格的文件
  19. 高仿163网站广告弹出层(每天定时24小时弹出一次)
  20. python实践意义_在Python学习中过程比结果更有意义

热门文章

  1. centos mysql安装mysql-devel报错
  2. 软件测试实用技术与常用模板
  3. 饮用水用 降低COD的树脂,医药行业除COD
  4. OSP 与 Session
  5. OBS/Python、Lua
  6. 分享一个在线占位图制作工具
  7. android版netspot,WiFi概观360 Pro直装解锁专业版
  8. Cisco(思科)配置代码<根据学习进度持续跟新>
  9. IMX6ULL裸机程序--4.时钟树分析
  10. 论文阅读——Image Inpainting for Irregular Holes Using Partial Convolutions