@李东岳 十分感谢!
散漫守望2016
帖子
-
-
@李东岳 谢谢东岳兄!
-
@李东岳 是的,东岳兄,还是挺划算的。还有招聘链接:https://mp.weixin.qq.com/s/_fZpcKRnCPfULBGYgPgQhQ
-
同时我们也招收博士生:
澳大利亚新南威尔士大学(University of New South Wales)化学工程系沈岩松教授课题组,现招收2022年入学的全额奖学金博士生数名。研究方向基于多相反应流体系(气-固、液-固、气-液-固),内容包括流动、传递、反应及其耦合过程的多尺度建模、离散-连续耦合模拟、高性能计算、机器学习及其工业应用。具有CFD,DEM,CFD-DEM,LB等一种或多种多相流数值建模和应用经验者优先。详情请见官方网页https://www.promo.unsw.edu.au/upcoming-events 。沈岩松教授现任UNSW反应流动实验室(ProMO Lab)主任,致力于研究多相流模拟和过程设计及其在复杂反应器中的应用,主要研究领域涉及资源和能源工业。目前主持十余项澳大利亚基金委的国家级科研项目,自有科研经费约500万澳元。2019年获澳大利亚科研基金委国家未来学者杰出青年人才计划(ARC Future Fellowship)。领衔的ProMO课题组已在Chem. Eng. J., Chem. Eng. Sci., Applied Energy, Powder Technology, Fuel, MMTB 等国际权威期刊上发表学术论文150余篇。有意者欢迎联系ys.shen@unsw.edu.au。欢迎各位老师专家推荐、转发或交流合作!另:澳大利亚现在无疫情,入境可以申请豁免。
-
澳大利亚新南威尔士大学(University of New South Wales)化学工程系 沈岩松教授课题组,现招收2021年入职的博士后两名,年薪A$97,368~104,143 (+17% superannuation)。招聘方向分别为CFD-DEM modelling of fluid-particle reacting flow(基于离散-连续耦合的反应流建模)和Data-driven CFD modelling of reacting flow(基于机器学习的反应流建模),详情请见官方网页https://www.promo.unsw.edu.au/upcoming-events 。沈岩松博士现任UNSW反应流动实验室(ProMO Lab))主任。致力于研究多相流模拟和过程设计及其在复杂反应器中的应用,主要研究领域涉及资源和能源工业。2019年获得澳大利亚科研基金委未来学者杰出青年人才计划(ARC Future Fellowship)。有意者欢迎联系ys.shen@unsw.edu.au。欢迎各位老师专家推荐、转发或交流合作!另:澳大利亚现在无疫情,入境可以申请豁免。
-
@Ant 你好,我最近比较忙,所以可能没时间给你帮助。我建议你可以先采用CFPD Barracuda这个软件尝试一下你要计算的装置。因为这个软件上手容易,操作简单,用的方法也是MPPIC,你看看用这个软件能否得到你想要的结果。如果还是速度大,说明你的装置结构有问题,比如riser出口到旋风分离器入口的horizontal channel太细了,或者是料腿太细了,或者旋风分离器的vortex finder太细了等,原因很多,因为没有看到你的装置和模拟,所以没法给你针对性的建议,抱歉。多调试看看,MPPIC是个蛮简单的方法。
-
@nanxuan 你好,可以加入qq群:109526446,群里有比较详细的安装教程。
-
@shockm 你好,关于CFDEM的安装教程可以加一下这个qq群:109526446,群里有教程。
此外,原则上来说,Liggghts可以和OpenFOAM上很多求解器来耦合,比如,你要是做液固流动,那么可以采用VOF的求解器和DEM耦合。但是比如你要做流化床内气固燃烧,那么涉及到了颗粒的形变反应,liggghts没法完成的,所以虽然有气相的燃烧求解器,还是没法完成整个工作。所以你可以详细说一下你要做什么,有什么需求,我可以给你一些建议。 -
ZHOU, Z. Y, KUANG, et al. Discrete particle simulation of particle–fluid flow: model formulations and their applicability[J]. Journal of Fluid Mechanics, 2010, 661(661):482-510.参考这篇文章,就是Model A以及Model B的描述。
-
http://www.cfd-china.com/topic/81/sprayfoam-只喷固体该如何设置
可以看一下这个帖子,就是稀相的。此外,你的时间步是不是设置的有点过大? -
其实我感觉你的这个使用稀相来处理更好一点,因为扩散时候一般不考虑颗粒之间的碰撞。DPMFoam是考虑空隙率的密相求解器,你虽然关掉了曳力以及软球,硬球模型,但是空隙率这一项还是会出现在连续性和动量方程里面的。体积分数没有下限,我说的粒径50微米是考虑到这个求解器是用来求解流化床等密相问题的。如果把它改成稀相的求解器,也就是只有颗粒和流体之间有相互作用力,那么颗粒粒径再小很多也没关系的。OpenFOAM千人群里面有一个昵称是“Champion”的,qq号是:252978797,邮箱:chpjz0391@vip.qq.com的澳大利亚同学和你做的挺像的,他是做通风的,细小颗粒在大管道内通过,会在边角富集。他使用的是稀相求解器,好像根据ParcelFoam改的。你可以和他交流一下。
-
不能这样扩大啊,因为你的颗粒粒径扩大1000倍,但是流体粘度,颗粒物性这些没有改变,那么计算出来的颗粒最小流化风速就和原来不一样了,同样的风速也许就吹不起来扩大1000倍的颗粒了。所以,我们做scale-up,也就是放大时候,要遵循一定的规律的。比如你可以先把这个几何模型放大2倍,甚至4倍,其他保持不变;下一步几何模型不变,颗粒粒径放大2倍或者4倍,不要一下子上千倍,容易出问题。
此外,manual injection是采用初始颗粒堆积分方式,你计算的是什么背景?流化床吗?颗粒跑出边界是跑出哪个边界,顶部的边界吗?你可以上传一下图片,或者你的设置,这样大家会比较清楚。rebound边界跟Fluent等软件设置一样,亦即颗粒和壁面有粘附、反弹以及穿透三种作用。
DPMFOAM是处理密相气固流动,我认为处理颗粒粒径的下限到50um左右,因为再小的颗粒需要考虑更多的力了,比如静电力等;没有上限的,可以非常大,因为颗粒处理用软球模型,但是注意网格尺寸要随时保证大概是颗粒粒径的3-5倍。
如果对于基础知识掌握不够,那么可以看CFD中国CFDEM部分有个论文推荐,把那几篇论文好好看看,了解一下CFD-DEM的背景知识。 -
这个问题有好多种原因。首先,你颗粒数减小了,那么你将床体几何尺寸随之改了吗?比如原来堆积是16 mm, 你颗粒减少了,是不是就只能堆积4 mm,那么相同气速吹进去,有可能就无法形成稳定鼓泡状态了;其次,你颗粒数减少到1/10,那么
nparticle
你设置为100 是什么意思?nparticle
的意思是一个代表颗粒内包含的颗粒数,要是传统的CFD-DEM一般把它设置为1,要是设置为100的话,那么颗粒的初始位置文件kinematicCloudPositions
里面就要保证颗粒不重合。总之这个问题你要弄清楚物理问题,参考文章Numerical investigation and comparison of coarse grain CFD – DEM and TFM in the case of a 1 MWth fluidized bed carbonator simulation
。我建议刚开始时候设置nparticle=1
,然后颗粒数减少为原来的1/2,同时把床体厚度减少为原来的1/2。就是一次先改变一个变量,慢慢调试。 -
@.J. 讲解的很透彻,应该就是这样的。
-
@hurricane007 OpenFOAM的
DPMFoam
我添加过化学反应,不是很难的。你好好关注一下lagrangian/intermediate
库。 -
@.J. 感谢你的回复,那么请问在这个里面考虑空隙率和不考虑影响大吗?
-
是的,可以这么理解,CFDEM的子模型更多一些,比如只针对空隙率的求解,它就有两三种方法,而DPMFoam就是最原始的中心法求空隙率。所以感觉计算特别简单的CFD-DEM耦合问题,以及要对CFD-DEM进行扩展,比如加能量方程啥的用DPMFoam比较好,因为相对简单一些。如果几何模型复杂,或者不对CFD-DEM进行修改,用CFDEM好一些,因为它程序整体复杂一些。
-
ICEM挺好用的。
-
这个几何结构我研究较多,有几种方法:1.改变几何结构,不要相切,往里面移动一些;2. 网格不要画那么密,这一块想切的地方粗一点,质量反而提升;3.使用混合网格,其余的地方结构,那个入口到相切的地方用混合。
总之,不改结构,用结构化网格绝对提高不到100%。 -
[ai:sim]|,我是这样发音的, 我看周边也是的。
-
参看CFDEM区的帖子:关于cfdem-interFoam solver。联系一下这个帖子的主人,他们在做这个方面,而且比较成熟了。这个一般用CFDEM耦合InterFoam,考虑颗粒-颗粒碰撞以及VOF求解器。
-
来回答一下你问题。OpenFOAM(简称OF)中的DPMFoam是针对密相流动的,而Fluent中的DPM模型是针对稀相气固流动的。DPMFoam中可以选择,当设置nPartical 1的时候,那么就是真实的粒子,此时就等价于CFDEM,因为CFDEM就是最最单纯的CFD-DEM耦合程序,其中每一个颗粒都是真实颗粒。DPMFoam中也可以设置nPartical 20,那么这里面应该用到了计算颗粒的思想。DPMFoam里面的碰撞模型在:lagrangian/intermediate/Submodels/Kinematics/CollisionModel下面,可以选择软球模型。MP-PIC是计算颗粒方法,其中处理颗粒碰撞和DPMFoam以及CFDEM都不一样,使用的压力梯度假设,这个可以看Snider的文章,或者Barracuda的帮助文件。其代码也在lagrangian/intermediate下面。应该说:DPMFoam中nPartical 1时候和CFDEM是一样的,MP-PIC是和CFDEM不同的。
-
Capecelatro_2013_JCP_An Euler–Lagrange strategy for simulating particle-laden flows;
Deb_2013_POW_A novel two-grid formulation for fluid–particle systems using the discrete element method;
Wu_2014_CES_Parallel algorithms for CFD–DEM modeling of dense particulate flows;
Garg_2012_POW_Open-source MFIX-DEM software for gas–solids flows_ Part I—Verification studies;
Tingwen Li_2012_Open-source MFIX-DEM software for gas-solids flows Part II — Validation studies;
Sun_2015_IJMF_Diffusion-based coarse graining in hybrid continuum-discrete solvers Theoretical formulation and a priori tests;
Sun_2015_IJMF_Diffusion-based coarse graining in hybrid continuum-discrete solvers Applications in CFD-DEM。 -
@Wayne 希望感兴趣的都来讨论,毕竟基于密相流动的很多基础理论发展还很不完善。
-
@李东岳 东岳兄,这个是一个基于OpenFOAM和LAMMPS的求解器,有一篇文章叫:Sun_2016_SediFoam A general-purpose, open-source CFD-DEM solver for particle-laden,可以一看。这个求解器其实功能是和CFDEM差不多,也就是求解密相流动的。其不属于CFDEM一部分。
-
竟然和我有一样的疑惑,当时这里一直不理解,现在还是不太理解。东岳兄那个乱码了,可以改改。
-
这个是可以实现的,建议你关注一下parcelTypeID这个功能,你的这种是近似,但是不是完全正确,你的双粒径分布可以上CFD-Online上查一下,我见过有这个设置。
-
这个求解器是不可以求解气固两相流的,它可以求解纯颗粒的流动,相当于一种纯DEM方法,而不是CFD-DEM耦合方法,它可以用来计算Hopper中的颗粒下落过程。如果要使用CFD-DEM耦合方法,可以使用DPMFoam。
-
Kuipets课题组的Yali Tang基于直接数值模拟,提出的新的曳力模型,此模型得到的结果和直接数值模拟得到的曳力相差4%,作者认为她的曳力模型是迄今为止最符合的。感兴趣的可以看看。Tang et al., 2015. A New Drag Correlation from Fully Resolved Simulations of Flow Past Monodisperse Static Arrays of Spheres.
-
@李东岳 MIFX采用cut-Cell的方法处理几何模型,一般都是用来计算几何结构比较简单的几何体,但是网站上也挂出来了比如旋风分离器等的例子。其处理方法和基于MP-PIC方法的Barracuda软件一致,原则上复杂网格都可以处理的。
-
Liu et al., 2016 "A Comprehensive Benchmark Suite for Simulation of Particle Laden Flows Using the Discrete Element Method with Performance Profiles from the Multiphase Flow with Interface eXchanges (MFiX) Code" 一文中对MFIX-DEM的并行能力进行了验证,采用了Weak Scaling和Strong Scaling两种评估方法,结果证明在核数达到1000左右,MFIX-DEM code的并行能力还很不错。但是注意到,在做自由堆积等的时候,文章回避了负载均衡的问题,也就是如果流化床下半部分非常密集,而上半部分非常稀疏,这是对就需要一种新的分区方式,使得每个核都能计算差不多的颗粒数。现在的MFIX好像还达不到这个功能,但我知道有人开发出来了。文章还认为,当颗粒数达到10(8),即使用1000核,每个核也有10(5)个颗粒,还是非常有挑战性的。气固两相流的计算时间主要花费在了DEM颗粒彭碰撞计算,颗粒和流体之间的数据交换,曳力的求解。
看到文章的一点心得,和大家分享一下。 -
@ZifeiYin 论坛是大家讨论的的地方,有意见就好好说。你要是会就详细给大家讲解一下,别人发表意见最起码的礼貌应该有吧?自己不愿奉献还看不得别人奉献.........。
-
@李东岳 我知道哈工大陆慧琳老师课题组对MFIX有较为深入的研究,并且已经将LES添加到了MFIX中,有双流体大涡模拟以及LES-DEM,你可以联系那边的学生问问,此外还有何玉荣老师课题组。
-
你得把错误内容贴出来,不然一句话看不出来。出错的原因太多了,而且不知道你修改了求解器,甚至case的哪部分...............
-
你参考OF改MFIX还真不好改,需要看OF的源代码"Turbulence"这一块的代码实现。OF是高度抽象的模板、类等,可能不好移植。官方MFIX里面只有RANS湍流模型,不知道你要计算燃烧还是冷态。OF也可以做CFD-DEM了,就是DPMFoam下的这个算例,还不如直接用OF计算。MP-PIC在OF中也是有的。
-
在64核服务器上进行编译SediFoam,进行到了第10步,也就是编译整体的sediFoam,报出了找不到mpi.H以及lmpi的错误。我感觉是不是在单机上安装的,我看了options里面的路径,是不是关于并行这块还要自己根据自己的编译环境更改?报错如下所示:
-L/home/wangshuai/OpenFOAM/wangshuai-2.3.1/platforms/linux64GccDPOpt/lib -L/home/wangshuai/lammps-1Feb14/src -L/home/wangshuai/lammps-1Feb14/src/STUBS -lLagrangianInterfacialModels -lfiniteVolume -lmeshTools -llagrangian -L/usr/lib64/openmpi/lib/ -lmpi -lmpi_cxx -llammps_shanghailinux -ltriSurface -lchPressureGrad-DEM -lincompressibleTransportModels -lturbulenceModels -lincompressibleTurbulenceModels -llammpsFoamTurbulenceModels -lstdc++ -lOpenFOAM -ldl -lm -o /home/wangshuai/OpenFOAM/wangshuai-2.3.1/platforms/linux64GccDPOpt/bin/lammpsFoam
/usr/bin/ld: cannot find -lmpi
collect2: 错误:ld 返回 1
make: *** [/home/wangshuai/OpenFOAM/wangshuai-2.3.1/platforms/linux64GccDPOpt/bin/lammpsFoam] 错误 1 -
在liggghts/src下面找到这个fix_heat_gran_conduction.cpp文件,里面讲了颗粒和壁面之间的静态导热的计算,看看代码应该可以知道的。
-
@马乔 只有计算了,你就会知道,它不会窜气的,会运行的很顺畅。
-
请教一下,hooke/stiffness model怎么使用,有成功的吗?能否分享下。
-
有点小程序其实最好……
-
之前写的一个pimpleCoupledKinematicParcelFoam求解器,给你共享一下,大致下面这样,这个solver的主要部分,可以求解你的那个问题。
主程序:
int main(int argc, char *argv[])
{
argList::addOption
(
"cloudName",
"name",
"specify alternative cloud name. default is 'kinematicCloud'"
);
#include "setRootCase.H"
#include "createTime.H"
#include "createMesh.H"
#include "readGravitationalAcceleration.H"
#include "readTransportProperties.H"
#include "createFields.H"
#include "initContinuityErrs.H"
#include "readTimeControls.H"
#include "CourantNo.H"
#include "setInitialDeltaT.H"pimpleControl pimple(mesh); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Info<< "\nStarting time loop\n" << endl; while (runTime.run()) { #include "readTimeControls.H" #include "CourantNo.H" #include "setDeltaT.H" runTime++; Info<< "Time = " << runTime.timeName() << nl << endl; Info<< "Evolving " << kinematicCloud.name() << endl; kinematicCloud.evolve(); kinematicCloud.info(); // --- Pressure-velocity PIMPLE corrector loop while (pimple.loop()) { #include "UEqn.H" // --- Pressure corrector loop while (pimple.correct()) { #include "pEqn.H" } if (pimple.turbCorr()) { turbulence->correct(); } } runTime.write(); Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" << nl << endl; } Info<< "End\n" << endl; return 0;
}
CreateFields.H文件
Info<< "Reading normalised dynamic presure field p_rgh\n" << endl;
volScalarField p_rgh
(
IOobject
(
"p_rgh",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);Info<< "Reading field U\n" << endl; volVectorField U ( IOobject ( "U", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE ), mesh ); Info<< "Creating phi [m3/s] " << endl; #include "createPhi.H" Info<< "Creating turbulence model\n" << endl; singlePhaseTransportModel laminarTransport(U, phi); autoPtr<incompressible::turbulenceModel> turbulence ( incompressible::turbulenceModel::New(U, phi, laminarTransport) ); //Info<< "Creating source list\n" << endl; fv::IOoptionList fvOptions(mesh); Info<< "Calculating field g.h\n" << endl; volScalarField gh("gh", g & mesh.C()); surfaceScalarField ghf("ghf", g & mesh.Cf()); Info<< "Creating absolute pressure field p [Pa]\n" << endl; volScalarField p ( IOobject ( "p", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), rhoVal*(p_rgh + gh) ); Info<< "Reading field U\n" << endl; label pRefCell = 0; scalar pRefValue = 0.0; setRefCell ( p, p_rgh, mesh.solutionDict().subDict("PIMPLE"), pRefCell, pRefValue ); if (p_rgh.needReference()) { p += dimensionedScalar ( "p", p.dimensions(), pRefValue - getRefCellValue(p, pRefCell) ); } Info<< "Creating mass flux density surface field rhoPhi [kg/s] " << endl; surfaceScalarField rhoPhi ( IOobject ( "rhoPhi", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE ), rhoVal*linearInterpolate(U) & mesh.Sf() ); // dummy-fields to satisfy the requirements of the kinematicCloud Info<< "Creating rho field " << endl; volScalarField rho ( IOobject ( "rho", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE ), mesh, rhoVal, "zeroGradient" ); Info<< "Creating mu field " << endl; volScalarField mu ( IOobject ( "mu", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE ), mesh, rhoVal*nu, "zeroGradient" ); Info<< "Constructing kinematicCloud" << endl; basicKinematicCollidingCloud kinematicCloud ( "kinematicCloud", rho, U, mu, g );
**
readTransportProperties文件**:
Info<< "\nReading transportProperties\n" << endl;IOdictionary transportProperties ( IOobject ( "transportProperties", runTime.constant(), mesh, IOobject::MUST_READ_IF_MODIFIED, IOobject::NO_WRITE ) ); dimensionedScalar nu ( transportProperties.lookup("nu") ); dimensionedScalar rhoVal ( transportProperties.lookup("rho") ); Info<< "rhoVal is " << rhoVal << endl; dimensionedScalar irhoVal("irhoVal",(1.0/rhoVal));
**
UEqn.H文件:**
// Solve the momentum equation
fvVectorMatrix UEqn
(
fvm::ddt(U)- fvm::div(phi, U)
- turbulence->divDevReff(U)
==
irhoVal*kinematicCloud.SU(U) - fvOptions(U)
);
UEqn.relax();
fvOptions.constrain(UEqn);
if (pimple.momentumPredictor())
{
solve
(
UEqn
==
fvc::reconstruct
(
-fvc::snGrad(p_rgh)*mesh.magSf()
)
);
}pEqn.H文件:
{
volScalarField rAU("rAU", 1.0/UEqn.A());
surfaceScalarField rAUf("(1|A(U))", fvc::interpolate(rAU));U = rAU*UEqn.H();
phi = (fvc::interpolate(U) & mesh.Sf());
//+ fvc::ddtCorr(U, phi);adjustPhi(phi, U, p_rgh);
while (pimple.correctNonOrthogonal())
{
fvScalarMatrix p_rghEqn
(
fvm::laplacian(rAU, p_rgh) == fvc::div(phi)
);p_rghEqn.setReference(pRefCell, getRefCellValue(p_rgh, pRefCell)); p_rghEqn.solve(mesh.solver(p_rgh.select(pimple.finalInnerIter()))); if (pimple.finalNonOrthogonalIter()) { // Calculate the conservative fluxes phi -= p_rghEqn.flux(); // Explicitly relax pressure for momentum corrector p_rgh.relax(); // Correct the momentum source with the pressure gradient flux // calculated from the relaxed pressure U -= rAU*fvc::reconstruct((p_rghEqn.flux())/rAUf); U.correctBoundaryConditions(); }
}
#include "continuityErrs.H"
p = rhoVal*(p_rgh + gh);
if (p_rgh.needReference())
{
p += dimensionedScalar
(
"p",
p.dimensions(),
pRefValue - getRefCellValue(p, pRefCell)
);
p_rgh = irhoVal*p - gh;
}
} -
@chpjz0391 建议查一下CFD-online,有关于三维不可压的,稀相气固流动的求解器公开。
-
请问在密相流动中,湍流模型是否需要考虑空隙率。流体的动量和连续性方程的推导时候都引入了空隙率,但是湍流模型在推导的时候是不是也应该引入空隙率,但是怎么引入,有没有人有看法或做过相关的。
-
@马乔 是的,应该要跟着修改,但是那样就还不如用梭鱼
Barracuda
来求解了。这个算例的难点和重点在料腿最下部,你仔细观察,可以看出,应该要加一个向左的返料风,这样你的料腿中的料就不会堆着而不进入提升管了。你之前的图就是在料腿那里堆积了很多物料。 -
使用lagrangian下的coalChemistryFoam,这个是个稀相的,双向耦合求解器,把里面的化学反应全部关掉,就可以了,当然,也可以参照这个自己写一个求解器。
-
你颗粒浓度是多大,DPMFoam适合于密相问题,属于四向耦合。你的要是稀相的,建议可以换换求解器。如果是颗粒浓度比较大,可以计算的。参考coalChemistryFoam。
-
@马乔
也传个图片试试,别人计算的,Youtube上看的视频,挺漂亮的。 -
@马乔 多个filter叠加确实能得到很炫的效果,我用的比较多的是Glaph这个filter,有时候叠加十来个filter。
-
@马乔 OF里面的
DPMFoam
的算例里面nParticle 1;
这里的nParticle
就是指的一个计算颗粒Parcel
里面含有的颗粒数,设置为1就是一个计算颗粒就是代表一个颗粒咯。
澳大利亚新年威尔士大学化工学院招聘博士后
澳大利亚新年威尔士大学化工学院招聘博士后
澳大利亚新年威尔士大学化工学院招聘博士后
澳大利亚新年威尔士大学化工学院招聘博士后
澳大利亚新年威尔士大学化工学院招聘博士后
有关CFDEM安装
有关CFDEM安装
有关CFDEM安装
DEM和DPM
DPM和流体耦合的时候是否考虑了压力?
DPMFoam求解器颗粒计算有颗粒跑出计算域外!
DPMFoam求解器颗粒计算有颗粒跑出计算域外!
DPMFoam求解器颗粒计算有颗粒跑出计算域外!
DPMFoam 设置nParticle 以后发散的问题
DEM和DPM
DEM和DPM
湍流模型是否需要考虑空隙率
DPMFoam中使用的是计算粒子,是不是还是抽象成一个point,而不是DEM中的实际颗粒?
对于CFD,大家对各网格划分工具有什么使用感受?
如何用gambit在模型的楔形处画出质量较好的网格?
ICEM大家怎么发音?
VOF-DEM耦合求解
DPMFoam中使用的是计算粒子,是不是还是抽象成一个point,而不是DEM中的实际颗粒?
几篇关于Eulerian-Lagrangian的文章推荐阅读
湍流模型是否需要考虑空隙率
SediFoam安装问题
《icoFoam解析》中压力修正的代码问题
OF 中 颗粒的 sizedistribution models 问题?
icoUncoupledKinematicParcelFoam可以模拟两相流么?如果可以为什么是uncoupled
基于直接数值模拟的新曳力系数
求openfoam goldschimitt的例子,想参考一下怎么把k-spsilon改成LES
MFIX-DEM的并行性能验证
OpenFOAM里面的dnsFoam为什么这么菜?
求openfoam goldschimitt的例子,想参考一下怎么把k-spsilon改成LES
每个时间步收敛了为何还发散?
求openfoam goldschimitt的例子,想参考一下怎么把k-spsilon改成LES
SediFoam安装问题
DEM如何考虑传热
DEM和DPM
hooke/stiffness model怎么使用
CFD基础理论
SprayFoam 只喷固体该如何设置?
能不能讲一下关于DPMFoam 求解器啊?
湍流模型是否需要考虑空隙率
DEM和DPM
能不能讲一下关于DPMFoam 求解器啊?
能不能讲一下关于DPMFoam 求解器啊?
DEM和DPM
DEM和DPM
DEM和DPM