@coolhhh 发现问题了,因为我的是两相流,需要设定field 为U.water
Jasper 0
帖子
-
function object里vorticity只执行一次是为什么? -
function object里vorticity只执行一次是为什么?我在controldict里面加入如下代码想计算vorticity,结果发现只在初始时刻算了一次,后面时刻的值就不变了
vorticity1 { type vorticity; libs (fieldFunctionObjects); writeControl writeTime; }
即使我加入执行控制,vorticity依然是不随着计算时间变化,有没有大佬知道这是咋回事?
vorticity1 { type vorticity; libs (fieldFunctionObjects); executeControl timeStep; executeInterval 1; writeControl writeTime; }
-
颗粒沉积为什么全都到了底面一个面上?@李东岳 加了,就是把杨氏模量调大点就会有堆积了,估计之前的太小了导致没有弹性。。。
-
颗粒沉积为什么全都到了底面一个面上?谢大佬回复,刚搜了一下貌似跟材料和粒径都有关系
-
颗粒沉积为什么全都到了底面一个面上?我发现这个youngsModulus的系数貌似跟粒径有关。
- 当我用粒径为3毫米的时候,我设置系数为1e4粒子并不会发生融合;
- 但当我用粒径1cm的时候,系数为1e4就会融合了,然后把系数调到1e8就不会融合了。
但是这个系数越大计算速度越慢。请问这个youngsModulus系数有没有一个设置的标准啊?还是说只能像我现在这样试?
-
颗粒沉积为什么全都到了底面一个面上?@李东岳 终于找到了问题所在,不知道为什么在这个case里我把young's Modulus设置成了1e-8,改成1e8之后就会有堆积了
-
颗粒沉积为什么全都到了底面一个面上?谢谢李老师,我试一下然后再来说一下进展
-
颗粒沉积为什么全都到了底面一个面上?放小了是会好很多,但是我这个scale factor是设置的1呀,这样显示出来的不应该就是实际的粒子大小吗?我设置了粒子直径是1cm,这个计算域的直径也才15cm,一共有2万个粒子,理论上来说应该肯定堆积起来了吧?学生对这个沉积的问题确实是困扰好久了,还望李老师帮忙解答一下,万分感谢啊!
-
颗粒沉积为什么全都到了底面一个面上?@李东岳 我也想到了这个问题,于是把颗粒直径增大,结果还是一样,貌似这些颗粒都挤在一块了,甚至直接融合在一块了。。。下图是我最新跑的用vector滤镜处理的(中间空出来那一块本来是个injector,在这个测试里我设置成了壁面)
-
颗粒沉积为什么全都到了底面一个面上?各位大佬好,我用DPMFoam简单算了一个case,颗粒在静止水体中释放,如下图
等颗粒全部沉降后,最后却只沉积在了底面壁面上,如何才能让颗粒像实际一样堆积起来呢?
-
求问 coalchemistryfoam喷入颗粒再多 也显示铺成一层 为啥呢您好请问这个问题解决了吗?我也遇到了
-
openfoam 如何在双cpu工作站并行计算@李东岳 谢谢李老师答复。我现在就在用-oversubscribe方法跑,但是我不知道这个方法具体是怎么调用的核数,比如是不是我的两个cpu都调用了,还是说只调用了一个cpu里的38个线程(一个cpu总共48线程)
-
openfoam 如何在双cpu工作站并行计算请教各位大佬,我的工作站为双cpu:Intel(R) dual-Xeon(R) Gold 5220R ,每个cpu有24 个cores,总数为48cores,96线程。我在计算时划分了38个processors,但是运行如下命令时出错:mpirun -np 38 interFoam -parallel
错误代码为There are not enough slots available in the system to satisfy the 38 slots that were requested by the application:
貌似只识别了一个cpu,怎么才能在这两个cpu上进行并行计算呢?
-
如何让injectionModels在每一个时间步都读取kinematicLookupTableInjection@jasper-0 更新一下目前进度,我尝试在KinematicLookupTableInjection.C里将injectors_设置为MUST_READ_IF_MODIFIED,
template<class CloudType> Foam::KinematicLookupTableInjection<CloudType>::KinematicLookupTableInjection ( const dictionary& dict, CloudType& owner, const word& modelName ) : InjectionModel<CloudType>(dict, owner, modelName, typeName), inputFileName_(this->coeffDict().lookup("inputFile")), duration_(this->coeffDict().getScalar("duration")), parcelsPerSecond_(this->coeffDict().getScalar("parcelsPerSecond")), randomise_(this->coeffDict().getBool("randomise")), injectors_ ( IOobject ( inputFileName_, owner.db().time().constant(), owner.db(), IOobject::MUST_READ_IF_MODIFIED, IOobject::NO_WRITE ) ),
但是在运行solver的时候提示不支持自动重新读取,有没有大佬知道这种情况咋解决呢?
GlobalIOList<kinematicParcelInjectionData> kinematicLookupTableInjection constructed with IOobject::MUST_READ_IF_MODIFIED but GlobalIOList<kinematicParcelInjectionData> does not support automatic rereading.
-
植入拉格朗日粒子的Ueqn中需不需要加phicForces?@oitocfd 谢谢大佬回复,这两天忙着做实验没看到消息。所以我如果只考虑Drag force,那么这个phicForces就不用加了吧?
-
植入拉格朗日粒子的Ueqn中需不需要加phicForces?@oitocfd 是的大佬,就是在interFoam里加了拉格朗日粒子,two-way coupling,但是我不知道DPMFoam里的这个phicForces是干啥的,与cloudVolSUSu有关,其定义如下
fvVectorMatrix cloudSU(kinematicCloud.SU(Uc)); volVectorField cloudVolSUSu ( IOobject ( "cloudVolSUSu", runTime.timeName(), mesh ), mesh, dimensionedVector(cloudSU.dimensions()/dimVolume, Zero), zeroGradientFvPatchVectorField::typeName ); cloudVolSUSu.primitiveFieldRef() = -cloudSU.source()/mesh.V(); cloudVolSUSu.correctBoundaryConditions(); cloudSU.source() = Zero;
可见cloudVolSUSu是定义的cloudSU里的source项,而在U方程里加的cloudSU.source()定义为了0. 意思是cloudSU的source项和和非source项是分开算的。所以我不知道这个source()是什么?植入拉格朗日粒子,phicForces到底需不需要加?希望大佬可以解惑一下
这里的cloudSU在KinematicCloudI.H里定义如下:
template<class CloudType> inline Foam::tmp<Foam::fvVectorMatrix> Foam::KinematicCloud<CloudType>::SU(volVectorField& U, bool incompressible) const { if (debug) { Pout<< "UTrans min/max = " << min(UTrans()).value() << ", " << max(UTrans()).value() << nl << "UCoeff min/max = " << min(UCoeff()).value() << ", " << max(UCoeff()).value() << endl; } dimensionSet dim(dimForce); if (incompressible) { dim.reset(dimForce/dimDensity); } if (solution_.coupled()) { if (solution_.semiImplicit("U")) { volScalarField::Internal Vdt(mesh_.V()*this->db().time().deltaT()); if (incompressible) { Vdt.dimensions() *= dimDensity; } return UTrans()/Vdt - fvm::Sp(UCoeff()/Vdt, U) + UCoeff()/Vdt*U; } else { tmp<fvVectorMatrix> tfvm(new fvVectorMatrix(U, dim)); fvVectorMatrix& fvm = tfvm.ref(); fvm.source() = -UTrans()/(this->db().time().deltaT()); return tfvm; } } return tmp<fvVectorMatrix>::New(U, dim); }
-
植入拉格朗日粒子的Ueqn中需不需要加phicForces?@星星星星晴 谢谢您的回复,这个教程我也看了,他就是直接在U方程里加了个SU源项,但是在DPMFoam里面还有这个phicForces一项,主要是跟cloudVolSUSu有关,但是具体不知道是干什么的。。。
-
如何让injectionModels在每一个时间步都读取kinematicLookupTableInjection大家好,
我在做一个欧拉-拉格朗日模拟,想请问一下如何让injectionModels在每一个时间步都读取kinematicLookupTableInjection里的数据?在我的代码里现在能做到把每个时间步想要射入的粒子都写入kinematicLookupTableInjection,但是injectionModels只会初始化的时候读取一次,而我在lookuptable里更新的数据都不会再读取了。
有没有大佬知道如何做到呢?万分感激!
-
植入拉格朗日粒子的Ueqn中需不需要加phicForces?各位大佬好,
本人想在interFoam中植入拉格朗日粒子,通过以下这个教程来学习一下
http://www.tfd.chalmers.se/~hani/kurser/OS_CFD_2013/AlejandroLopez/LPT_for_erosionModelling_report.pdf但是在这个教程里,对U.eqn的修改,只是添加了kinematicCloud.SU(U)这一项,
而在DPMFoam里,还添加了phicForces这一项,并且这一项会对P.eqn进行影响。
surfaceScalarField phicForces ( fvc::flux(rAUc*cloudVolSUSu/rhoc) + rAUcf*(g & mesh.Sf()) );
查了一些资料,是不是kinematicCloud.SU(U)指的是drag force,而phicForces包含了gravitational force,lift force和其他力?还有就是这个cloudVolSUSu指的是什么?
希望有大佬可以解答一下!
-
Reynolds stress model植入到twoPhaseEulerFoam@李东岳 感谢李老师回复!