AFEPack
|
命名空间 | |
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) |
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}
对背景网格中的周期几何体进行收集
对周期几何体进行匹配
void MPI::Periodic::periodizeForest | ( | FOREST & | forest, |
const std::string & | file | ||
) |
对内存中的几何遗传树,根据说明网格的周期结构的文本型配置文件,并 分析和建立所有周期型共享入口。
读入配置文件
void MPI::Periodic::readConfigFile | ( | FOREST & | forest, |
const std::string & | file | ||
) |
几何遗传树读入匹配器中的周期的值。