@李东岳
您好,李老师,我现在的做法就是不用Glyph来显示particles,直接在paraview中load 原始particles,再用clip的box来划分出一个区域,这样在information中,number of cells=number of pints的值就是这个box中 particles的真实数量。
但是现在出现了一个新问题,我知道单个 particle体积,这个box中particles的数量,nparticles的值我也知道,这样通过计算 :particle的体积particle个数nparticle就计算出这个box中particles的体积数,用这个数除以Box的体积就应该能算出这个box中particle的体积分数,即 alpha(volume fraction of particle). 但是算出来的这个数总是比我初始设定的particle体积分数要小很多,请问您知道是什么原因吗?
shih007
帖子
-
nparticle数值设定 -
nparticle数值设定@李东岳 你好李老师,我现在用Glyph来现实出paticles, 然后用Clip-box,切分出来一个区域,现在我就想计算下这个box区域里的particles数量,您可以看下下面的图。 我在网上找了,但是没有想过信息啊,请问怎么能实现 这个功能呢?
-
nparticle数值设定@李东岳 你好,李老师,我做的固液共存就是水中有盐颗粒,简单地说就是海水,实际上盐是以很小的颗粒溶解在水中。
我简单做了下模拟,先不考虑颗粒间的碰撞,假设盐颗粒有同样的 2e-6m的直径大小。但是程序运行到0.6second左右的时候停止了。报错是这样的
:[13] #0 Foam::error::printStack(Foam::Ostream&) addr2line failed [13] #1 Foam::sigFpe::sigHandler(int) addr2line failed [13] #2 ? addr2line failed [13] #3 ? [13] #4 ? [13] #5 ? [13] #6 ? [13] #7 ? [13] #8 ? [13] #9 ? [13] #10 __libc_start_main addr2line failed [13] #11 ? [linuxbmc0108:31135] *** Process received signal *** [linuxbmc0108:31135] Signal: Floating point exception (8) [linuxbmc0108:31135] Signal code: (-6) [linuxbmc0108:31135] Failing at address: 0x803d0000799f [linuxbmc0108:31135] [ 0] /lib64/libc.so.6(+0x35270)[0x7f1c42e49270] [linuxbmc0108:31135] [ 1] /lib64/libc.so.6(gsignal+0x37)[0x7f1c42e491f7] [linuxbmc0108:31135] [ 2] /lib64/libc.so.6(+0x35270)[0x7f1c42e49270] [linuxbmc0108:31135] [ 3] MPPICFoam[0x44a24e] [linuxbmc0108:31135] [ 4] MPPICFoam[0x4471b5] [linuxbmc0108:31135] [ 5] MPPICFoam[0x443b68] [linuxbmc0108:31135] [ 6] MPPICFoam[0x442e23] [linuxbmc0108:31135] [ 7] MPPICFoam[0x442470] [linuxbmc0108:31135] [ 8] MPPICFoam[0x43347c] [linuxbmc0108:31135] [ 9] MPPICFoam[0x42de0d] [linuxbmc0108:31135] [10] /lib64/libc.so.6(__libc_start_main+0xf5)[0x7f1c42e35c05] [linuxbmc0108:31135] [11] MPPICFoam[0x42a829] [linuxbmc0108:31135] *** End of error message *** /*-------------------------------------------------------
请问您知道这是什么错误吗?
另外,kinematicCloudProperties我是这样改的:solution { active true; coupled true; transient yes; cellValueSourceCorrection on; interpolationSchemes { rho.water cell; U.water cellPoint; mu.water cell; } averagingMethod basic; integrationSchemes { U Euler; } sourceTerms { schemes { U semiImplicit 1; } } } constantProperties { rho0 1000; alphaMax 0.9; } subModels { particleForces { WenYuDrag { alphac alpha.water; } gravity; } injectionModels { model1 { type patchInjection; patchName INLET; massTotal 1; parcelBasisType fixed; nParticle 1000; parcelsPerSecond 14204579; 假设volume fracton of particle 是0.01,经过计算得 到这个数值 SOI 0; U0 (0 0 -0.17); duration 60; flowRateProfile constant 1; sizeDistribution { type fixedValue; fixedValueDistribution { value 2e-6; } } } } dispersionModel none; patchInteractionModel localInteraction; localInteractionCoeffs { patches ( SYMMETRY { type rebound; e 1; mu 0; } PERMEAT { type rebound; e 1; mu 0; } WALL { type rebound; e 1; mu 0; } "INLET|OUTLET" { type escape; } ); } heatTransferModel none; surfaceFilmModel none; packingModel none; dampingModel relaxation; relaxationCoeffs { timeScaleModel { type nonEquilibrium; alphaPacked 0.58; e 0.9; } } isotropyModel stochastic; stochasticCoeffs { timeScaleModel { type isotropic; alphaPacked 0.58; e 0.9; } } stochasticCollisionModel none; radiation off; } cloudFunctions {}
请问是哪个地方设置不对吗?谢谢李老师
-
nparticle数值设定@李东岳 好的谢谢李老师,我还有个问题,我tutorial中MPPICFoma/InjectionChannel/constant/kinematicCloudProperties中找到的代码是这样的
solution { active true; coupled true; transient yes; cellValueSourceCorrection on; interpolationSchemes { rho.air cell; U.air cellPoint; mu.air cell; } averagingMethod basic; integrationSchemes { U Euler; } sourceTerms { schemes { U semiImplicit 1; } } } constantProperties { rho0 1000; alphaMax 0.9; } subModels { particleForces { WenYuDrag { alphac alpha.air; } } injectionModels { /* % matlab/octave calculation of flow rate alpha=0.1 U=20 A=0.01^2 Q=U*A d=650e-6 v=(4/3)*pi*(d/2)^3 n=1 rate=alpha*Q/(v*n) */ model1 { type patchInjection; parcelBasisType fixed; patchName lowerInlet; U0 (18.7939 6.8404 0); nParticle 1; parcelsPerSecond 1390885; sizeDistribution { type normal; normalDistribution { expectation 650e-6; variance 25e-6; minValue 500e-6; maxValue 800e-6; } } flowRateProfile constant 1; massTotal 0; SOI 0; duration 60; }.........
我想问下,这个例子是液体中有空气粒子,还是空气中有液体的粒子?
如果我做的是水中有固体颗粒的话,interpolationSchemes { rho.air cell; U.air cellPoint; mu.air cell; } 和subModels { particleForces { WenYuDrag { alphac alpha.air; } }
中的rho.air U.air mu.air alpha.air 是不是得改成 rho.solid U.solid mu.solid alpha.solid? 还是rho.water U.water mu.water alpha.water?
-
nparticle数值设定我现在在用Openfoam里的MPPICFoam 做固液共存的模拟。MPPICFOAM中的nparticle这个参数,是否对parcel中所含particles数量有要求?我看了几个例子,nparticle基本上就是1, 100,1000。 在我的模拟中,虽然固体颗粒的volume fraction 比较小,但是粒子的体积非常小,所以固体颗粒的数量级还是很大的,所以我想问下,是否可以把nparticle的数值选择更大一些?希望指教。。。