43
44
45
51
52
53
54#include "implicit_f.inc"
55
56
57
58#include "scr03_c.inc"
59#include "scr17_c.inc"
60#include "units_c.inc"
61#include "com01_c.inc"
62#include "com04_c.inc"
63#include "com10_c.inc"
64#include "warn_c.inc"
65
66
67
68 INTEGER IPART(LIPART1,*)
69 TYPE (GROUP_) , DIMENSION(NGRBRIC) :: IGRBRIC
70 TYPE (GROUP_) , DIMENSION(NGRQUAD) :: IGRQUAD
71 TYPE (GROUP_) , DIMENSION(NGRSHEL) :: IGRSH4N
72 TYPE (GROUP_) , DIMENSION(NGRSH3N) :: IGRSH3N
73 TYPE (GROUP_) , DIMENSION(NGRTRUS) :: IGRTRUSS
74 TYPE (GROUP_) , DIMENSION(NGRBEAM) :: IGRBEAM
75 TYPE (GROUP_) , DIMENSION(NGRSPRI) :: IGRSPRING
76 TYPE(SUBMODEL_DATA) LSUBMODEL(NSUBMOD)
77
78
79
80 INTEGER ID, I, GR, IGR
81 CHARACTER(LEN=NCHARTITLE) :: TITR,TITR1
82 CHARACTER MESS*40,TYP*6
83 INTEGER ITYP
84 CHARACTER(LEN=NCHARKEY) :: KEY
85 LOGICAL IS_ENCRYPTED,IS_AVAILABLE,IS_FOUND_SURF
87
88
89
90 INTEGER NINTRIGR
91 DATA mess/' THPART DEFINITION '/
92
93
94
95 WRITE(iout,'(//A)')' THPARTS'
96 WRITE(iout,'(A//)')' -----'
97
98 is_encrypted = .false.
99 is_available = .false.
100 is_found_surf = .false.
101
102 igrelem = 0
103 IF(nthpart>0) igrelem = 1
105
106 DO i=1,nthpart
107
108 titr = ''
109 typ = ''
112
113 typ(1:6)=key(1:6)
114 titr1=titr
115 CALL fretitl(titr,ipart(lipart1-ltitr+1,npart+i),ltitr)
116 CALL hm_get_intv(
'grelem_ID', gr ,is_available,lsubmodel)
117
118
119
120
121
122
123
124
125
126 ityp = 0
127 igr = 0
128
129 IF (typ(1:6) == 'GRBRIC') THEN
130 ityp = 1
132 IF (ityp == igrbric(igr)%GRTYPE) is_found_surf = .true.
133
134 ELSEIF (typ(1:6) == 'GRQUAD') THEN
135 ityp = 2
137 IF (ityp == igrquad(igr)%GRTYPE) is_found_surf = .true.
138
139 ELSEIF (typ(1:6) == 'GRSHEL') THEN
140 ityp = 3
142 IF (ityp == igrsh4n(igr)%GRTYPE) is_found_surf = .true.
143
144 ELSEIF (typ(1:6) == 'GRTRUS') THEN
145 ityp = 4
147 IF (ityp == igrtruss(igr)%GRTYPE) is_found_surf = .true.
148
149 ELSEIF (typ(1:6) == 'GRBEAM') THEN
150 ityp = 5
152 IF (ityp == igrbeam(igr)%GRTYPE) is_found_surf = .true.
153
154 ELSEIF (typ(1:6) == 'GRSPRI') THEN
155 ityp = 6
156 igr =
nintrigr(gr,igrspring,ngrspri)
157 IF (ityp == igrspring(igr)%GRTYPE) is_found_surf = .true.
158
159 ELSEIF (typ(1:6) == 'GRSH3N' .OR. typ(1:6) == 'GRTRIA') THEN
160 ityp = 7
162 IF (ityp == igrsh3n(igr)%GRTYPE) is_found_surf
163 ENDIF
164
165 IF(.NOT. is_found_surf)THEN
166 CALL ancmsg(msgid=763,msgtype=msgerror,anmode=aninfo,i1=
id,c1=titr,i2=gr,c2=typ(1:6))
167 ENDIF
168
169 WRITE(iout,
'(/A,I10,2A)')
'THPART:',
id,
',',trim(titr)
170 WRITE(iout,'(A)') '----'
171 WRITE(iout,'(A,A)')'TYPE OF ELEMENT GROUP : ',typ(1:6)
172 WRITE(iout,'(A,I10)')'ELEMENT GROUP ID : ',gr
173
174 ipart(1,npart+i)=igr
175 ipart(2,npart+i)=ityp
177
178 IF(ipart(4,npart+i) == 0) THEN
179 CALL ancmsg(msgid=493,msgtype=msgerror,anmode=aninfo_blind_1,c1=titr1)
180 ENDIF
181
182 ENDDO
183
184
185
186
187 CALL udouble(ipart(4,1),lipart1,npart+nthpart,mess,0,bid)
188
189 RETURN
190
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)
subroutine udouble(list, ilist, nlist, mess, ir, rlist)