anchor.diff:        CALL MeshDestroy( mesh2_I, ErrStat, ErrMsg );       IF (ErrStat /= ErrID_None) CALL WrScr(TRIM(ErrMsg))
         CALL MeshDestroy( mesh2_O, ErrStat, ErrMsg );       IF (ErrStat /= ErrID_None) CALL WrScr(TRIM(ErrMsg))
   
  +      CALL MeshDestroy( mesh1_I_op, ErrStat, ErrMsg );    IF (ErrStat /= ErrID_None) CALL WrScr(TRIM(ErrMsg))
  +      CALL MeshDestroy( mesh1_O_op, ErrStat, ErrMsg );    IF (ErrStat /= ErrID_None) CALL WrScr(TRIM(ErrMsg))
  +      CALL MeshDestroy( mesh2_I_op, ErrStat, ErrMsg );    IF (ErrStat /= ErrID_None) CALL WrScr(TRIM(ErrMsg))
  +      CALL MeshDestroy( mesh2_O_op, ErrStat, ErrMsg );    IF (ErrStat /= ErrID_None) CALL WrScr(TRIM(ErrMsg))
  +      
  +      
         call MeshMapDestroy(Map_Mod1_Mod2, ErrStat, ErrMsg);IF (ErrStat /= ErrID_None) CALL WrScr(TRIM(ErrMsg))
         call MeshMapDestroy(Map_Mod2_Mod1, ErrStat, ErrMsg);IF (ErrStat /= ErrID_None) CALL WrScr(TRIM(ErrMsg))
                       
  
positive.code:          LinVec_1_b = (2*LinVec_1_b-1)/real(n1**3)  !note n1 from the loop this is called in
           
           LinVec_2_a = matmul( map_mod1_mod2%dm%tv, LinVec_1 ) + matmul( map_mod1_mod2%dm%mi, LinVec_1_a ) &
                          + matmul( map_mod1_mod2%dm%fx_p, LinVec_1_b )! approximate delta theta^D         
                        
           j=1
           do i=1,Mesh1_O%nnodes
  
negative.code:          
  
           !M( theta^S|_op + delta theta^S )
           IF (Mesh1Type == ELEMENT_POINT ) THEN
              IF ( Mesh2Type == ELEMENT_POINT ) THEN                        
                 CALL Transfer_Point_to_Point( Mesh1_O, Mesh2_I, Map_Mod1_Mod2, ErrStat, ErrMsg );                     
              ELSEIF ( Mesh2Type == ELEMENT_LINE2) THEN                                                                
                 CALL Transfer_Point_to_Line2( Mesh1_O, Mesh2_I, Map_Mod1_Mod2, ErrStat, ErrMsg );
              END IF                                                                                                   
           ELSEIF ( Mesh1Type == ELEMENT_LINE2 ) THEN                                                                  
              IF ( Mesh2Type == ELEMENT_LINE2 ) THEN                                                                   
                 CALL Transfer_Line2_to_Line2( Mesh1_O, Mesh2_I, Map_Mod1_Mod2, ErrStat, ErrMsg );
              ELSEIF ( Mesh2Type == ELEMENT_POINT ) THEN        
                 CALL Transfer_Line2_to_Point( Mesh1_O, Mesh2_I, Map_Mod1_Mod2, ErrStat, ErrMsg )
              END IF            
           END IF         
           IF (ErrStat /= ErrID_None) CALL WrScr("*******"//TRIM(ErrMsg))
  
           ! delta theta^D = M( theta^S|_op + delta theta^S ) - x^D|_op
           j=1
  