anchor.diff:        if( fstrHEAT%is_steady == 1 ) then
           is_end = .true.
         else
  -        if( (end_time - next_time) / (end_time - start_time) < 1.d-12 ) is_end = .true.
  +        if( (end_time - next_time) / end_time < 1.d-12 ) is_end = .true.
         endif
         if( 0.0d0 < DELMIN .and. fstrHEAT%timepoint_id > 0 ) then
           outflag = is_end .or. is_at_timepoints(next_time, 0.0d0, fstrPARAM%timepoints(fstrHEAT%timepoint_id))
         else
           outflag = is_end
         endif
  +      total_time = start_time + next_time
   
         if( hecMESH%my_rank.eq.0 ) then
  -        write(IMSG,"(a,i8,a,1pe12.5,a,1pe12.5)") " ** Increment No. :", total_step, ", total time: ", &
  -        & next_time, ", delta t: ", delta_time
  -        write(*,   "(a,i8,a,1pe12.5,a,1pe12.5)") " ** Increment No. :", total_step, ", total time: ", &
  -        & next_time, ", delta t: ", delta_time
  +        write(IMSG,"(a,i8,a,1pe12.5,a,1pe12.5)") " ** Increment No. :", total_step, ", current time: ", &
  +        & current_time, ", delta t: ", delta_time
  +        write(*,   "(a,i8,a,1pe12.5,a,1pe12.5)") " ** Increment No. :", total_step, ", current time: ", &
  +        & current_time, ", delta t: ", delta_time
         endif
   
         if(delta_time_base < DELMIN .and. (.not. outflag))then
  
positive.code:     if(ISTEP == 1)then
        start_time = 0.0d0
      else
        start_time = fstrHEAT%STEP_EETIME(ISTEP - 1)
      endif
  
      delta_time_base = fstrHEAT%STEP_DLTIME(ISTEP)
  
negative.code:         call hecmw_abort(hecmw_comm_get_comm())
        endif
  
        call heat_solve_main(hecMESH, hecMAT, hecMATmpc, fstrPARAM, fstrHEAT, ISTEP, iterALL, total_time, delta_time)
  
        if(0.0d0 < DELMIN)then
          tmpmax = 0.0d0
  