算例中,入射颗粒质量流量为1E7,持续时间10s
换用面入射模型,仍然是没有颗粒注入
与参考算例输出对比自己的算例与参考算例相比少了黑圈的输出信息
这个输出信息源自于
所以猜测是入射模型颗粒流量设置问题,想请教老师们关于这个入射模型参数设置的问题
玉玺
帖子
-
-
入射模型设置
-
沾一沾大佬算例的福气
-
CPU型号:Intel(R) Xeon (R) Gold 5218 (2) 系统:Linux系统 OpenFOAM版本: OpenFOAM-6 32 172.83 16 214 8 205.85 4 316.65 2 637.1 1 1247.31
-
@东岳 结果.tar
这个是发散的相分数,速度,压力图 -
@东岳 老师,我这个算例里面模拟了,没有煤粉进入,应该算是不带化学反应的吧
-
@东岳 https://pan.baidu.com/s/1fQpD9p5LlnPTwAfcgoMNfg 提取码:a518
参考这篇文献 -
@东岳 链接: https://pan.baidu.com/s/18hr_XO6PVmiFr2zykYAJfQ 提取码: 9sqv
非常谢谢东岳老师,这个上传文件有限制,我放到百度云里面了 -
两相流,一次风,二次风入口气体相分数为1,返料口固体相分数为1
-
@东岳 没有什么特殊的地方,使用reactingTwoPhaseEulerFoam计算流化床燃烧,目前煤粉入口没有进煤,只有流动。网格采用的是结构网格,网格质量0.99
-
残差图
边界条件
问题:
提示温度超过限制
paraview中发现颗粒相分数一直增加 -
残差图
-
边界条件
P 出口固定压力10000
其余均为零梯度
U. particels 返料口 速度=出口速度
其余均为fixedValue 0
U. gas 入口,一次风,二次风固定速度
alpha. particles 返料口 1 -
物理模型
-
各位老师好,我在算一个双流体的循环流化床算例,求解器是基于reactingTwoPhaseEulerFoam,然后添加异相反应源项
问题:目前不加入煤粉,只计算流动状态,最终结果都会因为超温或者相分数超过1发散 -
@D-Benjamin 刚才试了加上最后面那个面标号,运行好像出了点错误,待我明早去实验室确定一下。
-
@D-Benjamin 大佬,冒昧问一句可否加个联系方式交流交流,我看到您要实现的也是进出口的通量关系,论坛可能不方便qq1533317221
-
@D-Benjamin 如果那两行是它的速度的话,然后我再U去获得它的x方向速度,令它等于入口x的速度,这样子就可以了吧?非常感谢
-
@D-Benjamin 您好,我想咨询一下,我用codedFixedValue边界条件
label patchIndex =this->patch(). boundary. findPatchID(”“outlet”); const volVector& U=this->db(). lookupObject<volVectorField>("U.particles");
这两行读取的速度就是outlet的出口颗粒速度吧
-
@东岳 而且我也不要把其他场映射过去,只需要颗粒速度场
-
@东岳
东岳老师,这个对进出口位置有没有要求了 -
@东岳 我看了看cyclic边界条件,但是觉得满足不了我的需求,我只需要一个速度,其他的参数都不需要
-
fanliaokou { type codedFixedValue; value uniform (0 0 0); name IN; code #{ 问题:....如何获得出口边界的x方向速度值x; 此边界赋值速度 const fvPatch& boundaryPatch = this->patch; vectorField v = boundaryPatch. Cf(); forAll(boundaryPatch, faceI) { v[faceI] = vector (-x, 0, 0); } operator == (v); } }
-
@D-Benjamin 您好,我目前想要实现两相出口固相通量等于入口通量,能不能打扰您,向您咨询下这个怎么实现?
-
@zwl 谢谢您回复,关于初始各组分质量分数场,我看鼓泡蒸发器那个算例好像是每一相的各组分分别算的,就是每一相各组分的质量分数之和分别是1
-
这段代码是YEqn方程的第一相的代码,我的算例中第一相有五种组分,现在我想针对这五种组分分别改写他们对应的输运方程,应该怎么去修改?
forALL(Y1, i) { tmp<fvScalarMatrix>Y1iEqn(phase1.YiEqn(Y1[i])); if (Y1iEqn.valid()) Y1iEqn = ( Y1iEqn == *massTransfer[Y1[i].name()] + fvOptions(alpha1, rho1, Y1[i]) ); Y1iEqn->relax(); Y1iEqn->solve(mesh.solver(Yi)) }
-
@zwl 您好,我也在使用multiComponentMixture这个多相,然后发现初始条件不知道怎么去设置
假如我是气固两相,固相采用这个多相模型,物理模型是上半部分没有固相,初始场设置时候设置上半部分固相体积分数为0,就会出现浮点数溢出的错误 -
前一问题解决: 估计上一个问题是版本问题了,我用东岳老师的安装教程linux系统下面可以编译,但是在运行的时候出现这个问题。bluecfd好像缺少一个reactingphasesystem的库,所以会出错。
目前新问题:使用multiComponentMixture模型,是这个模型不能适用于固相两种组分吗(异相反应编写是小小小白的纯数学函数的,没有使用库啥的)?运行后会出这个错误,目前应该是能排除异相反应模块的编写错误(程序还未进入循环),跪求大佬们施以援助。 -
Selecting thermodynamics package { type heRhoThermo; mixture multiComponentMixture; transport const; thermo hRefConst; equationOfState rhoConst; specie specie; energy sensibleEnthalpy; } #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? in "/lib/x86_64-linux-gnu/libc.so.6" #3 Foam::DimensionedField<double, Foam::volMesh>::operator/=(Foam::DimensionedField<double, Foam::volMesh> const&) at ??:? #4 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::operator/=(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:? #5 Foam::multiComponentMixture<Foam::constTransport<Foam::species::thermo<Foam::hRefConstThermo<Foam::rhoConst<Foam::specie> >, Foam::sensibleEnthalpy> > >::correctMassFractions() at ??:? #6 Foam::multiComponentMixture<Foam::constTransport<Foam::species::thermo<Foam::hRefConstThermo<Foam::rhoConst<Foam::specie> >, Foam::sensibleEnthalpy> > >::multiComponentMixture(Foam::dictionary const&, Foam::fvMesh const&, Foam::word const&) at ??:? #7 Foam::heThermo<Foam::rhoReactionThermo, Foam::SpecieMixture<Foam::multiComponentMixture<Foam::constTransport<Foam::species::thermo<Foam::hRefConstThermo<Foam::rhoConst<Foam::specie> >, Foam::sensibleEnthalpy> > > > >::heThermo(Foam::fvMesh const&, Foam::word const&) at ??:? #8 Foam::rhoReactionThermo::addfvMeshConstructorToTable<Foam::heRhoThermo<Foam::rhoReactionThermo, Foam::SpecieMixture<Foam::multiComponentMixture<Foam::constTransport<Foam::species::thermo<Foam::hRefConstThermo<Foam::rhoConst<Foam::specie> >, Foam::sensibleEnthalpy> > > > > >::New(Foam::fvMesh const&, Foam::word const&) at ??:? #9 Foam::autoPtr<Foam::rhoReactionThermo> Foam::basicThermo::New<Foam::rhoReactionThermo>(Foam::fvMesh const&, Foam::word const&) at ??:? #10 Foam::rhoReactionThermo::New(Foam::fvMesh const&, Foam::word const&) at ??:? #11 Foam::ThermoPhaseModel<Foam::phaseModel, Foam::rhoReactionThermo>::ThermoPhaseModel(Foam::phaseSystem const&, Foam::word const&, int) at ??:? #12 Foam::MovingPhaseModel<Foam::ThermoPhaseModel<Foam::phaseModel, Foam::rhoReactionThermo> >::MovingPhaseModel(Foam::phaseSystem const&, Foam::word const&, int) at ??:? #13 Foam::MultiComponentPhaseModel<Foam::InertPhaseModel<Foam::MovingPhaseModel<Foam::ThermoPhaseModel<Foam::phaseModel, Foam::rhoReactionThermo> > > >::MultiComponentPhaseModel(Foam::phaseSystem const&, Foam::word const&, int) at ??:? #14 Foam::phaseModel::addphaseSystemConstructorToTable<Foam::AnisothermalPhaseModel<Foam::MultiComponentPhaseModel<Foam::InertPhaseModel<Foam::MovingPhaseModel<Foam::ThermoPhaseModel<Foam::phaseModel, Foam::rhoReactionThermo> > > > > >::New(Foam::phaseSystem const&, Foam::word const&, int) at ??:? #15 Foam::phaseModel::New(Foam::phaseSystem const&, Foam::word const&, int) at ??:? #16 void Foam::PtrList<Foam::phaseModel>::read<Foam::phaseModel::iNew>(Foam::Istream&, Foam::phaseModel::iNew const&) at ??:? #17 Foam::phaseSystem::phaseSystem(Foam::fvMesh const&) at ??:? #18 Foam::twoPhaseSystem::twoPhaseSystem(Foam::fvMesh const&) at ??:? #19 Foam::MomentumTransferPhaseSystem<Foam::twoPhaseSystem>::MomentumTransferPhaseSystem(Foam::fvMesh const&) at ??:? #20 Foam::TwoResistanceHeatTransferPhaseSystem<Foam::MomentumTransferPhaseSystem<Foam::twoPhaseSystem> >::TwoResistanceHeatTransferPhaseSystem(Foam::fvMesh const&) at ??:? #21 Foam::PhaseTransferPhaseSystem<Foam::TwoResistanceHeatTransferPhaseSystem<Foam::MomentumTransferPhaseSystem<Foam::twoPhaseSystem> > >::PhaseTransferPhaseSystem(Foam::fvMesh const&) at ??:? #22 Foam::ThermalPhaseChangePhaseSystem<Foam::PhaseTransferPhaseSystem<Foam::TwoResistanceHeatTransferPhaseSystem<Foam::MomentumTransferPhaseSystem<Foam::twoPhaseSystem> > > >::ThermalPhaseChangePhaseSystem(Foam::fvMesh const&) at ??:? #23 Foam::twoPhaseSystem::adddictionaryConstructorToTable<Foam::ThermalPhaseChangePhaseSystem<Foam::PhaseTransferPhaseSystem<Foam::TwoResistanceHeatTransferPhaseSystem<Foam::MomentumTransferPhaseSystem<Foam::twoPhaseSystem> > > > >::New(Foam::fvMesh const&) at ??:? #24 Foam::twoPhaseSystem::New(Foam::fvMesh const&) at ??:? #25 ? in "/home/dyfluid/OpenFOAM/OpenFOAM-6/platforms/linux64GccDPInt32Opt/bin/myFoam" #26 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #27 ? in "/home/dyfluid/OpenFOAM/OpenFOAM-6/platforms/linux64GccDPInt32Opt/bin/myFoam" Floating point exception (core dumped)
-
@同学博 好的,我试试,谢谢了
-
-
基于reactingTwoPhaseEulerFoam编写的,在这个求解器里面有个twoPhaseSystem文件夹,没有动这个文件夹,只是添加了气固异相反应源项,运行Allwmake以后,出现这个错误
-
collect2.exe:error:ld returned 1 exit status ```)
-
@东岳 嗯嗯嗯,我去在这个方向上面试一试,这些李老师
-
@东岳 保证通量的相等的话,返料口边界的速度应该是随意出口通量的变化而变化的
-
@东岳 感谢李老师回复,对,类似于分离器的作用,只是保证颗粒相。
-
@东岳 而且我只想保证固相颗粒通量相同,其他的气相参数都不受影响,想问问李老师我该怎么去实现
-
@东岳 李老师,我那个是两个不同网格的面,这样能实现吗?
-
类似流化床返料口边界条件设置等于出口床料的通量,保证床料的循环
-
@东岳 东岳老师,我可能没有表达清楚,您的意思是我的0文件夹中有一个O2的文件,然后这个C就是个符号而已,随意写,我在使用的时候就用C这个符号就好。
同理只要我0文件夹中有一个叫做C(碳)的文件,随意定义一个符号a,把O2换成C就可以用a作为碳的浓度去计算? -
volScalarField C ( IOobject ( "C" runTime.timeName(), mesh, IOoject::MUST_READ, IOobject::AUTO_WRITE ), mesh );
类似这样子写出O2的读取,是否可以用这两个浓度去进行计算?
-
目前想在这个求解器中添加煤燃烧的反应,将利用反应速率计算需要添加的各个方程的源项。
1 目前的问题的我在src中的thermophysicalModels找到关于固相化学反应的东西,但是找不到有关化学反应速率的求解公式,例如固相阿雷尼乌斯求解反应速率,所以感觉没有地方能下手修改成自己需要的反应速率?
2 如果要直接在求解器中编写一个函数,例如是计算反应速率,我我需要调用到的其他数据(施密特数,直径,雷诺数)那些的需要用到什么代码(原谅我是一个C++沫沫) -
@东岳
链接:https://pan.baidu.com/s/1PS_PQEl0VHrnMuStRPGCOg
提取码:rz3o -
@东岳 谢谢东岳老师,就是下面A beta Ta三个参数求化学反应速率常数,化学反应速率中反应物质浓度次幂直接在方程里面表现出来了哇,没有是默认为0次吗?
-
这个问题解决了
phaseProperties文件中的type设置错误 -
reactions { waterGasShift { type reversibleArrheniusReaction; reaction "CO^0.93 + H2O^0.24 = CO2^0.69 + H2^1"; A 1e8; beta 0.86; Ta 1e4; } }
化学反应式中每种物质后面跟的^数字是什么意思
-
@zwl 我看到您好像是做相变,添加相间的源项那一类的吗?
-
@星星星星晴 嗯嗯,我在0文件夹中也有O2.gas这个文件,我也好迷
-
@zwl 没事没事,谢谢您的回复
使用拉格朗日入射模型却没有颗粒注入?
使用拉格朗日入射模型却没有颗粒注入?
200万网格并行算力测试(OpenFOAM版本)
200万网格并行算力测试(OpenFOAM版本)
模拟过程(两相系统某相总质量增加错误)调整建议
reactingTwoPhaseEUlerFoam流动计算发散
reactingTwoPhaseEUlerFoam流动计算发散
reactingTwoPhaseEUlerFoam流动计算发散
reactingTwoPhaseEUlerFoam流动计算发散
reactingTwoPhaseEUlerFoam流动计算发散
reactingTwoPhaseEUlerFoam流动计算发散
reactingTwoPhaseEUlerFoam流动计算发散
h. particles,alpha. gas残差极不正常
h. particles,alpha. gas残差极不正常
h. particles,alpha. gas残差极不正常
h. particles,alpha. gas残差极不正常
如何设置一个入口边界条件:入口边界值为出口平均值的一半
如何设置一个入口边界条件:入口边界值为出口平均值的一半
如何设置一个入口边界条件:入口边界值为出口平均值的一半
如何设置一个入口边界条件:入口边界值为出口平均值的一半
codedFixedValue边界条件实现入口颗粒通量等于出口颗粒通量
codedFixedValue边界条件实现入口颗粒通量等于出口颗粒通量
codedFixedValue边界条件实现入口颗粒通量等于出口颗粒通量
codedFixedValue边界条件实现入口颗粒通量等于出口颗粒通量
如何设置一个入口边界条件:入口边界值为出口平均值的一半
组分输运方程出错
forALL(Y1,i)单独列出每一组分的输运方程
组分输运方程出错
新建求解器编译错误
新建求解器编译错误
新建求解器编译错误
新建求解器编译错误
新建求解器编译错误
新建求解器编译错误
进口通量等于出口通量的边界条件
进口通量等于出口通量的边界条件
进口通量等于出口通量的边界条件
进口通量等于出口通量的边界条件
进口通量等于出口通量的边界条件
进口通量等于出口通量的边界条件
获取组分的浓度并利用获取的浓度进行计算
获取组分的浓度并利用获取的浓度进行计算
Euler异相化学反应
ICEMCFD14.0实例源文件
reactingTwoPhaseEulerFoam中的化学反应式含义
求助 暂时利用reactingTwoPhaseEulerFoam进行气固两相流加气相燃烧反应,运行出错
reactingTwoPhaseEulerFoam中的化学反应式含义
组分输运方程出错
求助 暂时利用reactingTwoPhaseEulerFoam进行气固两相流加气相燃烧反应,运行出错
组分输运方程出错