Navigation

    CFD中文网

    CFD中文网

    • Login
    • Search
    • 最新

    DPM粒子受力分析

    OpenFOAM
    1
    1
    393
    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.
    • U
      upc_ngh last edited by

      在DPM中粒子所受力例如重力、虚拟质量力等都是通过forceSuSp中的vector Su以及scalar Sp来决定的,最后通过KinematicParcel.C来计算Fcp以及Fncp(这个地方是每个力单独耦合求解速度还是把所有的力都考虑进来一起耦合),不知道理解的对不对,现在我想要把每个粒子的单独受力比如重力、虚拟质量力等都单独写出来,不知道各位老师有没有什么办法去实现?Ps:我看另一个帖子中写到F=Su*(U-Ud)+Sp.这个是在哪里出现的我也没找到,Ud是啥,可以直接用吗?

      这是单独一个力的以重力为例:

      template<class CloudType>
      Foam::forceSuSp Foam::GravityForce<CloudType>::calcNonCoupled
      (
          const typename CloudType::parcelType& p,
          const scalar dt,
          const scalar mass,
          const scalar Re,
          const scalar muc
      ) const
      {
          forceSuSp value(Zero, 0.0);
      
          value.Su() = mass*g_*(1.0 - p.rhoc()/p.rho());//这里求出来Su
      
          return value;
      }
      

      这是KinematicParcel.C出现通过力算速度的:

      const forceType& forces = td.cloud().forces();
      //这是最后粒子受力耦合求解速度
          // Momentum source due to particle forces
          const parcelType& p = static_cast<const parcelType&>(*this);
      //这个地方是每个力单独耦合求解速度还是把所有的力都考虑进来一起耦合??
          const forceSuSp Fcp = forces.calcCoupled(p, dt, mass, Re, mu);
          const forceSuSp Fncp = forces.calcNonCoupled(p, dt, mass, Re, mu);
          const forceSuSp Feff = Fcp + Fncp;
          const scalar massEff = forces.massEff(p, mass);
          // New particle velocity
          //~~~~~~~~~~~~~~~~~~~~~~
          // Update velocity - treat as 3-D
          const vector abp = (Feff.Sp()*Uc_ + (Feff.Su() + Su))/massEff;
          const scalar bp = Feff.Sp()/massEff;
      
          Spu = dt*Feff.Sp();
      
          IntegrationScheme<vector>::integrationResult Ures =
              td.cloud().UIntegrator().integrate(U_, dt, abp, bp);
      
          vector Unew = Ures.value();
      
      1 Reply Last reply Reply Quote
      • First post
        Last post

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