有限元剖网格之Gmsh安装与使用入门

本文详细介绍Gmsh软件的安装与使用,包括图形界面安装、源码安装及C++调用API接口进行网格生成。Gmsh是一款强大的有限元网格生成工具,适用于一维、二维和三维网格创建。

有限元剖网格之Gmsh安装与使用入门

有限元法(FEM,Finite Element Method)是一种求解偏微分方程问题的数值方法。随着电子计算机的发展,有限元方法迅速发展成一种现代计算方法,在固体力学、流体力学、热传导、电磁学、声学、生物力学等方面有着广泛的应用。今天就先介绍有限元方法之前处理,利用Gmsh剖网格。

Gmsh介绍

Gmsh是一个自动的三维有限元网格生成带有内置在CAD和后期处理器。当然其也可以生成一维和二维的有限元网格。

Gmsh安装

1. Gmsh图形界面安装

可以去官网下载安装包Gmsh官网
在这里插入图片描述
可以在Download处

Download Gmsh for Windows 64-bit, Windows 32-bit, Linux 64-bit, Linux
32-bit or MacOS

点击自己电脑对应的系统下载,安装成功后会在电脑上有如下图所示的软件:
gmsh
打开后去用其打开下载的"*.geo"(在Download处点击 Download the source code里面可以找到)文件,之后在Gmsh软件界面内点击点击Mesh下的2D,可以得到如下图的网格
Gmsh网格
注:Gmsh软件上方的菜单栏亦有将网格数据导出的功能,可以导出多种标准格式。

2. Gmsh从源码安装

在官网的Download处点击下载

Download the source code

注:此处链接失效的话可以去前面提到的官网对应位置下载。

解压后有"README.txt"文件里面介绍了如何安装,以下为详细步骤:

  1. 从Terminal进入到如下图所示目录:
    在这里插入图片描述
  2. 输入命令:mkdir build
  3. cd build
  4. cmake -DENABLE_BUILD_DYNAMIC=1 …
  5. make
  6. make install

注: 其中第5步时间可能稍长,耐心等待就行。

利用C++语言调用Gmsh的API接口剖网格

可在源码的同级目录下建立demo文件夹,里面放自己学习的代码。将如下代码拷贝到"demo.cpp"文件中

#include <iostream>
#include <gmsh.h>
#include <vector> 
#include <fstream>
#include <iomanip>
using namespace std;


void writeNodes(vector<double>& nodes, string s)
{
   
   
	string filename = s + ".txt";
	ofstream outfileb(filename.c_str(), ios::out);
	for(int i = 0; i < nodes.size(); i++)
	{
   
   
		outfileb<<(nodes[i])<<endl;
	}
	outfileb.close();
}


void writeElements(vector<std::vector<std::size_t> >& elements, string s)
{
   
   
	string filename = s + ".txt";
	ofstream outfileb(filename.c_str(), ios::out);
	for(int i = 0; i < elements[1].size(); i++)
	{
   
   
		outfileb<<
评论 33
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值