43 . IGRTRUSS ,IGRBEAM ,IGRSPRING, LSUBMODEL)
55#include
"implicit_f.inc"
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 (GROUP_) ,
DIMENSION(NGRTRUS) :: IGRTRUSS
75 TYPE (GROUP_) ,
DIMENSION(NGRBEAM) :: IGRBEAM
76 TYPE (GROUP_) ,
DIMENSION(NGRSPRI) :: IGRSPRING
81 INTEGER PID,MID,SID,ID,I,IMID,IPID,ISID,K,ITH,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
91 INTEGER NINTRI,NINTRIGR
92 DATA mess/
' THPART DEFINITION '/
96 WRITE(iout,
'(//A)')' thparts
'
97 WRITE(IOUT,'(a//)
')' -----
'
99 IS_ENCRYPTED = .FALSE.
100 IS_AVAILABLE = .FALSE.
101 IS_FOUND_SURF = .FALSE.
104 IF(NTHPART>0) IGRELEM = 1
105 CALL HM_OPTION_START('/thpart
')
111 CALL HM_OPTION_READ_KEY(LSUBMODEL,OPTION_ID = ID,OPTION_TITR = TITR ,KEYWORD2 = KEY )
112 CALL HM_OPTION_IS_ENCRYPTED(IS_ENCRYPTED)
116 CALL FRETITL(TITR,IPART(LIPART1-LTITR+1,NPART+I),LTITR)
117 CALL HM_GET_INTV('grelem_id
', GR ,IS_AVAILABLE,LSUBMODEL)
130 IF (TYP(1:6) == 'grbric
') THEN
132 IGR = NINTRIGR(GR,IGRBRIC,NGRBRIC)
133 IF (ITYP == IGRBRIC(IGR)%GRTYPE) IS_FOUND_SURF = .TRUE.
135 ELSEIF (TYP(1:6) == 'grquad
') THEN
137 IGR = NINTRIGR(GR,IGRQUAD,NGRQUAD)
138 IF (ITYP == IGRQUAD(IGR)%GRTYPE) IS_FOUND_SURF = .TRUE.
140 ELSEIF (TYP(1:6) == 'grshel
') THEN
142 IGR = NINTRIGR(GR,IGRSH4N,NGRSHEL)
143 IF (ITYP == IGRSH4N(IGR)%GRTYPE) IS_FOUND_SURF = .TRUE.
145 ELSEIF (TYP(1:6) == 'grtrus
') THEN
147 IGR = NINTRIGR(GR,IGRTRUSS,NGRTRUS)
148 IF (ITYP == IGRTRUSS(IGR)%GRTYPE) IS_FOUND_SURF = .TRUE.
150 ELSEIF (TYP(1:6) == 'grbeam
') THEN
152 IGR = NINTRIGR(GR,IGRBEAM,NGRBEAM)
153 IF (ITYP == IGRBEAM(IGR)%GRTYPE) IS_FOUND_SURF = .TRUE.
155 ELSEIF (TYP(1:6) == 'grspri
') THEN
157 IGR = NINTRIGR(GR,IGRSPRING,NGRSPRI)
158 IF (ITYP == IGRSPRING(IGR)%GRTYPE) IS_FOUND_SURF = .TRUE.
160 ELSEIF (TYP(1:6) == 'grsh3n.OR.
' TYP(1:6) == 'grtria
') THEN
162 IGR = NINTRIGR(GR,IGRSH3N,NGRSH3N)
163 IF (ITYP == IGRSH3N(IGR)%GRTYPE) IS_FOUND_SURF = .TRUE.
166.NOT.
IF( IS_FOUND_SURF)THEN
167 CALL ANCMSG(MSGID=763,MSGTYPE=MSGERROR,ANMODE=ANINFO,I1=ID,C1=TITR,I2=GR,C2=TYP(1:6))
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
176 IPART(2,NPART+I)=ITYP
179 IF(IPART(4,NPART+I) == 0) THEN
180 CALL ANCMSG(MSGID=493,MSGTYPE=MSGERROR,ANMODE=ANINFO_BLIND_1,C1=TITR1)
185 !-------------------------------------
186 ! Recherche des ID doubles
187 !-------------------------------------
188 CALL UDOUBLE(IPART(4,1),LIPART1,NPART+NTHPART,MESS,0,BID)
subroutine hm_read_thpart(ipart, igrbric, igrquad, igrsh4n, igrsh3n, igrtruss, igrbeam, igrspring, lsubmodel)