COMSOL忽略了这几点,等于白干


COMSOL忽略了这几点,等于白干的图1  
COMSOL忽略了这几点,等于白干的图2    

使用技

(一)

COMSOL忽略了这几点,等于白干的图3    
COMSOL忽略了这几点,等于白干的图4    
COMSOL忽略了这几点,等于白干的图5    
COMSOL忽略了这几点,等于白干的图6    


COMSOL忽略了这几点,等于白干的图7    

✦  +

全局约束

COMSOL忽略了这几点,等于白干的图8    
COMSOL忽略了这几点,等于白干的图9    
COMSOL忽略了这几点,等于白干的图10    
COMSOL忽略了这几点,等于白干的图11    
COMSOL忽略了这几点,等于白干的图12    


对于多物理仿真,添加全局约束是 COMSOL 非常有用的功能之一。

例如,对于一个涉及传热的仿真,希望能够调整热源 Q_0 的大小,从而使得某一位置处的温度T_probe 恒定在指定值 T_max,我们可以直接将这个全局约束添加进来即可。

有些情况下,全局约束可能包含有对时间的微分项,也就是常说的常微分方程( ODE),COMSOL同样也支持自定义 ODE 作为全局约束。

例如,在一个管道内流体+物质扩散问题的仿真中,利用 PID 算法控制管道入口的流速 u_in_ctrl,从而使得某一位置处的浓度 conc 恒定在指定值 c_set。(基本模块模型库 > Multidisciplinary > PID control)。
需要添加的 PID 算法约束如下式:

COMSOL忽略了这几点,等于白干的图13    
COMSOL忽略了这几点,等于白干的图14    

要添加上述约束,除变上限积分项外,另外两项都可以很容易的在边界条件中的“入口流速”设置中直接定义。因此,这个变上限积分需要转化成一个 ODE,作为全局约束加入。

COMSOL忽略了这几点,等于白干的图15    

方程两边同对时间 t 求导,得到

COMSOL忽略了这几点,等于白干的图16    

COMSOL 中,变量 u 对时间的导数,用 ut 表示。因此变量 int 的时间导数即为 intt。利用 COMSOL 的“ODE 设定”,我们可以很容易的将 intt-(conc-c_set)=0 这个 ODE 全局约束添加入模型之中。

COMSOL忽略了这几点,等于白干的图17    
COMSOL忽略了这几点,等于白干的图18    



COMSOL忽略了这几点,等于白干的图19    

✦  +

积分耦合变量

COMSOL忽略了这几点,等于白干的图20    
COMSOL忽略了这几点,等于白干的图21    

COMSOL 的语法中,变量 u 对空间的微分,分别默认为用 ut,ux,uy,uz 等来表示,这为仿真提供了极大的便利。那么对变量 u 的空间积分呢?COMSOL 提供了积分耦合变量来实现这一功能。

积分耦合变量分为四种:点(point)积分耦合变量、边(edge)积分耦合变量、边界(boundary)积分耦合变量、求解域(subdomain)积分耦合变量。根据模型的维度,会有相应积分耦合变量。还可以指定得到结果后的作用域,例如全局,或指定某些点、边、边界或求解域。从而可以将对积分耦合变量结果的访问限制在指定的对象上。

求解域积分耦合变量,就是对指定变量或表达式在指定的某个或者某些求解域上做积分,积分的结果赋给自定义的这个积分耦合变量。对于三维仿真,这个积分是体积分;对于二维则是面积分。最典型的应用当属对数值 1 进行积分,可以得到体积或面积。

边界积分耦合变量,就是对指定变量或表示在指定的某个或者某些边界上做积分,积分的结果付给自定义的这个积分耦合变量。对于三维仿真,这个积分是面积分;对于二维则是线积分。对 1 积分可以得到面积或边长。

边积分耦合变量,就是对指定变量或表达式在指定的某个或者某些边上做积分,积分的结果付给自定义的这个积分耦合变量。仅存在于三维仿真中,这个积分是线积分。对 1 积分得到边长。

点积分耦合变量,就是对指定变量或表达式在指定的某个或者某些点上给出它的值。它的最主要用法是将某个点上的结果映射到指定的对象上。

在上面 PID 控制的例子中,指定位置处的浓度 conc 就是一个点积分耦合变量,用来提取点 PT1 处的浓度值。同时,浓度 c 的时间变化率 ct 在 PT1 点的取值,也可以用同样的方法提取出来,付给变量 ctime。

COMSOL忽略了这几点,等于白干的图22    

积分耦合变量除了用于添加约束,也常常用于后处理。COMSOL 允许用户将任意表达式在任意求解域或者边界上的积分定义为一个变量,然后直接在后处理中对该自定义的积分耦合变量做数据可视化操作。

例如,在二维扩散问题的仿真中,为了观测流出边界上总的流出的物质量,可以在出口边界利用边界耦合积分变量,然后可以直接得到数据曲线。(基本模块模型库 > Chemical engineering > absorption)

COMSOL忽略了这几点,等于白干的图23    
COMSOL忽略了这几点,等于白干的图24      




COMSOL忽略了这几点,等于白干的图25    

✦  +

 时间积分

COMSOL忽略了这几点,等于白干的图26    
COMSOL忽略了这几点,等于白干的图27    

现在我们已经可以在 COMSOL 中方便的定义任意一个变量 u 及其表达式的时间微分(ut)、空间微分(ux,uy,uz)、空间积分(积分耦合变量)。那么对于时间的积分如何处理呢?COMSOL 当然也提供了这项功能。

对于时间的积分项的处理,COMSOL 也是通过 ODE 的设定来实现的。例如前例中,我们已经可以利用一个边界积分耦合变量来描述某个时刻流出的物质量。现在我们进一步,需要知道一段时间内总的物质流出量 Totmass

COMSOL忽略了这几点,等于白干的图28    

将方程两边同对时间 t 求导后就变成了一个 ODE 方程,类似于定义一个全局约束那样,我们使用COMSOL 的“ODE 设定”功能便可以定义这个新的变量 Tot_mass。

COMSOL忽略了这几点,等于白干的图29    

采用 ODE 进行时间积分,仅仅只能对标量进行积分,如果是想对求解域内的某个值进行积分(通常具有维度),则需要采用耦合一个 PDE 应用模式的方法,通过修改 PDE 方程,使其满足对时间的常微分方程形式,然后在求解中可以得到对时间的积分结果。


COMSOL忽略了这几点,等于白干的图30    


   

文章来源:COMSOL仿真交流


(1条)
默认 最新
你的软件怎么是中文版的?怎么搞的!
评论 1 点赞
回复
同问
评论 点赞
点赞 2 评论 2 收藏 9
关注