Advertisement

并行计算入门应用 MPI/OpenMP 于简单 NBody/多体问题

阅读量:

串行代码

首先是对基础的NBody程序进行编写,其中设定所有质点的质量保持一致。初始速度设定为零,而初始位置则按照均匀分布的方式进行安排。

大致结构如下(尺寸为16 * 16):

在这里插入图片描述

通过这种方式,能够将代码中的循环逻辑进行提炼,其中N代表系统中质点的总数(如上图所示,具体数值为256),在每次执行update操作时,依次对每个质点的受力情况(即加速度)、运动速度以及空间位置进行计算。

复制代码
    void update() {
    	for (int i = 0; i < N; i++)
    		force(i);
    	for (int i = 0; i < N; i++)
    		velocity(i);
    	for (int i = 0; i < N; i++)
    		position(i);
    }
    
    
      
      
      
      
      
      
      
      
    

为了实现数据的存储需求,有必要引入特定的数据结构,用于分别记录质

全部评论 (0)

还没有任何评论哟~