[转载][Tips&Tricks]用全局方程求解反问题
标签:
转载 |
分类: comsol学习资料(转载) |
“用火炉烧三根木柴,一小时后房间有多热?”从实验和仿真的角度,这是比较容易回答的问题,因为给定热源,求解热传方程就可以轻松的获得温度分布。然而更有实际意义的问题是“我想让房间平均温度达到25度,那么每小时需要烧几根木柴?”这个问题的求解方向与前一个问题的仿真过程相反,是它的反问题。在工程和科研中遇到的往往是类似的反问题,比如要达到某种强度,结构应当如何设计;要达到某种散热效果,要采用何种制冷方式,风扇转速要达到多高,等等。
http://s6/bmiddle/8bbbadd0tcf609293c245&690
您是否了解,COMSOL的全局方程能够用来简化某些反问题的求解呢?这是本文要向您介绍的内容。
以热传问题为例,在某些结构中我们需要控制热源功率大小以避免局部温度过高导致材料失效。其中温度分布可以通过求解熟知的热传方程来获得,温度分布T由热导率等材料属性,边界条件及热源功率Q_0决定。而这里的未知量除了温度T之外,还有热源功率Q_0。限制Q_0的条件是某监测点的温度达到T_max,也就是材料所能承受的最高温度。这个限制热源大小的温度条件不能够通过边界条件或材料属性定义在热传方程中,需要一个额外的方程来限制。由于这个方程与空间位置无关,因而叫作全局方程,也称为全局约束。
我们来看看全局约束在COMSOL中是如何实现的,步骤如下:
- 将监测点温度定义为全局变量,分两个步骤完成。
首先,在温度监测点上,定义一个积分耦合变量,Definitions > Model Couplings > Integration,将几何层次(Geometric entity level)设定为边界(Boundary).
http://s6/mw690/8bbbadd0tcf6069876245&690
这里需要注意,在1D模型里,点即是边界,因而选择边界变量(Boundary Variable),但在2D或3D模型中,则需要改选点变量(Point Variable)。
接下来,需要定义一个全局变量T_probe,使它的值为边界点的温度值。Global Definitions > Variables
http://s15/mw690/8bbbadd0tcf6069ab80ae&690
- 创建一个全局方程,定义温度限制条件。
在原有热传(Heat Transfer in Solids)物理接口的基础上,添加一个全局方程。Mathematics > ODE and DAE Interfaces > Global ODEs and DAEs
http://s6/mw690/8bbbadd0tcf6069e52565&690
将体热源值定义为Q_0,在全局方程ODE中定义方程成立的条件T_probe
http://s12/mw690/8bbbadd0tcf606a06956b&690
将上述条件定义与传热物理接口相结合,使可以求得最终热源Q_0的大小,以及整体的温度分布。更多细节,请参考模型,可以从中仿社区下载。
对于更高级的反问题建模,比如材料选择、几何结构优化等等,则需要采用优化算法。其实全局方程还有更多灵活的应用,比如我们在另一篇博文中提到的时间积分,本文只是牛刀小试,如果您有更巧妙的用法,欢迎与我们分享。
Ÿ
Ÿ

加载中…