LiveLink™ for MATLAB®
简介
L i v e L i n k ™ f o r M A T L A B ® 简 介
© 2009–2018 COMSOL 版权所有
受 cn.comsol.com/patents 中列出的专利和美国专利 7,519,518、 7,596,474、 7,623,991、 8,457,932、
8,954,302、 9,098,106、 9,146,652、 9,323,503、 9,372,673 和 9,454,625 的保护。专利申请中。
本文档和本文所述的程序根据 COMSOL 软件许可协议 (cn.comsol.com/comsol-license-agreement) 提
供,且仅能按照许可协议的条款进行使用和复制。
COMSOL、 COMSOL 徽标、 COMSOL Multiphysics、 COMSOL Desktop、 COMSOL Server 和
LiveLink 为 COMSOL AB 公司的注册商标或商标。Matlab 是 公司的注册商标。所有其他商标均为其各
自所有者的财产, COMSOL AB 及其子公司和产品不与上述商标所有者相关联,亦不由其担保、赞助或
支持。相关商标所有者的列表请参见 cn.comsol.com/trademarks。
版本:COMSOL 5.3a
联 系 信 息
请访问 “联系 COMSOL”页面 cn.comsol.com/contact,以提交一般查询、联系技术支
持或搜索我们的联系地址及号码。您还可以访问全球销售办事处页面
cn.comsol.com/contact/offices,以获取地址和联系信息。
如需联系技术支持,可访问 COMSOL Access 页面并填写在线申请表,位于:
cn.comsol.com/support/case 页面。其他有用的链接还包括:
• 技术支持中心:cn.comsol.com/support
• 产品下载:cn.comsol.com/product-download
• 产品更新:cn.comsol.com/support/updates
• COMSOL 博客:cn.comsol.com/blogs
• 用户论坛:cn.comsol.com/community
• 活动:cn.comsol.com/events
• COMSOL 视频中心:cn.comsol.com/video
• 技术支持知识库:cn.comsol.com/support/knowledgebase
文档编号:CM020010
目录
简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
启动 COMSOL with MATLAB® . . . . . . . . . . . . . . . . . . 6
详细示例:母线板 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
与 COMSOL Desktop® 共享 App . . . . . . . . . . . . . . . . 26
在 MATLAB® 命令行提取结果 . . . . . . . . . . . . . . . . . . 31
通过 MATLAB® 脚本自动建模 . . . . . . . . . . . . . . . . . . 37
使用外部 MATLAB® 函数. . . . . . . . . . . . . . . . . . . . . . 47
| 3
4 |
简介
LiveLink™ for MATLAB® 将 COMSOL Multiphysics® 与 MATLAB 脚本环境
联系起来,您可以实现:
• 通过脚本设置模型。 LiveLink™ for MATLAB® 包含 COMSOL® API,提
供从零开始实现建模的所有函数和方法。对于在 COMSOL Desktop® 中的
每一步操作,在 MATLAB 中都有对应的命令。它们一般是基于 Java® 简化
的语法,但是并不要求您具有 Java 知识背景。
• 在模型设置中使用 MATLAB 函数。通过 LiveLink™ 可以使用 MATLAB 函
数来设置模型的属性。例如,在求解过程中定义 MATLAB 脚本函数计算得
到材料属性或边界条件等。
• 在 COMSOL Desktop 和 MATLAB 之间进行交互式建模。在 MATLAB 提
示框中执行的每一步修改都会即时地在 COMSOL Desktop 得到更新。
• 通过 MATLAB 控制语句调节程序流程。通过 API 语法与 MATLAB 的控制
语句相结合,可以控制模型的实际使用参数。例如,通过 for 或 while 语句
执行嵌套的循环,通过 if 或 switch 语句进行条件式建模,或者使用 try 和
catch 来处理异常等。
• 在 MATLAB 中分析结果。API 包裹函数可以让您在命令行中更轻松地提取
数据,可以在节点或任意位置访问结果,还可以获取延展网格的底层信
息,例如有限元网格坐标,以及单元和节点之间的连接信息等。提取出的
数据可以作为 MATLAB 函数使用的 MATLAB 变量。
• 创建定制模型接口。使用 MATLAB GUIDE 工具箱或 App 设计器功能可以
创建用户定义的图形化接口连接 COMSOL 模型,使得模型可以通过开放
特定设置和参数的自定义图形化用户接口,与其他使用者分享模型。
• LiveLink™ for MATLAB® 能与 COMSOL Server™ 以及 COMSOL
Multiphysics Server 相连。这意味着利用 COMSOL 功能的 MATLAB 脚本和
GUI 可分发到对 COMSOL Server™ 具有访问权的任何用户并供他们使用。
本指南中的案例将引导大家了解设置 COMSOL 模型的流程,并解释如何在
MATLAB 脚本环境中使用 COMSOL Multiphysics。
| 5
启动 COMSOL with MATLAB®
在 Windows® 上启动
在桌面上双击 COMSOL with MATLAB 图标,启动 COMSOL Multiphysics
with MATLAB。
MATLAB 的桌面环境将与 COMSOL Multiphysics Server 同时打开,后者以
命令窗口的形式显示在背景中。
在 Mac OS X 上启动
前往 Applications>COMSOL 5.3a>COMSOL 5.3a with MATLAB。
在 Linux® 上打开
打开一个终端提示窗口,在其中执行 comsol 命令,它一般位于 COMSOL 安
装目录的 bin 文件夹中:
comsol mphserver matlab
COMSOL 客户端服务器连接
LiveLink™ for MATLAB® 基于 COMSOL 客户端 / 服务器架构,提供
COMSOL 和 MATLAB 之间的接口。在 MATLAB 中运行一个 COMSOL 瘦
客户端,通过 MATLAB Java 接口来访问 COMSOL API,其中模型信息储存
在 COMSOL Multiphysics Server 的模型对象中。这个瘦客户端与 COMSOL
6 |
Multiphysics Server 通讯,使得您可以在 MATLAB 提示窗口中生成、修改和
求解 COMSOL 模型对象。
当启动 COMSOL with MATLAB 时,同时打开了 COMSOL Multiphysics
Server 和 MATLAB 桌面。当第一次启动 COMSOL Multiphysics Server 时,
需要键入一个用户名和密码。当这些信息输入以后,就建立了客户端 / 服务
器通讯,而且这些信息将被保存到用户首选项中,在以后的使用中就不再需
要用户重新输入。
COMSOL Multiphysics Server 和 MATLAB 桌面在同一台计算机中运行,如
果需要更多内存的计算资源,您可以连接到远程 COMSOL Multiphysics
Server,但是这种解决方案需要网络浮动许可证。
注意,当运行 COMSOL Multiphysics with MATLAB 时, COMSOL
Desktop 不必启动。不过,您可以将 COMSOL Desktop 连到 COMSOL
Multiphysics Server 并导入模型供服务器使用。这种操作方法可以同时更新
MATLAB 提示窗口和 COMSOL Desktop 中的模型。详情请参阅与
COMSOL Desktop® 共享 App。
| 7
详细示例:母线板
本例可帮助您熟悉 COMSOL 模型对象,以及 COMSOL API 语法。本节中
将学习如何:
• 创建几何
• 设置网格和应用物理属性
• 求解问题
• 生成分析结果
• 在 MATLAB 脚本接口和 COMSOL Desktop 之间交换模型
这个将会在 MATLAB 命令行构建的模型,与 COMSOL Multiphysics 简介中
的模型类似,差别在于,在本指南中,您将使用的是 COMSOL 模型对象,
而不是 COMSOL Desktop。
这个多物理场案例描述母线板中的电热现象,母线板一般用于从变压器将直
流电传导到电气设备,本例中采用铜制母线板,通过钛螺栓连接,如下图所
示。
钛螺栓 2a
钛螺栓 2b
钛螺栓 1
注:以下分步操作指南是顺序衔接的,如果跳过其中的某些段落,有可能会
无法进行后续的步骤。请从关于模型对象开始,依次执行到最后一段保存模
型。
8 |