Andrew Griesmer – COMSOL 博客 - //www.denkrieger.com/blogs 发布博客 Tue, 24 Sep 2024 02:54:29 +0000 en-US hourly 1 https://wordpress.org/?v=5.7 图形窗口:高效又美观的后处理功能 //www.denkrieger.com/blogs/the-graphics-window-effective-beautiful-postprocessing //www.denkrieger.com/blogs/the-graphics-window-effective-beautiful-postprocessing#respond Tue, 01 Feb 2022 03:09:22 +0000 http://cn.staging.comsol.com/blogs?p=305101 COMSOL Multiphysics® 软件中的 图形 窗口和 图形 工具栏可用于简单直接地对结果进行常规后处理,只要您了解这些功能背后的原理和更高级的技巧,就可以操控相机和视角,创建出高质量的视觉效果,获得既美观又包含各种信息的视图。

编者注:这篇博客最初由 Lexi Carver 撰写,发布于 2014319日。现在已经更新,以反映新增的后处理功能。

全能的视图节点

在 COMSOL 软件中,通过鼠标点击和移动 图形 窗口以及 图形 工具栏按钮对几何视图进行直接处理的方法有很多。所有的视图改变都会显示在 视图 节点中,包括一般视图和照明选项,环境遮挡视觉效果;环境、透明度和剪裁设置。

COMSOL Multiphysics 中的模型开发器窗口和图形窗口的截图。在模型开发器窗口中选择了视图节点,并显示了一些设置,包括环境光遮蔽复选框。图形窗口显示了无人机拓扑优化模型的结果。
选择了 视图 节点的 模型开发器 窗口,显示了为模型添加阴影的 环境光遮蔽 复选框等视图设置。图形 窗口显示了无人机机身拓扑优化模型的仿真结果。

光、相机和操作

COMSOL 中有多方法可以操控相机来获得更吸引人和信息丰富的视图。比如,您可能希望在查看一个较大模型的同时,放大模型中一个小关注点;或者你的模型可能具有高纵横比。在这些情况下,操控相机有助于显示模型中重要的部分。

超音速喷射器的模型。它的入口在前景中,出口在后景中。

曲轴网格,它的网格单元在前景中可见。

一个超音速喷射器,前景中的入口是我们的一个关注点,后景中的出口也可以看见(左)。曲轴的网格,前景中可以看到网格单元,但仍保持完整的模型(右)。

所有称职的摄影师(不管是业余的还是专业的)都知道,光照对于任何一张显像良好的图像都非常重要。但是使用 COMSOL Multiphysics 工作时就不一定需要了解这些,通常软件默认的照明设置就足够了。当然,照明确实有助于在正确的场景中展示模型。以下图中万圣节主题的南瓜模型为例,我们可以使用软件中的各种照明功能在镂空的南瓜中创建出蜡烛产生的独特的黄光。

A model of a jack-o'-lantern with a distinct yellow glow inside of it.

南瓜内的黄色点光源产生了黄色光晕,使用软件内置的 环境光遮蔽 特征可以添加阴影。

你可能会想:这些效果都很好,但我还想看到一些能显示实际物理场的结果。下图中的模型使用 COMSOL 6.0 版本软件传热模块的新功能,模拟了一个用火炉加热的房间内的表面对表面辐射。热量通过辐射传递到周围的表面,再经传导扩散到家具中。模型中添加了一个照明特征以突出显示模型表面辐射热通量的可视化效果。有关照明特征和相机功能,请阅读 COMSOL 学习中心的文章 使用图形窗口,了解更多详细内容。

一个用火炉加热的房间表面辐射热通量的模型。
由火炉加热的房间内表面的辐射热通量。

隐身特效:隐藏实体

我们一直在讨论如何修改 视图 节点,来突出模型(和仿真结果)中关注点的方法。视图 节点的另一个用处是能够在预处理和后处理中隐藏一些几何实体。同样,这个功能可以直接从 图形 工具栏访问,不过操作此功能获得的结果却是通过 视图 节点访问的。隐藏实体是大多数仿真中使用的一种技术,因为很多情况下,一些重要的结果会被壁挡住而无法看到。在下面的三个示例中,如果我们不隐藏一些不关注的部分,就无法查看结果。您可以阅读 COMSOL 学习中心的文章如何选择几何,了解如何使用隐藏功能。

  • 电力变压器的木结构中的损耗分布,其中隐藏了部分木结构和两个线圈的一半,以看到更多内部结构。
    电力变压器的木结构中的损耗分布,其中隐藏了部分木结构和两个线圈的一半结构,从而可以看到更多内部结构。
  • 室内音乐厅模型中的射线声学仿真。为了看到仿真结果,天花板、前墙和近墙都被隐藏起来了。室内音乐厅模型中的射线声学仿真。视图中隐藏了天花板、前壁和近侧壁,以查看仿真结果。
  • 风力发电机复合材料叶片表层(部分被隐藏了)和翼梁的von Mises应力分布。
    风力发电机复合材料叶片表层(部分被隐藏)和翼梁的 von Mises 应力分布。

结语与后续步骤

要了解如何使用文中讨论的特征和更多用户界面功能,请查看 COMSOL 学习中心的课程,了解如何在 COMSOL Multiphysics 中浏览用户界面。

]]>
//www.denkrieger.com/blogs/the-graphics-window-effective-beautiful-postprocessing/feed/ 0
如何在 COMSOL Multiphysics®中生成高质量的模型图像 //www.denkrieger.com/blogs/how-to-create-high-quality-model-images-in-comsol-multiphysics //www.denkrieger.com/blogs/how-to-create-high-quality-model-images-in-comsol-multiphysics#comments Wed, 30 Sep 2020 07:39:56 +0000 http://cn.staging.comsol.com/blogs?p=279481 你只需要掌握一点技巧,就可以从 COMSOL Multiphysics® 软件中导出高质量的图像。熟悉图像导出设置可以帮助你生成适合特定用途的图像,无论是用在演示文稿、文章或论文,还是在网页中。一旦开始使用这些技巧,你可能会发现自己以前所不了解的创造性的一面。

在 COMSOL Multiphysics 中生成的高质量模型图像,用彩虹色表显示了飞机上的天线串扰
将你导出的图像提升到新的高度

直奔主题:图像快照设置

在模拟过程的任何时候,你都可以导出图形窗口内容的图像快照。 在图形工具栏中,有一个带相机图标的图像快照按钮。点击按钮后,就会出现一个包含图像本身以及布局设置的对话框。根据你的选择,你所要使用的设置会有所不同。 如果你只想导出不含任何文本的高分辨率模型结果图像,那么下面显示的设置就足够了。

“图像快照”对话框中导出设置的屏幕截图
显示导出设置的图像快照对话框。

图像导出设置和建议

在讨论针对不同目的应该使用哪些设置之前,让我们先了解一下设置本身。

设置 描述
预设 以当前大小导出图像,或针对 网页、印刷的预定义设置,或保存的预设导出图像
单元 选择图像尺寸的度量(毫米、英寸、像素)
分辨率 输入 DPI(每英寸点数)
缩放范围 无论当前的图形 窗口视图 如何,导出的图像都将显示完整的几何图形
抗锯齿 最大限度地减少锯齿状边缘和其他扭曲
布局/包括复选框 将选定的选项添加到图像
目标 导出到文件、复制到剪贴板或直接导出到 PowerPoint
格式 导出为 BMP、EPS、JPEG、PNG、TIFF、GIF 或 glTF™ 格式

宽度、高度、字体大小和背景设置一目了然。

对于单位,我们建议手动 (web) 选择大小和像素 (px),除非你需要印刷海报或其他硬拷贝资源的图像。像素数是限制因素,高度和宽度最大为
4096。

分辨率设置会影响导出图像的多个方面,包括模型几何形状的边缘、标题、图例和网格。用于网页的DPI或PPI(每英寸像素)越高,线条、文本和图例就越粗。当导出图像用于印刷时,标准分辨率是 300 DPI,你最多可以输入346.8 毫米或13.65 英寸的宽度/高度(在超过像素的最大值 4096之前)。通常,导出用于网页的图像最佳做法是使用预设,手动(web),并以与图像宽度相同的比例增加分辨率。

对于导出格式,请注意 EPS 仅适用于 1D 图glTF™ 仅适用于 3D 图像,这里的 GIF 格式是单个图像而不是动画。

导出用于信息传递的图像

当涉及到导出更精细的图像时,需要做出一个关键的决定。 你想导出美观的图像还是清晰度高的图像? 也就是说,你只是希望您的图像看起来不错,还是希望图像传达有价值的信息?

如前所述,如果你是为了美观而导出图像(没有任何文字),最佳设置是高度和宽度为 4096×4096 和 300DPI,并选择抗锯齿复选框。无论你是想将图像缩放到窗口大小,只关注几何体的特定部分,还是使用透明背景,都取决于你的喜好。当然,你也可能想根据模型的几何形状来调整长宽比(宽度和高度),以获得满幅图像。

我们经常在图像中包含文本来传达有关绘图的信息。 在添加标题或颜色图例(3D、2D)或信息图例 (1D) 以及使用注释功能时,都会显示文本。影响文本大小的设置有两个:字体大小和分辨率。 例如,下图的宽度为 690 像素,与博客版心(您现在正在阅读的博客)的宽度相匹配,因此我没有调整图像大小,并且 96 DPI 和 9 号字体大小与 COMSOL Multiphysics 的字体一致,能够确保文本清晰。

涡轮定子模型的仿真结果,从 COMSOL Multiphysics 导出,设置针对 Web 图形进行了优化
以 640 x 360 像素、96 DPI 和 9 字体大小导出的涡轮定子模型图像显示了模型表面的 von Mises 应力,以及最大和最小应力值。

随着图像越来越大,分辨率和字体的数值也必须提高。例如,幻灯片、网页和 Microsoft® Word 文档都需要分辨率更高的图像。下面这张图片的设置是为了以全屏方式查看。虽然它在这篇博客中看起来不那么漂亮,但如果你点击放大,就会好很多。

COMSOL Multiphysics 中太阳能电池板模型的模型图像,以针对打印进行优化的格式导出
以 1920 x 1200 像素、150 DPI 和 12 字体大小导出的太阳能电池板模型图像,显示了电池板的速度流线和位移。

COMSOL Multiphysics® 中模型图像的总结

了解图像导出设置的功能对生成高质量图像至关重要。 通过一些练习和修补,导出图像将是一件轻而易举的事情。 如果你对导出用于各种用途的图像还有其他疑问,请随时在下面发表评论!

gITF 是 The Khronos Group Inc. 的商标。

Microsoft 是 Microsoft Corporation 在美国和/或其他国家/地区的注册商标或商标。

]]>
//www.denkrieger.com/blogs/how-to-create-high-quality-model-images-in-comsol-multiphysics/feed/ 4
COMSOL Multiphysics® 5.4 版本简介 //www.denkrieger.com/blogs/introducing-comsol-multiphysics-version-5-4 //www.denkrieger.com/blogs/introducing-comsol-multiphysics-version-5-4#comments Wed, 03 Oct 2018 03:46:37 +0000 http://cn.staging.comsol.com/blogs?p=190051 COMSOL 5.4 正式与用户见面了!全新的产品 COMSOL Compiler™ 允许开发者得心应手地将仿真 App 分发给广大用户,此外COMSOL Multiphysics® 最新版显著提升了软件可用性,丰富了各个物理场模块的建模功能,并推出了全新的用于模拟多层薄结构的“复合材料模块”。

COMSOL Compiler™:随时随地将 App 部署给任何人

COMSOL Compiler 可以将 COMSOL Multiphysics App 编译为可独立执行、可自由分发的程序。因为可执行文件中包含 COMSOL Runtime™,所以用户不需要 COMSOL Multiphysics 或 COMSOL Server 许可证,也可以运行独立的 App。Windows® 和 Linux® 操作系统以及 macOS 系统均支持编译好的独立 App 和数字孪生模型。

使用 COMSOL Compiler 编译好的可独立运行的仿真 App。
使用 COMSOL Compiler 编译好的 App 示例。

如果您拥有 COMSOL Compiler 许可证,“App 开发器”用户界面会显示一个可执行文件 按钮,该特征包含一些简单设置,例如:

  • 输出目录
  • 面向哪个平台编译 App
  • 定制启动画面

虽然 COMSOL Compiler 操作简单,但它的功能与用途极其广泛,最重要的是它赋予了软件用户创造者 的身份。

新产品:复合材料模块

全新的“复合材料模块”是“结构力学模块”的附加模块,它提供了许多可用于模拟多层结构的工具,让用户能够更轻松地模拟纤维增强塑料、层合板和夹层板等。

A wind turbine blade model created with使用 COMSOL Multiphysics 5.4 版本和‘复合材料模块’创建的风力发电机叶片模型。
使用“复合材料模块”创建的由层压复合材料制成的风力发电机叶片模型。

此模块基于适用于模拟复合壳材料的分层理论和等效单层理论,您可以使用它来模拟首层失效、线性屈曲、脱层以及疲劳分析。与其他新增的附加产品一样,“复合材料模块”是一个多物理场工具,您可以在复合结构层分析中添加热膨胀、焦耳热、流-固耦合以及声-结构相互作用。

全面改进COMSOL Multiphysics® 软件可用性

COMSOL Multiphysics 5.4 版本添加了一些有助于优化建模工作流程的新功能,尤其是为喜欢井然有序的模型树架构的用户带来了惊喜。例如,用户可以为模型树中的众多节点创建节点组,包括选择、探针、物理场边界条件以及派生值等。除了为模型树节点分组之外,您还可以创建多个参数节点,从而有序地整理所有参数。优化模型树架构对建模工作十分有利,尤其是处理大型模型。

为了方便用户浏览大型复杂几何结构,新版本还增加了一个新功能:对模型实体所属的选择着色。在“图形”窗口中,不同的颜色主题能够更加清晰地区分模型的各个零件。

为了方便浏览模型,对大型三维几何的选择进行着色。
示例图中的大型三维模型对选择进行了着色,方便用户查看各个模型零件。

附加模块带来更多物理场功能

COMSOL 产品套件的附加模块带来了更多新功能与性能提升——一篇博客写不完!所以敬请期待后续博客,我们将讨论 5.4 版本中值得关注的功能更新。

现在,您可以访问“发布亮点”页面,查看最新版本的完整更新。

Microsoft 和 Windows 是 Microsoft Corporation 在美国和/或其他国家/地区的注册商标或商标。Linux 是 Linus Torvalds 在美国和其他国家/地区的注册商标。masOS 是 Apple Inc., 在美国和其他国家/地区的商标。

]]>
//www.denkrieger.com/blogs/introducing-comsol-multiphysics-version-5-4/feed/ 1
如何在 COMSOL Multiphysics® 中搜索特定 App //www.denkrieger.com/blogs/how-to-search-for-a-specific-comsol-multiphysics-application //www.denkrieger.com/blogs/how-to-search-for-a-specific-comsol-multiphysics-application#respond Thu, 10 May 2018 06:44:14 +0000 http://cn.staging.comsol.com/blogs?p=189801 在 COMSOL Multiphysics® 软件中,用户可以直接访问“案例库”,从丰富的案例中汲取有价值的知识信息,学习如何模拟特定类型的问题,以及如何使用特定功能与建模技巧,而且案例在不断增加与更新。只要学会充分利用“案例库”,你就可以轻松找到所需要的信息。

在“案例库”中找到所需内容

我们会定期向“案例库”补充更多案例。不过,随着模型和 App 数量增多,查找特定 App 难度也增大。

A screenshot of the Application Libraries in COMSOL Multiphysics.
在 COMSOL Multiphysics“案例库”中选定“热执行器”模型。

为了摆脱这个困境,你可以使用“案例库”中的搜索工具轻易地缩小搜索范围。“案例库”按模块分类,每个模块包含更深一层的子文件夹,你可以利用搜索字段抓取模型描述中的任何自由文本。比如,搜索 automotive,不仅返回“automotive_muffler”,还有“brake_disc”和“snap_hook”模型,因为它们的描述中也都包含“automotive”。

除了搜索自由文本以外,我们还可以利用其他一些简单又快捷的方法(请注意,“案例库”只包括你在安装中或安装后下载的模型和 App,因此本文显示的搜索结果可能与你的搜索结果不完全相同)。

注意:为了充分利用本文讨论的搜索功能,我们建议使用 COMSOL Multiphysics 5.3版本更新 3 或其后的版本。

通过 App 名称搜索

通过 App 名称进行搜索比自由文本的用途更广。为了使搜索功能严格按照名称搜索模型,我们利用了前缀 @name:。此工具可以返回精确匹配的结果,比如输入 @name:electric_sensor,系统将返回名称完全相同的模型。用户也可以输入特定头/尾部字符,进行部分匹配搜索。比如输入 @name:elec*,系统将返回以“elec”开头的所有模型。最后,也可以输入名称中的任意搜索字符串,进行部分匹配搜索,比如 @name:elec*,系统将返回所有名称中包含“elec”的模型。

A collage of three screenshots of the Application Libraries to demonstrate how to search for a tutorial model.
三张图分别通过精确的名称(左)、名称前缀文本(中)或者名称中的任意文本(右)来搜索模型。

有了这项功能,你只需要知道模型名称,就可以精确地找到模型,而不必逐层单击文件夹结构。你还可以利用名称中的关键术语、前缀或后缀——例如 @name:mixer@name:piezo*@name:*metry——分别来搜索模型。

通过特征和标记搜索

基于标题的搜索方法已经足够简单,不过利用模型文件中的文本进行搜索就是另一回事了。下面将介绍,通过搜索 MPH 文件中的术语,我们可以轻松找到某个模型特征。首先,我们介绍如何找到这些搜索项,此例中,搜索词指的是标记。

在“模型开发器”窗口顶部的工具栏中,最右侧是模型树节点文本 按钮。该按钮的作用是在模型树节点的右侧显示出文本。虽然名称标记类型 选项都可以搜索模型文件,不过标记 选项适用于大部分节点,因此是最高效的选项。

A zoomed-in screenshot showing how to view tags in the Model Builder.
单击显示 App 节点标记;{comp1} 是截图唯一显示的标记。

接着,利用 @ 格式创建查询,并删除标记中的数字,借此搜索包含该标记或特征的所有模型。后文将提到,你还可以进一步缩小标记查询的搜索结果。

如果你对某个物理场特征很好奇,想要了解它的用途或者使用方法等,那么可以在“案例库”中搜索使用该特征的模型。例如,“案例库”的多个模块都采用了来自“粒子追踪模块”的从栅格释放 特征。

如果不能搜索到标记,一些特征就很难找到。大部分带标记的特征都可以通过这种方式来查找,包括定义(功能、选择、探针和耦合)、几何(体素和运算)、物理场边界条件、网格节点、研究步骤或结果节点(绘图类型、数据集和派生值)。

A screenshot of the Application Libraries after searching for models containing the Release from Grid feature.
包含 从栅格释放特征的模型列表。只查看右边的模型预览是无法找到该信息的。

通过物理场接口搜索

某些物理场接口可能会出现在你意想不到的模型中。这就导致我们很难找到使用某个接口的所有模型。全局常微分和微分代数方程(ge)接口就是一个例子。如果不逐个浏览模型描述,那么该如何确定哪些模型使用了这个具有广泛应用的接口呢?

辖域语法 @physics: 可以帮助我们在“案例库”中搜索包含特定接口的模型。比如,搜索词 @physics:ge 可以找到所有使用全局常微分和微分代数方程 接口的模型。你只需要知道缩写是什么,而且添加物理场 的“设置”窗口列出了全部缩写。

你也可以利用搜索项 @ge 找到这些模型,不过这也会返回包含全局方程 节点的模型。

A screenshot of the Application Libraries after searching for models containing the Global ODEs and DAEs interface.
搜索 @physics:ge,即可返回所有使用 全局常微分和微分代数方程接口的模型。

缩小特定 COMSOL Multiphysics® App的搜索范围

假设你需要在“案例库”中搜索所有包含几何扫描的模型。这时你可以使用标记搜索,但是扫掠网格和扫描几何运算拥有相同的标记:{swe},而包含扫掠网格的模型数量远远超过几何扫描,所以要学习如何进行几何扫描,利用 @swe 来查找相关的案例基本上是不可能的。那么如何解决这个问题呢?输入 @geom:swe,只在几何 节点中搜索 {swe} 标记。

A screenshot of the Application Libraries after searching for models containing the Sweep geometry operation.
查询 @geom:swe,返回五个包含 扫描几何运算的模型。

方便搜索“案例库”的实用查询列表

利用上述工具,你基本上可以在 COMSOL® 软件的“案例库”内搜索到任何特征。下表中的搜索参数能够帮助你找到某个具体特征:

搜索参数 用途
@axi 返回包含默认的轴对称 物理场节点的模型,主要用于查找轴对称模型
@gr 返回包含重力效应,也就是带重力 特征的模型
@pml 返回包含完美匹配层(PML)的模型
@ie 返回包含无限元 域的模型
@physics:dg 返回包含变形几何 物理场接口的模型
@genext 返回包含广义拉伸 特征的模型
@physics:shell 返回包含跨越五个模块的 接口的模型
@iss 返回包含初始应力和应变 属性的模型
@study:sens 返回包含灵敏度 研究的模型
@dataset:join 返回利用“连接数据集”合并两个解集的模型
@result:str 返回包含流线 图的模型(类似查询还可用于 COMSOL Multiphysics 的任何绘图类型)
@result:hght 返回包含高度表达式(一个二维绘图属性)的模型

如果你认为这个功能很有用,而且发现了一个对其他用户也有帮助的有效搜索参数,欢迎在评论区中留言,我们可以把它添加到列表中!

延伸阅读

浏览“COMSOL 博客”,阅读下列相关的主题文章:

]]>
//www.denkrieger.com/blogs/how-to-search-for-a-specific-comsol-multiphysics-application/feed/ 0
如何在 COMSOL Multiphysics® 中创建双 Y 轴图像 //www.denkrieger.com/blogs/how-to-create-graphs-with-two-y-axes-in-comsol-multiphysics //www.denkrieger.com/blogs/how-to-create-graphs-with-two-y-axes-in-comsol-multiphysics#respond Thu, 27 Jul 2017 02:42:17 +0000 http://cn.staging.comsol.com/blogs?p=183891 您是否曾经尝试过将多个物理量绘制在同一张图像中,然而却发现它们的尺度并不匹配吗?通过在一维绘图中额外添加一个 y 轴,便可创建两个尺度,进而解决这一问题。我们将在下方的视频中介绍一个需要使用双 y 轴的案例,并演示如何向图像中添加第二个 y 轴,以及如何在 COMSOL Multiphysics® 软件中建立方便理解的标注。

截图显示了 COMSOL Multiphysics® 中的双 y 轴结果绘图。

视频:在 COMSOL Multiphysics® 中创建双 Y 轴图像

视频文本

在 COMSOL Multiphysics 中,您可以通过在绘图组中额外添加一个 y 轴,在单个一维绘图中同时绘制尺度和单位各异的两个不同的物理量。在本视频中,我们将介绍此功能的一个应用案例,演示如何额外添加一个 y 轴,并加入图例和注释来完成绘图。

建模概览

为此,我们从“案例库”中打开了“轴对称瞬态传热”模型。您也可以转到“COMSOL Multiphysics > 传热”,并选择 heat_transient_axi。这是一个相对简单的传热模型,我们指定整个域的温度为 0°。随后,指定外部边界温度为 1000°。随着时间的推移,热量会传递到整个模型,使内部域的温度升高。我们来看看模型设置,首先将整个二维域的温度初始值设为 0°C。接下来,使用轴向对称条件定义了对称轴的位置,为 r = 0。我们可以使用这个对称轴来旋转模型,从而得到这样一个部分圆柱体。最后,我们指定矩形外部的 3 个边界的温度为 1000°C。然后,我们设置求解时间范围为 0 到 190 秒、时间步长为 10 秒。此外,还创建了 二维截点。在本例中该截点位于 r =0.1和 z =0.3 处。我们可以提取该点的变量值。我们已经使用此截点提取了 190 秒时该点的温度值。

创建一维绘图组

我们还可以基于此截点创建一维绘图,以显示0 到 190 秒之间该点温度随时间的变化。为此,转到 结果选项卡,并添加 一维绘图组。然后添加 点图,选择 二维截点,并指定温度单位为摄氏度,并单击 绘制。由结果可见,190 秒时的最后一个值是 186°。我们可以看到模型在 0 到 190 秒之间的升温情况,我们将该绘图命名为 温度。接下来,可以再添加一个 点图,并在其中显示另外一个量随时间变化。我们再次选择 二维截点,并选择“热通量”。我们将使用 r 分量的总热通量。然后在表达式中输入负号。该表达式可定义向内热通量,即描述热量如何从右向左传递,或如何从外部边界向域中心传递。我们可以将描述设为 向内热通量。同样,将这个点图命名为 向内热通量,然后绘制图形。可以看到,绿色曲线显示的热通量从 0 W/m² 增至超过 18,000 W/m²。您可能已经注意到,图形中还绘制了 温度图,位于图形底部,以蓝线显示。由于热通量值非常大,因此压缩了温度绘图。

实现双 Y 轴绘图

我们将在此处创建另一个 y 轴。转到“一维绘图组”,并选中 y。接着,需要指定作为副 y 轴绘图的绘图,我们选择 向内热通量。选中此复选框后,图形会自动更新。此时可以看到,温度向内热通量尺度分别显示在图形的左右两侧。我们还可以转到 温度节点,将单位从摄氏度改为开尔文。再次单击 绘制,图形将自动更新,此时开尔文显示在左侧。

至此,我们已经创建了包含双 y 轴的图形,但还未指明曲线与轴的对应关系。我们可以添加图例来解决这个问题。在“设置”窗口底部,可以看到已经添加了图例。因此,可以直接转到单独的节点,选择“显示图例”。需要将描述重命名为 温度。然后,在 向内热通量节点中显示图例,并将其重命名为 热通量。此时,图例已经添加到图形中,其中的箭头分别指向 温度热通量,所对应的轴线的颜色也与相应的曲线颜色一致。我们将图例移到中间偏左的位置,以免遮挡需要显示的任何信息。

添加注释

此时的图形已接近完美,但曲线、轴以及变量之间的对应关系仍不够清晰。因此,我们还可以添加注释。我们为第一个注释输入 温度,然后输入坐标,指定 r 方向为坐标 80,z 方向坐标为 350,然后绘制图形,注释立即会显示出来。这个点是多余的,无需显示,我们可以将它移除,然后将颜色改为 蓝色,与曲线一致。接着对 热通量执行相同的操作:输入坐标值。取消选中 显示点,并选择 绿色,然后绘制该值。这种绿色不太合适,因此我们切换到定制颜色,从列表中选择更合适的绿色。

以上是如何创建双 y 轴绘图的相关教程。首先,您需要添加两个绘图。然后,只需选中双 y 轴复选框,并指定要作为在副 y 轴的绘图。最后,您可以添加图例和注释,帮助其他人更好的理解绘图。

更多资源

]]>
//www.denkrieger.com/blogs/how-to-create-graphs-with-two-y-axes-in-comsol-multiphysics/feed/ 0
如何及何时在 COMSOL Multiphysics® 中打开恢复文件 //www.denkrieger.com/blogs/how-and-when-to-open-recovery-files-in-comsol-multiphysics //www.denkrieger.com/blogs/how-and-when-to-open-recovery-files-in-comsol-multiphysics#comments Tue, 07 Feb 2017 07:39:46 +0000 http://cn.staging.comsol.com/blogs?p=191631 不少人对 COMSOL Multiphysics® 软件的打开恢复文件 功能比较陌生,对于正在运行生成多个解的仿真的用户而言,这项功能非常大有用处。如果由于某种原因,软件在仿真完成之前意外关闭,您可以打开恢复文件,这样就不会丢失工作进度。在本文中,我们结合视频重点介绍如何通过打开这些文件来恢复“丢失”的工作,并说明这项功能的优势和局限。

教学视频:如何打开恢复文件

何时在 COMSOL Multiphysics® 中打开恢复文件

在运行包含多个参数的仿真时,任何人都可能会用到“打开恢复文件”功能,这些仿真包括:

  • 瞬态研究
  • 频域研究
  • 辅助扫描
  • 参数化扫描

在运行上述仿真时,系统将在生成第一个解后创建恢复文件,然后在每次迭代求解完成后更新恢复文件。恢复文件也会在下列三个事件的任何一个发生后自动更新:

  1. 在瞬态仿真中对指定的输出时间进行求解之后
  2. 在参数化仿真中计算了每个参数值之后
  3. 在非线性稳态仿真中的每次迭代之后

如果在仿真过程的任意时间点上,COMSOL Multiphysics 意外关闭,您可以打开保存了解的恢复文件,然后从中断的地方继续运行仿真。

Screenshot of the Open Recovery File window in COMSOL Multiphysics.
“打开恢复文件”窗口。您可以通过单击“显示/隐藏详细信息”按钮查看其他详细信息。

请注意,此功能存在一些局限之处与微妙问题。目前的主要限制是参数化扫描 功能无法继续运行——您需要从头开始重新运行仿真,或者使用残值手动运行参数化扫描,并将解存储到新位置(不要覆盖仿真的第一个部分)。当仿真以这种方式终止时,数据将原封不动地存储在“参数化解”中,但扫描生成的解的数量却不完整。要访问各个参数化解,您可能需要重定向数据集以使用单个解。

如希望了解此功能的详细信息,请观看开始时的视频,此视频解释了与打开恢复文件相关的所有信息。首先,我们打开一个模型并运行仿真。在等待仿真将近完成之时,我们强制退出软件,以便重新打开并继续完成模拟。

更多资源

]]>
//www.denkrieger.com/blogs/how-and-when-to-open-recovery-files-in-comsol-multiphysics/feed/ 3
用动画的形式将仿真结果可视化 //www.denkrieger.com/blogs/generating-animations-to-visualize-your-simulation-results //www.denkrieger.com/blogs/generating-animations-to-visualize-your-simulation-results#comments Thu, 08 Dec 2016 01:48:44 +0000 http://cn.staging.comsol.com/blogs?p=179651 如果您是 COMSOL 博客的读者,一定知道我们非常喜欢用动画的形式来帮助读者理解博客中复杂的概念。这些动画大部分都是直接从 COMSOL Multiphysics® 软件中导出的,这表示 也可以将自己的仿真结果以动画的形式导出。如果您想详细了解具体的操作步骤,请观看文章末尾列出的视频。

为什么将仿真结果创建为动画形式?

动画不仅有趣,同时还是一种有吸引力和感染力的展示方式,它可以将仿真结果形象生动地呈现给观众。下文中,我们将利用之前博客中的仿真结果,让您体验动画的作用。其实,我们也是为了重新分享一些很酷的动画,例如下方由两位 COMSOL Multiphysics® 用户制作的作品:

鱼类的摆尾式游泳姿态。动画是由 M. Curatolo 和 L. Teresi 创作,最初展示在《借助仿真研究鱼类的游泳形态》这篇博客文章中。

1. 利用视觉效果作为解析结果的补充

当您向同事或客户展示仿真结果时,解析结果往往不能展现出仿真分析的全貌。在之前一篇关于模拟线性电磁柱塞的博客文章中,与静态图相比,动画显然能让读者更加直观地理解线圈电流对柱塞位置的影响。

解析结果固然是仿真分析结论中最重要的部分,然而,有些时候解析结果可能难以理解。动画则可以让观众更好地了解您在研究中对真实物理效应的模拟。

2. 传达想法或概念

在很多情况下,动画有利于阐释概念或想法。在一篇关于热烧蚀的博客中,作者利用动画说明了如何利用热烧蚀过程去除材料。文章首先解释了热烧蚀的概念,并详细说明了如何借助 COMSOL Multiphysics 对这一现象进行模拟。最后,分享了如下方所示的动画。这个动画通过一个激光加热示例展示了热烧蚀的实际效果。

 

3. 对看不见的现象进行可视化

总体来看,仿真软件通常被用来分析肉眼看不到的现象,比如与声学、电磁波、MEMS 相关的物理场。动画通过对物理过程或设计进行图形化的展示,大大拓宽了思路。举例来说,这篇介绍天线模拟的博客通过动画展示了单极天线阵列的远场辐射图。

 

4. 在仿真 APP 中添加动画

您不仅可以在 COMSOL Multiphysics® 模型中将仿真结果转换为动画,还能使用App 开发器创建 仿真 App,并将动画功能添加到所有 App 中。针对特定的使用对象和用途,还可以对 App 进行专门的设置,使用者只需轻轻点击 App 用户界面中的一个按钮,就能方便地将结果生成为动画。

COMSOL 案例库中还有很多仿真 App案例都包含动画,例如之前一篇博客中展示的生物传感器设计 App。

 

观看视频,学习如何在 COMSOL Multiphysics® 中生成动画

准备好使用 COMSOL Multiphysics® 制作自己的动画吗?我们制作了一个教学视频,演示了具体的操作步骤。刚开始制作动画时,您可能觉得有些难上手,还会耗费大量时间。因此,这个教学视频特意介绍了一些实用的技巧,可以帮助您节省制作动画的时间。

观看完视频后,您就可以基于自己的仿真结果生成并导出动画了。

]]>
//www.denkrieger.com/blogs/generating-animations-to-visualize-your-simulation-results/feed/ 2
开发 App:如何创建方法并播放声音 //www.denkrieger.com/blogs/building-apps-how-to-create-a-method-and-play-a-sound //www.denkrieger.com/blogs/building-apps-how-to-create-a-method-and-play-a-sound#respond Fri, 18 Sep 2015 07:55:57 +0000 http://cn.staging.comsol.com/blogs?p=171511 如果你正在学习如何开发仿真 App,那么可以观看本文的视频,这是一个关于方法编辑的精彩简介。开发完成功能齐全的 App 后,我们可以一键创建一个方法,在其中加入声音播放、包含用户输入及添加 if-else 语句。这些操作全都可以利用“方法编辑器”中的“语言单元”实现,由此创建方法变得轻松简单。

方法编辑器和语言单元

使用 COMSOL Multiphysics “App 开发器”时,如果仿真 App比较复杂,是需要编写方法的。方法中支持一系列的操作,包括(但不限于)条件语句(If,If-Else);循环(For,While);以及用户交互(问题,警告)。Java® 编程语言本身就用于编写方法,所以可以使用 Java® 的所有功能。此外,“App 开发器”拥有一个内置的“语言单元”库,含有多个模板代码块,经一键单击/双击即可直接插入方法中。

下面的视频以最简单的方式创建了一个方法,展示如何将命令序列转换为一个方法,以及如何播放声音。视频中重点讨论了 “计算”按钮,所以命令为“计算研究 1″和“温度绘图 (ht)”。这两条命令转换成方法后,我们使用“语言单元”playSound 来设置仿真结束时播放 success_5.wav 声音文件。

视频后半部分继续添加“语言单元”,展现使用方法的真正优势。我们加入了一个用户输入函数 confirm,询问用户是否希望播放声音。然后添加一条 If-Else 语句,表示如果用户选择“是”,则播放声音,如果选择“否”,则不播放。

视频教程:通过创建方法改进您的仿真 App

视频文字稿

在本系列的前三个视频中,我们利用“表单编辑器”和表单对象开发了一个可以正常运行的 App。在本视频中,我们将探讨“方法编辑器”的使用,了解如何借助这一功能开发更高一级的 App。本示例将介绍如何根据命令序列创建一个方法,以及如何使用“语言单元”播放声音。

本视频将以我们开发的 App 中的“计算”按钮为例展开说明。在“选择要运行的命令”一栏,有两个命令:计算研究及随后在 graphics1 窗口绘制温度图。如果我希望在这之后播放声音,那么可以通过两种方式实现。第一种是通过“表单编辑器”,定位到“库 > 声音”,选中 success、fail 或 neutral 声音,然后单击“运行”。不过在这里我希望通过“方法编辑器”实现这个操作。

首先,将此命令序列转换成一个新方法,因此,这里的两个命令被可运行的 method1所取代。在“App 开发器”窗口“方法”节点下也会显示这个 method1。现在,单击“切换到方法”按钮,以打开 method1。这里可以看到有两个命令要运行:计算研究及在图形窗口绘制结果。

现在,我要加入声音播放,这里,我使用“语言单元”特征进行添加。这一特征中提供了多种类型,有块声明,例如 If 语句、For 循环和 While 循环;有转换:从布尔到字符串、从字符串到双精度、从双精度到字符串等;还有用户界面上的交互操作。类型这么多,因此需要用到“搜索”功能,输入:play,即显示两个含 playSound 的选项。第一个是播放一个信号,含给定频率及播放秒数两个参数,第二个是播放一个 .wav 文件,我选择第二个。对它双击,它就添加到了我的方法中。现在删除这个占位符,在“App 开发器”窗口中定位到“库”,然后双击“声音”。声音库就打开了,其中有三个选项:success、fail 和 neutral。还可以单击加号按钮将文件添加到库中。在 COMSOL 安装路径下,Multiphysics > data > sounds 文件夹中预置了很多声音文件。当然,你也可以在这个文件夹和库中添加其他任何要用的且获授权的 .wav 文件。我选择“success_5.wav”。现在,双击这个文件,选中并复制,在括号间输入一对双引号,表示这是一个字符串,然后粘贴 success_5.wav。由此,当模型运行结束并在 graphics1 窗口完成绘图后,将播放 success 声音。

就像我之前提到的,这一操作也可以通过“表单编辑器”实现,那么接下来我就介绍一个只能借助“方法编辑器”才能实现的功能。比如我们要添加一个选项,让用户自行决定是否播放声音。现在就来添加这一功能。在“用户界面”下选择确认选项“confirm(question)”,其中可以向用户提问。因此我会提问“仿真结束后是否播放声音?”,答案为“是”或“否”,已存储在字符串“answer”中。现在我要加入一条 If 语句,在“块声明”下,双击 If-Else,这里马上会显示 If-Else 语句的基本结构。然后输入条件,即当答案为“是”时,运行研究、绘制图形,然后播放声音。如果用户单击“否”,那么只运行研究和绘制图形。

现在我们就来测试这个 App,观察它的实际运行情况。首先编辑输入参数,接着更新几何,然后单击“计算”按钮。此时会弹出一个对话框,询问仿真结束后是否播放声音,我选择“是”。因此仿真结束时会播放选定的声音。再次单击“计算”按钮,不过这次选择“否”。仿真结束后就不会播放声音了。以上就是“语言单元”和“方法编辑器”用法的基本示例,可用它实现一些无法通过单独使用“表单编辑器”实现的功能。

]]>
//www.denkrieger.com/blogs/building-apps-how-to-create-a-method-and-play-a-sound/feed/ 0
如何在仿真 App 的文件菜单中添加保存选项 //www.denkrieger.com/blogs/simulation-apps-how-to-add-a-file-menu-with-save-options //www.denkrieger.com/blogs/simulation-apps-how-to-add-a-file-menu-with-save-options#respond Tue, 25 Aug 2015 06:21:57 +0000 http://cn.staging.comsol.com/blogs?p=172531 当用户在运行您开发的 COMSOL App 时,得到了一组十分有意思的结果,他们也许想要保存 App 以便后续查看。然而如果没有保存选项的话,就不得不再次输入参数来重新运行仿真。这种低效的做法完全不符合仿真 App 的开发初衷。所以今天,我们将为您介绍如何在 App 中添加具有保存选项的文件菜单。

在仿真 App 界面添加保存选项

在外部 App 界面中添加包含保存选项的菜单栏,这一操作虽然不如“App 开发器”的其他特征那样吸引人,但它对 App 的调试工作或者仿真结果的记录具有极大的帮助。

当您或其他用户每一次运行仿真 App 时,都有可能发现意想不到的结果。这些预期外结果大致可分为两种情况:

  1. 用户在运行 App 时发现惊人结果,希望与他人分享
  2. App 和底层模型无法正常运行

无论哪种情况,用户都需要将运行的 App 进行保存以便后续查看。

保存运行的 App 意味着同时保存了整个底层模型,也就是说,再次打开时它将包含上一次保存时的模型、App 和输入数据。这一操作免除了您为进一步检验结果而不得不重新运行仿真的麻烦。

观看下方视频,学习如何在自己的 App 中添加保存选项,并使用户参与到仿真 App 的优化中。下方的视频是系列视频第 2 部分,这一系列视频旨在简要介绍“App 开发器”的使用方法以及开发 App 的最佳实践操作。

视频教程:如何在 COMSOL App 中添加保存选项

扩展阅读

视频文稿

在本系列之前的一个视频中,我们利用 COMSOL Multiphysics 模型开发了一个 App,最佳的下一步联系是向您的 App 增加保存选项,这正是本视频将演示的内容。当您的输入参数产生很有意思的结果时,它将会非常重要。这可以包括供后续参考的有价值结果,或用于调试的预期外结果。

这是我根据母线板模型开发的基础 App,我可以通过两种方式增加保存选项,第一种是右击主窗口,增加菜单条。不过,我这里将使用 App 开发器功能区的主窗口栏中的特征,因此,我将在这里增加一个菜单条,然后增加一个菜单,所以这将是我的文件菜单。之后我可以创建条目,比如另存为…条目,图标将使用预加载的 save_as 图像,同时按下 CTRL+SHIFT+S 设定为键盘快捷键,选择运行的命令栏与用于更新几何和计算的按钮完全相同。我可以前往模型并增加这些项。不过,这里我使用增加 GUI 命令 > 文件命令 > App 另存为。现在我可以点击运行,它将运行这一操作,也就是我刚刚点击的 App 另存为,为了演示这一操作,我将创建另一个条目:保存 App。我这次的操作会稍微快一些,操作就是这样。

现在我将测试 App 来演示它们将如何工作。点击 App 开发器中的测试 App 按钮,您将看到这两个窗口的名称不同,原始的 busbar_v2.mph 和这个 Untitled.mph。这是因为它们是两个不同的 App,后面是可编辑的 App,前面是我们的测试 App。因此,我可以点击文件 > 另存为…,将它在我的桌面上保存为 busbar_v2_copy,点击保存,您将发现名称变为 busbar_v2_copy,现在它们是两个不同的文件,为了演示这些文件的不同之处,我将宽度重新设定为 8,然后更新几何,我将使用键盘快捷键进行保存:CTRL+S,并退出 App。

现在我会前往 busbar_v2 App 的模型开发器,打开参数部分,您可以看到宽度仍然是 5 cm,但如果我打开 busbar_v2_copy App,前往参数节点,您可以看到宽度现在是 8 cm。因此当我使用测试 App 功能保存 App 时,其实是创建了一个全新的 App。这与从文件菜单运行一个 App 不同,此时您仅运行了 App,但并没有在后台运行可编辑的 App。

既然已经完成了创建文件菜单,我希望指出主窗口的一个微小差异,即其实有两类菜单,我们使用的菜单条以及功能区,您其实可以自行为您的 App 创建一个与菜单条功能相同的功能区。App 库中包含的大部分 App 都采用了功能区,不过也有些使用了菜单条。敬请期待我们即将发布的子表单视频教程。

]]>
//www.denkrieger.com/blogs/simulation-apps-how-to-add-a-file-menu-with-save-options/feed/ 0
如何基于 COMSOL Multiphysics 模型开发 App //www.denkrieger.com/blogs/how-to-build-an-app-from-a-comsol-multiphysics-model //www.denkrieger.com/blogs/how-to-build-an-app-from-a-comsol-multiphysics-model#respond Tue, 18 Aug 2015 08:31:08 +0000 http://com.staging.comsol.com/blogs/?p=154411 COMSOL Multiphysics 中内置了使用简便的 App 开发器工具。欢迎观看下方的 10 分钟视频,学习如何基于模型开发一个可正常运行的 App,并开始定制您的仿真 App。

学习 App 开发器的使用

在利用 COMSOL Multiphysics 开发仿真 App 前,我们应该先了解一些基础知识。为此,我们特意录制了一些视频教程,希望能通过具体操作演示来帮您更好地掌握这些知识。本期视频是该系列的第一篇,将介绍 App 的一些基本开发知识,并将演示如何通过自行探索软件来扩展您的 App。在接下来的几周中,我们将陆续在博客中与您分享这一专题视频,博客标签为”App 开发器简介视频“。

如同对所有其他工具的使用一样,您在 App 开发器中投入的时间与精力越多,它所能发挥的作用也就越强大。通过观看本视频及本系列的其他视频,您将能够基于您的需求进行 App 开发。当然,您也能以此为跳板,开发出更高级的 App。

在本视频中,您将学到:

  • 利用新建表单向导新建一个表单
  • 调整 App 布局
  • 增加按钮
  • 增加数据确认

我们首先利用新建表单向导将母线板教程模型转化为 App,并支持用户修改 App 参数、运行仿真并查看结果。创建基础 App 后,我们可以更改布局使之更合理,从而能更好地满足用户的需求。我们还增加了用于预览几何的第二个按钮,限定了参数的输入范围,避免出现不现实的输入。

视频教程:基于您的 COMSOL Multiphysics 模型创建仿真 App

扩展阅读

]]>
//www.denkrieger.com/blogs/how-to-build-an-app-from-a-comsol-multiphysics-model/feed/ 0