Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. Euler-Lagrange的一些解析,sprayFoam

Euler-Lagrange的一些解析,sprayFoam

已定时 已固定 已锁定 已移动 OpenFOAM
87 帖子 14 发布者 82.5k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • chengan.wangC 离线
    chengan.wangC 离线
    chengan.wang
    在 中回复了 星星星星晴 最后由 编辑
    #12

    @星星星星晴 谢谢指点!
    我这两天大概改了一下cloudfunction,似乎能运行了,但是从重新编译的求解器log文件上看,应该有一些问题,我好像重复调用了一些库函数:

    Duplicate entry facePostProcessing in runtime selection table CloudFunctionObject
    #0	/home/chengan/OpenFOAM/OpenFOAM-2.4.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so(_ZN4Foam5error14safePrintStackERSo+0x3e) [0x7f28ae2ae0ae]
    #1	/home/chengan/OpenFOAM/chengan-2.4.0/platforms/linux64GccDPOpt/lib/libstatisticslagrangianIntermediate.so(_ZN4Foam19CloudFunctionObjectINS_14KinematicCloudINS_5CloudINS_15KinematicParcelINS_8particleEEEEEEEE31adddictionaryConstructorToTableINS_18FacePostProcessingIS7_EEEC1ERKNS_4wordE+0xfb) [0x7f28b4ff288b]
    #2	/home/chengan/OpenFOAM/chengan-2.4.0/platforms/linux64GccDPOpt/lib/libstatisticslagrangianIntermediate.so(+0x2410f5) [0x7f28b4fbe0f5]
    #3	/lib64/ld-linux-x86-64.so.2(+0x108d3) [0x7f28b55618d3]
    #4	/lib64/ld-linux-x86-64.so.2(+0x10ca) [0x7f28b55520ca]
    Duplicate entry particleCollector in runtime selection table CloudFunctionObject
    #0	/home/chengan/OpenFOAM/OpenFOAM-2.4.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so(_ZN4Foam5error14safePrintStackERSo+0x3e) [0x7f28ae2ae0ae]
    #1	/home/chengan/OpenFOAM/chengan-2.4.0/platforms/linux64GccDPOpt/lib/libstatisticslagrangianIntermediate.so(_ZN4Foam19CloudFunctionObjectINS_14KinematicCloudINS_5CloudINS_15KinematicParcelINS_8particleEEEEEEEE31adddictionaryConstructorToTableINS_17ParticleCollectorIS7_EEEC2ERKNS_4wordE+0xfb) [0x7f28b4ff29cb]
    #2	/home/chengan/OpenFOAM/chengan-2.4.0/platforms/linux64GccDPOpt/lib/libstatisticslagrangianIntermediate.so(+0x24115c) [0x7f28b4fbe15c]
    #3	/lib64/ld-linux-x86-64.so.2(+0x108d3) [0x7f28b55618d3]
    #4	/lib64/ld-linux-x86-64.so.2(+0x10ca) [0x7f28b55520ca]
    Duplicate entry particleErosion in runtime selection table CloudFunctionObject
    #0	/home/chengan/OpenFOAM/OpenFOAM-2.4.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so(_ZN4Foam5error14safePrintStackERSo+0x3e) [0x7f28ae2ae0ae]
    #1	/home/chengan/OpenFOAM/chengan-2.4.0/platforms/linux64GccDPOpt/lib/libstatisticslagrangianIntermediate.so(_ZN4Foam19CloudFunctionObjectINS_14KinematicCloudINS_5CloudINS_15KinematicParcelINS_8particleEEEEEEEE31adddictionaryConstructorToTableINS_15ParticleErosionIS7_EEEC1ERKNS_4wordE+0xfb) [0x7f28b4ff2b0b]
    

    我又看了一下求解器Make文件夹的options文件:

    EXE_INC = \
        -Ilagrangian/intermediate/lnInclude \
        -I$(LIB_SRC)/finiteVolume/lnInclude \
        -I${LIB_SRC}/meshTools/lnInclude \
        -I${LIB_SRC}/sampling/lnInclude \
        -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
        -I$(LIB_SRC)/lagrangian/basic/lnInclude \
        -I$(LIB_SRC)/lagrangian/spray/lnInclude \
        -I$(LIB_SRC)/lagrangian/distributionModels/lnInclude \
        -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
        -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
        -I$(LIB_SRC)/thermophysicalModels/properties/liquidProperties/lnInclude \
        -I$(LIB_SRC)/thermophysicalModels/properties/liquidMixtureProperties/lnInclude \
        -I$(LIB_SRC)/thermophysicalModels/properties/solidProperties/lnInclude \
        -I$(LIB_SRC)/thermophysicalModels/properties/solidMixtureProperties/lnInclude \
        -I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \
        -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
        -I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
        -I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \
        -I$(LIB_SRC)/thermophysicalModels/radiationModels/lnInclude \
        -I$(LIB_SRC)/ODE/lnInclude \
        -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
        -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
        -I$(LIB_SRC)/fvOptions/lnInclude \
        -I$(LIB_SRC)/combustionModels/lnInclude
    
    
    EXE_LIBS = \
        -L$(FOAM_USER_LIBBIN) \
        -lstatisticslagrangianIntermediate \
        -lfiniteVolume \
        -lmeshTools \
        -lsampling \
        -lcompressibleTurbulenceModel \
        -lcompressibleRASModels \
        -lcompressibleLESModels \
        -llagrangian \
        -llagrangianTurbulence \
        -llagrangianSpray \
        -lspecie \
        -lfluidThermophysicalModels \
        -lliquidProperties \
        -lliquidMixtureProperties \
        -lsolidProperties \
        -lsolidMixtureProperties \
        -lthermophysicalFunctions \
        -lreactionThermophysicalModels \
        -lSLGThermo \
        -lchemistryModel \
        -lradiationModels \
        -lODE \
        -lregionModels \
        -lsurfaceFilmModels \
        -lfvOptions \
        -lcombustionModels
    

    没看出来我编译的intermediate文件夹跟哪个冲突。(我在求解器文件夹中建立lagrangian文件夹,然后把原始的intermediate文件夹拷进去,修改particleCollector,然后编译,编译过程中没有报错)。
    麻烦您啦!

    星 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 chengan.wang 最后由 编辑
    #13

    @chengan-wang 看来你这个是祖传代码,我也看不出来你这个问题到底在哪。。虽然of的基础变化不大,但是你还用的是2.4。。

    你这个编译方法看起来是可以使用的,但是你只编译了intermediate这个文件夹是么,你确定其他关联到intermediate的库的都关联这个了么?

    建议你自己一点一点查吧

    游荡

    chengan.wangC 1 条回复 最后回复
  • chengan.wangC 离线
    chengan.wangC 离线
    chengan.wang
    在 中回复了 星星星星晴 最后由 编辑
    #14

    @星星星星晴 谢谢,我一直用2.4.0,所以用sprayFoam就没有换版本。另外请教您修改cloudfunction之后,采用的是是啥编译方法?能推荐一下么?

    星 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 chengan.wang 最后由 编辑
    #15

    @chengan-wang 就是普通的 教程上的方法。。。一板一眼

    游荡

    1 条回复 最后回复
  • chengan.wangC 离线
    chengan.wangC 离线
    chengan.wang
    在 中回复了 星星星星晴 最后由 编辑
    #16

    @星星星星晴 您好,我这次直接在OpenFOAM-2.4.0下面的ParticleCollector.C文件修改,wclean, wmake libso,编译成功,避免了冲突问题。

    // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
    
    template<class CloudType>
    void Foam::ParticleCollector<CloudType>::postMove
    (
        parcelType& p,
        const label cellI,
        const scalar dt,
        const point& position0,
        bool& keepParticle
    )
    {
        if ((parcelType_ != -1) && (parcelType_ != p.typeId()))
        {
            return;
        }
    
        // slightly extend end position to avoid falling within tracking tolerances
        const point position1 = position0 + 1.0001*(p.position() - position0);
    
        hitFaceIDs_.clear();
    
        switch (mode_)
        {
            case mtPolygon:
            {
                collectParcelPolygon(position0, position1);
                break;
            }
            case mtConcentricCircle:
            {
                collectParcelConcentricCircles(position0, position1);
                break;
            }
            default:
            {
            }
        }
    
    
        forAll(hitFaceIDs_, i)
        {
            label faceI = hitFaceIDs_[i];
            scalar m = p.nParticle()*p.mass();
    
            if (negateParcelsOppositeNormal_)
            {
                vector Uhat = p.U();
                Uhat /= mag(Uhat) + ROOTVSMALL;
                if ((Uhat & normal_[faceI]) < 0)
                {
                    m *= -1.0;
                }
            }
    
            // add mass contribution
            mass_[faceI] += m;
    
            if (nSector_ == 1)
            {
                mass_[faceI + 1] += m;
                mass_[faceI + 2] += m;
                mass_[faceI + 3] += m;
            }
    
            if (removeCollected_)
            {
                keepParticle = false;
            }
        }
    
        //******add by myself******
        forAll(hitFaceIDs_, i) 
        {
            std::ofstream outfile;
            outfile.setf(ios_base::fixed, ios_base::floatfield);
            outfile.precision(8);
            outfile.open("output.txt", ios_base::app);
            outfile << this->owner().db().time().timeName() << tab
                        << p.origId()                       << tab
                        << p.typeId()                       << tab
                        << p.age()                          << tab
                        << p.position().component(0)        << tab
                        << p.position().component(1)        << tab
                        << p.position().component(2)        << tab
                        << p.U().component(0)               << tab
                        << p.U().component(1)               << tab
                        << p.U().component(2)               << tab
                        << p.d()                            << tab
                        << p.nParticle()                    << tab
                        << p.mass()*1e18                    << tab
                        << nl;
        }
        //******add by myself******
    
    }
    
    

    之后,我在sprayCloudProperties文件中定义(用的是ParticleCollector.H自带例子)

    cloudFunctions
    {
        particleCollector2
        {
            type            particleCollector;
    
            mode            polygon;
            polygons
            (
                (
                    (-0.01 0.05 -0.01)
                    (-0.01 0.05 0.01)
                    (0.01 0.05 0.01)
                    (0.01 0.05 -0.01)
                )
            );
            normal          (0 0 1);
    
            negateParcelsOppositeNormal no;
            removeCollected no;
            surfaceFormat   vtk;
            resetOnWrite    no;
            log             yes;
        }
    }
    

    运行至第一个时间步长就报错了

    [2] --> FOAM FATAL IO ERROR: [13] 
    [13] 
    [13] --> FOAM FATAL IO ERROR: 
    [13] wrong token type - expected Scalar, found on line 0 the punctuation token '-'
    [13] 
    [13] file: /home/chengan/OpenFOAM/chengan-2.4.0/run/sprayFoam/watermist/processor13/0/uniform/lagrangian/sprayCloud/sprayCloudOutputProperties.cloudFunctionObject.particleCollector2.massFlowRate at line 0.
    [13] 
    [13]     From function operator>>(Istream&, Scalar&)
    [13]     in file lnInclude/Scalar.C at line 93.
    [13] 
    FOAM parallel run exiting
    [13] 
    
    [2] wrong token type - expected Scalar, found on line 0 the punctuation token '-'
    [2] 
    [2] file: /home/chengan/OpenFOAM/chengan-2.4.0/run/sprayFoam/watermist/processor2/0/uniform/lagrangian/sprayCloud/sprayCloudOutputProperties.cloudFunctionObject.particleCollector2.massFlowRate at line 0.
    [2] 
    [2]     From function operator>>(Istream&, Scalar&)
    [2]     in file lnInclude/Scalar.C at line 93.
    [2] 
    FOAM parallel run exiting
    [2] 
    
    particleCollector output:
    --------------------------------------------------------------------------
    MPI_ABORT was invoked on rank 2 in communicator MPI_COMM_WORLD
    with errorcode 1.
    
    NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
    You may or may not see output from other processes, depending on
    exactly when Open MPI kills them.
    --------------------------------------------------------------------------
    [chengan-MS-7C80:26316] 1 more process has sent help message help-mpi-api.txt / mpi-abort
    [chengan-MS-7C80:26316] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages
    

    如果不用particleCollector,直接使用cloudFunctions{}算例可以运行。

    我没有搞明白到底什么地方出了问题

    星 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 chengan.wang 最后由 编辑
    #17

    这部分你可以删掉,particlecollector总是有些问题,我也遇到过,后来不必要的东西全删掉了

    
        forAll(hitFaceIDs_, i)
        {
            label faceI = hitFaceIDs_[i];
            scalar m = p.nParticle()*p.mass();
    
            if (negateParcelsOppositeNormal_)
            {
                vector Uhat = p.U();
                Uhat /= mag(Uhat) + ROOTVSMALL;
                if ((Uhat & normal_[faceI]) < 0)
                {
                    m *= -1.0;
                }
            }
    
            // add mass contribution
            mass_[faceI] += m;
    
            if (nSector_ == 1)
            {
                mass_[faceI + 1] += m;
                mass_[faceI + 2] += m;
                mass_[faceI + 3] += m;
            }
    
            if (removeCollected_)
            {
                keepParticle = false;
            }
        }
    
    

    游荡

    chengan.wangC 1 条回复 最后回复
  • vbcwlV 离线
    vbcwlV 离线
    vbcwl
    在 中回复了 星星星星晴 最后由 编辑
    #18

    @星星星星晴 前辈您好,我也是参考了这个教程(GOFUN2018)在pimpleFoam的基础上添加了求解粒子的部分,想请教您一下,这个教程里的方法是不是 流体对粒子,粒子对流体,粒子之间,粒子与壁面的相互作用都可以考虑,只需要在kinematicCloudProperties调整相关的设置就可以了?

    LBE

    星 2 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 vbcwl 最后由 编辑
    #19

    @vbcwl 这个也要看你用的是什么of版本,我记得好像在4之前 turbulence dispersion model是有问题的,kinematic parcel好像不做这步,忘了 不确定,需要你自己查一下,粒子之间好像kinematic parcel也没有吧,需要你确认,因为有的时候是有这个模型,但是他只是一个空函数,壁面就是简单的 stick,rebound, escape。

    然后drag 还有lift的cd cl好像也是有问题的,具体你需要根据你的需求来看,都得查code

    游荡

    vbcwlV 1 条回复 最后回复
  • vbcwlV 离线
    vbcwlV 离线
    vbcwl
    在 中回复了 星星星星晴 最后由 编辑
    #20

    @星星星星晴 感谢前辈:146:

    LBE

    1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 vbcwl 最后由 编辑
    #21

    @vbcwl
    在kinematicparcel.C中

    流体对粒子判断受力是通过Fcp.Sp()和Fncp.Su()这两项,显性隐性的区别,calcVelocity方程计算新速度。
    calcDispersion方程是dispersionmodel里计算新流场速度,OF自带是基于k-e的

    粒子对流体:UTrans这一项传递的

    粒子之间:kinematicCloud中的 stochasticCollision().update(td, solution_.trackTime());这一项

    粒子与壁面:hitFace, hitpatch这个方程等,具体调用哪个 这部分我不是很熟悉
    OpenFOAM-8/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/ 具体模型是在这个部分

    具体你用了某个模型的话一定要看好code,有的模型kicematicparcel是没有的

    游荡

    vbcwlV 1 条回复 最后回复
  • vbcwlV 离线
    vbcwlV 离线
    vbcwl
    在 中回复了 星星星星晴 最后由 编辑
    #22

    @星星星星晴 多谢提醒,一定在了解code以及公式之后在使用模型

    LBE

    1 条回复 最后回复
  • chengan.wangC 离线
    chengan.wangC 离线
    chengan.wang
    在 中回复了 星星星星晴 最后由 编辑
    #23

    @星星星星晴 您好,谢谢回复

    [2] file: /home/chengan/OpenFOAM/chengan-2.4.0/run/sprayFoam/watermist/processor2/0/uniform/lagrangian/sprayCloud/sprayCloudOutputProperties.cloudFunctionObject.particleCollector2.massFlowRate at line 0.
    [2] 
    [2]     From function operator>>(Istream&, Scalar&)
    [2]     in file lnInclude/Scalar.C at line 93.
    [2] 
    FOAM parallel run exiting
    [2] 
    
    particleCollector output:
    --------------------------------------------------------------------------
    MPI_ABORT was invoked on rank 2 in communicator MPI_COMM_WORLD
    with errorcode 1.
    

    这个问题我大概知道怎么回事了,当resetOnWrite no;如果我采用单核计算,这个错误问题就没有出现;resetOnWrite yes;才能用多核并行,但我不知道有没有啥影响。

    第二个问题,我直接在OpenFOAM-2.4.0下面的ParticleCollector.C文件修改,然后在intermediate文件夹下编译,wclean; wmake libso。其它没有动。但是运行结束后在postProcessing文件夹里面没有找到output.txt文件,感觉是没有调用新编译的库文件函数?您的编译方法参考教程能方便发一下么?
    Screenshot from 2022-08-27 16-26-52.png
    Screenshot from 2022-08-27 16-30-31.png

    第三个问题,我用polygon做了一个切片,

        particleCollector2
        {
            type            particleCollector;
    
            mode            polygon;
            polygons
            (
                (
                    (-0.01 0.06 -0.01)
                    (-0.01 0.06 0.01)
                    (0.01 0.06 0.01)
                    (0.01 0.06 -0.01)
                )
            );
            normal          (0 0 1);
    
            negateParcelsOppositeNormal no;
            removeCollected no;
            surfaceFormat   vtk;
            resetOnWrite    yes; 
            log             yes;
        }
    
    

    Screenshot from 2022-08-27 16-43-54.png

    很明显,粒子已经通过我设计的多边形,但是质量流量等于0,这又是什么原因呢?

    1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    写于 最后由 编辑
    #24

    @chengan-wang

    1. 我没有试过resetOnWrite 这部分,所以我也不知道你这么弄有没有问题。我仅仅是使用output的文件作后处理,套用了particlecollector这个cloudfunction而已,对于其他的东西我并不在意,而且之前总出错,与其用一个无法确定是否正确的东西,不如原始一点自己处理。

    2. 编译教程你可以在google上找很多,最主要的是你编译了一个东西以后,要对其重命名,然后相关引用到该lib的都要引用你新编译的模型,仔细看了一下,你在solver部分是有问题的,但是你编译了spray这个文件了么?编译的新spray有没有用到新的intermediate?solver没有引用新的spray。

    3.如果你像我说的删除掉那部分code的话,自然没有质量的计算啊,所以后处理就是自己写个python script或者你用matlab或者什么后处理文件,因为你文件里面包含了所有hitpatch的数据。

    游荡

    chengan.wangC 1 条回复 最后回复
  • chengan.wangC 离线
    chengan.wangC 离线
    chengan.wang
    在 中回复了 星星星星晴 最后由 编辑
    #25

    @星星星星晴 谢谢

    1. 我直接改原始文件内容,然后在原始的安装包编译,也不用改名,我的理解是既然动态链接,不改文件名,就自然调用了,所以spray这个文件没有重新编译。原始的安装包2.4就是一系列文件编译,我改了其中一个文件内容,相当于安装包版本升级了一下编译,这种理解不对么?
    2. 我没有删除掉code,没有质量的计算,所以觉得很奇怪。
    星 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 chengan.wang 最后由 编辑
    #26

    @chengan-wang

    1. 额,这我就不是很了解了,我也不是code大神,仅仅是使用推荐的方法进行编译,这肯定不会错,正常情况下,建议无论更改了 什么,最好是重新编译一下相关的东西,以免发生错误。有些东西没办法解释。。。就是这么做,也不会思考为什么。

    你修改原始包也没问题,但是不用重新命名。
    但是如果有些东西你自己编译错了,很可能会引发连锁反应,这也是为什么人家推荐用的是

    $USER_LIB_SRC
    
    $LIB_SRC
    

    不是在人家原始的包里面做修改的原因,这样用以区别你自己的东西和原始的东西。
    另外并不是所有人都有root的权限的。
    我个人觉得还是人家推荐的方式比较好。

    1. 这我就不是很清楚了。

    游荡

    chengan.wangC 2 条回复 最后回复
  • chengan.wangC 离线
    chengan.wangC 离线
    chengan.wang
    在 中回复了 星星星星晴 最后由 编辑
    #27

    @星星星星晴 谢谢哈,麻烦您这么久

    1 条回复 最后回复
  • chengan.wangC 离线
    chengan.wangC 离线
    chengan.wang
    在 中回复了 星星星星晴 最后由 编辑
    #28

    @星星星星晴 您好,第三个错误我找到了,normal之前设置不对 改成(0 1 0);就可以了。搞不懂为啥坐标都给了,自己还要定义面的法线方向。

    通过和您交流和自己实践理解,感觉对这个后处理问题最好还是用“2. 输出文件”方法,“1. 将拉格朗日场转到EULER场”这种方法我没有尝试,但是感觉应该属于空间插值,准确行应该是不如直接统计自己指定特定位置上的数据。

    还有两个小疑问,如果我统计某一条线上的数据,实际上粒子很难碰到这条线,所以我应该设置一个很细长的面或者是圆柱吧?

    另外就是有什么比较快捷的方式在polygons设置很多个平面吗?比如20个切面,或者50个。我可以提前编辑好,累加粘贴,但是感觉太麻烦了

            polygons
            (
                (
                    (-0.01 0.06 -0.01)
                    (-0.01 0.06 0.01)
                    (0.01 0.06 0.01)
                    (0.01 0.06 -0.01)
                )
            );
    
    星 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 chengan.wang 最后由 编辑
    #29

    @chengan-wang 在 Euler-Lagrange的一些解析,sprayFoam 中说:

    第三个错误我找到了,normal之前设置不对 改成(0 1 0);就可以了。搞不懂为啥坐标都给了,自己还要定义面的法线方向。
    通过和您交流和自己实践理解,感觉对这个后处理问题最好还是用“2. 输出文件”方法,“1. 将拉格朗日场转到EULER场”这种方法我没有尝试,但是感觉应该属于空间插值,准确行应该是不如直接统计自己指定特定位置上的数据。

    1. 个人认为,定义法向是因为平面可以正面接受parcel 或者背面接受parcel

    2. 不属于空间差值,就相当于一个cell不停的累加数据,比如你想要这个cell内平均的拉格朗日颗粒的直径,通过方法1可以这样,cell内不停的积累数据,然后做一个时间平均,也可以统计cell内通过多少parcel,统计数量等,最大的问题在于不能精确到每个parcel但是可以相对简洁的做统计,比后处理要快,而且是可以可视化的。最大的问题在于如何平均,时间平均还是数目平均,有的时候平均会消除一些统计学数据,见仁见智吧,每个方法都有其相对的好处。

    3. 我不用polygons 所以没对这个部分看,我直接是circle做一个截面。

    游荡

    1 条回复 最后回复
  • vbcwlV 离线
    vbcwlV 离线
    vbcwl
    在 中回复了 星星星星晴 最后由 编辑
    #30

    @星星星星晴 前辈您好,想向您请教一下,openFoam如何调用硬球模型呢?

    LBE

    星 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 vbcwl 最后由 编辑
    #31

    @vbcwl 硬球模型?碰撞?

    默认是这个弹簧模型
    OpenFOAM-8/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairModel/PairSpringSliderDashpot/

    默认的话是这个在kinematiccloud里面,不同的cloud调用的一些模型是不一样的,你要具体看你用的是什么cloud,具体看吧,

    游荡

    vbcwlV 1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]