41
47
48
49
50#include "implicit_f.inc"
51
52
53
54#include "com04_c.inc"
55#include "param_c.inc"
56#include "sphcom.inc"
57#include "tablen_c.inc"
58
59
60
61
62
63
64
65
66
67
68
69
70
71 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
72 INTEGER IOUT,NUVAR,ISKN(LISKN,*),IG,IGTYP,SUB_ID
74 CHARACTER(LEN=NCHARTITLE)::TITR
75 TYPE(PROP_TAG_) , DIMENSION(0:MAXPROP) :: PROP_TAG
76 INTEGER SET_U_PNU,SET_U_GEO,
77 . KFUNC,KUMAT,KUPROP
79 parameter(kfunc=29)
80 parameter(kumat=31)
81 parameter(kuprop=33)
82 TYPE(SUBMODEL_DATA),INTENT(IN)::(*)
83
84
85
86
87 INTEGER ISK,IUTYP,PID1,PID2,MID1,IERROR,K
89 . xk,
area,ixx,iyy,izz,aa,ray,ry,rz
90 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
91
92
93 is_encrypted = .false.
94 is_available = .false.
95
96
97
99
100
101
102 CALL hm_get_intv(
'P36_lutype',iutyp,is_available,lsubmodel)
103
104 IF(iutyp==1)THEN
105
106
107
108
109
110
111
112 CALL hm_get_intv(
'SKEW_CSID',isk,is_available,lsubmodel)
113 IF(isk == 0 .AND. sub_id /= 0 ) isk = lsubmodel(sub_id)%SKEW
114 CALL hm_get_intv(
'PROP_ID1',pid1,is_available,lsubmodel)
115 CALL hm_get_intv(
'PROP_ID2',pid2,is_available,lsubmodel)
116
117
118
120
121 nuvar = 15
122
123
124
127
129 IF(isk == iskn(4,k+1)) THEN
130 isk=k+1
131 GO TO 100
132 ENDIF
133 ENDDO
134 CALL ancmsg(msgid=137,anmode=aninfo,msgtype=msgerror,
135 . c1='PROPERTY',
136 . c2='PROPERTY',
137 . i1=ig,i2=isk,c3=titr)
138100 CONTINUE
139
140 pargeo(1) = isk
141 pargeo(2) = xk
142
143 IF(is_encrypted)THEN
144 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
145 ELSE
146 WRITE(iout,1000)iskn(4,isk),pid1,pid2,xk
147 ENDIF
148
149 ELSEIF(iutyp==2)THEN
150
151
152
153
154
155
156
157 CALL hm_get_intv(
'MAT_ID',mid1,is_available,lsubmodel)
158
159
160
166
167
169
170 IF(ray==0.AND.
area/=0)
THEN
171 IF(ixx==0.OR.iyy==0.OR.izz==0) THEN
173 . msgtype=msgerror,
174 . anmode=aninfo_blind_1,
175 . i1=ig,
176 . c1=titr)
177 ENDIF
178 ENDIF
179
180 IF ((
area<=zero).AND.(ray<=zero))
THEN
181 WRITE(iout,*)' ** ERROR : PROPERTY INPUT '
182 IF(.NOT. is_encrypted)THEN
183 WRITE(iout,*)
' AREA =',
area,
' R =',ray
184 ENDIF
185 ENDIF
186
187 IF ((
area<=zero).AND.(ray/=zero))
THEN
189
190 ixx=
area*ray*ray*half
191 iyy=half*ixx
192
193 izz=iyy
194 ry=ray
195 rz=ray
196 ELSE
197
198 ry=sqrt(four*iyy/
area)
199 rz=sqrt(four*izz/
area)
200 ENDIF
201
202 aa = iutyp
210
211 IF(is_encrypted)THEN
212 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
213 ELSE
214 WRITE(iout,2000)mid1,
area,ixx,iyy,izz,ry,rz
215 ENDIF
216
217 ENDIF
218
219 geo(25) = nuvar
220 prop_tag(igtyp)%G_EINT = 1
221 prop_tag(igtyp)%G_FOR = 3
222 prop_tag(igtyp)%G_MOM = 5
223 prop_tag(igtyp)%G_SKEW = 6
224 prop_tag(igtyp)%G_MASS = 1
225 prop_tag(igtyp)%G_V_REPCVT = 3
226 prop_tag(igtyp)%G_VR_REPCVT = 3
227
228 IF(nint(geo(25)) > 0) prop_tag(igtyp)%G_NUVAR = nint(geo(25))
229
230 RETURN
231 999 CONTINUE
232 WRITE(iout,*)' **ERROR IN PROPERTY 36 INPUT'
233 RETURN
234 1000 FORMAT(
235 & 5x,' USER PROPERTY TYPE 1 (used by spring elements) ',/,
236 & 5x,' -------------------- ',//,
237 & 5x,'SKEW ID . . . . . . . . . . . . . . . .=',i10/
238 & 5x,'FIRST END TYPE 2 USER PROPERTY ID . . .=',i10/
239 & 5x,'SECOND END TYPE 2 USER PROPERTY ID. . .=',i10/
240 & 5x,'STIFFNESS FOR INTERFACE . . . . . . . .=',1pg20.13//)
241 2000 FORMAT(
242 & 5x,' USER PROPERTY TYPE 2 (used by property type 1) ',/,
243 & 5x,' -------------------- ',//,
244 & 5x,'USER MATERIAL ID. . . . . . . . . . . .=',i10/,
245 & 5x,'AREA. . . . . . . . . . . . . . . . . .=',1pg20.13/,
246 & 5x,'TORSION SECTION INERTIA . . . . . . . .=',1pg20.13/,
247 & 5x,'BENDING SECTION INERTIA IYY. . . . . . .=',1pg20.13/,
248 & 5x,'BENDING SECTION INERTIA IZZ. . . . . . .=',1pg20.13/,
249 & 5x,'BENDING SECTION RAYON RY . . . . . . .=',1pg20.13/,
250 & 5x,'BENDING SECTION RAYON RZ . . . . . . .=',1pg20.13//)
251 3000 FORMAT(
252 & 5x,'USER PROPERTY SET'/,
253 & 5x,'PROPERTY SET NUMBER . . . . . . . . . .=',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)
subroutine area(d1, x, x2, y, y2, eint, stif0)
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)
integer function set_u_pnu(ivar, ip, k)
integer function set_u_geo(ivar, a)