Navigation

    CFD中文网

    CFD中文网

    • Login
    • Search
    • 最新

    reactingParcelFoam中颗粒间碰撞参数

    OpenFOAM
    4
    7
    1093
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • 书生kao
      书生kao last edited by

      开门见山,问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 Reply Last reply Reply Quote
      • 书生kao
        书生kao last edited by

        错误信息:

        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 Reply Last reply Reply Quote
        • bestucan
          bestucan 版主 副教授 last edited by

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

          错误信息就是未定义的函数、类型,总之就是用了什么东西但没找到定义。可能是头文件少了,可能是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/blob/master/README-zh_CN.md

          1 Reply Last reply Reply Quote
          • 书生kao
            书生kao last edited by

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

            想得有点简单了,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 Reply Last reply Reply Quote
            • 来
              来瓶热阔落 last edited by

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

              W 1 Reply Last reply Reply Quote
              • W
                wangfei9088 @来瓶热阔落 last edited by wangfei9088

                @来瓶热阔落
                有区别的,一个修正系数的差别。在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 Reply Last reply Reply Quote
                • 来
                  来瓶热阔落 @wangfei9088 last edited by

                  @wangfei9088 非常感谢:xinxin3:

                  1 Reply Last reply Reply Quote
                  • First post
                    Last post

                  CFD中文网 | 东岳流体 | 京ICP备15017992号-2