Dendro  5.01
Dendro in Greek language means tree. The Dendro library is a large scale (262K cores on ORNL's Titan) distributed memory adaptive octree framework. The main goal of Dendro is to perform large scale multiphysics simulations efficeiently in mordern supercomputers. Dendro consists of efficient parallel data structures and algorithms to perform variational ( finite element) methods and finite difference mthods on 2:1 balanced arbitary adaptive octrees which enables the users to perform simulations raning from black holes (binary black hole mergers) to blood flow in human body, where applications ranging from relativity, astrophysics to biomedical engineering.
genPts_par.h
1 /*
2  *
3  * @author: Milinda Fernando
4  * School of Computing, University of Utah
5  * @date: 11/10/2015
6  *
7  *
8  * Contains the Normal(Gaussian) and Logarithmic normal random number (octants) generator based on new c+11 rand engines.
9  *
10  *
11  * */
12 
13 
14 #ifndef GEN_GAUSS_H
15 #define GEN_GAUSS_H
16 
17 
18 #include <iostream>
19 #include <iostream>
20 #include <random>
21 #include <chrono>
22 #include "dendro.h"
23 #include <mpi.h>
24 #include "TreeNode.h"
25 
26 void genGauss(const double& sd, const DendroIntL numPts, int dim, char * filePrefix,MPI_Comm comm);
27 void genGauss(const double& sd, const DendroIntL numPts, int dim,double *xyz);
28 void genLogarithmicGauss(const double& sd, const DendroIntL numPts, int dim, char * filePrefix);
29 void genUniformRealDis(const double& sd, const DendroIntL numPts, int dim,double *xyz);
30 void genLogarithmicGauss(const double& sd, const DendroIntL numPts, int dim,double *xyz);
31 void pts2Octants(std::vector<ot::TreeNode> & pNodes,double * pts, DendroIntL totPts, unsigned int dim ,unsigned int maxDepth);
32 
33 #endif