32
33
34
35
36
37
38
41
42
43
44#include "implicit_f.inc"
45
46
47
48#include "com04_c.inc"
49
50
51
52 INTEGER,INTENT(IN)::IGU,NIB,NGRELE,NFRAM,SIBUF,
53 . TAGELEMS(NUMELC),ISTYP
54 INTEGER,INTENT(INOUT)::IBUF(NIB,)
55 INTEGER,INTENT(IN)::SEATBELT_SHELL_TO_SPRING(NUMELC,2)
56 TYPE (GROUP_) ,DIMENSION(NGRELE) ,INTENT(IN)::IGRELE
57
58
59
60 INTEGER I,J,K,IG,L,IE,IADV
61
63 IF(igu /= 0)THEN
64
65 ig=0
66 DO i=1,ngrele
67 IF(igrele(i)%ID==igu)ig=i
68 ENDDO
69
70 IF(ig /= 0)THEN
71 IF (nfram > 0 .OR. istyp >= 1) THEN
72 DO l=1,igrele(ig)%NENTITY
73 ie=igrele(ig)%ENTITY(l)
74 IF ( tagelems(ie) /= 0 ) THEN
75 IF(seatbelt_shell_to_spring(ie,1) /= 0)
77 IF(seatbelt_shell_to_spring(ie,2) /= 0)
79 ENDIF
80 ENDDO
81 ELSE
82 DO j=1,igrele(ig)%NENTITY
83 ie=igrele(ig)%ENTITY(j)
84 IF(seatbelt_shell_to_spring(ie,1) /= 0)
86 IF(seatbelt_shell_to_spring(ie,2) /= 0)
88 ENDDO
89 ENDIF
90
91 j = 0
92 IF (nfram > 0 .OR. istyp >= 1) THEN
93 DO i=1,igrele(ig)%NENTITY
94 IF (tagelems(igrele(ig)%ENTITY(i)) == 1 ) THEN
95 ie=igrele(ig)%ENTITY(i)
96 IF(seatbelt_shell_to_spring(ie,1) /= 0) THEN
97 j = j + 1
98 ibuf(1,j) = seatbelt_shell_to_spring(ie,1)
99 ENDIF
100 IF(seatbelt_shell_to_spring(ie,2) /= 0) THEN
101 j = j + 1
102 ibuf(1,j) = seatbelt_shell_to_spring(ie,2)
103 ENDIF
104 ENDIF
105 ENDDO
106 ELSE
107 DO i=1,igrele(ig)%NENTITY
108 ie=igrele(ig)%ENTITY(i)
109 IF(seatbelt_shell_to_spring(ie,1) /= 0) THEN
110 j = j + 1
111 ibuf(1,j) = seatbelt_shell_to_spring(ie,1)
112 ENDIF
113 IF(seatbelt_shell_to_spring(ie,2) /= 0) THEN
114 j = j + 1
115 ibuf(1,j) = seatbelt_shell_to_spring(ie,2)
116 ENDIF
117 ENDDO
118 ENDIF
119 ENDIF
120 ENDIF
121
122 RETURN
integer function elegror_seatbelt(igu, igrele, ngrele, ibuf, nib, sibuf, nfram, tagelems, istyp, seatbelt_shell_to_spring)