MATLAB网格数据处理:从FreeFEM++导入数据

  • FreeFEM++介绍       FreeFem++是一款免费的、开放源码的二维、三维偏微分方程有限元计算软件,由巴黎第六大学研究人员开发,它集成网格生成器、线性方程组的求解器、后处理及计算结果可视化于一体,能快速而高效地实现复杂区域问题的有限元数值计算。FreeFEM++的特点包括通过变分公式描述问题,多变量多方程耦合或解耦的可解性,分片描述边界,自动生成网格,各向异性的网格适应,自动插值输出结果,多种有限元多项式元、P1元、RT元,多种方程组求解方式,基于C++速度和在线绘图等。FreeFEM++的语言风格和C++十分相似,有过C++学习经验的人能容易上手FreeFEM++。
  • 如何在FreeFEM生成网格       网格的生成过程主要用到两个变量bordermesh。我们以手册第3章3.1节的薄膜问题为例,通过border定义区域的边界,再利用buildmesh生成网格。

通过plot(Th)命令,我们可以在线绘制出如下的网格图像。

  • 如何从FreeFEM++中导出网格数据        在生成网格后,我们可以使用savemesh命令导出网格数据,常用的导出文件格式如下。为了更好地与matlab相连接,我们可以选择导出成"mesh.txt"文件。
  • 如何在matlab中生成网格       在生成"mesh.txt""后,由于FreeFEM++网格数据的[p,e,t]和matlab的pdetool工具箱中规定的[p,e,t]数据行列大小不一致,我们需要做一些处理,将p变成 2 x nv 大小的矩阵,同理e为 2 x ne 大小的矩阵,t 为 4 x nt 大小的矩阵。 这里nv,ne和nt分别指的是网格的顶点数,边界边数和单元数。接下来利用matlab的importdata命令,在工作区导入处理好的[p,e,t],再利用pdemesh命令,可在matlab下生成网格的图像。下面两张图片分别是在FreeFEM++中生成的网格和将同样的网格数据导入到matlab下生成的网格,可以看到生成的网格是一致的。

  • FreeFEM++下载链接https://freefem.orgFreeFEM++官网的学习手册有多种语言版本,其中包括中文版。关于FreeFEM++的更多细节可以从手册中学习。

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空