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. 网格节点编号问题

网格节点编号问题

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

    我输出cellPoints,发现六面体单元的节点编号时按照从小到大的顺序输出的:
    0_1539071368355_686b3663-9389-4bc1-8e0a-8a63fb20991c-image.png
    其顺序与用户指南上的顺序不一致:
    0_1539071386779_c90b4782-af7c-4c5f-b697-376c7c505154-image.png

    请教如何才能输出与上图对应的节点顺序的cellPoints文件 ?

    队长别开枪队 1 条回复 最后回复
  • 队长别开枪队 离线
    队长别开枪队 离线
    队长别开枪 超神
    在 中回复了 piteqiu 最后由 编辑
    #2

    @piteqiu This forms the basis for the input syntax for the blockMesh mesh generator, described in section 5.3.
    OpenFOAM的网格数据结构是基于faces的,由faces链接points节点坐标, owner以及neighbour单元信息。单独给出cellPoints是没法确定这个单元的节点分布的。

    piteqiuP 1 条回复 最后回复
  • piteqiuP 离线
    piteqiuP 离线
    piteqiu
    在 中回复了 队长别开枪 最后由 编辑
    #3

    @队长别开枪 请教一个信息遍历问题:cellEdges输出信息如下:
    0_1539154523089_f4abd0a6-6679-4f2a-9b5e-5a7e2551c80a-image.png
    第一行为单元个数,接下来是每个单元含有的edge数及edge的具体编号。
    请教一下如何遍历所有单元,获得每个单元包含的edge?
    我知道遍历patch获得其开始编号和大小可以按照下述代码:

      const polyMesh& patches = mesh.boundaryMesh();
    
      forAll(patches, patchi)
        {
          const polyPatch& pp = patches[patchi];
    
          Info << patchi << '\t' << pp.start() << '\t' << pp.size() << endl;
    
        }
    

    我自己参照utility写了一个,运行出错:

      const polyMesh& mesh;
      const labelList& cellLabels;
      forAll(cellLabels, i)
        {
            label celli = cellLabels[i];
    
            const labelList& cEdges = mesh.cellEdges()[celli];
    
            forAll(cEdges, cEdgeI)
            {
                const edge& e = mesh.edges()[cEdges[cEdgeI]];
    
                Info<<e[0]<<e[1]<<nl;
            }
        }
    

    请教如何遍历单元获得单元包含edge?

    1 条回复 最后回复
  • piteqiuP 离线
    piteqiuP 离线
    piteqiu
    写于 最后由 编辑
    #4

    没人有类似的需求?

    1 条回复 最后回复

  • 登录

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