54
55
56
61 USE defaults_mod
63 USE reader_old_mod , ONLY : kline
64
65
66
67#include "implicit_f.inc"
68
69
70
71#include "com01_c.inc"
72#include "com04_c.inc"
73#include "scr17_c.inc"
74#include "scr19_c.inc"
75#include "units_c.inc"
76#include "param_c.inc"
77#include "tablen_c.inc"
78
79
80
81
82 CHARACTER(LEN=NCHARTITLE),INTENT(IN):: IDTITL
83 CHARACTER(LEN=NCHARLINE) :: KEYTYPE
84 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
85 INTEGER,INTENT(IN):: IG,ISKN(LISKN,*),SUB_ID,IUNIT,SUB_INDEX
86 my_real ,
INTENT(IN):: rtrans(ntransf,*)
87 TYPE(SUBMODEL_DATA),INTENT(IN) :: LSUBMODEL(NSUBMOD)
88
89 INTEGER,INTENT(OUT):: IGTYP
90
91 INTEGER,INTENT(INOUT) :: IGEO(NPROPGI), LBUFGEO, IADBUF, IAD_KNOT
93 . geo(npropg), knot(*)
94 DOUBLE PRECISION,INTENT(INOUT):: BUFGEO(*)
95 TYPE() , DIMENSION(0:MAXPROP),INTENT(INOUT) :: PROP_TAG
96 TYPE(DEFAULTS_), INTENT(IN) :: DEFAULTS
97
98
99
100 INTEGER ISKW,IADFUN,IADMAT,IADPID,IADTAB
101 INTEGER I, ILAW,NPG,JCVT,NUVAR(2)
102 my_real pargeo(100),stif,tthick
104 CHARACTER FILNAM*512,CLAW*4
105 INTEGER LEN_FILNAM
106 CHARACTER(LEN=NCHARTITLE) :: TITR
107
108
109 DO i = 1,100
110 pargeo(i) = zero
111 ENDDO
112
113 DO i = 1, bgeosize
114 bufgeo0(i) = zero
115 ENDDO
116
117 nuvar(1)= 0
118 nuvar(2)= 0
119 nuparam = 0
120 njfunc = 0
121 njmat = 0
122 njpid = 0
123 njtab = 0
124
125 igeo(1) =ig
126 igeo(5) = 4
127
128 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
129
130 SELECT CASE(keytype(1:len_trim(keytype)))
131
132 CASE ('TYPE28','NSTRAND')
133 igtyp =28
135 . titr ,igtyp ,prop_tag,lsubmodel,iunit)
136
137 CASE ('TYPE32','SPR_PRE')
138 igtyp =32
140 . igtyp,prop_tag,titr,lsubmodel)
141
142 CASE ('TYPE33','KJOINT')
143 igtyp =33
145 . iunit ,ig ,titr ,prop_tag,
146 . igtyp ,lsubmodel)
147
148 CASE ('TYPE34','SPH')
149 igtyp =34
151 . qa,qb,iskn,ig,titr,unitab,
152 . prop_tag,igtyp,lsubmodel)
153
154 CASE ('TYPE35','STITCH')
155 igtyp =35
157 . ig,igtyp ,prop_tag,lsubmodel)
158
159 CASE ('TYPE36','PREDIT')
160 igtyp =36
162 . iskn,ig,titr,igtyp,prop_tag,geo,
163 . lsubmodel,sub_index)
164 CASE ('USER4')
165
166
167
168
169 igtyp=37
171
172
173 CASE ('TYPE43','CONNECT')
174 igtyp=43
176 . nuvar ,pargeo ,igtyp ,prop_tag,
177 . unitab ,lsubmodel,defaults%SOLID)
178
179 CASE ('TYPE44','SPR_CRUS')
180 igtyp=44
182 . unitab,iskn ,igeo ,titr ,igtyp ,
183 . prop_tag,lsubmodel ,sub_index,iunit)
184
185 CASE ('TYPE45','KJOINT2')
186 igtyp =45
188 . ig,prop_tag,titr,lsubmodel,iunit)
189
190 CASE ('TYPE46','SPR_MUSCLE')
191 igtyp =46
193 . ig,prop_tag,titr,lsubmodel,iunit)
194
195 CASE ('TYPE29','TYPE30','TYPE31',
196 . 'USER1' ,'USER2' ,'USER3')
197
198
199
201 . iout ,nuvar ,pargeo ,unitab,igtyp,
202 . ig ,titr ,lsubmodel,iunit ,iskn ,
203 . keytype ,prop_tag)
204
205 CASE DEFAULT
206 CALL ancmsg(msgid=1647,anmode=aninfo,msgtype=msgerror,
207 . i1=ig,c1='TITR',i2=igtyp)
208
209 END SELECT
210
211 igeo(11)=igtyp
212 geo(12) =igtyp+em01
213
214 lbufgeo = lbufgeo + nuparam + njfunc + njmat + njpid + njtab
215
216 DO i=1,nuparam
217 bufgeo(iadbuf+i-1)=bufgeo0(i)
218 ENDDO
219 iadfun = iadbuf + nuparam
220 DO i=1,njfunc
221 bufgeo(iadfun+i-1)=jfunc(i)
222 ENDDO
223 iadmat = iadfun + njfunc
224 DO i=1,njmat
225 bufgeo(iadmat+i-1)=jmat(i)
226 ENDDO
227 iadpid = iadmat + njmat
228 DO i=1,njpid
229 bufgeo(iadpid+i-1)=jpid(i)
230 ENDDO
231 iadtab = iadpid + njpid
232 DO i=1,njtab
233 bufgeo(iadtab+i-1)=jtab(i)
234 ENDDO
235
236 iskw = nint(pargeo(1))
237 stif = pargeo(2)
238 ifrwv =
max(ifrwv,nint(pargeo(3)))
239 npg = nint(pargeo(4))
240 jcvt = nint(pargeo(5))
241
242 IF (iskw == 0 .AND. igtyp /= 34) iskw = 1
243 geo(2)=iskw
244 igeo(2)=iskw
245 igeo(4)=npg
246 geo(3)=stif
247 geo(8)=5
248 geo(25) = nuvar(1)
249 geo(26) = nuparam
250 geo(27) = iadbuf
251 geo(28) = njfunc
252 geo(29) = iadfun
253 geo(30) = njmat
254 geo(31) = iadmat
255 geo(32) = njpid
256 geo(33) = iadpid
257 geo(35) = nuvar(2)
258 geo(36) = njtab
259 geo(37) = iadtab
260
261 igeo(16) = jcvt
262 igeo(27) = nuvar(1)
263 igeo(28) = nuvar(2)
264 igeo(52) = nuparam
265 igeo(53) = njfunc
266 igeo(54) = njmat
267 igeo(55) = njpid
268 igeo(56) = njtab
269 igeo(57) = iadbuf
270 igeo(58) = iadfun
271 igeo(59) = iadmat
272 igeo(60) = iadpid
273 igeo(61) = iadtab
274
275 iadbuf = iadtab + njtab
276
277 IF (igtyp > 28 .and. igtyp < 32 .or. igtyp > 36 .and. igtyp < 43) THEN
278 prop_tag(igtyp)%G_SIG = 6
279 prop_tag(igtyp)%G_VOL = 1
280 prop_tag(igtyp)%G_EINT = 1
281 prop_tag(igtyp)%G_OFF = 1
282 prop_tag(igtyp)%G_FILL = 1
283 prop_tag(igtyp)%L_SIG = 6
284 prop_tag(igtyp)%L_VOL = 1
285 prop_tag(igtyp)%L_EINT = 1
286 prop_tag(igtyp)%L_OFF = 1
287 prop_tag(igtyp)%NUVAR = igeo(27)
288 igeo(4) = 1
289 prop_tag(igtyp)%L_SIG = 6
290 prop_tag(igtyp)%L_VOL = 1
291 prop_tag(igtyp)%L_EINT = 1
292 ENDIF
293
294 RETURN
295
296 RETURN
subroutine hm_read_prop28(iout, nuvar, pargeo, unitab, id, titr, igtyp, prop_tag, lsubmodel, iunit)
subroutine hm_read_prop32(iout, nuvar, pargeo, unitab, ig, igtyp, prop_tag, titr, lsubmodel)
subroutine hm_read_prop33(iout, nuvar, pargeo, unitab, iunit, id, titr, prop_tag, igtyp, lsubmodel)
subroutine hm_read_prop34(geo, igeo, iout, nuvar, pargeo, qa, qb, iskn, ig, titr, unitab, prop_tag, igtyp, lsubmodel)
subroutine hm_read_prop35(iout, nuvar, pargeo, unitab, id, igtyp, prop_tag, lsubmodel)
subroutine hm_read_prop36(iout, nuvar, pargeo, unitab, iskn, ig, titr, igtyp, prop_tag, geo, lsubmodel, sub_id)
subroutine hm_read_prop43(geo, igeo, iout, ig, nuvar, pargeo, igtyp, prop_tag, unitab, lsubmodel, defaults_solid)
subroutine hm_read_prop44(iout, ig, nuvar, pargeo, unitab, iskn, igeo, titr, igtyp, prop_tag, lsubmodel, sub_id, iunit)
subroutine hm_read_prop45(iout, nuvar, pargeo, unitab, igtyp, id, prop_tag, titr, lsubmodel, iunit)
subroutine hm_read_prop46(iout, nuvar, pargeo, unitab, igtyp, id, prop_tag, titr, lsubmodel, iunit)
subroutine hm_read_prop_user4(iout, nuvar, pargeo, unitab, lsubmodel)
subroutine hm_read_prop_user(iout, nuvar, pargeo, unitab, igtyp, ig, title, lsubmodel, iunit, iskn, key, prop_tag)
integer, parameter nchartitle
integer, parameter ncharline
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)