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. cannot find file /kinematiccloud/collisionrecordspairaccessed

cannot find file /kinematiccloud/collisionrecordspairaccessed

已定时 已固定 已锁定 已移动 OpenFOAM
40 帖子 3 发布者 25.0k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 zhe 最后由 编辑
    #27

    @zhe 还是得细细来分解,最后发现,在计算相互作用力时,openfoam不是按着公式来的,而是分开算的相对速度。

    // Calculate the integration coefficients
    const vector acp = (Fcp.Sp()*td.Uc() + Fcp.Su())/massEff;  
    const vector ancp = (Fncp.Su() + Su)/massEff;
    const scalar bcp = Fcp.Sp()/massEff;
    
    // Integrate to find the new parcel velocity
    const vector deltaU = cloud.UIntegrator().delta(U_, dt, acp + ancp, bcp);
    const vector deltaUncp = ancp*dt;
    const vector deltaUcp = deltaU - deltaUncp;
    

    在这里可以看到的是,在计算粒子的速度总变化量时,引用里积分公式,根据自己选择的不同模型,得出不同的delta。大多是选择的Euler哈。将后面的4中参量带进去就可以看出来,这里面分别包含betaUf 和 -betaUp. 希望迷糊的朋友能放宽心用哈。

    星 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 zhe 最后由 编辑
    #28

    @zhe 牛皮啊,不懂就问,什么事里积分公式?
    另外论坛支持 $\LaTeX$

    游荡

    zheZ 1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 星星星星晴 最后由 编辑
    #29

    @星星星星晴 打错字了,哈哈哈。Linux上面下载的中文输入法总出错。就是IntegrationScheme.

    星 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 zhe 最后由 编辑
    #30

    @zhe 是 linux上确实输入法什么的比较蛋疼,我都是连单位cluster上算,然后本地处理,win mac都用。

    游荡

    zheZ 1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 星星星星晴 最后由 编辑
    #31

    @星星星星晴 是的是的。提到cluster,想请问你平时怎么把数据导出来的,有没有什么快的办法?我每次都很多files,光导出来就要很久。

    星 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 zhe 最后由 编辑
    #32

    @zhe 没办法,这玩意是小文件导致的,无法解决,freefilesync 慢慢导呗,服务器上parallel reconstruct 然后就这样了

    游荡

    zheZ 1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 星星星星晴 最后由 编辑
    #33

    @星星星星晴 好的,看来也是这样了。谢谢啊。有问题再请教!

    1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    写于 最后由 编辑
    #34

    @星星星星晴 又要麻烦了。我想不通一个问题。我想要精确一下我的drag的coef在特殊环境下计算结果。我用的case很简单,就是一个粒子从空气自由释放,落到水里,达到它的settling velocity。由于我只添加drag和gravity,在中间想要输出Fcp.Sp(),在KinematicParcel.C 中 加了Info << "Fcp.Sp() = " << Fcp.Sp() << endl;
    也就是drag的coef。但是却不会输出。我是用的collidingCloud,在motion里应该就是这个运动方程了。

    td.part() = parcelType::trackingData::tpLinearTrack;
    CloudType::move(cloud, td, deltaT);
    

    粒子运动的轨迹看起来是没问题的。如果不是在KinematicParcel.C 输出Fcp.Sp(), 那怎么可能会计算力的作用?为什么不输出我想要的那个呢?
    还有一个现象,当我的case包含粒子数目很多时,它却可以输出。希望你有时间了帮忙解惑,谢谢!

    星 2 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 zhe 最后由 编辑
    #35

    @zhe 在 cannot find file /kinematiccloud/collisionrecordspairaccessed 中说:

    粒子运动的轨迹看起来是没问题的。如果不是在KinematicParcel.C 输出Fcp.Sp(), 那怎么可能会计算力的作用?为什么不输出我想要的那个呢?
    还有一个现象,当我的case包含粒子数目很多时,它却可以输出。希望你有时间了帮忙解惑,谢谢!

    你是serial 还是parallel ? 有没有试过Pout 或者Cout
    Pout 配合 mpirunDebug.

    4.2.1 mpirunDebug
    Is a bash script which can start each process of the parallel run in an extra gdb session. This script can easily extended to start a gdb frontend for each process (download patched mpirunDebug file). Once this is done you'll get a separate GUI instance for each process, where you can set breakpoints etc. separately. This behaviour is similar to Totalview. Maybe one can utilise the session features from the GUI's in order to remember e.g. breakpoints.
    
    mpirunDebug -np 2 xxxFoam -parallel
    

    说实话,我没有考虑过这些,因为我只看有没有UTrans这个field有没有值,我没考虑过这些,我做喷雾的,用那种验证过drag model就好,没你这个那么仔细,或者你去drag force那边输出试试呢

    游荡

    zheZ 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 zhe 最后由 编辑
    #36

    @zhe 查了之前同事的code,他们有在 ParticleForces里面的calcCoupled中输出Su 和Sp 这样你就单独知道某一个力的作用了。
    就是用的Info

    游荡

    1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 星星星星晴 最后由 编辑
    #37

    @星星星星晴 感谢这么快回复啊。我也是看UTans,但是drag的coef的准确性很影响UTrans的大小。之前给你说过,我做的粒子浓度很大,那么UTans的阻挡效果就需要有个准确的值。
    问题解决了,你提醒了我,一个粒子该用单核计算的。否则就会进入Coud.C的move里。感谢感谢。我用单核计算了一下,结果是显示的!看来不知道,真得马上问。

    星 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 zhe 最后由 编辑
    #38

    @zhe 哈哈 别客气我也是遇到了问题呢,我输出的field,总有乱码,很闹心。
    都是探讨,我也是经历过Info这样的问题,
    如果你用Pout配合mpirundebug 会有奇效~

    @zhe 在 cannot find file /kinematiccloud/collisionrecordspairaccessed 中说:

    @星星星星晴 感谢这么快回复啊。我也是看UTans,但是drag的coef的准确性很影响UTrans的大小。之前给你说过,我做的粒子浓度很大,那么UTans的阻挡效果就需要有个准确的值。

    所以这个你应该在particleForce里面输出,不是到kinematicparcel中输出,不然你咋知道哪个部分是gravity 哪个部分是drag呢

    游荡

    zheZ 1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 星星星星晴 最后由 编辑
    #39

    @星星星星晴 Pout配合mpirundebug是怎么使用啊?我还是第一次知道。
    是的,你说的对,如果说考虑了很多种力,那么需要单独在力的文件中输出。但是如果只是像我这样验证单独力的作用效果,在kinematicParcel.C里把cp和ncp分别输出就可以知道一个耦合力和非耦合力的大小了。

    星 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 zhe 最后由 编辑
    #40

    @zhe Pout 是processer输出的 mpirundebug 这样的话 就并行debug了 你试试~就知道
    还是info最直接

    游荡

    1 条回复 最后回复

  • 登录

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