首页 > 其他分享 >un-resolved CFD-DEM网格尺寸为颗粒直径的3倍以上

un-resolved CFD-DEM网格尺寸为颗粒直径的3倍以上

时间:2023-03-09 10:37:21浏览次数:54  
标签:resolved CFD 孔隙率 网格 DPVM 流体 un 颗粒 PCM

依据颗粒与流体网格的尺寸,目前在未解析 CFD-DEM 模型中,流体空隙率算法主要有三种:PCM(Particle Centroid Method)、DPVM(Divided Particle Volume Method)和 SKM(Statistical Kernel Method)。

流体空隙率通过下面的公式计算:

其中,Vcell 和 Vp,i 分别为网格体积与颗粒 i 体积,φ为颗粒 i 覆盖网格的物理体积分数。 

在 PCM 中,如果颗粒中心在某一个流体网格中,那么认为该颗粒全部位于这个流体网格中,即φ为 1,如图 1-6(a)所示。在 DPVM 中,颗粒被分为多个体积相等的部分,如果某个子部分的中心在流体网格中,那么认为该部分相应的体积全部位于这个流体网格中,如图 1-6(b)所示。PCM 能够保证颗粒质量不会发生丢失,判断条件比较简单且计算效率较高,但是可能会造成某些网格的流体空隙率为零甚至为负数的情况,比如多个颗粒中心位于同一个网格中导致网格体积小于多个颗粒的体积和。DPVM 被视为一种细粒度的 PCM,使用 DPVM 能够得到相对光滑的流体空隙率场。通常使用 PCM 或 DPVM 计算时需要设置流体网格空隙率的下限值。SKM 通过统计核函数将颗粒体积在周围网格内加权分配,能够得到更加光滑的空隙率场,保证数值计算的稳定性,但是在每个耦合时间步中都需要搜索颗粒影响的网格并逐一计算,尤其当颗粒位于处理器计算域边界时需要跨处理器搜索网格,因此 SKM 方法计算效率较低且实现难度较大。 

 

下面这幅图中,网格的尺寸明显不足颗粒的3倍。如果采用PCM方法计算孔隙率,那么该颗粒完全位于1号网格中,2/3/4号网格将不会受到颗粒的影响,对于孔隙率的计算误差将会非常大。即使采用DPVM的方法计算孔隙率,也会存在比较高的误差。但是将网格的尺寸增大以后,Vcell 将会明显增大,根据前面所述的计算孔隙率的公式可以看出,Vp,i 对于孔隙率的影响,相对来说会降低一些,尽管仍然存在误差,但是随着网格尺寸的增大,这种误差将会在一定程度上逐渐降低。

 参考文献:

[1]丁旺. 基于CFD-DEM的颗粒流体两相耦合模型的研究[D].上海:上海交通大学,2021.DOI:10.27307/d.cnki.gsjtu.2021.000135.

[2]HOOMANS B, KUIPERS J, BRIELS W J, et al. Discrete particle simulation of bubble and slug formation in a two-dimensional gas-fluidised bed: a hard-sphere approach[J]. Chemical Engineering Science, 1996, 51(1): 99-118.

[3]刘德天, 傅旭东, 王光谦. CFD-DEM 耦合计算中的体积分数算法[J]. 清华大学学报(自然科学版), 2017, 57(07): 720-727.

标签:resolved,CFD,孔隙率,网格,DPVM,流体,un,颗粒,PCM
From: https://www.cnblogs.com/Xiwang-Sun/p/17197360.html

相关文章

  • Android工程接入UnityLibrary工程
    目录结构Unity工程指UnityLibrary目录下文件;安卓工程指app目录下文件;整体指App目录下不包括app和UnityLibrary;1.Unity打包时勾选导出安卓工程;拷贝gradle.properties......
  • Unity SkinMesh之如何分割SubMesh
    可参考:http://answers.unity3d.com/questions/1213025/separating-submeshes-into-unique-meshes.html代码如下:1usingUnityEditor;2usingUnityEngine;3usi......
  • Codeforces Round 856 (Div. 2)
    Preface补题,话说这场题目数量好少的说……除了E题有点新花样前面题目都很简单的说,不过最后一天疯狂卡自然溢出的Hash,WA了一页可还行A.PrefixandSuffixArraySB题,我......
  • [chatGPT]unity中,我希望一个角色有一个链表能获取到场上所有“creature”的transform,
    关键字:unity游戏对象管理,unity,unity实例管理,unity触发方法我unity中,我希望一个角色有一个链表能获取到场上所有“creature”的transform,当creature增加或减少时刷新这个......
  • Ubuntu(18.04)虚拟机,挂起恢复后网络异常
    系统挂起后,重新恢复,查看网络,出现信息:ens33:<BROADCAST,MULTICAST>mtu1500qdiscfq_codelstateDOWNgroupdefaultqlen1000如下: 解决方法:输入指令:sudodhcl......
  • 1. 两数之和 unordered_map使用
    https://leetcode.cn/problems/two-sum/ 给定一个整数数组nums 和一个整数目标值target,请你在该数组中找出和为目标值target 的那 两个 整数,并返回它们的数组......
  • Middle Duplication (CFD2E) (贪心,中序树,字典序大小.dfs)
      大佬的思路:  #include<bits/stdc++.h>usingnamespacestd;intn,k,l[200010],r[200010],pos[200010];charc[200010];vector<int>seq;voidprecalc(i......
  • protoc 执行时 提示unable to determine Go import path for
      protoc新版本需要在proto文件中定义包名optiongo_package="path;name";path表示生成的go文件的存放地址,会自动生成目录的。name表示生成的go文件所属的包名......
  • uniapp的常用知识
    3.Uniapp中常见的组件(说几个即可)view:视图容器。属性名类型默认值说明hover-classStringnone指定按下去的样式类。当hover-class="none"时,......
  • bound+网桥配置
    以下为bound1(主备模式)的配置[root@localhost~]#cat/etc/sysconfig/network-scripts/ifcfg-ens6f0TYPE=EthernetNAME=ens6f0DEVICE=ens6f0MASTER=ctl_bond1SLAVE=......