anchor.diff:      type (hecmwST_local_mesh), intent(in) :: hecMESH
       type (hecmwST_matrix    ), intent(inout) :: hecMAT
       type (fstrST_matrix_contact_lagrange), intent(inout) :: fstrMAT !< type fstrST_matrix_contact_lagrange
  -    integer :: ndof
  +    integer :: ndof, method_org
       integer, allocatable :: iw2(:), iwS(:)
       real(kind=kreal), allocatable :: wSL(:), wSU(:)
       type(T_matrix) :: Tmat, Ttmat
  
positive.code: 
        call make_new_b(hecMESH, hecMAT, BTtmat, iwS, wSL, &
             fstrMAT%num_lagrange, hecTKT%B)
  
        ! solve
        call hecmw_solve_33(hecMESH, hecTKT)
  
negative.code: 
      if (fstrMAT%num_lagrange == 0) then
  
        ! use CG because the matrix is symmetric
        method_org = hecmw_mat_get_method(hecMAT)
        call hecmw_mat_set_method(hecMAT, 1)
  
        ! solve
        call hecmw_solve_33(hecMESH, hecMAT)
  
        ! restore solver setting
        call hecmw_mat_set_method(hecMAT, method_org)
  
      else
  
  