Write the status in me to outUnit.
Status will only be written if any of the flags is true.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_status_type), | intent(in) | :: | me |
Status to write on outunit. |
||
integer, | intent(in) | :: | outUnit |
The file unit to write to. |
subroutine tem_status_dump(me, outUnit)
! --------------------------------------------------------------------------!
!> Status to write on outunit.
type(tem_status_type), intent(in) :: me
!> The file unit to write to.
integer, intent(in) :: outUnit
! --------------------------------------------------------------------------!
if (any(me%bits)) then
write(outUnit,*) '+--------------------------------------------+'
write(outUnit,*) 'STATUS:'
if (me%bits(tem_stat_interval)) &
& write(outUnit,*) ' * Status Interval is reached'
if (me%bits(tem_stat_run_terminate)) &
& write(outUnit,*) ' * Simulation is to abnormally terminate'
if (me%bits(tem_stat_steady_state)) &
& write(outUnit,*) ' * Simulation reached a steady state'
if (me%bits(tem_stat_global_error)) &
& write(outUnit,*) ' * Encountered a global error'
if (me%bits(tem_stat_nan_detected)) &
& write(outUnit,*) ' * Detected a NaN during computation'
if (me%bits(tem_stat_nonPhysical)) &
& write(outUnit,*) ' * Ran into a non-physical state'
if (me%bits(tem_stat_max_sim)) &
& write(outUnit,*) ' * Reached maximal simulation time'
if (me%bits(tem_stat_max_iter)) &
& write(outUnit,*) ' * Reached maximal number of iterations'
if (me%bits(tem_stat_max_clock)) &
& write(outUnit,*) ' * Reached maximal wall clock running time'
if (me%bits(tem_stat_stop_file)) &
& write(outUnit,*) ' * Found a stop file'
write(outUnit,*) '+--------------------------------------------+'
write(outUnit,*)
end if
end subroutine tem_status_dump