如何使用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. 博客
  • 安装

    • 百度给出的windows下安装comsol4.4

    • 中仿科技视频介绍的linux/unix下的安装COMSOL5.1

    • COMSOL5.2的安装

  • 启动与导入模型
    在windows下点击comsol with MATLAB就可以启动。linux/unix下在终端使用comsol server matlab就行,如果权限不够,使用sudo comsol server matlab就可以启动。可参考天乐树的第一篇博客

  • 几何建模

    • 几何建模的基本命令
      参考天乐树的第二篇博客

    • 利用matlab随机函数随机圆柱体填充到立方体的解决方案
      参考天乐树的第三篇博客

    • 利用matlab和excel生成3000个三轴椭球体,
      参考赤子桥的博客
      http://blog.sina.com.cn/s/blog_a6c971960101gwn9.html

    • 汇流条的热效应

  1. 基础命令

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

界面函数
函数 功能
mphcd 改变工作路径至模型路径,用法 mphcd(model)
mphdoc 返回帮助档
mphload 加载一个mph文件
mphsave 保存模型文件
mphstart Matlab中启动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 返回模型对象
mphmodellibrary GUI查看模型库
mphnavigator GUI查看模型对象
mphsearch GUI搜索模型对象表达式
mphshowerrors 显示模型对象的错误或警告信息

(未完待续)

你可能感兴趣的:(如何使用COMSOL with MATLAB的清单)