comsol积分函数_如何在 COMSOL 软件中合并解
COMSOL Multiphysics 中的合并特征
在 COMSOL 中合并解,需要右键单击结果下的数据集,然后选择合并。当使用功能区(如果正在运行 Mac®OS 或 Linux®,则使用菜单)时,命令为结果> 更多数据集> 基数据集 > 合并。在合并设置窗口中,我们需要做出两个选择:组合哪些解,以及如何组合它们。
我们可以在数据1和数据2中确定基础数据集。在数据2的正下方,可以配置组合方法。
合并设置窗口。
组合方法有 7 种选择,我们可以将其中的 5 种作为另外2种选项的特例。下面我们将讨论常规 和显式 2种方法。
常规合并方法
当方法被设置为常规时,会出现一个字段,我们可以在其中输入表达式。例如,data1-data2
是一个差异表达式,(data1-data2)^2
是差异的平方。后者可以用作评估 L2 模差的平方。
在此阶段,未指定要比较的变量。实际上,我们正在构造一个算子,该算子可用于两个原始基本解中定义的任何变量。接下来,我们以一个 T
为因变量的问题为例来说明,如传热问题。
假设我们在表达式字段的合并设置窗口中输入 (data1-data2)^2
,并将新数据集命名为 Join 1。为了绘制温度差的平方,在绘图设置窗口中为数据集选择 Join 1,并选择 T
作为表达式。
为了演示如何使用常规方法进行解合并,下面我们通过两个模型示例来说明。
示例1:绝对差
在此示例中,通过一个沿右端均匀分布的 10 MN/m 的载荷和一个同一个边缘在中心最大强度为 20 MN/m,末端为0 MN/m 的三角载荷交替加载一个厚度为 0.1 m 的膜的二维平面应力模型。这两个载荷在静态上是等效的。根据圣维南原理,离载荷的边缘越远时,解的差异就越小。
首先,我们使用均匀载荷进行计算,然后使用三角载荷来计算得到两个稳态解。如上图所示,方法选择常规,并在表达式栏中输入 abs(data1-data2)
创建一个合并解 Join 1。为了绘制 von Mises 应力中的绝对差,使用 Join 1 数据集绘图并在表面图设置窗口的表达式栏中输入 solid.mises
绘制表面图。在下图中,如圣维南原理所预测,von Mises 应力在载荷边缘附近差异很大,而在远离边缘的地方差异很小。
具有均匀和三角形边界载荷的 Von Mises 应力,以及 Von Mises 应力的绝对差。
示例 2:结果包络
通常,工程师会针对不同的运行条件进行分析,并希望了解该域中所有点的最佳或最差情况。例如,在热分析中,通常对最高温度比较关注。域中的某些点,在某一种工况下达到最高温度,而其他点则在另外的工况下达到最高温度。温度包络显示了在多种可能的工况下每个点的极端温度值。
对于此示例,我们考虑一个简单的稳态一维热传导问题。在第一种情况下,左端温度为 300 K, 右端温度为 400 K。在第二种情况下,温度发生反转,左端温度为 400 K,右端温度为 300 K。
为了构建最大温度包络,我们使用常规方法和 max(data1,data2)
表达式从两个解中创建一个合并数据集 Join 1 。然后,在线图中,数据集选择Join 1,表达式选择 T
,以获取最大温度包络(如下所示)。
结果包络设置。
在下图中,我们可以看到合并操作和结果包络以及两种基本情况的结果:
如果要绘制最小温度包络,则必须使用 “合并设置”窗口中的 min(data1,data2)
添加一个新的合并数据集。
显式合并方法
使用常规方法进行合并时有一个限制,即在后续操作(例如绘图或积分)中,必须使用两个基本解中的相同变量。例如,要绘制第一个数据集的变量 u
和第二个数据集的变量 v
之和,就不能使用常规方法。如果在合并设置窗口的表达式下有 data1 + data2
,则可以将其与u一起使用,返回 data1(u) + data2(u)
;或者和 v
一起使用,返回 data1(v) + data2(v)
。这时就可以使用显式 方法。选择此方法时,COMSOL Multiphysics 会创建两个新的算子 data1 和 data2,可分别用于访问第一个和第二个数据集中的量。与常规方法不同,显式方法在解合并阶段没有用于键入表达式的字段,我们可以在后面的绘图、积分、平均值或其他设置时直接使用这两个算子。例如,data1(u) + data2(v)
可以在绘图设置窗口中键入,前提是 u
是第一个解中的合法变量,并且 v
在第二个解中可用。显式方法的另一个优点是,由于表达式在解合并阶段不是固定的,因此我们无需创建新的合并数据集就可以使用其他表达式。例如,在一维传热问题中,我们可以进行显式合并,并将其用于 L2 和 H1 模的两个不同的线积分中。对于 L2 模,我们将使用 (data1(T)-data2(T))^2
;对于 H1 模,我们将使用 (data1(T)-data2(T))^2 + (data1(d(T,x))-data2(d(T,x)))^2
。此处,d(T,x)是 T
相对于的 x
的导数,它是 COMSOL Multiphysics 中的预定义算子。回到温度包络示例。使用常规方法绘制最大和最小温度包络时,我们需要两个合并数据集。如果改用显式方法,则只需要一个合并数据集,并使用 max(data1(T),data2(T))
和 min(data1(T),data2(T))
在线图中分别绘制最大和最小包络。
在合并数据集上使用算子
常规方法
我们可以在模型开发器的定义节点中添加函数和组件耦合算子。如上所述,使用常规方法时,我们还会得到一个算子。因此,当我们使用用户定义的耦合算子或函数,并使用常规方法合并数据集时,最终得到了一个复合算子。问题是:组合中的哪个算子是内部算子,哪个是外部算子?答案是,通过解合并生成的算子是外部算子,并且在定义节点中添加的任何算子都将成为内部算子。下面我们用一个例子来说明这一点。以在上述一维热传导示例的定义节点中添加的耦合算子 intop1
为例。数据集 Join 2 是由使用通用方法和表达式 (data1 - data2)^2
的两个解组成。如果我们选择 Join 2 作为数据集,intop1(T)
作为结果 > 派生值> 全局计算中的表达式 ,是否能够得到两个基本解之差的L2-模呢?答案是:不能。全局计算返回零值。由于 intop1
是内部算子,因此要评估的是 (intop1(T)-intop2(T))^2
,这显然不是差的 L2 模。要获得差的 L2 模,我们必须使用结果> 派生值中可用的预定义积分算子,然后为数据集选择Join 2并选择我们的域。最后,使用 T
作为 Expression。下图显示了使用 COMSOL Multiphysics 实现这些操作的过程及其数学表达式。
通过常规方法在合并解上使用算子。
总之,复合运算中的算子顺序如下:在定义节点中添加的函数或耦合算子;通过合并创建算子;在结果 > 派生值中从内部到外部使用预定义的平均值、最大值、最小值和积分算子。
显式方法
使用显式组合时,情况会更清楚。下图显示了如何在显式合并的数据集Join 3上计算积分差和差分积分。
通过显式方法在合并解上使用算子。
其他合并方法
其他 5 种组合方法分别是差集、差分的模、积、商以及总和。他们等同于对常规方法使用表达式 data1-data2、abs(data1-data2)
、data1*data2、data1/data2
和 data1 + data2
。当然,用常规方法做的任何事情,也可以使用显式方法完成。在本篇文章中,我们主要讨论了无参数扫描的合并稳态解。在参数扫描或瞬态解中,每个基本解都包含多个数据集。特征频率和频域研究也是如此。对于这些研究类型,合并解可用于评估一些有用和有趣的物理量。我们将在后续文章中对此进行讨论。
本文内容来自 COMSOL 博客,点击“”,延伸文章。
comsol积分函数_如何在 COMSOL 软件中合并解相关推荐
- comsol积分函数_怎样在COMSOL中实现时间和空间积分
展开全部 COMSOL Multiphysics是一款大型的高级数值仿真软件.广泛应用于各个领域的科学62616964757a686964616fe58685e5aeb931333363386162研 ...
- react中纯函数_如何在纯React中创建电子邮件芯片
react中纯函数 by Andreas Remdt 由Andreas Remdt 如何在纯React中创建电子邮件芯片 (How to create email chips in pure Reac ...
- java eclipse导入工程文件_如何在Eclipse软件中导入Java工程文件
有些在学习Java编程的用户虽然会创建工程,但是对于怎么导入工程文件却不清楚,下面这篇教程我们就来为大家介绍一下,在Eclipse软件中导入Java工程文件的方法,有兴趣的朋友就来了解一下吧. 解决方 ...
- java 合并和拆分单元格_如何在Microsoft Word中合并和拆分表和单元格
java 合并和拆分单元格 You can easily merge and split cells in Microsoft Word to make your tables more intere ...
- java有没有求组合的函数_如何在Java 8中使用compose和andThen组合函数
在这篇文章中,课课家将讨论利用java8的Function接口提供的两个组合函数--compose和andThen来实现函数的组合. 什么是函数组合? 首先需要创建一些小的可重用函数,然后将这些小函数 ...
- python类中函数_如何在Python类中使用模块函数
参见英文答案 > How do you call a private module function from inside a class? ...
- python合并单元格 索引_如何在matplotlib选项卡中合并单元格
我用matplotlib创建了一个表,我想合并一些单元格.索引中具有相同字符串的单元格将合并为一个单元格.在 问题被标记为重复,但链接无法回答我的问题#tbl_handler is an instan ...
- 【板栗糖GIS】如何在CASS软件中输出PDF
[板栗糖GIS]如何在CASS软件中输出PDF 1. 点击文件-绘图输出-图形变白 2. 然后再选择文件-绘图输出-打印 选择 打印机为PDF,纸张为A4,点击红框的窗口框选数据的范围,接着点击确定, ...
- c语言如何输入矩阵_如何在 COMSOL 软件中调试外部材料
问题描述 我实现了一种用于"结构力学"的外部材料,但我的模型无法求解. 解决方法 外部材料一般通过 C 语言编码,然后被编译到共享库中,供 COMSOL Multiphysics ...
最新文章
- svn官方备份hot-backup.py强烈推荐
- 亿级流量系统架构之如何设计承载百亿流量的高性能架构【石杉的架构笔记】...
- 论文笔记:孪生神经网络(Siamese Network)
- 超级任天堂游戏模拟器被曝安全漏洞
- 用matlab建立控制系统的数学模型,第二章控制系统的数学模型.ppt
- vue.js 2.x 能否设置某个组件不被keep-alive 的解决方案
- 博客版面设计~文章填充
- ionic 网站放在服务器,Ionic4 服务器插件-服务器Httpd - Ionic Native
- Table变量和临时表区别
- centos 7单网卡实现双路由,同时访问内外网
- 3dmax三点照明法场景照明的方法和技巧
- Excel解析easyexcel工具类
- 事务的传播行为(讲得比较好)
- C语言——scanf()函数的具体详解
- 项目--练习题61:超市收银系统
- 微信小程序低功耗蓝牙(BLE)开发总结
- Flutter 时间选择器
- 秒懂1U、2U、4U和42U服务器
- 抖音热门涨粉小技巧,你值得拥有!
- Topical PageRank(TPR)论文解读
热门文章
- postman socket接口测试_基于postman测试接口(整套接口测试)
- bzoj4569 [Scoi2016]萌萌哒 并查集+st表
- idea中浏览器打开页面404_深圳网站建设中的404页面有什么用
- 【英语学习】【Level 07】U08 Old Stories L4 Today's headline
- 【英语学习】【WOTD】hoodwink 释义/词源/示例
- Android人脸识别开发入门--基于虹软免费SDK实现
- android svg指纹录取动画_你知道几种前端动画的实现方式?
- autojs toast 可以改变字体颜色吗_你手中的渠道货够硬吗?看完这期 OFF WHITE x AIR JORDAN 5 对比,你就知道了!...
- matlab createtask,Matlab批量与createjob
- vant部署_详解VUE项目中安装和使用vant组件