anchor.diff:         ENDDO
          CALL BD_UpdateDynamicGA2(ai,uuNf,vvNf,aaNf,xxNf,coef,node_total,dof_node)
          IF(i==1) THEN
  -           Eref = SQRT(DOT_PRODUCT(ai_temp,feqv))*TOLF
  +           Eref = SQRT(abs(DOT_PRODUCT(ai_temp,feqv)))*TOLF
              IF(Eref .LE. TOLF) RETURN
          ENDIF
          IF(i .GT. 1) THEN
  -           Enorm = 0.0D0
  -           Enorm = SQRT(DOT_PRODUCT(ai_temp,feqv))
  +           Enorm = SQRT(abs(DOT_PRODUCT(ai_temp,feqv)))
              IF(Enorm .LE. Eref) RETURN
          ENDIF
   !WRITE(*,*) 'inc'
  
positive.code:            
         ENDDO
     ENDDO
  
     DO i=1,p%ngp*p%elem_total+2
         TmpPos(1:3) = p%GlbPos(1:3) + MATMUL(p%GlbRot,temp_L2(1:3,i))
  
negative.code:          CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
     ENDDO
  
     ! place single node at origin; position affects mapping/coupling with other modules
     TmpPos(:) = p%GlbPos(1:3) + MATMUL(p%GlbRot,p%uuN0(1:3,1))
     temp_CRV(:) = MATMUL(p%GlbRot,p%uuN0(4:6,1))
  