/beegfs/hackathon/users/eoseret/qaas_runs_test/178-663-3083/intel/CoMD/build/CoMD/CoMD/src-openmp/initAtoms.c: 67 - 109
--------------------------------------------------------------------------------

67: {
68:    const real_t* localMin = s->domain->localMin; // alias
[...]
82:       begin[ii] = floor(localMin[ii]/lat);
83:       end[ii]   = ceil (localMax[ii]/lat);
84:    }
85: 
86:    real_t px,py,pz;
87:    px=py=pz=0.0;
88:    for (int ix=begin[0]; ix<end[0]; ++ix)
89:       for (int iy=begin[1]; iy<end[1]; ++iy)
90:          for (int iz=begin[2]; iz<end[2]; ++iz)
91:             for (int ib=0; ib<nb; ++ib)
92:             {
93:                real_t rx = (ix+basis[ib][0]) * lat;
94:                real_t ry = (iy+basis[ib][1]) * lat;
95:                real_t rz = (iz+basis[ib][2]) * lat;
96:                if (rx < localMin[0] || rx >= localMax[0]) continue;
97:                if (ry < localMin[1] || ry >= localMax[1]) continue;
98:                if (rz < localMin[2] || rz >= localMax[2]) continue;
99:                int id = ib+nb*(iz+nz*(iy+ny*(ix)));
100:                putAtomInBox(s->boxes, s->atoms, id, 0, rx, ry, rz, px, py, pz);
101:             }
102: 
103:    // set total atoms in simulation
104:    startTimer(commReduceTimer);
105:    addIntParallel(&s->atoms->nLocal, &s->atoms->nGlobal, 1);
106:    stopTimer(commReduceTimer);
107: 
108:    assert(s->atoms->nGlobal == nb*nx*ny*nz);
109: }
