1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
! { 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
|