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. reactingParcelFoam中颗粒间碰撞参数

reactingParcelFoam中颗粒间碰撞参数

已定时 已固定 已锁定 已移动 OpenFOAM
7 帖子 4 发布者 6.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 书生kao书 离线
    书生kao书 离线
    书生kao
    写于 最后由 编辑
    #1

    开门见山,问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过程。计算的喷动床,感觉颗粒间的碰撞过程不大对,请高手指点!!!非常感谢,感谢!!!!!!

    业精于勤荒于嬉,行成于思毁于随!

    1 条回复 最后回复
  • 书生kao书 离线
    书生kao书 离线
    书生kao
    写于 最后由 编辑
    #2

    错误信息:

    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_'
    
    

    业精于勤荒于嬉,行成于思毁于随!

    1 条回复 最后回复
  • bestucanB 离线
    bestucanB 离线
    bestucan 版主 大神
    写于 最后由 编辑
    #3

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

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

    滚来滚去……~(~o ̄▽ ̄)~o 滚来滚去都不能让大家看出来我不是老师么 O_o

    异步沟通方式(《posting style》from wiki)(下载后打开):
    https://www.jianguoyun.com/p/Dc52X2sQsLv2BRiqnKYD
    提问的智慧(github在gitee的镜像):
    https://gitee.com/bestucan/How-To-Ask-Questions-The-Smart-Way

    1 条回复 最后回复
  • 书生kao书 离线
    书生kao书 离线
    书生kao
    写于 最后由 编辑
    #4

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

    想得有点简单了,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! ”

    业精于勤荒于嬉,行成于思毁于随!

    1 条回复 最后回复
  • 来 离线
    来 离线
    来瓶热阔落
    写于 最后由 编辑
    #5

    您好,请教您一个问题,您知道reactingCloudProperties字典文件中RanzMarshallCoeffs下的BirdCorrection开和关有啥区别吗

    W 1 条回复 最后回复
  • W 离线
    W 离线
    wangfei9088 大神
    在 中回复了 来瓶热阔落 最后由 wangfei9088 编辑
    #6

    @来瓶热阔落
    有区别的,一个修正系数的差别。在heatTransferModel.C文件(~src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/)中,第47行先查询BirdCorrection是True或False,然后注意第92行判断BirdCorrection是否为真。如果为真,换热系数htc就乘以一个修正系数;如果为假,跳过if语句,也就是直接用这个公式:
    $ h=Nu*k/d $

    38 template<class CloudType>
    39 Foam::HeatTransferModel<CloudType>::HeatTransferModel
    40 (
    41     const dictionary& dict,
    42     CloudType& owner,
    43     const word& type
    44 )
    45 :
    46     CloudSubModelBase<CloudType>(owner, dict, typeName, type),
    47     BirdCorrection_(this->coeffDict().lookup("BirdCorrection"))
    48 {}
    
    78 template<class CloudType>
    79 Foam::scalar Foam::HeatTransferModel<CloudType>::htc
    80 (
    81     const scalar dp,
    82     const scalar Re,
    83     const scalar Pr,
    84     const scalar kappa,
    85     const scalar NCpW
    86 ) const
    87 {
    88     const scalar Nu = this->Nu(Re, Pr);
    89
    90     scalar htc = Nu*kappa/dp;
    91
    92     if (BirdCorrection_ && (mag(htc) > rootVSmall) && (mag(NCpW) > rootVSmall))
    93     {
    94         const scalar phit = min(NCpW/htc, 50);
    95         if (phit > 0.001)
    96         {
    97            htc *= phit/(exp(phit) - 1.0);
    98         }
    99     }
    100
    101     return htc;
    102 }
    
    来 1 条回复 最后回复
  • 来 离线
    来 离线
    来瓶热阔落
    在 中回复了 wangfei9088 最后由 编辑
    #7

    @wangfei9088 非常感谢:xinxin3:

    1 条回复 最后回复

  • 登录

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