anchor.diff:  SUBROUTINE BCONDVEL(N, XNODE, U, CHI)
         IMPLICIT NONE
         INTEGER, INTENT(IN) :: N
  -      REAL, DIMENSION(N,2), INTENT(IN) :: XNODE
  +      REAL, DIMENSION(N,3), INTENT(IN) :: XNODE
         REAL, DIMENSION(2), INTENT(IN) :: U
         REAL, DIMENSION(N), INTENT(OUT) :: CHI
         REAL, DIMENSION(2) :: T
         INTEGER :: I, NODOFEL
         DO I = 1, N
  -       T = XNODE(NODOFEL(N,I,2),:) - XNODE(NODOFEL(N,I,1),:)
  +       T = XNODE(NODOFEL(N,I,2),:2) - XNODE(NODOFEL(N,I,1),:2)
          T = T/SQRT(T(1)**2 + T(2)**2)
          CHI(I) = U(1)*T(2) - U(2)*T(1)
         END DO
  
positive.code:       DO I = 1, NX
         XI = X(I,:)
         DO J = 1, N
          B(I,J) = BIJ(XI, XNODE(NODOFEL(N,J,1),:), XNODE(NODOFEL(N,J,2),:))
          C(I,J) = CIJ(XI, XNODE(NODOFEL(N,J,1),:), XNODE(NODOFEL(N,J,2),:))
         END DO
        END DO
  END SUBROUTINE
  
negative.code: !Calculate the position of the nodes
  !  NELEM    Figure of elements       (IN)
  !  XNODE    Nodes and angles vector  (OUT)
  !  R        Radius                   (IN)
  SUBROUTINE CIRCLEGEOM(NELEM, XNODE, R)
        IMPLICIT NONE
        INTEGER, INTENT(IN) :: NELEM
        REAL, INTENT(IN) :: R
        REAL, DIMENSION(NELEM,3), INTENT(OUT) :: XNODE
        REAL, PARAMETER :: PI = 4.*ATAN(1.)
        INTEGER :: I
        REAL :: DTH, THETA
        DTH = 2.*PI/REAL(NELEM)
        DO I = 1,NELEM
         THETA = DTH*REAL(I-1)
         XNODE(I,1) = R*COS(THETA)
         XNODE(I,2) = R*SIN(THETA)
         XNODE(I,3) = THETA
        END DO
  END SUBROUTINE
  
  