35
36
37
41
42
43
44#include "implicit_f.inc"
45
46
47
48#include "com04_c.inc"
49#include "scr17_c.inc"
50
51
52
53 TYPE (H3D_DATABASE) :: H3D_DATA
54 INTEGER ID_INPUT
55 INTEGER IPART(LIPART1,*)
56 TYPE(GROUP_) ,DIMENSION(NGRPART) ,INTENT(IN) :: IGRPART
57
58
59
60 INTEGER NVAR
61
62
63
64 CHARACTER(LEN=NCHARLINE100) :: CARTE
65 CHARACTER(LEN=NCHARLINE100) :: CARTE1
66 INTEGER I,J,K,L,M,N_H3D_PART,INDEX
67
68
69 n_h3d_part = h3d_data%INPUT_LIST(id_input)%NB_PART
70
71
72 IF (n_h3d_part /= 0 )
73 . ALLOCATE(h3d_data%PARTS(1)%PART_LIST(n_h3d_part))
74
75 ALLOCATE(h3d_data%PARTS(1)%PART(npart))
76
77 IF (n_h3d_part /= 0 ) THEN
78 DO i=1,npart
79 h3d_data%PARTS(1)%PART(i) = 0
80 ENDDO
81 ELSE
82 DO i=1,npart
83 h3d_data%PARTS(1)%PART(i) = 1
84 ENDDO
85 ENDIF
86
87 DO j=1,n_h3d_part
88 IF(h3d_data%INPUT_LIST(id_input)%PART_LIST(j) > 0) THEN
89
90 DO i=1,npart
91 IF(h3d_data%INPUT_LIST(id_input)%PART_LIST(j) == ipart(4,i)) THEN
92 h3d_data%PARTS(1)%PART(i) = 1
93 ENDIF
94 ENDDO
95 ELSE
96
97 l = -h3d_data%INPUT_LIST(id_input)%PART_LIST(j)
98 index = 0
99 DO i=1,ngrpart
100 IF(igrpart(i)%ID == l) THEN
101 index = i
102 EXIT
103 ENDIF
104 ENDDO
105 IF(index > 0) THEN
106 DO i=1,igrpart(index)%NENTITY
107 k = igrpart(index)%ENTITY(i)
108
109 DO m=1,npart
110 IF (ipart(4,m) == k) THEN
111 h3d_data%PARTS(1)%PART(m) = 1
112 EXIT
113 ENDIF
114 ENDDO
115 ENDDO
116 ENDIF
117 ENDIF
118 ENDDO
119
120 RETURN
121 999 print *,'error lecture'
integer, parameter ncharline100