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. 请教在自开发AMR求解器中应用cyclic边界条件报错

请教在自开发AMR求解器中应用cyclic边界条件报错

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

    各位前辈,我在自适应(AMR)求解器中,对左侧点火端开口,前后面设置为cyclic周期性边界条件,其他面为壁面的算例进行计算时,出现如下报错:

    [14]     Compared coord: (0.0159 0 0.0009) at index 402 with difference to point 0.008
    [14] processorPolyPatch::order : Writing faces to OBJ file procBoundary14to0throughbackwall_faces.obj
    [14] processorPolyPatch::order : Dumping newly found match as lines between corresponding face centres to OBJ file "/home/customer/Desktop/cyclicTest_zhu/3D-H2-initial-mpi-combustion/processor14/procBoundary14to0throughbackwall_faceCentresConnections.obj"
    [14] --> FOAM Serious Error : 
    [14]     From function processorPolyPatch::order(const primitivePatch&, labelList&, labelList&) const
    [14]     in file meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.C at line 1015
    [14]     in patch:procBoundary14to0throughbackwall : Cannot match vectors to faces on both sides of patch
    [14]     masterCtrs[0]:(0.0001 0 0.0001)
    [14]     ctrs[0]:(0.0001 0.008 0.0001)
    [14]     Check your topology changes or maybe you have multiple separated (from cyclics) processor patches
    [14]     Continuing with incorrect face ordering from now on
    Refined from 49761 to 50139 cells.
    Selected 21 split points out of a possible 4247.
    [0] 
    [0] 
    [0] --> FOAM FATAL ERROR: 
    [0] Problem. Cannot find (13 452) or 877 (0.0001 0 0.0006) in 1((877 13))
    remoteTransformI:-1
    localTransformI:13
    [0] 
    [0]     From function globalMeshData::findTransform(..)
    [0]     in file meshes/polyMesh/globalMeshData/globalMeshData.C at line 848.
    [0] 
    FOAM parallel run aborting
    [0] 
    [0] #0  Foam::error::printStack(Foam::Ostream&) at ??:?
    [0] #1  Foam::error::abort() at ??:?
    [0] #2  Foam::globalMeshData::findTransform(Foam::List<Foam::Pair<int> > const&, Foam::Pair<int> const&, int) const at ??:?
    [0] #3  Foam::globalMeshData::calcGlobalEdgeSlaves() const at ??:?
    [0] #4  Foam::globalMeshData::globalEdgeSlavesMap() const at ??:?
    [0] #5  void Foam::syncTools::syncEdgeList<int, Foam::maxEqOp<int>, Foam::mapDistribute::transform>(Foam::polyMesh const&, Foam::List<int>&, Foam::maxEqOp<int> const&, int const&, Foam::mapDistribute::transform const&) at ??:?
    [0] #6  Foam::removeFaces::setRefinement(Foam::List<int> const&, Foam::List<int> const&, Foam::List<int> const&, Foam::polyTopoChange&) const at ??:?
    [0] #7  Foam::hexRef8::setUnrefinement(Foam::List<int> const&, Foam::polyTopoChange&) at ??:?
    [0] #8  Foam::dynamicRefineFvMesh::unrefine(Foam::List<int> const&) at ??:?
    [0] #9  Foam::dynamicRefineFvMesh::update() at ??:?
    [0] #10  ? at ??:?
    [0] #11  __libc_start_main in "/lib64/libc.so.6"
    [0] #12  ? at ??:?
    

    模型如下
    photo.jpg
    周期性边界:
    cyclicface.jpg
    我的Boundary文件是这样的:

    boundary
    (
         outlet
         {
            type patch;
            faces  
            (
               (0 4 7 3)
            );
          }
         
    
         endwall
         { 
            type patch;
            faces  
            (
               (1 2 6 5)
    	   
            );
          }
    
         upperwall
         { 
            type wall;
            faces  
            (
               (4 5 6 7)
    	   
            );       
          }
    
         lowerwall
         { 
            type wall;
            faces  
            (
               (0 3 2 1)
    	   
            );       
          }
    
         frontwall
         { 
            type cyclic;  
            faces  
            (
               (0 1 5 4)
            );
            neighbourPatch backwall;
         }
    
         backwall
         { 
            type cyclic;        
            faces  
            (
               (6 2 3 7)
            );
         neighbourPatch frontwall;
          }
    
    ); 
    
                                         
    mergePatchPairs                      
    (   
    	                            
    );
    

    我目前怀疑是因为网格不断加密后,由于数据的传输出现问题导致,有没有遇到过类似问题可以一起讨论一下的。

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

    单核是可以运行的,但是一旦并行运算就会报错。

    K 1 条回复 最后回复
  • 田畔的风田 离线
    田畔的风田 离线
    田畔的风 神
    写于 最后由 编辑
    #3

    Cyclic似乎只适合几何拓扑一致的网格边界吧,你这种情况用cyclicAMI边界可能会好一些。

    L 1 条回复 最后回复
  • L 离线
    L 离线
    luca
    在 中回复了 田畔的风 最后由 编辑
    #4

    @田畔的风 您好,请问您有设置cyclicAMI的相关案例么,能参考下吗?

    1 条回复 最后回复
  • K 离线
    K 离线
    kuangyonglin
    在 中回复了 luca 最后由 编辑
    #5

    @luca 在 请教在自开发AMR求解器中应用cyclic边界条件报错 中说:

    单核是可以运行的,但是一旦并行运算就会报错。

    我在使用并行计算时也遇见了相同的问题,题主解决了吗?

    e-mail: kuangyonglin@foxmail.com

    1 条回复 最后回复

  • 登录

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