Navigation

    CFD中文网

    CFD中文网

    • Login
    • Search
    • 最新
    1. Home
    2. zhe
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Groups

    zhe

    @zhe

    83
    Posts
    94
    Profile views
    4
    Followers
    0
    Following
    Joined Last Online

    zhe Follow

    Best posts made by zhe

    This user hasn't posted anything yet.

    Latest posts made by zhe

    • RE: 关于网格内particle的平均速度求解

      @星星星星晴 我是写在了cloud里面,因为在cloud里我会用到这个平均速度。但是感觉不对,一加进去这段,我的粒子就静止不动,连重力的影响都没有了。感觉好像出速度是0,然后就一直保持0了似的。

      posted in OpenFOAM
      zhe
      zhe
    • 关于网格内particle的平均速度求解

      大家好,如题,想要得到网格内的平均速度。我编写的是类似这样的,但是得到的不是网格内的平均速度,麻烦有经验的朋友给更正一下,谢谢。

      forAllIter(typename CloudType, this->owner(), iter)
      {
          typename CloudType::parcelType& p = iter();
          const label cellI = p.cell();
          const fvMesh& mesh = this->owner().mesh();
      
          // average velocity of the lagrangian particle [m/s]
          volVectorField particleAverageVelocity
          (
              IOobject
              (
                  "particleAverageVelocity",
                  this->owner().db().time().timeName(),
                  mesh,
                  IOobject::NO_READ,
                  IOobject::AUTO_WRITE
              ),
              mesh,
              dimensionedVector("zero", dimVelocity*dimMass/dimMass, vector::zero)
          );
      
          forAll(particleAverageVelocity,i)
          {
              particleAverageVelocity[i] +=p.nParticle()*p.mass()*p.U(); 
          }
          massTotal_ += p.nParticle()*p.mass();
          p.U() =(particleAverageVelocity[cellI] * (1.0/massTotal_));
      }
      posted in OpenFOAM
      zhe
      zhe
    • RE: 如何插值让一个point量等于cell center

      @李东岳 谢谢李老师,我试过mesh(),还是过不了。这相当于一种以cell为计算单位的简化。在一些粒子数量级较大的情况下,可以应用。

      posted in OpenFOAM
      zhe
      zhe
    • RE: 如何获得cell里的parcel数量,得到总的体积?

      @小考拉 你好,谢谢你的回复。我的邮件是zhecao1990@gmail.com。你可以发邮件咱们互相交流一下。

      posted in OpenFOAM
      zhe
      zhe
    • RE: 如何获得cell里的parcel数量,得到总的体积?

      @zhe 更新一下,我发现在KinematicCloudI.H中可以直接得到每个cell里的总质量,也可以直接得到总体积theta。但是,我也有了新的的问题,我不知道怎么调取theta。错误提示是:error: ‘theta’ was not declared in this scope
      我刚开始在头文件中加了#include "KinematicCloudI.H",但是提示重复命名里面所有的项。如果去掉,就显示error: ‘theta’ was not declared in this scope了。希望哪位知道的,能帮忙给个提示。谢谢啦!

      posted in OpenFOAM
      zhe
      zhe
    • 如何获得cell里的parcel数量,得到总的体积?

      我的目的是获取每个cell的parcel数量,从而得到总的parcel的体积。
      有个想法,通过求取网格内粒子的总质量,除以统一的粒子密度,得到总的体积。不知道这个code怎么写?
      或者可不可以直接提取网格内体积分数theta,然后求得总质量。

      不知道哪种方法才能实现,希望得到一些编写code的指导。非常感谢。

      posted in OpenFOAM
      zhe
      zhe
    • 什么是referred particles
          //- Interactions between real and referred (off processor) particles
          void realReferredInteraction();
      

      请问,在pairCollision中提到的referred particles 具体指什么?谢谢。

      posted in OpenFOAM
      zhe
      zhe
    • RE: 如何插值让一个point量等于cell center

      @李东岳 谢谢李老师的回复。我试了一下,但是出现了error,麻烦你给再看一下。

      9452bc11-2dfb-4f00-a344-e4d60bd3b418-image.png

      还有一个问题,您最后的pU是随意命名的,还是只指代速度U?我只是想把碰撞的点固定在网格中心,谢谢。

      posted in OpenFOAM
      zhe
      zhe
    • trackPart ParcelType::trackingData::在哪里被定义?

      目前在看parcel track的时候,在不同类的parcel中总会有不同的trackPart。
      比如基本的tpLinearTrack:

      trackPart  	part = ParcelType::trackingData::tpLinearTrack 
      

      还有MPPIC

      class trackingData
      :
          public ParcelType::trackingData
      {
      
      public:
      
          enum trackPart
          {
              tpLinearTrack,
              tpDampingNoTrack,
              tpPackingNoTrack,
              tpCorrectTrack,
          };
      

      这些在哪个原文件被定义的?还是说这些都是在不同类型parcel里分别被定义的?

      希望能得到回复,谢谢!

      posted in OpenFOAM
      zhe
      zhe
    • 如何插值让一个point量等于cell center

      大家好,目前遇到一个难题,希望有经验的朋友帮忙解释一下,谢谢。

      const objectRegistry& mesh();
      const volVectorField& U =  mesh().lookupObject<volVectorField>("U");
      const volVectorField& centers = U.mesh().C();
      const point pos; 
      
      pointVectorField pos =  volPointInterpolation::interpolate(centers);
      

      像上面显示的,我调用了mesh的方程,得到每个cell的center。然后想令一个point形式的pos等于这个centers。由于field的类型不同,不知道该怎么做,希望得到帮助。

      posted in OpenFOAM
      zhe
      zhe