尽管主要计算在compfluidfem.c中进行,但有一个例程放置在nonlingeo.c的开头,用于收集拓扑信息,这些信息不会因结构组件的变形而改变(在流固耦合计算中)。这些信息包括:
- 存储网格的所有外部面(即仅属于一个单元的面)在字段nelemface(单元编号)和sideface(面编号)中。字段nelemface按升序排序。面编号对应于第6.11.2节中的载荷面编号。
- 按升序存储所有固体表面节点在字段isolidsurf中。固体表面节点是所有速度分量都被规定为零的节点。固体表面节点属于网格的外部面。固体表面节点的流内邻居存储在字段neighsolidsurf中,两者之间的距离存储在字段xsolidsurf中。距离是一个几何实体,在initialcfdfem.f例程中确定。
- 按升序存储所有自由流节点在字段ifreestream中。自由流节点是属于外部面但不是固体表面节点且不属于循环MPC的节点。
- 确定给定节点所属的流体单元,并将其存储在字段iponoel和inoel中。对于给定节点i,它所属的一个流体单元存储在inoel(1,iponoel(i))中。inoel(3,iponoel(i))是一个指向字段inoel的指针,指向该节点所属的另一个流体单元。继续此操作,直到inoel(3,inoel(3,inoel(3.....inoel(3,iponoel(i))))))为零。
图185:
液体流程图
 |
图186:
可压缩流体TION>
流程图 |