anchor.diff:              fstrPARAM%fg_couple_first==5 ) then
             call fstr_rcap_get( fstrCPL )
             call dynamic_mat_ass_couple( hecMESH, hecMAT, fstrSOLID, fstrCPL )
  -        endif
  -
  -        if( fstrPARAM%fg_couple_first==6 ) then
  -          do j = 1, hecMAT%NP * ndof
  -            prevB(j) = hecMAT%B(j)
  -          enddo
           endif
   
   2000  continue
  
positive.code:           call fstr_rcap_send( fstrCPL )
          endif
  
          if( fstrPARAM%fg_couple_first==5 .and. revocap_flag==0 ) then
            do j = 1, hecMAT%NP * ndof
              hecMAT%B(j) = prevB(j)
            enddo
            go to 1000
          endif
  
          if( fstrPARAM%fg_couple_first==6 ) then
            call fstr_get_convergence( revocap_flag )
            if( revocap_flag == 0 ) then
              do j = 1, hecMAT%NP * ndof
                hecMAT%B(j) = prevB(j)
              enddo
            endif
          endif
  
          if( fstrPARAM%fg_couple_first==4 .or. &
              fstrPARAM%fg_couple_first==6 ) then
            call fstr_rcap_get( fstrCPL )
            call dynamic_mat_ass_couple( hecMESH, hecMAT, fstrSOLID, fstrCPL )
          endif
  
          if( fstrPARAM%fg_couple_first==6 .and. revocap_flag==0 ) then
            go to 2000
          endif
        endif
  !C *****************************************************
  
negative.code:             end if
      call hecMAT_finalize( MAT0 )
  
      if( fstrPARAM%fg_couple == 1) then
        if( fstrPARAM%fg_couple_first==5 .or. &
            fstrPARAM%fg_couple_first==6 ) then
          deallocate( prevB      ,STAT=ierror )
              if( ierror /= 0 ) then
                write(idbg,*) 'stop due to deallocation error <fstr_solve_LINEAR_DYNAMIC, prevB>'
                write(idbg,*) '  rank = ', hecMESH%my_rank,'  ierror = ',ierror
                call flush(idbg)
                call hecmw_abort( hecmw_comm_get_comm())
              endif
        endif
      endif
  
  !C-- end of implicit dynamic analysis
  !C
  