fortran - omp sum reduction not updating variable -


i having issues using openmp sum reduction in code.

en_par = 0.0d0

!$omp parallel reduction(+:en_par) default(private) shared(r,listvar,it,ic)    !--- loop on neighboring cells cell_index = 1,26            !-- new_cell int. neighbor of cell ic    new_cell = listvar%cv(cell_index,ic)%cnum     !--- loop on atoms in cell neigh_cell    j = 1, listvar%cl(new_cell)%num        !--- pick particle in cell list       !--- particle integer       particle = listvar%cl(new_cell)%cmem(j)        !--- obtain displacements       !--- apply minimum image here       !--- min variables doubls       dx = r(1,particle)-r(1,it)-listvar%cv(cell_index,ic)%min_x       dy = r(2,particle)-r(2,it)-listvar%cv(cell_index,ic)%min_y       dz = r(3,particle)-r(3,it)-listvar%cv(cell_index,ic)%min_z        dxmin = r(1,particle)-r(1,it)       dymin = r(2,particle)-r(2,it)       dzmin = r(3,particle)-r(3,it)         dr2 = dx*dx+dy*dy+dz*dz       if(dr2.lt.param%rcut2)then           dr2i  = 1.0d0/dr2          dr6i  = dr2i*dr2i*dr2i          dr12i = dr6i*dr6i          en_par = en_par + dr12i-dr6i         endif    enddo     print*,'enpar inside',en_par       enddo !$omp end parallel 

whenever compile , run using -fopenmp, en_par printed screen 0.0. when ran in serial execution, value not zero. can tell me why?

the reduction variable (here en_par) not valid access inside parallel do, have print after finishes.


Comments

Popular posts from this blog

c++ - OpenCV Error: Assertion failed <scn == 3 ::scn == 4> in unknown function, -

php - render data via PDO::FETCH_FUNC vs loop -

The canvas has been tainted by cross-origin data in chrome only -