anchor.diff:      integer(kind=kint) :: i, iter
       integer(kind=kint) :: stepcnt
       integer(kind=kint) :: restrt_step_num
  -    real(kind=kreal)   :: tt0, tt, res, resb, rres, tincr
  +    real(kind=kreal)   :: tt0, tt, res, qnrm, rres, tincr, xnrm, dunrm, rxnrm
       real(kind=kreal), pointer :: coord(:), P(:)
       logical :: isLinear = .false.
   
  
positive.code:       call fstr_Update_NDForce(cstep, hecMESH, hecMAT, fstrSOLID)
  
        if( isLinear ) exit
  
        ! ----- check divergence
        if( iter == fstrSOLID%step_ctrl(cstep)%max_iter .or. rres > fstrSOLID%step_ctrl(cstep)%maxres ) then
  
negative.code:         if( rres > fstrSOLID%step_ctrl(cstep)%maxres    ) fstrSOLID%NRstat_i(knstDRESN) = 2
          return
        end if
      enddo
      ! ----- end of inner loop
  
  