39
45
46
47
48#include "implicit_f.inc"
49
50
51
52#include "units_c.inc"
53#include "param_c.inc"
54#include "com04_c.inc"
55#include "sphcom.inc"
56#include "tablen_c.inc"
57
58
59
60 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
61 INTEGER IGEO(NPROPGI),ISKN(LISKN,*),IG,IGTYP
62 INTEGER, INTENT(IN) :: SUB_INDEX
63 TYPE(PROP_TAG_) , DIMENSION(0:MAXPROP) :: PROP_TAG
64
66 . geo(npropg)
67 TYPE(SUBMODEL_DATA),INTENT(IN)::LSUBMODEL(*)
68 CHARACTER(LEN=NCHARTITLE)::TITR
69
70
71
72 INTEGER ITYPE,ID_SKEW,ID_SENS,ISFLAG,K
73
75 . inertia,vol_air,pun
76 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
77
78
79
80 DATA pun/0.1/
81
82
83 is_encrypted = .false.
84 is_available = .false.
85
86 igeo(1)=ig
87 igeo(11)=igtyp
88 geo(12) =igtyp+pun
89
90
91
92
94
95
96
97 CALL hm_get_intv(
'Imass',itype,is_available,lsubmodel)
98 CALL hm_get_intv(
'SKEW_CSID',id_skew,is_available,lsubmodel)
99 IF(id_skew == 0 .AND. sub_index /= 0 ) id_skew = lsubmodel(sub_index)%SKEW
100 CALL hm_get_intv(
'ISENSOR',id_sens,is_available,lsubmodel)
101 CALL hm_get_intv(
'ISFLAG',isflag,is_available,lsubmodel)
102
103
104
105
106 IF (itype==0) itype = 2
107
108 CALL hm_get_floatv(
'INERTIA',inertia,is_available,lsubmodel,unitab)
109 IF (itype == 1) THEN
110 CALL hm_get_floatv(
'AREA',vol_air,is_available,lsubmodel,unitab)
111 ELSE
112 CALL hm_get_floatv(
'Volume',vol_air,is_available,lsubmodel,unitab)
113 ENDIF
114
115
116
117
118
120 IF (id_skew == iskn(4,k+1)) THEN
121 id_skew = k+1
122 GO TO 100
123 ENDIF
124 ENDDO
125 CALL ancmsg(msgid=137,anmode=aninfo,msgtype=msgerror,
126 . c1='PROPERTY',
127 . c2='PROPERTY',
128 . i1=igeo(1),i2=id_skew,c3=titr)
129100 CONTINUE
130
131 IF (isflag == 1) id_sens=-id_sens
132
133 igeo(2)= id_skew
134 igeo(3)= id_sens
135 igeo(4)= itype
136 igeo(5)= isflag
137
138 geo(1) = vol_air
139 geo(2) = inertia
140
141 prop_tag(igtyp)%G_EINT = 1
142 prop_tag(igtyp)%G_FOR = 3
143 prop_tag(igtyp)%G_MOM = 3
144 prop_tag(igtyp)%G_LENGTH = 3
145 prop_tag(igtyp)%G_FOREP = 3
146 prop_tag(igtyp)%G_MOMEP = 3
147 prop_tag(igtyp)%G_LENGTH_ERR = 3
148 prop_tag(igtyp)%G_SKEW = 3
149 prop_tag(igtyp)%G_SKEW_ERR = 3
150 prop_tag(igtyp)%G_E6 = 6
151 prop_tag(igtyp)%G_DEFINI = 6
152 prop_tag(igtyp)%G_FORINI = 6
153 prop_tag(igtyp)%G_RUPTCRIT = 1
154
155 IF(is_encrypted)THEN
156 WRITE(iout,1000)ig
157 1000 FORMAT(
158 & 5x,'SPRING PROPERTY SET'/,
159 & 5x,'-------------------'/,
160 & 5x,'property set number . . . . . . . . . .=',I10/,
161 & 5X,'confidential data'//)
162 ELSE
163 IF(ITYPE == 1) THEN
164 WRITE(IOUT,1700)IG,VOL_AIR,INERTIA,ISKN(4,ID_SKEW),ABS(ID_SENS),ISFLAG
165 ELSE
166 WRITE(IOUT,1800)IG,VOL_AIR,INERTIA,ISKN(4,ID_SKEW),ABS(ID_SENS),ISFLAG
167 ENDIF
168 ENDIF
169
170 RETURN
171
172 1700 FORMAT(
173 & 5X,'spring property set(beam type)'/,
174 & 5X,'property set number . . . . . . . . . .=',I10/,
175 & 5X,'spring
area . . . . . . . . . . . . . .=
',1PG20.13/,
176 & 5X,'spring inertia. . . . . . . . . . . . .=',1PG20.13/,
177 & 5X,'skew frame
id . . . . . . . . . . . . .=
',I10/,
178 & 5X,'sensor number(0:not used). . . . . . .=',I10/,
179 & 5X,'sensor flag(0:activ 1:deact 2:both). .=',I10/)
180 1800 FORMAT(
181 & 5X,'spring property set(beam type)'/,
182 & 5X,'property set number . . . . . . . . . .=',I10/,
183 & 5X,'spring volume . . . . . . . . . . . . .=',1PG20.13/,
184 & 5X,'spring inertia. . . . . . . . . . . . .=',1PG20.13/,
185 & 5X,'skew frame
id . . . . . . . . . . . . .=
',I10/,
186 & 5X,'sensor number(0:not used). . . . . . .=',I10/,
187 & 5X,'sensor flag(0:activ 1:deact 2:both). .=',I10/)
188
189 RETURN
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)