time_spent_on_particles Subroutine

public subroutine time_spent_on_particles()

Uses

  • proc~~time_spent_on_particles~~UsesGraph proc~time_spent_on_particles time_spent_on_particles module~mod_global_parameters mod_global_parameters proc~time_spent_on_particles->module~mod_global_parameters module~mod_timing mod_timing proc~time_spent_on_particles->module~mod_timing module~mod_basic_types mod_basic_types module~mod_global_parameters->module~mod_basic_types module~mod_connectivity mod_connectivity module~mod_global_parameters->module~mod_connectivity module~mod_constants mod_constants module~mod_global_parameters->module~mod_constants module~mod_physicaldata mod_physicaldata module~mod_global_parameters->module~mod_physicaldata module~mod_variables mod_variables module~mod_global_parameters->module~mod_variables mpi mpi module~mod_global_parameters->mpi module~mod_variables->module~mod_basic_types

Arguments

None

Calls

proc~~time_spent_on_particles~~CallsGraph proc~time_spent_on_particles time_spent_on_particles mpi_reduce mpi_reduce proc~time_spent_on_particles->mpi_reduce

Called by

proc~~time_spent_on_particles~~CalledByGraph proc~time_spent_on_particles time_spent_on_particles proc~main main proc~main->proc~time_spent_on_particles proc~timeintegration timeintegration proc~main->proc~timeintegration proc~timeintegration->proc~time_spent_on_particles program~agile agile program~agile->proc~main

Source Code

  subroutine time_spent_on_particles()
    use mod_timing
    use mod_global_parameters

    double precision :: tpartc_avg, tpartc_int_avg, tpartc_io_avg,&
        tpartc_com_avg, tpartc_grid_avg

    call MPI_REDUCE(tpartc,tpartc_avg,1,MPI_DOUBLE_PRECISION,MPI_SUM,0,icomm,&
       ierrmpi)
    call MPI_REDUCE(tpartc_int,tpartc_int_avg,1,MPI_DOUBLE_PRECISION,MPI_SUM,0,&
       icomm,ierrmpi)
    call MPI_REDUCE(tpartc_io,tpartc_io_avg,1,MPI_DOUBLE_PRECISION,MPI_SUM,0,&
       icomm,ierrmpi)
    call MPI_REDUCE(tpartc_com,tpartc_com_avg,1,MPI_DOUBLE_PRECISION,MPI_SUM,0,&
       icomm,ierrmpi)
    call MPI_REDUCE(tpartc_grid,tpartc_grid_avg,1,MPI_DOUBLE_PRECISION,MPI_SUM,&
       0,icomm,ierrmpi)

    if (mype ==0) then
      tpartc_avg      = tpartc_avg/dble(npe)
      tpartc_int_avg  = tpartc_int_avg/dble(npe)
      tpartc_io_avg   = tpartc_io_avg/dble(npe)
      tpartc_com_avg  = tpartc_com_avg/dble(npe)
      tpartc_grid_avg = tpartc_grid_avg/dble(npe)
      write(*,'(a,f12.3,a)')' Particle handling took     : ',tpartc,' sec'
      write(*,'(a,f12.2,a)')'                  Percentage: ',&
         100.0d0*tpartc/(timeloop+smalldouble),' %'
      write(*,'(a,f12.3,a)')' Particle IO took           : ',tpartc_io_avg,&
         ' sec'
      write(*,'(a,f12.2,a)')'                  Percentage: ',&
         100.0d0*tpartc_io_avg/(timeloop+smalldouble),' %'
      write(*,'(a,f12.3,a)')' Particle COM took          : ',tpartc_com_avg,&
         ' sec'
      write(*,'(a,f12.2,a)')'                  Percentage: ',&
         100.0d0*tpartc_com_avg/(timeloop+smalldouble),' %'
      write(*,'(a,f12.3,a)')' Particle integration took  : ',tpartc_int_avg,&
         ' sec'
      write(*,'(a,f12.2,a)')'                  Percentage: ',&
         100.0d0*tpartc_int_avg/(timeloop+smalldouble),' %'
      write(*,'(a,f12.3,a)')' Particle init grid took    : ',tpartc_grid_avg,&
         ' sec'
      write(*,'(a,f12.2,a)')'                  Percentage: ',&
         100.0d0*tpartc_grid_avg/(timeloop+smalldouble),' %'
    end if

  end subroutine time_spent_on_particles