24int main(
int argc,
char* argv[]) {
26 if (MPI_Init(&argc, &argv) != MPI_SUCCESS) {
31 MPI_Comm comm = MPI_COMM_WORLD;
33 int rank = 0, comm_size = 0;
34 MPI_Comm_rank(comm, &rank);
35 MPI_Comm_size(comm, &comm_size);
37 const dccrg::Dccrg<spatial_cell::SpatialCell,dccrg::Cartesian_Geometry> grid;
39 const uint dimension = 0;
43 const std::array<uint64_t, 3> grid_size = {{xDim,yDim,zDim}};
48 initializeGrid(argn,argc,grid,sysBoundaries,project);
53 bool doRefine =
false;
54 const std::array<uint,4> refinementIds = {{1,2,3,4}};
56 for(uint
i = 0;
i < refinementIds.size();
i++) {
57 if(refinementIds[
i] > 0) {
58 grid.refine_completely(refinementIds[
i]);
67 vector<CellID> seedIds;
68 vector<CellID> localPropagatedCells;
72 for (
CellID i = 0;
i < xDim * yDim * zDim;
i++) localPropagatedCells.push_back(
i + 1 );
73 get_seed_ids(grid, localPropagatedCells, dimension, seedIds);
74 for (
const auto seedId : seedIds) {
81 std::cout <<
"I have created " << pencils.N <<
" pencils along dimension " << dimension <<
":\n";
82 std::cout <<
"(x, y): indices " << std::endl;
83 std::cout <<
"-----------------------------------------------------------------" << std::endl;
84 for (uint
i = 0;
i < pencils.N;
i++) {
85 iend += pencils.lengthOfPencils[
i];
86 std::cout <<
"(" << pencils.x[
i] <<
", " << pencils.y[
i] <<
"): ";
87 for (
auto j = pencils.ids.begin() + ibeg;
j != pencils.ids.begin() + iend; ++
j) {
88 std::cout << *
j <<
" ";
91 std::cout << std::endl;
setOfPencils buildPencilsWithNeighbors(dccrg::Dccrg< grid_data > &grid, setOfPencils &pencils, CellID startingId, vector< CellID > ids, uint dimension, vector< uint > path)