! { dg-do compile } | |
! { dg-options "-O2 -ftree-vectorize" } | |
TYPE :: spot_weld_type | |
CHARACTER(8) PLACE ! Keyword "NODE" or "POSITION" | |
END TYPE | |
TYPE (spot_weld_type), DIMENSION(:), ALLOCATABLE :: SPOT_WELD | |
INTEGER, PARAMETER :: LSRT = 12 ! Length of sorted-element-distance array | |
INTEGER & | |
& IETYP(LSRT) ! -/- Sort array for closest el's, 0/1=tri/qu | |
REAL(KIND(0D0)) & | |
& DSQRD(LSRT) ! -/- Sort array for closest el's, d**2 | |
LOGICAL & | |
& COINCIDENT, & | |
& INSIDE_ELEMENT | |
IF (SPOT_WELD(NSW)%PLACE .EQ. 'POSITION') THEN | |
DO n = 1,LSRT | |
ENDDO | |
DO i = 1,NUMP3 | |
DO WHILE (Distance_Squared .GT. DSQRD(n) .AND. n .LE. LSRT) | |
ENDDO | |
IF (n .LT. LSRT) THEN | |
DO k = LSRT-1,n,-1 | |
DSQRD(k+1) = DSQRD(k) | |
IETYP(k+1) = IETYP(k) | |
ENDDO | |
ENDIF | |
DO n = 1,LSRT | |
IF (IETYP(n) .EQ. 0) THEN | |
INSIDE_ELEMENT = & | |
& Xi1EL(n) .GE. 0.0 .AND. Xi2EL(n) .GE. 0.0 | |
IF (DSQRD(n) .LT. Dmin) THEN | |
ENDIF | |
ENDIF | |
ENDDO | |
ENDDO | |
IF (Icount .GT. 0) THEN | |
DO i = 1,Icount | |
CALL USER_MESSAGE & | |
& ( & | |
& ) | |
ENDDO | |
CALL USER_MESSAGE & | |
& ( & | |
& ) | |
ENDIF | |
IF & | |
& ( & | |
& .NOT.COINCIDENT & | |
& ) & | |
& THEN | |
IF (NP1 .GT. 0) THEN | |
IF (NP1 .GT. 0) THEN | |
ENDIF | |
ENDIF | |
ENDIF | |
IF (.NOT.COINCIDENT) THEN | |
DO i = 1,3 | |
IF (NP(i) .GT. 0) THEN | |
ENDIF | |
ENDDO | |
ENDIF | |
ENDIF | |
END |