如何使用COMSOL with MATLAB的清单

引子

责其所难,则其易者不劳而正;补其所短,则其长者不功而遂(资治通鉴)

COMSOL是一个强大的多物理场仿真软件,容易上手,入门门槛低,便于对简单的模型进行计算。
我从2010年接触到现在,断断续续用它,用得越多越发现高级用法竟然是和其它软件相结合.
比如和MATLAB。
当你要使用参数化设置时,比如使用自定义的函数时行边界条件设定,
又比如使用复杂的模型的时候,
再比如进行后处理绘图时,
与MATLAB结合,更显强大。

事物发展的趋势就是多个优势结合,强强联合,而不是孤注一掷。个人觉得COMSOL这一点做得很好。

快速入门COMSOL with MATLAB

首推新浪博主天乐树Comsol with Matlab Quick Started(1)这一篇博客非常全面,虽然讲的是COMSOL4.3,但它对COMSOL5.x版本依然值得参考。

除了没有谈到怎么安装的问题,其它都非常简洁实用。其实在启动前需要一个安装步骤,它没有啥好说的,因为COMSOL跨平台做得比较好,在windows下和linux/unix下安装唯一的一点区别就是前者双击setup.exe,后者在terminal里执行./setup,如果需要权限不够的话加一个sudo就好了。

你需要的内容的框架​

  1. Comsol with Matlab安装

  2. Comsol with Matlab环境设置

  3. 基础命令

  4. API调用方法

  5. 案例

  • 建立随机几何模型
  • 瞬态边界条件类型的改变
  • 导出数据后处理
  • 命令模式求解

资源清单

  1. 视频

一个入门案例是中仿科技视频介绍的建模流程
了解如何在 COMSOL Desktop® 的仿真设定中综合 MATLAB® 的功能。
此外,还介绍了如何在 MATLAB® 图形用户界面中对您的 COMSOL Multiphysics® 模型进行编程控制,以便执行个案研究及定制绘图和进行数据处理。

  1. 博客
  1. 基础命令

以下命令是从COMSOL5.0的帮助文档里翻译过来的,可能有些不准确,希望大家自己去试一试。

界面函数
函数功能
mphcd改变工作路径至模型路径,用法 mphcd(model)
mphdoc返回帮助档
mphload加载一个mph文件
mphsave保存模型文件
mphstartMatlab中启动Comsol Server
mphversion返回COMSOL版本号
几何函数
函数功能
mphgeom画几何
mphimage2geom转换image文件为几何文件
mphimage2geom(imagedata,level,…)
mphviewselection高亮显示选择区域,注先标号,后类型
mphviewselection(model,geomtag,number,entity,…)
网格函数
函数功能
mphmesh显示网格
mphmeshstats显示网格统计数据
应用函数
函数功能
mphgetadj返回邻居
mphgetadj(model,geomtag,returntype,adjtype,adjnumber)
mphgetcoords返回几何坐标(注:是两个坐标系下的坐标,按列排列)
mphgetcoords(model,geomtag,entitytype,entitynumber)
mphgetu返回解向量,即模块的自变量
U = mphgetu(model,…)
[U,Udot] = mphgetu(model,…)
type: Sol, Reacf, Adj, Fsens, Sens
mphinputmatrix线性求解器中加入矩阵
mphinputmatrix(model,str,soltag,soltypetag)
mphmatrix获取模型矩阵
str = mphmatrix(model,soltag,’Out’,{‘A’},…)
mphselectbox框选几何
mphselectbox(model,geomtag,boxcoord,entity,…)
mphselectcoords点选几何
mphselectcoords(model,geomtag,coord,entity,…)
mphsolinfo获取解对象信息
mphsolutioninfo获取求解对象信息
mphstate获取动态系统的状态-空间矩阵
mphxmeshinfo抽取延伸网格信息
后处理函数
函数功能
mpheval计算节点表达式值
pd = mpheval_r(model,{e1,…,en},…)
mphevalglobalmatrix计算全局矩阵变量
mphevalpoint在几何节点上计算表达式值
mphglobal计算全局量
mphint2表达式积分运算
mphinterp在任意点或数据集上计算表达式值
mphmax表达式最大值
mphmean表达式平均值
mphmin表达式最小值
mphparticle在颗粒迹线上计算表达式值
mphplot绘制解
mphtable获取表数据
模型信息及导航
函数功能
mphgetproperties获取模型属性
mphgetexpressions获取模型变量和参数
mphgetselection获取模型选区信息
mphmodel返回模型对象
mphmodellibraryGUI查看模型库
mphnavigatorGUI查看模型对象
mphsearchGUI搜索模型对象表达式
mphshowerrors显示模型对象的错误或警告信息

(未完待续)

    原文作者:赤子桥
    原文地址: https://www.jianshu.com/p/b99f188c86e2
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞