43
44
45
46#include "implicit_f.inc"
47
48
49
50#include "units_c.inc"
51#include "com04_c.inc"
52#include "param_c.inc"
53#include "scr17_c.inc"
54#include "drape_c.inc"
55
56
57
58 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
59 INTEGER IGEO(NPROPGI),IPM(NPROPMI,*),ISTACK,IDRAPEID(*),IUNIT
61 . geo(npropg), pm(npropm,*)
62 TYPE(SUBMODEL_DATA), DIMENSION(NSUBMOD), INTENT(IN) :: LSUBMODEL
63
64
65
66 CHARACTER ISS*3
67 INTEGER IPMAT,IMID,MLAWLY1, IG,J,JREC
69 . thickt
70 INTEGER ISH3N,DRAPE_ID
71 INTEGER ID
72 CHARACTER(LEN=NCHARTITLE)::TITR,TITR1
73 LOGICAL :: IS_AVAILABLE, IS_ENCRYPTED
74 LOGICAL :: FOUND
75
76
77 is_encrypted = .false.
78 is_available = .false.
79
81
82 ish3n = igeo(18)
83 CALL hm_get_intv(
'mat_ID', imid, is_available, lsubmodel)
84 CALL hm_get_floatv(
't', geo(1), is_available, lsubmodel, unitab)
85 CALL hm_get_floatv(
'delta_phi', geo(2), is_available, lsubmodel, unitab)
86 CALL hm_get_intv(
'grsh4n_ID', igeo(40), is_available, lsubmodel)
87 CALL hm_get_intv(
'grsh3n_ID', igeo(41), is_available, lsubmodel)
88 CALL hm_get_intv(
'Npt_ply', igeo(4), is_available, lsubmodel)
89 CALL hm_get_floatv(
'alpha_i', geo(212), is_available, lsubmodel, unitab
90
91 CALL hm_get_intv(
'drape_ID', drape_id, is_available, lsubmodel)
92 CALL hm_get_intv(
'def_orth', igeo(49), is_available, lsubmodel)
93
94 ig = igeo(1)
95 IF (igeo(4) <= 0) igeo(4) = 1
96 IF (geo(212) == zero) geo(212) = ninty
97 IF (is_encrypted) THEN
98 WRITE(iout,1000)ig
99 1000 FORMAT(
100 & 5x,' LAYER SHELL PROPERTY SET'/,
101 & 5x,'------------------------------------'/,
102 & 5x,'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
103 & 5x,'CONFIDENTIAL DATA'//)
104 ELSE
105 WRITE(iout,2000)ig,imid,geo(1),geo(2),igeo(40),igeo(41),igeo(4),
106 . geo(212),drape_id,igeo(49)
107 ENDIF
108 geo(2)=geo(2)*pi/hundred80
109 geo(212)=geo(212)*pi/hundred80
110 igeo(48) = 0
111
112
113
114
115 found = .false.
116 IF(imid > 0) THEN
117 DO j=1,nummat
118 IF (ipm(1,j) == imid) THEN
119 igeo(101) = j
120 found = .true.
121 EXIT
122 ENDIF
123 ENDDO
124 ENDIF
125 IF (.NOT. found) THEN
126 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
127 IF(istack == 0) THEN
129 . msgtype=msgerror,
130 . anmode=aninfo_blind_2,
131 . i1=ig,
132 . c1=titr,
133 . i2=imid)
134 ELSE
136 . msgtype=msgerror,
137 . anmode=aninfo_blind_2,
138 . i1=ig,
139 . c1=titr,
140 . i2=imid)
141
142 ENDIF
143 igeo(101) = 1
144 ENDIF
145
146
147
148 IF (ndrape > 0 .OR. drape_id > 0) THEN
149 found = .false.
150 DO j=1,ndrape
151 IF (drape_id > 0 .AND. drape_id == idrapeid(j)) THEN
152 igeo(48) = drape_id
153 found = .true.
154 EXIT
155 ENDIF
156 ENDDO
157 IF (.NOT. found) THEN
158 IF (drape_id > 0)THEN
159 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
161 . msgtype=msgerror,
162 . anmode=aninfo,
163 . i1=ig,
164 . c1=titr,
165 . i2=drape_id)
166 ENDIF
167 ENDIF
168 ENDIF
169
170 RETURN
171
172 2000 FORMAT(/,
173 & 5x,'PLY PROPERTY SET ',/,
174 & 5x,'PROPERTY SET NUMBER . . . . . . . . . . . . . .=',i10/,
175 & 5x,'MATERIAL NUMBER . . . . . . . . . . . . . . . .=',i10/,
176 & 5x,'LAYER THICKNESS . . . . . . . . . . . . . . . .=',1pg20.13/,
177 & 5x,'INCREMENTAL ANGLE (DIR 1,PROJ(DIR 1 / SHELL). . .=',1pg20.13/,
178 & 5x,'SHELL 4-nodes GROUP IDENTIFIER. . . . . . . . .=',i10/,
179 & 5x,'SHELL 3-nodes GROUP IDENTIFIER. . . . . . . . .=',i10/,
180 & 5x,'NUMBER OF INTEGRATION POINTS THROUGH LAYER. . .=',i10/,
181 & 5x,'ORTHOTROPY ANGLE BETWEEN (DIR 1,DIR 2). . . . . =',1pg20.13/,
182 & 5x,'DRAPE IDENTIFIER . . . . . . . . . . . . . . .=',i10/,
183 & 5x,'DEF_ORTH FLAG . . . . . . . . . . . . . . . . . =',i10/)
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
integer, parameter nchartitle
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)