TABLE OF CONTENTS
ABINIT/m_pretty_rec [ Modules ]
NAME
m_pretty_rec
FUNCTION
This module provides some minor functions applied in the recursion
COPYRIGHT
Copyright (C) 2002-2024 ABINIT group (XG) This file is distributed under the terms of the GNU General Public License, see ~abinit/COPYING or http://www.gnu.org/copyleft/gpl.txt . For the initials of contributors, see ~abinit/doc/developers/contributors.txt.
NOTES
SOURCE
21 #if defined HAVE_CONFIG_H 22 #include "config.h" 23 #endif 24 25 #include "abi_common.h" 26 27 28 MODULE m_pretty_rec 29 30 use defs_basis 31 use m_abicore 32 33 implicit none 34 35 private 36 37 public :: prtwork ! calculate the work done during recursion 38 39 interface prtwork 40 module procedure prtworksim 41 module procedure prtworksiRe 42 module procedure prtworkadv 43 end interface prtwork 44 45 CONTAINS !===========================================================
m_pretty_rec/prtworkadv [ Functions ]
[ Top ] [ m_pretty_rec ] [ Functions ]
NAME
prtworkadv
FUNCTION
Calculate the work done during recursion
INPUTS
counter
SIDE EFFECTS
OUTPUT
SOURCE
138 subroutine prtworkadv(work_now,adv) 139 140 implicit none 141 142 !Arguments ------------------------------------ 143 ! scalars 144 integer,intent(in) :: work_now 145 character(1),intent(in) ::adv 146 ! arrays 147 !Local --------------------------- 148 integer,save :: work_done=0, first_wk=0 149 ! ********************************************************************* 150 if(adv /= 'no' .or. adv/='yes' ) then 151 write(std_out, "(a,i3,i3)")'nn' 152 end if 153 if(work_now >=100 .and. first_wk ==0) return 154 if(work_now == 0 .and. first_wk==0) then 155 write(std_out,"(a)")' work done: ' 156 first_wk=1 157 end if 158 if(mod(work_done-work_now,10)==0 .and. work_now/=work_done) then 159 work_done = work_now 160 !write(std_out, "(a,$)")'|' 161 write(std_out, "(a,i3,i3)")'work_done',work_done,work_now 162 if(work_done == 100) then 163 write(std_out,"(a)")' ' 164 first_wk = 0 165 work_done = 0 166 end if 167 endif 168 169 end subroutine prtworkadv
m_pretty_rec/prtworksim [ Functions ]
[ Top ] [ m_pretty_rec ] [ Functions ]
NAME
prtworksim
FUNCTION
Calculate the work done during recursion
INPUTS
counter
SIDE EFFECTS
OUTPUT
SOURCE
63 subroutine prtworksim(work_now) 64 65 implicit none 66 !Arguments ------------------------------------ 67 ! scalars 68 integer,intent(in) :: work_now 69 ! arrays 70 !Local --------------------------- 71 integer,save :: work_done=0 72 integer :: ii,pt 73 character(500) :: msg 74 ! ********************************************************************* 75 if(mod(work_done-work_now,5)==0 .and. work_now/=work_done .and. work_now <105) then 76 work_done = work_now 77 pt = work_done/5 78 write(msg,'(a,23a,i3,a)')'work done:',('-',ii=1,pt),(' ',ii=1,23-pt),work_done,'%' 79 call wrtout(std_out,msg,'COLL') 80 endif 81 82 end subroutine prtworksim
m_pretty_rec/prtworksiRe [ Functions ]
[ Top ] [ m_pretty_rec ] [ Functions ]
NAME
prtworksiRe
FUNCTION
Calculate the work done during recursion
INPUTS
counter
SIDE EFFECTS
OUTPUT
SOURCE
100 subroutine prtworksiRe(work_now) 101 102 implicit none 103 !Arguments ------------------------------------ 104 ! scalars 105 real(dp),intent(in) :: work_now 106 ! arrays 107 !Local --------------------------- 108 integer,save :: work_done=0 109 integer :: ii,pt,work_now_int 110 character(500) :: msg 111 ! ********************************************************************* 112 work_now_int = int(work_now) 113 if(mod(work_done-work_now_int,5)==0 .and. work_now_int/=work_done .and. work_now_int <105) then 114 work_done = work_now_int 115 pt = work_done/5 116 write(msg,'(a,23a,i3,a)')'work done:',('-',ii=1,pt),(' ',ii=1,23-pt),work_done,'%' 117 call wrtout(std_out,msg,'COLL') 118 endif 119 120 end subroutine prtworksiRe