anchor.diff:          force(1:nn*3) = matmul( stiff(1:nn*3,1:nn*3), edisp(1:nn*3) )
           do j = 1, nn
             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  )
  +          do k = 1, 3
  +            if( id_spc(3*in-3+k) == 0 ) cycle
  +            !$omp atomic
  +            fstrSOLID%QFORCE(3*in-3+k) = fstrSOLID%QFORCE(3*in-3+k) + force(3*j-3+k)
  +          enddo
           enddo
         endif
       enddo
  
positive.code:     nn = hecmw_get_max_node( ic_type )
  !C element loop
  !$omp parallel default(none), &
  !$omp&  private(icel,js,j,nodLOCAL,xx,yy,zz,ecoord,edisp,isect,cdsys_ID,ihead,thick,mixflag,stiff,iflag,coords), &
  !$omp&  shared(iS,iE,hecMESH,temp,ref_temp,fstrSOLID,id_spc,force), &
  !$omp&  firstprivate(nn,ic_type,tt,tt0)
  !$omp do
  
negative.code:                              & hecMESH%section%sect_R_item(ihead+1:), stiff )
            END IF
            force(1:nn*3) = MATMUL( stiff(1:nn*3,1:nn*3), edisp(1:nn*3) )
            do j = 1, nn
              in = nodLOCAL(j)
              do k = 1, 3
                if( id_spc(3*in-3+k) == 0 ) cycle
                !$omp atomic
                fstrSOLID%QFORCE(3*in-3+k) = fstrSOLID%QFORCE(3*in-3+k) + force(3*j-3+k)
              enddo
            enddo
          ENDIF
          CYCLE
        else if( ic_type == 361 ) then
  