80
81
82
83
84
85
86
87
93 USE multi_fvm_mod
96 USE defaults_mod
98 use matparam_def_mod
99
100
101
102#include "implicit_f.inc"
103
104
105
106#include "units_c.inc"
107#include "com04_c.inc"
108#include "param_c.inc"
109#include "scr17_c.inc"
110#include "tablen_c.inc"
111
112
113
114 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
115 INTEGER IX(*),ITABM1(*),LBUFGEO,ISKN(LISKN,*),
116 . IGEO(NPROPGI,*),IPM(NPROPMI,*),NPC(*),
117 . IPART(LIPART1,*),IDRAPEID(*),NUMGEO_STACK(NUMGEO+NUMSTACK),
118 . NPROP_STACK,IADBUF
119 TYPE(SUBMODEL_DATA) LSUBMODEL(NSUBMOD)
120 my_real geo(npropg,numgeo), x(*), pm(npropm,nummat),pld(*),rtrans(ntransf,*),knot(*)
121
122 DOUBLE PRECISION BUFGEO(*)
123
124 TYPE(PROP_TAG_) , DIMENSION(0:MAXPROP) :: PROP_TAG
125 TYPE(STACK_INFO_ ) , DIMENSION (NPROP_STACK) :: STACK_INFO
126 TYPE(MULTI_FVM_STRUCT) :: MULTI_FVM
127 TYPE(DEFAULTS_), INTENT(INOUT) :: DEFAULTS
128 type(matparam_struct_) ,dimension(nummat) ,intent(in) :: mat_param
129
130
131
132 CHARACTER LAW_ID*4
133 INTEGER I, PROP_ID, IGTYP, IMAT,ISMSTR, J, K,N,
134 . IGFLU, NSHELL, NSHSUP, NSHINF, NBADI,IUNIT,UID,
135 . NSST_D, NSST_DS, NPSH, ISORTH,
136 . IHGFLU, NSTACK,NUMS,IHBE
137 INTEGER IFLAGUNIT, JPID,N1,IPOS,ISROT,MLAWLY,MID,SUB_ID,
138 . PROP_SHELL,
139 . IAD_KNOT,ISTACK,IPINCH
140 INTEGER MAT_USR,MAT_RAD
141
142 INTEGER JPID1,JPID2,NISUB,E_TYPE,CPT,
143 . SUB_INDEX
145 . fac_l,fac_t,fac_m, zshift,pthk
146 CHARACTER(LEN=NCHARLINE) :: IDTITL,KEY,SOLVERKEYWORD
147 CHARACTER MESS*40
148 CHARACTER(LEN=NCHARTITLE) :: TITR1
149 DATA nshell /0/, nshsup /0/, nshinf /0/
150
151
152
153 DATA mess/'PID DEFINITION '/
154 DATA pun/0.1/
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247 WRITE(iout,1000)
248
249 nbadi = 0
250 nsst_d = 0
251 nsst_ds= 0
252 npsh = 0
253 cvis =zero
254 iad_knot = 0
255
256
257
259
260
261
262
264 i = 0
265
266
267
268 DO cpt=1,hm_numgeo
269 i = i + 1
270 igflu = 0
271 IF(
ale%GLOBAL%ICAA == 1)igflu=1
272 isorth = 0
273 ihgflu = 0
274
275 fac_m = one
276 fac_l = one
277 fac_t = one
278 key = ''
279 solverkeyword = ''
280 idtitl = ''
281 e_type = 2
282
283
284
286 . option_id = prop_id,
287 . unit_id = uid,
288 . submodel_id = sub_id,
289 . submodel_index = sub_index,
290 . option_titr = idtitl,
291 . keyword2 = key)
292
293
294
295 iflagunit = 0
296 DO iunit=1,unitab%NUNITS
297 IF (unitab%UNIT_ID(iunit) == uid) THEN
298 iflagunit = 1
299 EXIT
300 ENDIF
301 ENDDO
302 IF (uid/=0.AND.iflagunit==0) THEN
303 CALL ancmsg(msgid=659,anmode=aninfo,msgtype=msgerror,
304 . i2=uid,i1=prop_id,c1='PROPERTY',
305 . c2='PROPERTY',
306 . c3=idtitl)
307 ENDIF
308
309
310
311 CALL fretitl(idtitl,igeo(npropgi-ltitr+1,i
312 WRITE(iout,'(A40)') idtitl
313
314 igtyp=0
315 ihbe=0
316 ismstr=0
317 isrot=0
318 ipinch=0
319 pthk = zero
320
321 SELECT CASE(key(1:len_trim(key)))
322 CASE ('TYPE0','VOID')
323
324
325
326 igtyp=0
327 CALL hm_read_prop0(geo(1,i),igeo(1,i),prop_id,igtyp,unitab,lsubmodel
328
329 CASE ('TYPE1','TYPE01','SHELL')
330
331
332
333 igtyp=1
334 CALL hm_read_prop01(geo(1,i),igeo(1,i),prop_tag ,multi_fvm,igtyp,prop_id,idtitl,unitab,lsubmodel,
335 . defaults%SHELL)
336
337 CASE ('TYPE2','TYPE02','TRUS','truss')
338
339
340
341 IGTYP=2
342 CALL HM_READ_PROP02(IGTYP ,PROP_ID , IGEO(1,I) , GEO(1,I) ,PROP_TAG ,UNITAB ,IDTITL,LSUBMODEL )
343
344 CASE ('type3','type03','beam')
345
346
347
348 IGTYP=3
349 CALL HM_READ_PROP03(GEO(1,I),IGEO(1,I),PROP_TAG,IGTYP,PROP_ID,IDTITL,UNITAB,LSUBMODEL)
350
351 CASE ('type4','type04','spring')
352
353
354
355 IGTYP=4
356 CALL HM_READ_PROP04(GEO(1,I),IGEO(1,I),UNITAB,PROP_ID,IGTYP,PROP_TAG,LSUBMODEL)
357
358 CASE ('type6','type06','sol_orth')
359
360
361
362 IGTYP=6
363 CALL HM_READ_PROP06(GEO(1,I),IGEO(1,I),PROP_TAG ,MULTI_FVM,IGTYP ,
364 . PROP_ID ,IDTITL ,UNITAB ,LSUBMODEL,RTRANS ,
365 . SUB_ID ,ISKN ,IPART ,SUB_INDEX,DEFAULTS%SOLID)
366
367 CASE ('type5','type05','rivet')
368
369
370
371 IGTYP=5
372 CALL HM_READ_PROP05(GEO(1,I),IGEO(1,I),PROP_ID ,IGTYP ,IDTITL ,UNITAB ,LSUBMODEL )
373
374 CASE ('type8','type08','spr_gene')
375
376
377
378 IGTYP=8
379 CALL HM_READ_PROP08(GEO(1,I),IGEO(1,I),PROP_TAG ,IGTYP,PROP_ID,
380 . ISKN,UNITAB,IUNIT,IDTITL,LSUBMODEL,SUB_INDEX)
381
382
383 CASE ('type9','type09','sh_orth')
384
385
386
387 IGTYP=9
388 CALL HM_READ_PROP09(IGTYP ,GEO(1,I),IGEO(1,I),PROP_TAG,UNITAB,
389 . RTRANS,LSUBMODEL,IDTITL ,PROP_ID ,SUB_ID,ISKN,DEFAULTS%SHELL)
390 CASE ('type10','sh_comp')
391
392
393
394 IGTYP=10
395 CALL HM_READ_PROP10(IGTYP ,GEO(1,I),IGEO(1,I),PROP_TAG,UNITAB,
396 . RTRANS,LSUBMODEL,IDTITL ,PROP_ID ,SUB_ID,ISKN,DEFAULTS%SHELL )
397 CASE ('type11','sh_sandw')
398
399
400
401 IGTYP=11
402 CALL HM_READ_PROP11(GEO(1,I) ,IGEO(1,I) ,PM ,IPM ,ISKN ,
403 . UNITAB ,RTRANS ,LSUBMODEL,SUB_ID ,IDTITL ,
404 . PROP_TAG ,PROP_ID ,IGTYP ,DEFAULTS%SHELL )
405
406 CASE ('type12','spr_pul')
407
408
409
410 IGTYP=12
411 CALL HM_READ_PROP12(GEO(1,I), IGEO(1,I),UNITAB, IGTYP, PROP_ID,
412 . PROP_TAG, IDTITL, LSUBMODEL)
413
414 CASE ('type13','spr_beam')
415
416
417
418 IGTYP=13
419 CALL HM_READ_PROP13(GEO(1,I),IGEO(1,I),PROP_ID, UNITAB, ISKN,
420 . IDTITL ,IGTYP ,PROP_TAG, LSUBMODEL,SUB_INDEX)
421
422 CASE ('type16','sh_fabr')
423
424
425
426 IGTYP=16
427 CALL HM_READ_PROP16(GEO(1,I) ,IGEO(1,I),PM ,IPM ,ISKN ,
428 . UNITAB ,RTRANS ,LSUBMODEL,SUB_ID ,PROP_TAG ,
429 . IGTYP ,PROP_ID ,IDTITL,DEFAULTS%SHELL )
430
431 CASE ('type17','stack')
432
433
434
435 IGTYP=17
436 NUMS = NUMGEO_STACK(CPT)
437 CALL HM_READ_PROP17(GEO(1,I) ,IGEO(1,I) ,PM ,IPM ,ISKN ,
438 . UNITAB ,RTRANS ,LSUBMODEL,SUB_ID ,IDTITL ,
439 . PROP_ID ,PROP_TAG ,STACK_INFO(NUMS),DEFAULTS%SHELL)
440
441 CASE ('type18','int_beam')
442
443
444
445 IGTYP=18
446 CALL HM_READ_PROP18(GEO(1,I),IGEO(1,I),PROP_TAG,IGTYP,PROP_ID,IDTITL,UNITAB,LSUBMODEL)
447
448 CASE('type19','ply')
449
450
451
452 IGTYP=19
453 ISTACK = 0
454 CALL HM_READ_PROP19(PROP_ID, IGTYP, ISTACK, GEO(1,I),IGEO(1,I),PM,IPM,UNITAB,IDRAPEID,
455 . LSUBMODEL)
456
457
458
459
460 CASE ('type14','solid')
461 IGTYP=14
462.AND. IF (ALE%GLOBAL%ICAA == 0 IGFLU == 0) THEN
463 CALL HM_READ_PROP14(GEO(1,I),IGEO(1,I),PROP_TAG ,MULTI_FVM,IGTYP,PROP_ID,IDTITL,UNITAB,LSUBMODEL,
464 . IPART ,DEFAULTS%SOLID)
465 ELSE
466 CALL HM_READ_PROP14F(GEO(1,I),IGEO(1,I),PROP_TAG ,MULTI_FVM,IGTYP,PROP_ID,IDTITL,UNITAB,LSUBMODEL,
467 . DEFAULTS%SOLID)
468 END IF
469 CASE ('fluid')
470 IGTYP=14
471 IGFLU=1
472 CALL HM_READ_PROP14F(GEO(1,I),IGEO(1,I),PROP_TAG ,MULTI_FVM,IGTYP,PROP_ID,IDTITL,UNITAB,LSUBMODEL,
473 . DEFAULTS%SOLID)
474
475
476
477
478 CASE ('type15','porous')
479 IGTYP=15
480 CALL HM_READ_PROP15(PROP_ID ,IGTYP , GEO(1,I) , IGEO(1,I) ,PROP_TAG ,UNITAB ,
481 . LSUBMODEL,IDTITL , ISKN ,ITABM1 ,DEFAULTS%SOLID )
482
483 CASE ('type20','tshell')
484
485
486
487 IGTYP=20
488 CALL HM_READ_PROP20(GEO(1,I),IGEO(1,I),PROP_TAG ,MULTI_FVM,IGTYP,PROP_ID,IDTITL,UNITAB,LSUBMODEL,
489 . DEFAULTS%SOLID)
490
491 CASE ('type21','tsh_orth')
492
493
494
495
496 IGTYP=21
497 CALL HM_PROP_READ21(GEO(1,I) ,IGEO(1,I) ,PROP_ID ,ISKN ,UNITAB ,
498 . RTRANS ,LSUBMODEL ,SUB_ID,IDTITL ,IGTYP ,PROP_TAG,
499 . DEFAULTS%SOLID)
500 CASE ('type22','tsh_comp')
501
502
503
504
505 IGTYP=22
506 CALL HM_READ_PROP22(GEO(1,I) ,IGEO(1,I) ,IGTYP,PROP_ID ,IDTITL ,UNITAB ,
507 . LSUBMODEL ,PM ,IPM ,RTRANS ,SUB_ID ,ISKN,PROP_TAG,
508 . DEFAULTS%SOLID)
509
510 CASE ('type23','spr_mat')
511
512
513
514
515 IGTYP=23
516 CALL HM_READ_PROP23(GEO(1,I),IGEO(1,I),PROP_ID ,IGTYP ,UNITAB,
517 . ISKN ,IDTITL ,LSUBMODEL , PROP_TAG,SUB_INDEX)
518
519 CASE ('type25','spr_axi')
520
521
522
523 IGTYP=25
524 CALL HM_READ_PROP25(GEO(1,I), IGEO(1,I), UNITAB, ISKN,IGTYP,
525 . PROP_ID,PROP_TAG,IDTITL,LSUBMODEL,SUB_INDEX)
526
527 CASE ('type26','spr_tab')
528
529
530
531 IGTYP=26
532 CALL HM_READ_PROP26(GEO(1,I), IGEO(1,I), UNITAB, PROP_ID,IGTYP,
533 . PROP_TAG,LSUBMODEL)
534
535 CASE ('type27','spr_bdamp')
536
537
538
539 IGTYP=27
540 CALL HM_READ_PROP27(GEO(1,I),IGEO(1,I),PROP_TAG,IGTYP,PROP_ID,UNITAB,LSUBMODEL)
541
542 CASE ('inject1')
543
544
545
546 IGTYP=0
547 CALL HM_READ_INJECT1(GEO(1,I),IGEO(1,I),PROP_TAG,IGTYP,PROP_ID,IDTITL,UNITAB,LSUBMODEL,IPM,PM,NPC,PLD)
548
549 CASE ('inject2')
550
551
552
553 IGTYP=0
554 CALL HM_READ_INJECT2(GEO(1,I),IGEO(1,I),PROP_TAG,IGTYP,PROP_ID,IDTITL,UNITAB,LSUBMODEL,IPM,PM,NPC,PLD)
555
556 CASE ('type51')
557
558
559
560 IGTYP= 51
561 NUMS = NUMGEO_STACK(CPT)
562 CALL HM_READ_PROP51(
563 . GEO(1,I) ,IGEO(1,I) ,PM ,IPM ,ISKN ,
564 . PROP_ID ,PROP_TAG ,RTRANS ,SUB_ID ,STACK_INFO(NUMS) ,
565 . IDTITL ,UNITAB ,LSUBMODEL,DEFAULTS%SHELL)
566
567 CASE ('pcompp')
568
569
570
571 IGTYP=52
572
573 IGEO( 1,I) = PROP_ID
574 IGEO(11,I)=IGTYP
575 GEO (12,I) = IGTYP ! double storage
576
577
578 CASE DEFAULT
579
580
581
582 CALL HM_READ_PROP_GENERIC(
583 1 IGTYP ,PROP_ID ,IDTITL ,KEY ,GEO(1,I),
584 2 IGEO(1,I),LBUFGEO ,BUFGEO ,IADBUF ,UNITAB,
585 3 ISKN ,KNOT ,IAD_KNOT,PROP_TAG ,LSUBMODEL,
586 4 RTRANS ,SUB_ID ,IUNIT ,SUB_INDEX,DEFAULTS )
587
588 END SELECT ! SELECT CASE(IGTYP)
589
590
591 PROP_SHELL = 0
592.OR..OR..OR..OR. IF (IGTYP == 1 IGTYP == 9 IGTYP == 10 IGTYP == 11
593.OR..OR..OR..OR. . IGTYP == 16 IGTYP == 17 IGTYP == 19 IGTYP == 51
594 . IGTYP == 52 ) PROP_SHELL = 1
595
596 IF (PROP_SHELL == 1) THEN
597
598 PROP_TAG(IGTYP)%G_SIG = 0
599 PROP_TAG(IGTYP)%G_FOR = 5
600 PROP_TAG(IGTYP)%G_MOM = 3
601 PROP_TAG(IGTYP)%G_THK = 1
602 PROP_TAG(IGTYP)%G_EINT= 2
603 PROP_TAG(IGTYP)%G_EINS= 0
604 PROP_TAG(IGTYP)%L_SIG = 5
605 IF (IGTYP == 17) PROP_TAG(IGTYP)%L_SIGPLY = 3
606 PROP_TAG(IGTYP)%L_THK = 0
607 PROP_TAG(IGTYP)%L_EINT= 2
608 PROP_TAG(IGTYP)%L_EINS= 0
609 PROP_TAG(IGTYP)%G_VOL = 1
610 PROP_TAG(IGTYP)%L_VOL = 1
611 PROP_TAG(IGTYP)%LY_DMG = 2
612.OR..OR..OR. IF (IGTYP == 9 IGTYP == 10 IGTYP == 11
613.OR..OR. . IGTYP == 17 IGTYP == 51 IGTYP == 52 ) THEN
614 PROP_TAG(IGTYP)%LY_GAMA = 6
615 PROP_TAG(IGTYP)%LY_DIRA = 2
616 ELSEIF (IGTYP == 16) THEN
617 PROP_TAG(IGTYP)%LY_GAMA = 6
618 PROP_TAG(IGTYP)%LY_DIRA = 2
619 PROP_TAG(IGTYP)%LY_DIRB = 2
620 ENDIF
621 PROP_TAG(IGTYP)%LY_PLAPT = 1
622 PROP_TAG(IGTYP)%LY_SIGPT = 5
623 PROP_TAG(IGTYP)%G_FORPG = 5
624 PROP_TAG(IGTYP)%G_MOMPG = 3
625 PROP_TAG(IGTYP)%G_STRPG = 8
626
627.OR. IF((IGTYP == 11 IGTYP == 17 ) ) PROP_TAG(IGTYP)%LY_DMG = 2
628.OR..OR..OR. IF (IGTYP == 9 IGTYP == 10 IGTYP == 11
629.OR..OR..OR. . IGTYP == 16 IGTYP == 17 IGTYP == 51
630 . IGTYP == 52 ) PROP_TAG(IGTYP)%L_OFF = 1
631 ENDIF
632
633 ENDDO
634
635
636
637
638 NPLYMAX = 0
639 DO CPT = 1, HM_NUMGEO
640 IF (IGEO(11, CPT) == 19) THEN
641 NPLYMAX = NPLYMAX + 1
642 IGEO(102, CPT) = NPLYMAX
643 ENDIF
644 ENDDO
645
646
647
648 DO CPT = 1, HM_NUMGEO
649 IGTYP=IGEO(11,CPT)
650 NUMS= NUMGEO_STACK(CPT)
651.OR. IF (IGTYP == 17 IGTYP == 51 ) THEN
652 ! Initialization of stack thickness
653 GEO(1,CPT) = ZERO
654
655 IPOS =IGEO(99,CPT)
656 ZSHIFT = GEO(199, CPT)
657 IF(IPOS == 0 )THEN
658 ZSHIFT = - HALF
659 ELSEIF(IPOS == 3) THEN
660 ZSHIFT = -ONE
661 ELSEIF(IPOS == 4) THEN
662 ZSHIFT = ZERO
663 ENDIF
664 GEO(199, CPT) = ZSHIFT
665 N1 = IGEO(4,CPT)
666 DO 100 J =1 , N1
667
668 JPID = STACK_INFO(NUMS)%PID(J)
669 IF (JPID > 0) THEN
670 DO K=1,HM_NUMGEO
671 NSTACK = 0
672.AND. IF (IGEO(1,K) == JPID IGEO(11,K)==19) THEN
673 STACK_INFO(NUMS)%PID(J) = K
674
675 NSTACK = IGEO(42,K)
676 NSTACK = NSTACK + 1
677 IGEO(42 ,K) = NSTACK
678
679 IGEO(200 + NSTACK ,K) = CPT
680
681 GEO(1,CPT) = GEO(1,CPT) + GEO(1,K)
682 GOTO 100
683 ENDIF
684 ENDDO
685 CALL FRETITL2(TITR1,IGEO(NPROPGI-LTITR+1,CPT),LTITR)
686 CALL ANCMSG(MSGID=373,
687 . MSGTYPE=MSGERROR,
688 . ANMODE=ANINFO_BLIND_1,
689 . I1=IGEO(1,CPT),C1=TITR1,
690 . C2='property',
691 . I2=JPID)
692 ENDIF
693 100 CONTINUE
694
695 NISUB = IGEO(44,CPT)
696 IF (NISUB > 0) THEN
697 DO 110 J =1 , NISUB
698 JPID1 = STACK_INFO(NUMS)%ISUB( 3*(J-1) + 1 )
699 JPID2 = STACK_INFO(NUMS)%ISUB( 3*(J-1) + 2 )
700.OR. IF (JPID1 > 0 JPID2 > 0) THEN
701 DO K=1,NUMGEO
702 NSTACK = 0
703 IF (IGEO(1,K) == JPID1) THEN
704 STACK_INFO(NUMS)%ISUB (3*(J-1) + 1) = K
705 GOTO 110
706 ELSEIF (IGEO(1,K) == JPID2) THEN
707 STACK_INFO(NUMS)%ISUB (3*(J-1) + 2) = K
708 GOTO 110
709 ENDIF
710 ENDDO
711 CALL FRETITL2(TITR1,IGEO(NPROPGI-LTITR+1,CPT),LTITR)
712 CALL ANCMSG(MSGID=373,
713 . MSGTYPE=MSGERROR,
714 . ANMODE=ANINFO_BLIND_1,
715 . I1=IGEO(1,CPT),C1=TITR1,
716 . C2='property',
717 . I2=JPID1)
718 CALL FRETITL2(TITR1,IGEO(NPROPGI-LTITR+1,CPT),LTITR)
719 CALL ANCMSG(MSGID=373,
720 . MSGTYPE=MSGERROR,
721 . ANMODE=ANINFO_BLIND_1,
722 . I1=IGEO(1,CPT),C1=TITR1,
723 . C2='property',
724 . I2=JPID2)
725.OR. ENDIF ! IF (JPID1 > 0 JPID2 > 0)
726 110 CONTINUE
727 ENDIF ! IF (NISUB > 0)
728
729
730 DO J=1,N1
731 JPID = STACK_INFO(NUMS)%PID(J)
732 STACK_INFO(NUMS)%THK(J) = GEO(1,JPID)
733 STACK_INFO(NUMS)%DIR(J) = GEO(212,JPID) ! angle (DIR1,DIR2) - for compatibility of law58 with PID51)
734 STACK_INFO(NUMS)%MID(J) = IGEO(101,JPID)
735 ENDDO
736
737
738
739 J=STACK_INFO(NUMS)%MID(1)
740 MLAWLY = IPM(2,J)
741 PROP_ID = IGEO(1,CPT)
742
743 DO 350 N=2,N1
744 J = STACK_INFO(NUMS)%MID(N)
745 MID = IPM(1,J)
746 IF (IGTYP == 51) GOTO 350
747 IF (IPM(2,J) == MLAWLY) GOTO 350
748 WRITE(LAW_ID,'(i2)')MLAWLY
749 IF (MLAWLY==99) LAW_ID='user'
750 CALL ANCMSG(MSGID=899,
751 . MSGTYPE=MSGERROR,
752 . ANMODE=ANINFO_BLIND_1,
753 . I1=PROP_ID,
754 . C1=IDTITL,
755 . I2=MID,
756 . C2=LAW_ID)
757 350 CONTINUE
758
759 ENDIF ! begin igtype = 17
760 ENDDO ! DO CPT = 1, HM_NUMGEO
761
762
763
764 DO CPT = 1, HM_NUMGEO
765 IGTYP = IGEO(11,CPT)
766 PROP_ID = IGEO(1,CPT)
767 N1 = IGEO(4,CPT)
768 NUMS = NUMGEO_STACK(CPT)
769!
770.OR. IF (IGTYP == 17 IGTYP == 51) THEN
771 MAT_USR = 0
772 MAT_RAD = 0
773 DO N =1,N1
774 IMAT = STACK_INFO(NUMS)%MID(N)
775 MLAWLY = MAT_PARAM(IMAT)%ILAW
776.and..or..or. IF (MLAWLY > 28 MLAWLY < 32 MLAWLY == 99 MLAWLY == 200) THEN
777 MAT_USR = 1
778 ELSE
779 MAT_RAD = 1
780 END IF
781 ENDDO
782 ! Error if mixing user material laws with internal radioss laws in composite stack
783.AND. IF (MAT_USR == 1 MAT_RAD == 1) THEN
784 CALL ANCMSG(MSGID=3113,MSGTYPE=MSGERROR,ANMODE=ANINFO_BLIND_2,
785 . I1=IGTYP, I2=PROP_ID)
786 END IF
787 ENDIF ! IGTYP
788 ENDDO ! NUMGEO
789
790
791
792 DO I = 1, NUMGEO
793 GEO(100,I) = SQRT(GEO(38,I)) ! SHFSR
794 END DO
795
796
797
798 RBID = ZERO
799 CALL VDOUBLE(IGEO(1,1),NPROPGI,NUMGEO,MESS,0,RBID)
800
801
802 RETURN
803
804 1000 FORMAT(//
805 & 5X,' property sets'/,
806 & 5X,' -------------'//)
subroutine hm_option_start(entity_type)
subroutine hm_read_prop01(geo, igeo, prop_tag, multi_fvm, igtyp, ig, idtitl, unitab, lsubmodel, defaults_shell)
subroutine hm_read_prop0(geo, igeo, ig, igtyp, unitab, lsubmodel)
subroutine ini_prop_vars(prop_tag)
integer, parameter nchartitle
integer, parameter ncharkey
integer, parameter ncharfield
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)