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. DPMFoam 计算时出现奇怪报错

DPMFoam 计算时出现奇怪报错

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

    最近在计算DPMFfoam时,出现了如下的报错

    Evolving kinematicCloud
    
    Solving 2-D cloud kinematicCloud
        23 move-collide subCycles
    
    
    --> FOAM FATAL ERROR: 
    Patch data was requested for a particle that isn't on a patch
    
        From function void Foam::particle::patchData(Foam::vector&, Foam::vector&) const
        in file particle/particle.C at line 941.
    
    FOAM exiting
    

    我在kinematicCloudProperties中设置了粒子间的碰撞和一些cloudFunctions,具体如下

    pairCollisionCoeffs
        {
            maxInteractionDistance  1e-5;
    
            writeReferredParticleCloud no;
    
            pairModel pairSpringSliderDashpot;
    
            pairSpringSliderDashpotCoeffs
            {
                useEquivalentSize   no;
                alpha               0.12;
                b                   1.5;
                mu                  0.52;
                cohesionEnergyDensity 0;
                collisionResolutionSteps 12;
            };
    
            wallModel wallLocalSpringSliderDashpot;
    
            wallLocalSpringSliderDashpotCoeffs
            {
                useEquivalentSize no;
                collisionResolutionSteps 12;
                walls
                {
                    youngsModulus   2e10;
                    poissonsRatio   0.28;
                    alpha           0.12;
                    b               1.5;
                    mu              0.43;
                    cohesionEnergyDensity 0;
                }
                frontAndBack
                {
                    youngsModulus   2e10;
                    poissonsRatio   0.28;
                    alpha           0.12;
                    b               1.5;
                    mu              0.1;
                    cohesionEnergyDensity 0;
                }
            };
    
            U     U.water;
        }
    

    和

    cloudFunctions
    {
        patchPostProcessing1
        {
            type            patchPostProcessing;
            maxStoredParcels 100000;
            patches         ( outlet inlet walls);
        }
        particleTracks1
        {
            type            particleTracks;
            trackInterval   10;
            maxSamples      1000000;
            resetOnWrite    yes;
        }
        particleErosion1
        {
        type            particleErosion;
        p               11000000; //yield stress for aluminium = 11000000 Pa or 11 MPa
        psi             2;//Ratio of the depth of contact to the depth of cut (default value = 2 )
        K               2; //Ratio of vertical to horizontal force components (2 for angular abrassive grains)
        patches
          ( walls);       
       }  
    }
    

    我如果这两个均不设置,则没有问题。报错部分的源代码如下

    void Foam::particle::patchData(vector& n, vector& U) const
    {
        if (!onBoundaryFace())
        {
            FatalErrorInFunction
                << "Patch data was requested for a particle that isn't on a patch"
                << exit(FatalError);
        }
    

    请问有人知道这是什么问题吗?万分感谢!

    1 条回复 最后回复
  • ZYjZ 离线
    ZYjZ 离线
    ZYj
    写于 最后由 编辑
    #2

    后来我发现我的这个cloudFunctions和pairCollisionCoeffs 2选1的话就不会报错,但是有人能解释下为什么吗?如果两个都想要的话又该怎么设置呢?

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #3

    你把cloudFunctions取消没问题是吧?

    然后你把碰collision去掉,保留cloudFunction也没问题?

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    ZYjZ 1 条回复 最后回复
  • ZYjZ 离线
    ZYjZ 离线
    ZYj
    在 中回复了 李东岳 最后由 编辑
    #4

    @东岳 对的

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 李东岳 编辑
    #5

    更改下wall的壁面类型解决问题么,改成stick合适么?

    感觉是你的粒子腐蚀方面的问题,去掉后怎样

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    ZYjZ 1 条回复 最后回复
  • ZYjZ 离线
    ZYjZ 离线
    ZYj
    写于 最后由 编辑
    #6

    腐蚀不能去掉,目的就是算腐蚀。改成stick后会不会不符合实际呢?总之,我先改了试试。

    1 条回复 最后回复
  • ZYjZ 离线
    ZYjZ 离线
    ZYj
    在 中回复了 李东岳 最后由 编辑
    #7

    @东岳 wo我把除了inlet和outlet的patch都改为stick,然而一样的结果,一样的报错信息。

    1 条回复 最后回复

  • 登录

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