⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pi_great_version.cc

📁 CFD First time code using gnuplot C++ and STL
💻 CC
字号:
#include <math.h> #include "mpi.h"  int main(int argc, char *argv[]) {     int n, rank, size, i;     double PI25DT = 3.141592653589793238462643;     double mypi, pi, h, sum, x;      MPI::Init(argc, argv);     size = MPI::COMM_WORLD.Get_size();     rank = MPI::COMM_WORLD.Get_rank();      while (1) { 	if (rank == 0) { 	    cout << "Enter the number of intervals: (0 quits)" 		 << endl; 	    cin >> n; 	}  	MPI::COMM_WORLD.Bcast(&n, 1, MPI::INT, 0); 	if (n==0) 	    break; 	else { 	    h = 1.0 / (double) n; 	    sum = 0.0; 	    for (i = rank + 1; i <= n; i += size) { 		x = h * ((double)i - 0.5); 		sum += (4.0 / (1.0 + x*x)); 	    } 	    mypi = h * sum;  	    MPI::COMM_WORLD.Reduce(&mypi, &pi, 1, MPI::DOUBLE, 				   MPI::SUM, 0); 	    if (rank == 0) 		cout << "pi is approximately " << pi 		     << ", Error is " << fabs(pi - PI25DT) 		     << endl; 	}     }     MPI::Finalize();     return 0; } 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -