AFEPack
命名空间 | 组合类型 | 函数
MPI::Periodic命名空间参考

命名空间

namespace  details

组合类型

struct  PointDistance

函数

template<class FOREST >
void readConfigFile (FOREST &forest, const std::string &file)
template<class FOREST >
void periodizeForest (FOREST &forest)
template<class FOREST >
void periodizeForest (FOREST &forest, const std::string &file)

函数文档

template<class FOREST >
void MPI::Periodic::periodizeForest ( FOREST &  forest)

分析出几何遗传树中所有几何体的周期型共享入口。实现的方法为:

1. 将每一维上的所有边界标识为 bnd_mark 的几何体搜集起来; 2. 进程间交换数据; 3. 对每一维的几何体从低维到高维进行比较,对满足周期条件的几何 体进行匹配;

此处的计算量是每一维标识的几何体个数的平方,是比较费时间的算法。 整个匹配的计算量如下:假定总共有P个进程,在秩n进程上,有A_{D,n} 个D-维几何体边界标识为 bnd_mark,则在秩n进程上进行匹配的计算量为

{D=0}^DIM {m=0}^P A_{D,n}*A_{D,m}

秩n进程接收和发送的整个数据通讯的量分别为

{D=0}^DIM {m=0}^P A_{D,m}

{D=1}^DIM P*A_{D,n}

对背景网格中的周期几何体进行收集

对周期几何体进行匹配

template<class FOREST >
void MPI::Periodic::periodizeForest ( FOREST &  forest,
const std::string &  file 
)

对内存中的几何遗传树,根据说明网格的周期结构的文本型配置文件,并 分析和建立所有周期型共享入口。

读入配置文件

template<class FOREST >
void MPI::Periodic::readConfigFile ( FOREST &  forest,
const std::string &  file 
)

几何遗传树读入匹配器中的周期的值。