44
45
46
52
53
54
55#include "implicit_f.inc"
56
57
58
59#include "scr03_c.inc"
60#include "scr17_c.inc"
61#include "units_c.inc"
62#include "com01_c.inc"
63#include "com04_c.inc"
64#include "com10_c.inc"
65#include "warn_c.inc"
66
67
68
69 INTEGER IPART(LIPART1,*)
70 TYPE (GROUP_) , DIMENSION(NGRBRIC) :: IGRBRIC
71 TYPE (GROUP_) , DIMENSION(NGRQUAD) :: IGRQUAD
72 TYPE (GROUP_) , DIMENSION(NGRSHEL) :: IGRSH4N
73 TYPE (GROUP_) , DIMENSION(NGRSH3N) :: IGRSH3N
74 TYPE () , DIMENSION(NGRTRUS) :: IGRTRUSS
75 TYPE (GROUP_) , DIMENSION(NGRBEAM) :: IGRBEAM
76 TYPE (GROUP_) , DIMENSION(NGRSPRI) :: IGRSPRING
77 TYPE(SUBMODEL_DATA) LSUBMODEL(NSUBMOD)
78
79
80
81 INTEGER PID,MID,SID,ID,I,IMID,IPID,ISID,K,,IGTYP,N,GR,IGR
82 CHARACTER(LEN=NCHARTITLE) :: TITR,TITR1
83 CHARACTER MESS*40,TYP*6
84 INTEGER IDS, CNT, FLAG_FMT, FLAG_FMT_TMP, IFIX_TMP,NGROU,ITYP
85 CHARACTER(LEN=NCHARKEY) :: KEY
86 LOGICAL IS_ENCRYPTED,IS_AVAILABLE,IS_FOUND_SURF
88
89
90
91 INTEGER NINTRI,NINTRIGR
92 DATA mess/' THPART DEFINITION '/
93
94
95
96 WRITE(iout,'(//A)')' THPARTS'
97 WRITE(iout,'(A//)')' -----'
98
99 is_encrypted = .false.
100 is_available = .false.
101 is_found_surf = .false.
102
103 igrelem = 0
104 IF(nthpart>0) igrelem = 1
106
107 DO i=1,nthpart
108
109 titr = ''
110 typ = ''
113
114 typ(1:6)=key(1:6)
115 titr1=titr
116 CALL fretitl(titr,ipart(lipart1-ltitr+1,npart+i),ltitr)
117 CALL hm_get_intv(
'grelem_ID', gr ,is_available,lsubmodel)
118
119
120
121
122
123
124
125
126
127 ityp = 0
128 igr = 0
129
130 IF (typ(1:6) == 'GRBRIC') THEN
131 ityp = 1
133 IF (ityp == igrbric(igr)%GRTYPE) is_found_surf = .true.
134
135 ELSEIF (typ(1:6) == 'GRQUAD') THEN
136 ityp = 2
138 IF (ityp == igrquad(igr)%GRTYPE) is_found_surf = .true.
139
140 ELSEIF (typ(1:6) == 'GRSHEL') THEN
141 ityp = 3
143 IF (ityp == igrsh4n(igr)%GRTYPE) is_found_surf = .true.
144
145 ELSEIF (typ(1:6) == 'GRTRUS') THEN
146 ityp = 4
148 IF (ityp == igrtruss(igr)%GRTYPE) is_found_surf = .true.
149
150 ELSEIF (typ(1:6) == 'GRBEAM') THEN
151 ityp = 5
153 IF (ityp == igrbeam(igr)%GRTYPE) is_found_surf = .true.
154
155 ELSEIF (typ(1:6) == 'GRSPRI') THEN
156 ityp = 6
157 igr =
nintrigr(gr,igrspring,ngrspri)
158 IF (ityp == igrspring(igr)%GRTYPE) is_found_surf = .true.
159
160 ELSEIF (typ(1:6) == 'GRSH3N' .OR. typ(1:6) == 'GRTRIA') THEN
161 ityp = 7
163 IF (ityp == igrsh3n(igr)%GRTYPE) is_found_surf = .true.
164 ENDIF
165
166 IF(.NOT. is_found_surf)THEN
167 CALL ancmsg(msgid=763,msgtype=msgerror,anmode=aninfo,i1=
id,c1=titr,i2=gr,c2=typ(1:6))
168 ENDIF
169
170 WRITE(iout,
'(/A,I10,2A)')
'THPART:',
id,',
',TRIM(TITR)
171 WRITE(IOUT,'(a)') '----'
172 WRITE(IOUT,'(a,a)')'TYPE of element group : ',TYP(1:6)
173 WRITE(IOUT,'(a,i10)
')'element group
id :
',GR
174
175 IPART(1,NPART+I)=IGR
176 IPART(2,NPART+I)=ITYP
177 IPART(4,NPART+I)=ID
178
179 IF(IPART(4,NPART+I) == 0) THEN
180 CALL ANCMSG(MSGID=493,MSGTYPE=MSGERROR,ANMODE=ANINFO_BLIND_1,C1=TITR1)
181 ENDIF
182
183 ENDDO
184
185 !-------------------------------------
186 ! Recherche des ID doubles
187 !-------------------------------------
188 CALL UDOUBLE(IPART(4,1),LIPART1,NPART+NTHPART,MESS,0,BID)
189
190 RETURN
191
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
subroutine hm_option_start(entity_type)
integer, parameter nchartitle
integer, parameter ncharkey
integer function nintrigr(iext, igr, ngr)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)