Nodes of different colours represent the following:
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Source Code
subroutine select_active_particles(end_time)use mod_global_parametersdouble precision,intent(in)::end_timeinteger::ipart,iipartlogical::activatedouble precision::t_min_mypet_min_mype=bigdoublenparticles_active_on_mype=0do iipart=1,nparticles_on_mypeipart=particles_on_mype(iipart);activate=(particle(ipart)%self%time<end_time)t_min_mype=min(t_min_mype,particle(ipart)%self%time)if(activate)thennparticles_active_on_mype=nparticles_active_on_mype+1particles_active_on_mype(nparticles_active_on_mype)=ipartend if end do call MPI_ALLREDUCE(t_min_mype,min_particle_time,1,MPI_DOUBLE_PRECISION,&MPI_MIN,icomm,ierrmpi)end subroutine select_active_particles