71 REAL(RFREAL) :: resnorm
72 REAL(RFREAL),
DIMENSION(6) :: localvals,globalvals
79 'RFLU_PrintWriteConvergence.F90')
85 localvals(1) = global%forceX
86 localvals(2) = global%forceY
87 localvals(3) = global%forceZ
88 localvals(4) = global%massIn
89 localvals(5) = global%massOut
90 localvals(6) = global%stopRun
92 CALL mpi_allreduce(localvals,globalvals,6,mpi_rfreal,mpi_sum,global%mpiComm, &
94 global%error = errorflag
95 IF ( global%error /= err_none )
THEN
96 CALL
errorstop(global,err_mpi_trouble,__line__)
99 global%forceX = globalvals(1)
100 global%forceY = globalvals(2)
101 global%forceZ = globalvals(3)
102 global%massIn = globalvals(4)
103 global%massOut = globalvals(5)
104 global%stopRun = globalvals(6)
114 IF ( (global%flowType == flow_steady) .AND. &
115 (global%myProcid == masterproc) )
THEN
116 IF ( global%currentIter == 1 )
THEN
119 resnorm = global%residual/
makenonzero(global%resInit)
123 IF ( global%verbLevel /= verbose_none )
THEN
124 WRITE(stdout,
'(A,1X,I6,1PE13.4,5E13.4)') solver_name, &
125 global%currentIter,log10(resnorm), &
126 global%forceX,global%forceY,global%forceZ, &
127 global%massIn,global%massOut
130 WRITE(if_conver,
'(I6,1PE13.4,5E13.4)') &
131 global%currentIter,log10(resnorm), &
132 global%forceX,global%forceY,global%forceZ, &
133 global%massIn,global%massOut
139 ELSE IF ( (global%flowType == flow_unsteady) .AND. &
140 (global%myProcid==masterproc) )
THEN
141 IF ( global%verbLevel /= verbose_none )
THEN
142 WRITE(stdout,
'(A,1X,1PE12.5,6E13.4)') solver_name, &
143 global%currentTime,global%dtMin, &
144 global%forceX,global%forceY,global%forceZ, &
145 global%massIn,global%massOut
148 WRITE(if_conver,
'(1PE12.5,6E13.4)') &
149 global%currentTime,global%dtMin, &
150 global%forceX,global%forceY,global%forceZ, &
151 global%massIn,global%massOut
subroutine rflu_printwriteconvergence(global)
subroutine registerfunction(global, funName, fileName)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)