找回密码
 注册
Simdroid-非首页
查看: 268|回复: 11

[06.对流扩散] 请教artifical diffusion问题

[复制链接]
发表于 2009-6-21 10:53:18 | 显示全部楼层 |阅读模式 来自 湖北武汉
请问COMSOL中设人工扩散的目的与用途是什么呀?用于解决什么样问题?怎么看也没看懂.
发表于 2009-6-23 12:42:47 | 显示全部楼层 来自 上海徐汇区
Simdroid开发平台
提高数值稳定性,从而可以得到收敛的结果。你可以在用户手册里面找找看。
回复 不支持

使用道具 举报

发表于 2009-7-1 16:59:27 | 显示全部楼层 来自 上海徐汇区
我疑惑过,好像没有什么具体的物理意义吧。楼上能不能举例说明呢?是不是高手才做的来?
回复 不支持

使用道具 举报

发表于 2009-7-2 14:59:26 | 显示全部楼层 来自 北京
我也遇到这个问题:就是在计算梯度很大的边界上,会出现振荡现象
不知道这个问题在comsol 里面怎么解决!望指教
回复 不支持

使用道具 举报

发表于 2009-7-2 17:21:38 | 显示全部楼层 来自 天津
近20年来, 利用Galerkin 格式直接从描述粘性不可压流体的Navier-Stokes方程出发, 建立离散化的数值求解格式进行有限元分析, 已经受到人们越来越多的关注。但是,在用试函数与权函数相同的经典Galekin法求解时, 往往会引起虚假振荡(Spurious oscillations) 导致求解失败。
一般认为, 产生这种数值振荡有两个原因:一是对流项的存在, 该项的数值离散, 解除了相邻节点间原有的耦合关系, 引起数值求解劣质的散射特性, 从而使求解中局部振荡不断扩散、增大, 使数值计算失败;二是离散过程中速度场和压力场有限元插值函数的不当组合, 使得相应的协调条件(又称为Babuska-Brezzi条件)得不到满足,从而引起压力场的数值振荡。解决这种振荡的传统方法是速度场和压力场采用不等阶插值,另一种方法是罚函数法,这种方法利用罚函数对连续方程作用而消去压力, 求出速度后再来求压力,但这时又可能引起振荡。
因此,从80年代初期以来, 以解决数值振荡为目标, 围绕增添求解过程的人工耗散, 以试函数与权函数采用不同形式的Petrov-Galerkin原理为基础, 提出了许多以增加权函数扰动项为主要策略的求解方法。目前广泛应用的方法主要为以下三种:一是Galerkin/least-squares(GL S)法,二是以流线迎风Petrov-Galerkin格式为基础的SU PG法,三是Pressure-Stabilizing/Petrov-Galerkin (PSPG)法。

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2009-7-2 17:31:34 | 显示全部楼层 来自 英国
近20年来, 利用Galerkin 格式直接从描述粘性不可压流体的Navier-Stokes方程出发, 建立离散化的数值求解格式进行有限元分析, 已经受到人们越来越多的关注。但是,在用试函数与权函数相同的经典Galekin法求解时, 往往会 ...
lyh342 发表于 2009-7-2 17:21



事实上,不单是NS 模块,一般的对流扩散方程也有这个ARTIFICIAL DIFFUSION选项呢.
回复 不支持

使用道具 举报

发表于 2009-7-3 15:23:17 | 显示全部楼层 来自 上海徐汇区
4# sean-lee

我记得有一个f(也许是flsch?)字头的平滑函数可以解决的!你自己查查看,我手边没有
回复 不支持

使用道具 举报

发表于 2010-5-4 00:24:34 | 显示全部楼层 来自 陕西西安
想问一下,选择不同的artificial diffusion都能得到平滑的收敛结果,但是结论差异比如在稳定时间和浓度值上存在明显差异,怎么判断哪个选择好呢?
回复 不支持

使用道具 举报

 楼主| 发表于 2010-5-4 12:39:41 | 显示全部楼层 来自 湖北武汉
呵呵,没想到问一问题现在又浮起来了.经我这段时间学习,基本上了解点了.所以我回答下,看是不是对.
对流占优方程一般存在计算不收敛或数值振荡问题.而主要原因上面已经贴子已经说到,应该是因为对流项离散问题.人工扩散的主要目的其实是改善总刚矩阵,对对流占优问题,形成总刚矩阵时计算收敛性存在问题.所以人为的增加扩散以改善矩阵,说白了.人工扩散的目的其实就是解一个比原本扩散更明显的问题.因为只是你原本研究问题的一种近拟.一本书上说了一句话对些问题的描述''有解总比没解好"可以更好的表达这种无耐.因而在扩散上有三种设置方式,一种是各向同性加扩散,别外两种就是流线方向与垂直与流线方向,可想而知.为了达到目的,扩散项肯定是越小越好,因为越接近与现实研究对象.具体可能要试算.当然计算时,COMOL网格好像也有影响.自己试下.

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-5-7 13:53:59 | 显示全部楼层 来自 陕西西安
9楼意思是说,加扩散的主要目的是对原问题近似求解吗,如果原来问题通过加密网格,设定其它求解参数获得收敛的数值解,不加人工扩散为好吗?
回复 不支持

使用道具 举报

发表于 2010-11-23 11:03:50 | 显示全部楼层 来自 北京
在模拟两相渗流时,我如果要在达西定律中加入人工扩散,该怎么加?
回复 不支持

使用道具 举报

发表于 2010-11-23 16:51:50 | 显示全部楼层 来自 上海
其实解决对流项引起的数值振荡现象有一个比人工扩散更好的办法:最小二乘FEM,least-squares FEM,具体实现就是试函数不等于形函数,而用与微分方程形式相似的形式。这种实现方法对于对流扩散方程也会形成正定对称矩阵,各种快速的求解器都可以方便求解。在comsol中应该可以通过修改test函数的方法实现。
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-26 00:22 , Processed in 0.059565 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表