@李东岳 我这么写的,你这么一说,我觉得是不是要按照啥格式给点参数的值啊
Dingcy
帖子
-
-
我使用的是icoUncoupledKinematicParcelFoam求解器,我想多加个颗粒上的作用力,比如压力梯度力(PressureGradient),我在算例里添加了关键词,然后我还在creatFields里声明了p(我觉得可能用到这个变量所以我声明了),0文件里也加了p文件,但是最终报错说这个力需要一个特定的字典,请问这是问啥呢?该咋样添加呢?
-
@李东岳 嗯,你说的没错,这个问题解决了,我是用“cat a.out | grep "Current number of parcels" > new.log”这个提取了计算输出的想要的部分,然后再编个小程序把中间不需要的时间步给删掉,只留下整数秒,然后就解决了。
-
@Samuel-Tu 我在用拉格朗日方法计算颗粒的时候也出现了相似的问题,单核能算,但是并行算几步就不行了,想问一下你当初怎么解决了,你楼上的帖子说“往scalarField里面加数据的时候超过了定义的大小”我没看懂。
-
如何输出出口escape的颗粒数量随时间变化的曲线?之前算单向流的时候我输出出口浓度随时间变化曲线是通过paraview那个plot selection over time, 但是现在这个颗粒好像不能那么整了....
-
@李东岳 好的好的,谢谢大家
-
拉格朗日求解器中注射模型里的massTotal,这个总质量指的是入射颗粒的总质量吗?如果是的话,我在设置参数的时候已经设置了颗粒密度,入射颗粒数量,颗粒半径,这个massTotal必须满足密度乘体积的数量关系吗?
-
@李东岳 有两个问题,第一,计算稳态流场的情况下buoyantBoussinesqSimpleFoam可以采用这种方式吗?第二,这种方法是不是没计算离散相方程。
-
我在连铸中间包(一种冶金反应器)入口射入颗粒,反应器内流场为给定流场,分别采用两种方式射入即脉冲加入和连续加入,颗粒在壁面我设置了rebound边界条件(其中e为1,mu为0)。结果如下图所示,为什么颗粒并没有在反应器内传输呢?而是在底面聚集,我在之前计算流场的时候速度给的是无滑移边界条件,也就是边界处速度为0。是这个原因吗?有啥解决方法吗?
图1 连续加入
图2 脉冲加入
图3 脉冲加入底面颗粒分布细节 -
@dxl 给定流场,然后"kinematicCloudProperties"中关掉耦合那种就叫one way呗,用的是DPMFoam吗?还是你用的其他方法或者求解器?
-
@dxl 你好,我想问一下,你这个"solidparticle做one-way"是啥意思?我用icoUncoupleKinematicParcelFoam做固定流场里入口射入tracer颗粒出了点问题,想了解一下你这个是咋做的?
-
自问自答,我粗略的整出来了,如图1,要注意画红圈地方的选择
图1 -
OpenFOAM-6.0自带的DPMFoam里面的那个Goldschmidt算完之后怎么查看颗粒图啊,就像下面的图一样(如图1)。我咋服务器算完之后,用foamToVTK转格式之后,把VTK文件下载下来之后(如图2),用paraview咋处理也出不来呢(如图3)?
图1
图2
图3 -
@李东岳 最近论坛的搜索功能是不是不好使了
-
我最终的计算结果已经得到的情况下,通过什么方式可以将边界处的值赋成相邻内部网格的结果值?
另外,一个小问题,OpenFOAM里绝对值符号是啥呀?mag(标量),可以表示一个标量的绝对值吗? -
@李东岳 我觉得不能算是很标准的固定梯度边界条件,因为那个f,就是扩散通量的数值是随着边界处标量浓度的变化而改变的,有一个表达式。
-
如下图所示,我想写一个边界条件,当标量浓度在壁面处以通量F吸附,现在壁面通量速度f我通过codedFixedValue边界条件已经写出来了,但是浓度C的边界条件不知道怎么设置?我开始是设置为固定值0,但是计算后边界附近的浓度都是负值,这是不对的。我想向大家问一下想实现我最开始说的边界条件,应该怎么处理?
-
@李东岳 这个式子里的delta是大涡里过滤的那个delta吧,与网格尺寸有关,能不能提示一下输出它的方法呀
-
@李东岳 那这样的所谓强制稳态结果有意义吗?我的意思是物理意义,比如说一个反应器我想得到流动稳定条件(这里的稳定是相对稳定,现实情况下可能不存在稳定)下的流场,这时候我用大涡算,那就要从0时刻开始算,算很多很多秒吗?所谓的强制稳态的流场可以表达这种流场吗?
-
我把buoyantBoussinesqSimpleFoam求解器里湍流模型改成LES Smagorinsky,一样可以算,那这样算出的结果是稳态结果,可以叫LES的稳态结果?
-
OpenFOAM紧靠壁面网格结点上的物理量(比如湍动能)计算值怎么用代码提取出来?
-
@李东岳 是个稳态计算过程,不随时间变化,但是公式中r值更新会影响边界的U的值
-
在此更新一下,我知道问题出现在哪了,问题在于我计算的方程是输运方程,速度U是我给定的速度场,在计算的时候这个速度场的边界条件一直没更新。我现在想在求解输运方程的程序里更新一下速度的边界条件应该加点啥代码呢?
我查了几个,不知道对不对,大家有想法的捧个场,没想法的,捧个人场也行,嘻嘻嘻嘻Uc.correctBoundaryConditions(); fvOptions.correct(Uc);
或者上面这两行代码啥意思,大家有知道解释一下也行哈,谢谢~
-
@李东岳 就是我最后的计算结果文件中,速度那个文件里,使用这个边界条件的那个边界上没有速度,就还是下图这样的
我想象中是这样的:
-
我现在想在壁面处写一个速度的边界条件,具体表达式如下:
其中,k为湍动能,算好的值,被我放在0文件夹下;r为半径,不是算好的值,是目标算例计算过程中计算得到的值;n为表示速度的方向,就是壁面的法相方向向外。
我打算用codeFixedValue边界条件实现,然后下面是我写的代码,已经编译成功。INLET_WALL { type codedFixedValue; value uniform (0 0 0); name Fdc1; code #{ const fvPatch& boundaryPatch = patch(); const fvBoundaryMesh& boundaryMesh = boundaryPatch.boundaryMesh(); const fvMesh& mesh = boundaryMesh.mesh(); scalarField r = mesh.lookupObject<volScalarField>("r"); const volScalarField& k = mesh.lookupObject<volScalarField>("k"); const vectorField Cf=patch().Cf(); const vectorField a = patch().Sf()/mag(patch().Sf()); vectorField Fdc1(Cf.size()); forAll(Cf, faceI) { Fdc1[faceI]=(a[faceI]*0.01*0.3*4*k[faceI]*r[faceI])/(8e-7*pow(6,1.0/3)); } operator==(Fdc1); #}; }
问题是当我运行算例的时候,显示了使用了这个边界条件,但是计算结束后,我去找边界处速度的值,结果发现没有值,所以我感觉好像上面程序里面的运算好像没有进行一样,想让大家帮我看看我这个程序还有什么不对的地方吗?导致出现这种情况。
-
@李东岳 好像不是这个 又显示了mesh没有声明....
-
@李东岳 在 OpenFOAM小代码 中说:
//const fvBoundaryMesh& boundaryMesh = boundaryPatch.boundaryMesh();
//const fvMesh& mesh = boundaryMesh.mesh();我想用codedFixedValue,写一个壁面的边界条件,壁面都是wall,而不是patch,所以这里想用这两个命令,但是编译过程中总是提示我是不是应该声明点啥呢?我也查了网上的,发现全是在inlet使用这个功能,然后入口是patch
-
想请教一下大家,我想用OpenFOAM算连续介质中固体颗粒的碰撞聚合问题,固体颗粒的量还比较大,我想问一下,就拉格朗日方法来说,用MPPICFoam可以实现嘛?我主要关心的点在于两个:
(1)MPPICFoam能不能算连续介质中固体颗粒的碰撞聚合问题;
(2)我看了一些我这个课题前人的文献,基本上都是减少了颗粒的数量,比如原本工业反应器中可能有上亿的颗粒,他们给简化到了几十万或者几万,MPPICFoam计算这种数量很多的颗粒问题,计算量是不是过于大了?如果过于大了,我也简化数量的话,计算的话是否有研究的意义。 -
@dingcy 自问自答了,在tecplot里输出非压缩的视频文件,然后放到ps里,增加分辨率,然后再渲染视频,最后的视频就清楚啦。
-
为啥我用tecplot输出的视频都好模糊啊,大佬们有方法吗?
-
@李东岳 那选择CPU和显卡的时候选择AMD的行吗,毕竟感觉AMD比intel的要便宜一些。
-
@李东岳 好滴好滴,非常感谢,我这就试试
-
我想实现一个速度边界条件,表达式如下
c1是个常数,r是颗粒半径
r不是常数,是程序中计算得到的。createFields.H中定义过的。
我想使用codedFixedValue可以实现吗?就是code里面可以直接用createFields.H中定义过的r吗? -
SST k-ω湍流模型中k与w的初始值咋取呀?有啥原则吗?
-
@李东岳 我发了帖子之后才发现你之前发过通知了,不是催更,抱歉抱歉~
-
想在论坛上搜索点东西,突然发现是不是搜索功能没了?
-
@liuzh 水模型实验,我认为可能一万块钱就够了。
-
去企业研究院挣得不少,但是太混,自己又不想太混,想做点事。去高校挣得太少,觉得太累(师兄博士毕业去某三四线城市的二本,副教授待遇一个月到手6500,同组的硕士师弟去相同城市的央企研究院躺平,一个月到手7000多)。
-
解决了,把1换成1.0就好了,感谢 @麦迪文 师兄的帮助。
-
在使用OpenFOAM编译公式的时候,发现了个问题:pow(N, 1/2)与pow(N,0.5)输出的结果不一样,OpenFOAM编译公式时幂函数是使用pow()函数吗?我翻看了自带的一些湍流模型中发现了pow4()或者pow3()这种写法,难道是OpenFOAM的幂函数编写规则和C++不一样?下面上图,图中分别是pow(N, 1/2)与pow(N,0.5)的结果,明显量纲不一样了。
-
@东岳 光看流场的矢量图可能确实看着还凑合对称,但是假如我要在出口得到RTD曲线(停留时间分布曲线),就会得到对称出口明显不同的RTD曲线?
-
对于一些网格划分较复杂的对称结构来说,左右网格不对称是在所难免的吧,比如在网格划分的时候移动一些线。但是这样会严重影响数值结果的对称性?这种情况怎么处理呢?只画对称结构的一半进行计算?
-
在reactingtwophaseEulerFoam的默认算例中气相与液相的湍流模型均设置为mixtureKEpsilon,在东岳流体的验证算例讲解中气相的湍流模型设置为层流,液相为kEpsilon湍流模型,我自己算了个钢包底吹的算例,气相与液相都设置为kEpsilon湍流模型算例一步也算不下去。我看了一下文献感觉大家说明的都不是很详细啊(可能我看的文献偏应用),另外附图按照气相为层流模型,液相为湍流模型计算结果如下:
本来以为就是画个模型套用下算例就行,真正做起来还挺费劲,气相分数那个图为啥细细的一根而且上部的气相分数的分布还断断续续的呀,气相速度下部靠近入口处的分布还不是很规则 -
@东岳 ok
-
使用reactingTwoPhaseEulerFoam进行计算时,在设置算例时,液相直径是啥意思呀?与气泡直径有什么关系吗?不同工况下我该凭借什么原则进行设置呢?
-
按照twoPhaseEulerFoam中的EEqns.H写出能量方程如下(算例文件中能量形式是sensibleInternalEnergy)大神们先看看这么写对吗?
fvScalarMatrix E1Eqn ( fvm::ddt(alpha1, rho1, he1) + fvm::div(alphaRhoPhi1, he1) - fvm::Sp(contErr1, he1) + fvc::ddt(alpha1, rho1, K1) + fvc::div(alphaRhoPhi1, K1) - contErr1*K1 + ( he1.name() == thermo1.phasePropertyName("e") ? fvc::div(fvc::absolute(alphaPhi1, alpha1, U1), p) + p*fvc::ddt(alpha1) : -alpha1*dpdt ) - fvm::laplacian ( fvc::interpolate(alpha1) *fvc::interpolate(thermo1.alphaEff(phase1.turbulence().mut())), he1 ) ); E1Eqn.relax(); E1Eqn -= ( Kh*(thermo2.T() - thermo1.T()) + Kh*he1/Cpv1 - fvm::Sp(Kh/Cpv1, he1) + alpha1*rho1*(U1&g) + fvOptions(alpha1, rho1, he1) );
那如果不考虑传热的话,只把导热系数设为0和温度设为一样,这样做对吗?
我为了不考虑传热,是直接把twoPhaseEulerFoam.C中的EEqns.H给注释掉了,我这种做法对吗? -
@win 稳态流场的求解的话,为啥不用buoyantBoussinesqSimpleFoam呢?人家重力都给你植入好了,你想前面的系数是多少就是多少。
-
@麦迪文 可以可以,小师兄进度很快,我们老师给我博士课题分的要用这个求解器,我最近也刚刚开始做这个,找到小伙伴了
-
小师兄,不研究interFoam,要改行了?
-
我有一个疑问,在源代码中pUf/UEqns.H代表了什么呢?因为我在twoPhaseEulerFoam.C文件中看见了如下代码
if (faceMomentum) { #include "pUf/UEqns.H" #include "EEqns.H" #include "pUf/pEqn.H" #include "pUf/DDtU.H" } else { #include "pU/UEqns.H" #include "EEqns.H" #include "pU/pEqn.H" #include "pU/DDtU.H" }
很明显,在计算过程中进行了选择,代码中的faceMomentum代表了什么?我在算例文件中的设置中没发现进行选择的选项?
拉格朗日求解器添加颗粒受力的问题
拉格朗日求解器添加颗粒受力的问题
如何输出出口escape的颗粒数量随时间变化的曲线?
并行计算错误
如何输出出口escape的颗粒数量随时间变化的曲线?
拉格朗日中注射模型里的massTotal的意义?
拉格朗日中注射模型里的massTotal的意义?
DPMFoam计算发散的问题
颗粒在壁面没有反弹?
能不能设置两组颗粒(一组one-way,一组four-way)同时模拟?
能不能设置两组颗粒(一组one-way,一组four-way)同时模拟?
DPMFoam咋后处理看见颗粒
DPMFoam咋后处理看见颗粒
论坛最近是不是显示有问题
边界赋值问题
标量浓度在壁面处吸附
标量浓度在壁面处吸附
求助:Openfoam中的LES/DNS如何输出湍流耗散率
LES只能算瞬态还是说稳态瞬态都能算?
LES只能算瞬态还是说稳态瞬态都能算?
紧靠壁面网格结点上物理量的提取
codedFixedValue边界条件编译成功,但没计算结果
codedFixedValue边界条件编译成功,但没计算结果
codedFixedValue边界条件编译成功,但没计算结果
codedFixedValue边界条件编译成功,但没计算结果
OpenFOAM小代码
OpenFOAM小代码
颗粒碰撞聚合
Tecplot输出视频不清晰
Tecplot输出视频不清晰
正在从商软转到OpenFOAM,关于计算机的操作系统及硬件设施
codedFixedValue边界条件
codedFixedValue边界条件
SST k-ω湍流模型的初始条件咋取呀?
论坛搜索功能下线了?
论坛搜索功能下线了?
翻到之前的基金申请拒信
感觉读了个假博士
OpenFOAM中的幂函数
OpenFOAM中的幂函数
对称结构的网格对于数值计算的影响
对称结构的网格对于数值计算的影响
Euler-Euler中的湍流模型
液相直径(用于计算相转置时的直径)
液相直径(用于计算相转置时的直径)
twoPhaseEulerFoam中的能量方程
关于由重力引起的沉降速度的问题
twoPhaseEulerFoam 的升力项怎么不在 动量方程里
twoPhaseEulerFoam 的升力项怎么不在 动量方程里
OpenFOAM-6的twoPhaseEulerFoam学习