您的位置 首页 杂谈

COMSOL最后的大招——基于方程建模

平舆天气,青岛市人事考试中心,斗破苍穹第三季

01COMSOL中的建模形式 我们知道一般仿真分析是将物理模型转化为数学模型再进行求解。通常将物理模型转化为数学模型这一步骤会由仿真软件完成,用户只需要选择相应的模块,并对数学方程…

01COMSOL中的建模形式

我们知道一般仿真分析是将物理模型转化为数学模型再进行求解。通常将物理模型转化为数学模型这一步骤会由仿真软件完成,用户只需要选择相应的模块,并对数学方程的某些参数进行完善即可。目前COMSOL内置了电磁模块、流体流动传热模块,结构力学声学模块以及化工等模块,能够满足绝大多数的仿真需求。但是目前COMSOL没有预置所有能想象到的物理场方程,或者现有的模块我们需要太多的修正才能够使用,这时候,选择基于方程的建模方式是一种可行的方案。COMSOL的自定义方程可以与任何其他内置的物理场接口耦合,以获得强大且灵活的建模能力,又能避免用户编写繁琐的程序代码。

我们在使用COMSOL时,有四种建模方式,最方便的是用软件预置的物理场接口进行计算,其二是以预置物理场接口建模并添加修正项,第三是使用预置物理场接口和自定义方程配合使用,第四种也是比较困难的是直接根据原理以方程接口建模。这四种难度依次增大,灵活度逐渐增加。作为COMSOL仿真最后的大招,基于方程的建模形式可以帮助我们建立任意方程,帮助我们实现用内置物理场接口难以实现的数值模拟。

02方程库

在COMSOL中,我们常用的自定义方程接口包括偏微分方程、经典偏微分方程以及常微分和微分代数方程,下表列出了各方程形式和方程描述。

偏微分方程

系数形式偏微分方程

“系数形式偏微分方程”是一个通用接口,用于指定并求解许多著名的系数形式偏微分方程。许多偏微分方程可以转换为最多包含时间和空间的二阶导数(但不包含混合导数)的一般形式。在 COMSOL Multiphysics 中,可以通过指定不同阶导数的系数来定义此类偏微分方程,从而产生系数形式偏微分方程。

一般形式偏微分方程

“一般形式偏微分方程”接口提供通用的接口,用于指定和求解一般形式偏微分方程,其中的格式通过使用通量矢量的散度与控制多个物理学领域的守恒定律密切相关。在实际应用中,通量矢量通常表示热量、电荷、质量或动量等守恒量的通量,这些通量通常以某种经验方式通过材料定律与因变量的梯度相关。

波形偏微分方程

“波形偏微分方程”接口使用间断伽辽金法来求解时间和空间中用一阶导数表示的波动方程,并在计算速度和内存消耗方面进行了高度优化。

弱形式偏微分方程

“弱形式偏微分方程”提供一个通用接口,可用于指定和求解弱形式偏微分方程。弱形式不会定义任何系数,甚至不会分离方程系统中的不同方程。指定弱形式偏微分方程及其边界条件后,就指定了通用弱形式方程的贡献。

偏微分方程,边界元

“偏微分方程,边界元”接口采用边界元法 (BEM),仅使用建模区域边界上的网格单元来求解拉普拉斯方程。

经典偏微分方程

拉普拉斯方程

“拉普拉斯方程”接口可用于为椭圆型经典偏微分方程建模,该方程可以描述电、重力或流体势的特性,以及稳态热方程。“拉普拉斯方程”还可用作所有偏微分方程接口的域特征节点。

泊松方程

“泊松方程”接口可用于对椭圆型经典偏微分方程建模,可以描述具有空间电荷密度的静电场等。还可以用作所有偏微分方程接口的域特征节点。

稳定对流-扩散方程

“稳定对流-扩散方程”接口可用于对经典偏微分方程建模,这一方程描述通过对流和扩散进行的传递。其中包含稳定性、吸收以及守恒和非守恒对流项。

波动方程

“波动方程”接口可用于为双曲型经典偏微分方程建模,这是一个二阶偏微分方程,描述声波、光波及水波等各种波。还可以用作所有偏微分方程接口的域特征节点。

亥姆霍兹方程

“亥姆霍兹方程”接口可用于为椭圆型经典偏微分方程建模,该方程可以表示波动方程与时间无关的形式等,还可用作所有偏微分方程接口的域特征节点。

热方程

“热方程”接口可用于为抛物型经典偏微分方程建模,该方程描述通过扩散和其他扩散过程进行的瞬态和稳态传热,还可以用作所有偏微分方程接口的域特征节点。

对流扩散方程

“对流-扩散方程”接口可用于为描述对流和扩散传递的经典偏微分方程建模,还可用作所有偏微分方程接口的域特征节点。

常微分方程和微分代数方程

全局常微分方程和微分代数方程

“全局常微分和微分代数方程”接口用于添加可以表示附加状态的全局空间不相关的方程。这些方程可以是常微分方程、代数方程及微分代数方程。

域、边界、点常微分和微分代数方程

“域、边界、点常微分和微分代数方程”接口用于向域、边界、点添加与空间不相关的方程。场变量可以表示附加状态,相应的方程可以是常微分方程、代数方程和微分代数方程。

系数形式偏微分方程是最基本的方程形式,通过控制方程各项的系数,一般形式和波形式微分方程、经典偏微分方程等均可以由系数型偏微分方程衍生得到。弱形式偏微分方程没有指定具体的微分方程形式,其原因是弱形式能够适应所有的微分方程,我们只需要把方程及其边界条件通过一定的变换变为弱形式即可,我们之前通过案例展示过微分方程转化为弱形式的方法。

03求解案例:鼓面的振动模态分析

在结束不久的正月闹新春活动中,敲锣打鼓是最常见的一种活动,那么有没有想过一锤子敲下去,鼓面是怎么振动的呢?我们今天就可以用COMSOL基于方程建模来一探究竟。鼓面可以看做薄膜模型,我们知道薄膜自由振动的方程可以写为:

其中W表示薄膜的振动挠度。这里我们需要的振动模态,也就是在频域对上述方程进行求解,通过傅里叶变换,上述方程变换为:

上式也即COMSOL中波动方程在频域下的表现形式。

我们首先建立几何模型,在COMSOL中绘制一个半径为1.5m的圆面。

对比我们推倒的方程形式,在COMSOL中完善模型,源项f为0,质量系数为1。我们推倒方程中的a2为张力T和材料密度ρ的比值,取T = 23000N/m,密度ρ = 7.805kg/m2,计算得到c = -2946.8,由于采用了统一的SI单位制,我们可以不在COMSOL中设置变量单位。

对于边界条件,鼓面边界上挠度为0,也即狄利克雷边界条件,指定挠度值为0。

求解器选用特征值求解器对鼓面的前六阶特征值进行求解,下面的图中展示出了前六阶特征值及其振动模态,计算结果和理论计算结果基本一致(通过点击文末阅读原文了解理论计算过程)。仿真结果表明,由于人敲打鼓面的频率远小于一阶频率,鼓面主要的振动形式是一阶振动构型也即整体的上下振动,几乎不存在高阶的振动模态(难以激起且高阶阻尼更大)。

04求解案例:固体传热瞬态分析

系数形式偏微分方程是包含项最全面的微分方程,通过它我们可以建立各种形式的微分方程,热方程当然也包含在内。我们也可以直接用经典偏微分方程-热方程来建模,此处为了演示系数形式偏微分方程的用法,我们暂不采用热方程。

我们知道固体中的热方程具有以下的形式:

其中α为热扩散系数。对比系数形式偏微分方程,留下的仅有堆积储存项、扩散项和源项,因此我们只需要对da,c,f赋以恰当的值,其他系数均设置为0即可。

几何模型如图所示,中间为热源,边界条件为两端温度恒定,其他边界热通量为0。

由于不同域的方程参数不同,模型中建立了两个系数形式偏微分方程,分别指定热源区域和其他两部分区域的方程参数。取c=1,da=1,热源域f=1,其他域f=0。

下面的图形展示了随时间变化求解域中的温度变化情况。

接下来我们考虑,随着时间的增长,热能累积是多少?这就需要偏微分方程和常微分方程联合求解。

首先,我们需要对u在空间上进行积分,然后再在时间上积分。

空间积分在软件中可以很简单的操作,首先定义一个积分算子intop1,积分域为所有域。然后定义一个变量U,使其等于intop1(u)即可。

时间积分不能通过该方法实现,我们需要借助于常微分和微分代数方程下的全局常微分方程和微分代数方程来实现,设置方法如下图所示,实际上将积分方程转化成了微分方程来处理。定义了一个变量w,设置其导数(wt)等于U。

点击计算,下图绘制了热能累积随时间变化的情况。

在上述算例中,全局方程在整个计算域内都是有效的,但是有些情况下,我们需要变量考虑某些点上的行为。比如假设我们的模型是一根木条,在不停加热的情况下,局部区域肯定先会被烧焦,这种情况下我们就需要用到域常微分和微分代数方程了。判断是否被烧焦的依据就是该点的能量累积超过某个阈值,我们定义一个参数P用来表示域内各点的能量累积,并假定P超过20时,该点被烤焦。

积分方程同样被转化为微分方程求解,下图中的二阶导系数置0,一阶导系数为1,求导结果等于u。

计算即可得到P随时间的变化情况,我们区别绘制了P20和P20的区域,可见,随着时间的推移,木条很快被烤焦。

05结束语

本次我们列举了COMSOL中常见的偏微分方程和常微分方程,并通过薄膜振动和固体传热两个案例说明了部分方程的用法。基于方程的建模形式不仅为我们提供了物理场接口之外的建模方案,对于一些简单的微分方程,我们也可以方便地通过COMSOL对其求解,进而研究其行为,促进我们对微分方程的认识。

本文来自网络,不代表加推新闻网立场,转载请注明出处:http://www.bafangmiaomu.com/shehui/98048/

作者: 头条新闻

为您推荐