TABLE OF CONTENTS


ABINIT/m_pretty_rec [ Modules ]

[ Top ] [ Modules ]

NAME

  m_pretty_rec

FUNCTION

  This module  provides some minor functions applied in the
  recursion

COPYRIGHT

 Copyright (C) 2002-2018 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

PARENTS

CHILDREN

SOURCE

26 #if defined HAVE_CONFIG_H
27 #include "config.h"
28 #endif
29 
30 #include "abi_common.h"
31 
32 
33 MODULE m_pretty_rec
34 
35  use defs_basis
36  use m_abicore
37 
38  implicit none
39 
40  private
41 
42  public ::  prtwork                ! calculate the work done during recursion
43 
44  interface prtwork
45   module procedure prtworksim
46   module procedure prtworksiRe
47   module procedure prtworkadv
48  end interface prtwork
49 
50 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

PARENTS

CHILDREN

SOURCE

169 subroutine prtworkadv(work_now,adv)
170 
171 
172 !This section has been created automatically by the script Abilint (TD).
173 !Do not modify the following lines by hand.
174 #undef ABI_FUNC
175 #define ABI_FUNC 'prtworkadv'
176 !End of the abilint section
177 
178  implicit none
179 
180 !Arguments ------------------------------------
181 ! scalars
182  integer,intent(in) :: work_now
183  character(1),intent(in) ::adv
184 ! arrays
185 !Local ---------------------------
186  integer,save :: work_done=0, first_wk=0
187 ! *********************************************************************
188  if(adv /= 'no' .or. adv/='yes' ) then
189   write(std_out, "(a,i3,i3)")'nn'
190  end if
191  if(work_now >=100 .and. first_wk ==0) return
192  if(work_now == 0 .and. first_wk==0) then
193   write(std_out,"(a)")' work done: '
194   first_wk=1
195  end if
196  if(mod(work_done-work_now,10)==0 .and. work_now/=work_done) then
197   work_done = work_now
198   !write(std_out, "(a,$)")'|'
199   write(std_out, "(a,i3,i3)")'work_done',work_done,work_now
200   if(work_done == 100) then
201    write(std_out,"(a)")' '
202    first_wk = 0
203    work_done = 0
204   end if
205  endif
206 
207 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

PARENTS

CHILDREN

SOURCE

72 subroutine prtworksim(work_now)
73 
74 
75 !This section has been created automatically by the script Abilint (TD).
76 !Do not modify the following lines by hand.
77 #undef ABI_FUNC
78 #define ABI_FUNC 'prtworksim'
79 !End of the abilint section
80 
81  implicit none
82 !Arguments ------------------------------------
83 ! scalars
84  integer,intent(in) :: work_now
85 ! arrays
86 !Local ---------------------------
87  integer,save :: work_done=0
88  integer :: ii,pt
89  character(500) :: msg
90 ! *********************************************************************
91  if(mod(work_done-work_now,5)==0 .and. work_now/=work_done .and. work_now <105) then
92   work_done = work_now
93   pt = work_done/5
94   write(msg,'(a,23a,i3,a)')'work done:',('-',ii=1,pt),(' ',ii=1,23-pt),work_done,'%'
95   call wrtout(std_out,msg,'COLL')
96  endif
97 
98 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

PARENTS

CHILDREN

SOURCE

120 subroutine prtworksiRe(work_now)
121 
122 
123 !This section has been created automatically by the script Abilint (TD).
124 !Do not modify the following lines by hand.
125 #undef ABI_FUNC
126 #define ABI_FUNC 'prtworksiRe'
127 !End of the abilint section
128 
129  implicit none
130 !Arguments ------------------------------------
131 ! scalars
132  real(dp),intent(in) :: work_now
133 ! arrays
134 !Local ---------------------------
135  integer,save :: work_done=0
136  integer :: ii,pt,work_now_int
137  character(500) :: msg
138 ! *********************************************************************
139  work_now_int = int(work_now)
140  if(mod(work_done-work_now_int,5)==0 .and. work_now_int/=work_done .and. work_now_int <105) then
141   work_done = work_now_int
142   pt = work_done/5
143   write(msg,'(a,23a,i3,a)')'work done:',('-',ii=1,pt),(' ',ii=1,23-pt),work_done,'%'
144   call wrtout(std_out,msg,'COLL')
145  endif
146 
147 end subroutine prtworksiRe