reactingParcelFoam中颗粒间碰撞参数



  • 开门见山,问3个问题:
    第一个问题1、在reactingParcelFoam或coalChemistryFoam中颗粒间的碰撞参数在哪修改?计算过程颗粒间碰撞回弹的感觉不大对。
    第二个问题2、能否在coalCloud.H中修改为这样,添加CollidingCloud,同样在coalParcel.H中添加CollidingParcel?尝试后编译库文件通过,但是编译coalChemistryFoam失败。

    
    #ifndef coalCloud_H
    #define coalCloud_H
    
    #include "Cloud.H"
    #include "KinematicCloud.H"
    #include "CollidingCloud.H"
    #include "ThermoCloud.H"
    #include "ReactingCloud.H"
    #include "ReactingMultiphaseCloud.H"
    #include "coalParcel.H"
    
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    namespace Foam
    {
        typedef ReactingMultiphaseCloud
        <
            ReactingCloud
            <
                ThermoCloud
                <
                    CollidingCloud
                    <
                        KinematicCloud
                        <
                            Cloud
                            <
                                coalParcel
                            >
                        >
                    >
                >
            >
        > coalCloud;
    }
    
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    #endif
    

    第三个问题3、patchInteractionModel和collisionModel中的wallModel(如模型wallSpringSliderDashpot)有什么区别?

    OpenFOAM用的还不熟,目前想在reactingParcelFoam中加入表面反应模型,模拟沉积CVD过程。计算的喷动床,感觉颗粒间的碰撞过程不大对,请高手指点!!!非常感谢,感谢!!!!!!



  • 错误信息:

    sigma@ma:lib$ ld libcoalDepositionDemo.so 
    ld: warning: cannot find entry symbol _start; not setting start address
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > >::typeName'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::ParticleForce<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > >::dictionaryConstructorTablePtr_'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > >::debug'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::typeName'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::SurfaceReactionModel<Foam::ReactingMultiphaseCloud<Foam::ReactingCloud<Foam::ThermoCloud<Foam::CollidingCloud<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > > > > > >::dictionaryConstructorTablePtr_'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::PhaseChangeModel<Foam::ReactingCloud<Foam::ThermoCloud<Foam::CollidingCloud<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > > > > >::dictionaryConstructorTablePtr_'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > >::typeName'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > >::debug'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::DispersionModel<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > >::dictionaryConstructorTablePtr_'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > >::debug'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::StochasticCollisionModel<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > >::dictionaryConstructorTablePtr_'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::SurfaceReactionModel<Foam::ReactingMultiphaseCloud<Foam::ReactingCloud<Foam::ThermoCloud<Foam::CollidingCloud<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > > > > > >::typeName'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::InjectionModel<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > >::dictionaryConstructorTablePtr_'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::CloudFunctionObject<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > >::typeName'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::CompositionModel<Foam::ReactingCloud<Foam::ThermoCloud<Foam::CollidingCloud<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > > > > >::dictionaryConstructorTablePtr_'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::SurfaceReactionModel<Foam::ReactingMultiphaseCloud<Foam::ReactingCloud<Foam::ThermoCloud<Foam::CollidingCloud<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > > > > > >::constructdictionaryConstructorTables()'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::SurfaceFilmModel<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > >::dictionaryConstructorTablePtr_'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::CloudFunctionObject<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > >::dictionaryConstructorTablePtr_'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::ParticleForce<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > >::typeName'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::SurfaceReactionModel<Foam::ReactingMultiphaseCloud<Foam::ReactingCloud<Foam::ThermoCloud<Foam::CollidingCloud<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > > > > > >::destroydictionaryConstructorTables()'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::PatchInteractionModel<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > >::dictionaryConstructorTablePtr_'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::DevolatilisationModel<Foam::ReactingMultiphaseCloud<Foam::ReactingCloud<Foam::ThermoCloud<Foam::CollidingCloud<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > > > > > >::dictionaryConstructorTablePtr_'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::HeatTransferModel<Foam::ThermoCloud<Foam::CollidingCloud<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > > > >::dictionaryConstructorTablePtr_'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > >::typeName'
    ld: libcoalDepositionDemo.so: undefined reference to `Foam::CollisionModel<Foam::CollidingCloud<Foam::KinematicCloud<Foam::Cloud<Foam::ReactingMultiphaseParcel<Foam::ReactingParcel<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > > > >::dictionaryConstructorTablePtr_'
    
    

  • Linux讲师 OpenFOAM讲师

    完全清楚去动都很容易崩,不完全清楚就动的,八成是会崩的。

    错误信息就是未定义的函数、类型,总之就是用了什么东西但没找到定义。可能是头文件少了,可能是makefile里缺其他的动态链接库,也可能只是文件没放对位置,环境没配置好之类的



  • 此帖终结!!!此帖终结!!!此帖终结!!!

    想得有点简单了,coalChemistryFoam和DPMFoam求解的方程有差别,coalChemistryFoam是two-way coupling,DPMFoam是four-way coupling,cfd-online论坛上有人讲了这个问题,简单的添加CollidingCloud是行不通的。
    感谢!!!

    粘帖原文
    “Dear cmigueis,
    Thank you for your quick reply.
    First of all, I mean that your work can model reacting dilute two-phase flow, but not reacting dense two-phase flow. We can see in DPMFoam solver, there is an “alphac” in the mass and momentum equations of Ueqn.H, which mean the void fraction (voidage). However, in coalChemistryFoam, there isn’t a void fraction. That is, even though you implement coal cloud collisions into coalChemitryFoam, it look like DPM model in ANSYS Fluent, but not a CFD-DEM model with reaction, you should also implement “alphac”(voidage) into mass, momentum and energy equations.
    For more details, you can have a look at article “Ku X, Li T, Løvås T. CFD–DEM simulation of biomass gasification with steam in a fluidized bed reactor [J]. Chemical Engineering Science, 2015, 122: 270-283.” or “Zhou H, Flamant G, Gauthier D. DEM-LES simulation of coal combustion in a bubbling fluidized bed Part II: coal combustion at the particle level [J]. Chemical Engineering Science, 2004, 59(20): 4205-4215.”, in these work, four-way coupling CFD-DEM with reaction were adopted to simulate a fluidized bed. The former is accomplished on OpenFOAM framework.
    In my opinion, if you want to model dense phase reacting flow like above literature, I think DPMFoam combined with coalChemistryFoam can achieve it, which is the work I want to do and I am doing. Generally speaking, DPMFoam has already had parcels collisions and it is CFD-DEM method which can be used in cold fluidized bed modeling. If you only model pulverized coal combustion (that is, reacting dilute two-phase flow), four-way coupling is not necessary.
    Best regards! ”


Log in to reply