COMSOL Multiphysics[1](下称COMSOL),以有限元法为基础,通过求解偏微分方程(单场)或偏微分方程组(多场)来实现真实物理现象的仿真。COMSOL最先是MATLAB的一个工具箱FEMLAB,发展至今已具有一个基本模块和八个专业模块,此学习系列主要关注基本模块,也即是数学模块的使用学习。

COMSOL的优势在于其使用有限元法求解偏微分方程(Partial Differential Equation,PDE),相比于有限差分法和谱方法求解偏微分方程,可以考虑更加复杂的几何结构和复杂的边界条件。此外,COMSOL软件与MATLAB等软件有完整的接口,便于模拟仿真数据的后处理。

COMSOL数学模块PDE主要分为三种类型:系数形式(Coefficient form),一般形式(General form),弱形式(Weak form),使用难度依次增大,同时求解PDE的适用范围也相应增大。其中系数形式与一般形式较好理解,而弱形式需要相关有限元的知识,COMSOL求解也会将PDE转化为弱形式。相关的有限元参考书籍推荐 A First Course in Finite Elements,by Jacob Fish and Ted Belytschko。这一小节主要使用系数形式求解PDE,以二维热传导为例。

热传导方程的可以写为[2]:

ρcp∂T∂t−▽⋅(k▽T)=q˙v

\rho c_p \frac{\partial T}{\partial t}-\triangledown\cdot(k\triangledown T)=\dot q_v
在这里假设 k=constant,q˙v=0 k=constant, \dot q_v=0,同时引进参数 α=kρcp \alpha=\frac{k}{\rho c_p} 并在下文约定 α=1 \alpha=1,方程简化为:

∂T(x,y,t)∂t=α▽2T(x,y,t)

\frac{\partial T(x,y,t)}{\partial t}=\alpha\triangledown^2 T(x,y,t)

接下来,开始建立模型:
1.打开COMSOL,在 Model Wizard 里选择 2D 模型,接着选择 Mathematical 模块(Physics Interface)里的 Coefficient Form PDE (c) 以及选择 Study 里的 Time Dependent,建立模型。

2.创建几何形状,右键点击 Geometry 并选择 Rectangle,输入矩形尺寸参数,再点击 Bulid All Objects,建立如图矩形区域。

3.输入方程相应的系数,如图所示。

4.设定边界条件,这里右键点击 Coefficient Form PDE (c) 选择使用 Dirichlet Boundary Condition,点击选择矩形区域左边界,设定相应的参数 T=1 ( r=1 r=1)。

5.离散网格,使用缺省的网格,点击 Mesh 选项下的 Bulid All

6.点击 Study 选项下的 Step 1: Time Depend 设定求解的时间域,如图所示。

7.完成模型的建立,求解模型,右键点击 StudyCompute,得到计算结果。保存在 Result 选项下的 Data Sets,并可以通过 2D Plot Group 查看结果。

同时还可以导出动画。

COMSOL初级学习之一相关推荐

  1. java的编译器怎么出来_怎样掌握ava编译器的使用,教程在这里,如何进行Java初级学习...

    原标题:怎样掌握ava编译器的使用,教程在这里,如何进行Java初级学习 Java的学习中,并没有那么的繁琐,只需要我们逐步掌握,就能够发觉java是全世界最好的编程语言之一.那么今天就带领大家进行简 ...

  2. mysql查询数据为0的所有字段6_MySQL8.0 初级学习笔记(六)查询数据

    MySQL8.0 初级学习笔记(六)查询数据 MySQL8.0 初级学习笔记(六)查询数据 查询有多种方法:单表查询,使用集合函数查询,连接查询,子查询,合并查询结果,为表和字段取别名,使用正则表达式 ...

  3. CSS3初级学习(二)背景图片叠加

    CSS3初级学习(二) 背景图片叠加 Hello!大家好久不见,这里是学业日渐繁忙的万物之恋,沉迷学习无心写博客(并不是),久违的来和大家分享下自己在学习过程中碰到的一些有趣案列.话不多说: 先看效果 ...

  4. PHP初级学习(三)

    PHP初级学习(三) PHP函数 php函数名以字母或下划线开头. 语法风格类似于javascript. 看一下语法 <?phpfunction functionName(){//函数体} ?& ...

  5. PHP初级学习(一)

    PHP初级学习(一) 初识PHP 通用的开源脚本语言. 运行在服务器端,适用于WEB开发领域. 跨平台运行(Windows.Linux.Unix.Mac OS X 等). 可以与很多主流数据库建立连接 ...

  6. C语言初级学习---一个文件调用另一个源文件函数!

    文章目录 C语言初级学习-------如何从一个文件调用另一个源文件的函数! C语言初级学习-------如何从一个文件调用另一个源文件的函数! 在很多时候,我们写的代码过多,但是为了高效的修改及管理 ...

  7. 视频教程-初级学习ArcGis for Android 视频课程-Android

    初级学习ArcGis for Android 视频课程 从事软件开发10年,熟悉软件开发流程,精通WEB系统程序开发.先后参与水利厅,环保厅,国税局,国土资源厅等重大项目的建设.精通地理信息系统研发, ...

  8. 达梦数据库初级学习总结(上)

    达梦数据库初级学习总结(上) 达梦数据库 达梦数据库初级学习总结(上) 一.中标麒麟系统搭建 二.Linux简单指令 一.文件管理 二.用户和组管理 三.权限管理 三.DM8数据库安装 四.DM8数据 ...

  9. 随便说说---java初级学习路线

    一哥们(代号三鳖)搞android的,有一段儿学ios,最近脑子抽风,又想学java后端,所以抽空给那货整理了一下学习路线,当然仅限参考,这货自己能找,就是不烦你他不舒服,擦~ 1 培训机构的课程表 ...

最新文章

  1. N-gram统计语言模型(总结)
  2. python合法关键字是_python练习题-day18
  3. n个人选k个c语言_leetcode之第k个缺失的正整数
  4. CENTOS7 Python3.7 PyAudio 安装
  5. How to write a custom control with NSControl ...
  6. ecshop 后台添加评论_技术小白如何添加服务号模板消息?服务号的模板消息功能到底该怎么使用?...
  7. SqlServer中 SET DATEFIRST
  8. php禁止外部域名请求,php-阻止来自其他域的请求
  9. Java周记(第五周)
  10. pytorch实现孪生神经网络对人脸相似度进行识别
  11. 北航论文模板:解决XeLaTeX中Font shape'TU/SimSun(1)/b/n' undefined(font) using 'TU/SimSun(1)/m/n' instead
  12. 实验1:局域网的组建与配置
  13. python中plt.hist_关于python中plt.hist参数的使用详解
  14. UGI九宫格sliced显示问题
  15. 二度理解Java web中的核心知识
  16. MATLAB(七)影像处理(1)
  17. PS安装出现浏览器或操作系统不支持以及需要登录的处理方式
  18. 洛谷CF499B Lecture + 映射map
  19. H5 App调试工具vconsole
  20. PHP环境安装到U盘,Windows To Go辅助工具一键把Win10系统安装到U盘 | 麦田一棵葱

热门文章

  1. Java 设计模式(十三):代理模式
  2. Galgames Hgames下载中心,无毒
  3. Elasticsearch:时间点 API
  4. Java中的字符串反转方法
  5. HTML5 自动聚焦 autofocus 属性
  6. mysql原理、索引、优化-【公司内部培训】
  7. python进阶:yield与yield from
  8. Storm Event Imagery Dataset 数据简介
  9. Zbar的安装及环境配置(环境:VS2022、64位Win10、OpenCV3.6.0)
  10. Trap命令使用说明