42 DOUBLE PRECISION :: Smass,TLEFT
43 DOUBLE PRECISION :: CPU_NOW
45 CHARACTER(LEN=4) :: TUNIT,CPU_TUNIT
48 CHARACTER(LEN=10) DATE, TIM, ZONE
52 CALL date_and_time(date, tim, zone, dat)
60 CALL cpu_time (cpu_now)
63 IF (cpu_now > 60.0d0 .AND. cpu_tunit ==
's')
THEN 64 cpu_now = cpu_now/60.0d0
68 IF (tleft > 60.0d0 .AND. tunit ==
's')
THEN 94 OPEN(convert=
'BIG_ENDIAN',unit = 111 , &
95 file =
'DASHBOARD.TXT', &
96 form =
'FORMATTED' , &
97 access =
'SEQUENTIAL' , &
98 status =
'REPLACE' , &
103 WRITE(111,30)
' _____________________________________________________________________________ ' 105 WRITE(111,30)
' | MFIX DASHBOARD |' 106 WRITE(111,30)
' |_____________________________________________________________________________|' 108 WRITE (111,10)
' | RUN_NAME = ',
run_name,
'|' 110 WRITE (111,10)
' | Run Status = ',
run_status,
'|' 112 WRITE (111,15)
' | CPU time elapsed = ',cpu_now,cpu_tunit,
'|' 113 WRITE (111,15)
' | CPU time left = ',tleft,tunit,
'|' 115 WRITE (111,15)
' | CPU time used = ',tleft,tunit,
'|' 119 WRITE (111,30)
' | Serial run |' 121 WRITE (111,25)
' | Parallel run, numPEs = ',
numpes,
'|' 125 WRITE(111,30)
' |_____________________________________________________________________________|' 126 WRITE(111,30)
' | | | | | | |' 127 WRITE(111,30)
' | Name | Value | Min | Max | % of max|0% Progress 100%|' 128 WRITE(111,30)
' |_________|_________|_________|_________|_________|___________________________|' 129 WRITE(111,30)
' | | | | | | |' 140 WRITE(111,40,advance=
'NO')
' Sm ',smass,
smmin,
smmax 143 WRITE(111,30)
' | Sm | | | | | |' 150 WRITE(111,30)
' |_________|_________|_________|_________|_________|___________________________|' 153 15
FORMAT(a, f6.1, 1x, a,t80,a)
154 25
FORMAT(a,i6,t80,a)
156 40
FORMAT(
' |',a,
'|',3(e9.2,
'|'))
157 50
FORMAT(
' |',a,
'|',3(i9,
'|'))
158 55
FORMAT(
' |',a,
'|',a7,
' | | | | |' 159 FORMAT(a,i2.2,
':',i2.2,
':',i2.2,a,i2.2,
'/',i2.2,
'/',i4)
199 CHARACTER (LEN=1) :: BAR_CHAR
200 DOUBLE PRECISION :: BAR_RESOLUTION
204 CHARACTER (LEN=9) :: TEXT
205 CHARACTER (LEN=69) :: PROGRESSBAR
206 DOUBLE PRECISION :: PERCENT,PTEST
207 DOUBLE PRECISION :: x,x_max
212 5
FORMAT(9x,
'|',27x,
'|')
220 percent = x/x_max * 100.0
221 progress = int(percent * bar_width)
223 WRITE(text,10) percent
224 10
FORMAT(
' ',f5.1,
' % ')
227 ptest = float(p)/float(bar_width) * 100.0
228 IF(percent<ptest-bar_resolution)
THEN 229 progressbar(p:p)=
' ' 231 progressbar(p:p)= bar_char
235 WRITE(111,15)text,
'|',trim(progressbar),
'|' character(len=255) vtu_filename
character(len=60) description
subroutine write_simple_progress_bar(x, x_MAX)
subroutine update_dashboard(NIT, TLEFT, TUNIT)
character(len=60) run_name
integer, dimension(max_resid_index, 2) resid_index
double precision init_time
character(len=40) run_status
subroutine get_smass(SMASS)
character(len=4), dimension(max_resid_index) resid_string
subroutine get_tunit(TLEFT, TUNIT)
double precision, parameter zero