anchor.diff:          endif
           force(1:nn*3) = matmul( stiff(1:nn*3,1:nn*3), edisp(1:nn*3) )
           do j = 1, nn
  -          if( id_spc( nodLOCAL(j) ) == 1 ) then
  -!$omp atomic
  -          fstrSOLID%QFORCE(3*nodLOCAL(j)-2) = fstrSOLID%QFORCE(3*nodLOCAL(j)-2) + force(3*j-2)
  -!$omp atomic
  -          fstrSOLID%QFORCE(3*nodLOCAL(j)-1) = fstrSOLID%QFORCE(3*nodLOCAL(j)-1) + force(3*j-1)
  -!$omp atomic
  -          fstrSOLID%QFORCE(3*nodLOCAL(j)  ) = fstrSOLID%QFORCE(3*nodLOCAL(j)  ) + force(3*j  )
  -          endif
  +          in = nodLOCAL(j)
  +!$omp atomic
  +          IF(id_spc(3*in-2) == 1) fstrSOLID%QFORCE(3*in-2) = fstrSOLID%QFORCE(3*in-2) + force(3*j-2)
  +!$omp atomic
  +          IF(id_spc(3*in-1) == 1) fstrSOLID%QFORCE(3*in-1) = fstrSOLID%QFORCE(3*in-1) + force(3*j-1)
  +!$omp atomic
  +          IF(id_spc(3*in  ) == 1) fstrSOLID%QFORCE(3*in  ) = fstrSOLID%QFORCE(3*in  ) + force(3*j  )
           enddo
         endif
       enddo
  
positive.code:   type (fstr_solid)  :: fstrSOLID
  !C** local variables
    integer(kind=kint) :: itype, icel, iS, iE, jS, i, j, ic_type, ig, nn, isect, ihead, iflag, mixflag
    integer(kind=kint) :: nodLOCAL(20), flag_dof
    real(kind=kreal)   :: xx(20), yy(20), zz(20), tt(20), tt0(20), edisp(60), force(60)
    real(kind=kreal)   :: ecoord(3, 20), stiff(60, 60)
    real(kind=kreal)   :: thick, coords(3, 3)
  
negative.code:         CALL STF_Beam_641( ic_type, nn, ecoord, fstrSOLID%elements(icel)%gausses(:), &
                           & hecMESH%section%sect_R_item(ihead+1:), stiff )
          iflag = 0
          DO j = 1, 3*nn
            in = nodLOCAL(j)
            IF( id_spc( 3*in-2 ) == 1 ) iflag = 1
            IF( id_spc( 3*in-1 ) == 1 ) iflag = 1
            IF( id_spc( 3*in   ) == 1 ) iflag = 1
          END DO
          if( iflag == 1 ) THEN
            IF( ic_type == 641 ) THEN
  