有没有办法分割由 20 个节点六面体元素组成的网格以进行并行处理?我使用 METIS 对具有 8 个节点的六面体元素的网格进行分区,效果很好,但我不知道如何将其扩展到 20 个节点的元素网格。
我的 Fortran 代码如下,它适用于 4 节点四边形和 8 节点六边形网格,但是当我使用 20 节点元素时它会出错
分段故障
代码
子程序 split_domain(细胞、节点、拓扑、nprocs、epart)
隐式无
!=================================================== ======= 整数,intent(in)::cells,nodes,topol(cells,20),nprocs
整数,意图(出)::epart(细胞)
整数::ne, nn
整数::eptr(细胞+1),eind(20 *细胞),npart(节点)
整数::ncommon,nparts,objval
整数、指针 ::vwgt、vsize、tpwgts、选项
整数::j
!=================================================== =======
ne=细胞;nn=节点;eptr(1)=1
做 j=1,ne
eind(20*j-19:20*j)=topol(j,:)
eptr(j+1)=eptr(j)+20
结束
ncommon=1;nparts=nprocs
调用 METIS_PartMeshDual (ne,nn,eptr,eind,vwgt,vsize,ncommon,nparts,tpwgts,options,objval,epart,npart)
结束子程序 split_domain