anchor.diff:     DO i=1,p%elem_total
          DO j=1,p%node_elem
              temp_id = (j-1) * p%dof_node
  -           TmpPos(1:3) = p%GlbPos(1:3) + MATMUL(p%GlbRot,p%uuN0(temp_id+1:temp_id+3,i))
  +           temp_POS(1:3) = p%GlbPos(1:3) + MATMUL(p%GlbRot,p%uuN0(temp_id+1:temp_id+3,i))
  +           TmpPos(1) = temp_POS(2)
  +           TmpPos(2) = temp_POS(3)
  +           TmpPos(3) = temp_POS(1)
              temp_CRV(:) = MATMUL(p%GlbRot,p%uuN0(temp_id+4:temp_id+6,i))
  -           CALL BD_CrvCompose(temp_CRV,temp_CRV,temp_glb,0,ErrStat2,ErrMsg2)
  +           CALL BD_CrvCompose(temp_POS,temp_CRV,temp_glb,0,ErrStat2,ErrMsg2)
                 CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
  +           temp_CRV(1) = temp_POS(2)
  +           temp_CRV(2) = temp_POS(3)
  +           temp_CRV(3) = temp_POS(1)
              CALL BD_CrvMatrixR(temp_CRV,TmpDCM,ErrStat2,ErrMsg2)
                 CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
              TmpDCM(:,:) = TRANSPOSE(TmpDCM)
  
positive.code:    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))
     CALL BD_CrvCompose(temp_CRV,temp_CRV,temp_glb,0,ErrStat2,ErrMsg2)
        CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
     CALL BD_CrvMatrixR(temp_CRV,TmpDCM,ErrStat2,ErrMsg2)
        CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
     TmpDCM(:,:) = TRANSPOSE(TmpDCM)
     CALL MeshPositionNode ( Mesh = u%RootMotion      &
  
negative.code:    DO i=1,p%elem_total
         DO j=1,p%node_elem
             temp_id = (j-1)*p%dof_node
             temp_POS(1:3) = p%GlbPos(1:3) + MATMUL(p%GlbRot,p%uuN0(temp_id+1:temp_id+3,i))
             TmpPos(1) = temp_POS(2)
             TmpPos(2) = temp_POS(3)
             TmpPos(3) = temp_POS(1)
             temp_CRV(:) = MATMUL(p%GlbRot,p%uuN0(temp_id+4:temp_id+6,i))
             CALL BD_CrvCompose(temp_POS,temp_CRV,temp_glb,0,ErrStat2,ErrMsg2)
                CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
             temp_CRV(1) = temp_POS(2)
             temp_CRV(2) = temp_POS(3)
             temp_CRV(3) = temp_POS(1)
             CALL BD_CrvMatrixR(temp_CRV,TmpDCM,ErrStat2,ErrMsg2)
                CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
             TmpDCM(:,:) = TRANSPOSE(TmpDCM)
  