40
41
42
46
47
48
49#include "implicit_f.inc"
50
51
52
53#include "tablen_c.inc"
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
69 INTEGER IOUT,NUVAR,ID,IGTYP
71 . pargeo(*)
72 INTEGER SET_U_PNU,SET_U_GEO,KFUNC
74 parameter(kfunc=29)
75 TYPE(PROP_TAG_) , DIMENSION(0:MAXPROP) :: PROP_TAG
76 TYPE(SUBMODEL_DATA),INTENT(IN)::LSUBMODEL(*)
77
78
79
80 INTEGER IFUNC1,IFUNC2,IFUNC3,IFUNC4,IERROR,ILOAD
82 . amas,elastif,xlim1,xlim2,xk,d1,d2,rload,fscal
83 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
84
85
86 is_encrypted = .false.
87 is_available = .false.
88
89
90
91
93
94
95
96 CALL hm_get_intv(
'FUN_A1',ifunc1,is_available,lsubmodel)
97 CALL hm_get_intv(
'FUN_B1',ifunc2,is_available,lsubmodel)
98 CALL hm_get_intv(
'FUN_C1',ifunc3,is_available,lsubmodel)
99 CALL hm_get_intv(
'FUN_D1',ifunc4,is_available,lsubmodel)
100
101
102
103 CALL hm_get_floatv('amas
',AMAS,IS_AVAILABLE,LSUBMODEL,UNITAB)
104 CALL HM_GET_FLOATV('elastif',ELASTIF,IS_AVAILABLE,LSUBMODEL,UNITAB)
105 CALL HM_GET_FLOATV('xlim1',XLIM1,IS_AVAILABLE,LSUBMODEL,UNITAB)
106 CALL HM_GET_FLOATV('xk',XK,IS_AVAILABLE,LSUBMODEL,UNITAB)
107 CALL HM_GET_FLOATV('damg',D1,IS_AVAILABLE,LSUBMODEL,UNITAB)
108 CALL HM_GET_FLOATV('fdelay',D2,IS_AVAILABLE,LSUBMODEL,UNITAB)
109 !units
110 CALL HM_GET_FLOATV_DIM('elastif',FSCAL,IS_AVAILABLE,LSUBMODEL,UNITAB)
111
112
113 ILOAD = 0
114 XLIM2 = ZERO
115
116
117.NOT. IF( IS_ENCRYPTED)THEN
118 WRITE(IOUT,1400) ID
119 ELSE
120 WRITE(IOUT,1500) ID
121 ENDIF
122
123 NUVAR = 3
124
125 PARGEO(1) = 0
126 PARGEO(2) = XK
127
128 PARGEO(3) = 1
129
130.NOT. IF( IS_ENCRYPTED)THEN
131 WRITE(IOUT,1000)
132 . AMAS,ELASTIF,XLIM1,XLIM2,XK,D1,D2,ILOAD,
133 . IFUNC1,IFUNC2,IFUNC3,IFUNC4
134 ENDIF
135
136 IERROR = SET_U_GEO(1,AMAS)
137 IERROR = SET_U_GEO(2,ELASTIF)
138 IERROR = SET_U_GEO(3,XLIM1)
139 IERROR = SET_U_GEO(4,XLIM2)
140 IERROR = SET_U_GEO(5,D1)
141 IERROR = SET_U_GEO(6,D2)
142 RLOAD = ILOAD
143 IERROR = SET_U_GEO(7,RLOAD)
144 IERROR = SET_U_GEO(8,FSCAL)
145 IERROR = SET_U_PNU(1,IFUNC1,KFUNC)
146 IERROR = SET_U_PNU(2,IFUNC2,KFUNC)
147 IERROR = SET_U_PNU(3,IFUNC3,KFUNC)
148 IERROR = SET_U_PNU(4,IFUNC4,KFUNC)
149
150
151
152
153 PROP_TAG(IGTYP)%G_FOR = 3
154 PROP_TAG(IGTYP)%G_MOM = 5
155 PROP_TAG(IGTYP)%G_SKEW = 6
156 PROP_TAG(IGTYP)%G_MASS = 1
157 PROP_TAG(IGTYP)%G_V_REPCVT = 3 ! -- VITESSES REPERE CONVECTEE (V_REPCVT)
158 PROP_TAG(IGTYP)%G_VR_REPCVT = 3 ! -- VITESSES REPERE CONVECTEE (VR_REPCVT)
159 PROP_TAG(IGTYP)%G_NUVAR = NUVAR
160
161 RETURN
162 999 CONTINUE
163 WRITE(IOUT,*)' **error in property 35 input'
164 RETURN
165 1000 FORMAT(
166 & 5X,'mass per unit length. . . . . . . . . .=',1PG20.13/,
167 & 5X,'stiffness per unit length . . . . . . .=',1PG20.13/,
168 & 5X,'traction transition deformation . . . .=',1PG20.13/,
169 & 5X,'compression transition deformation. . .=',1PG20.13/,
170 & 5X,'stiffness
for INTERFACE . . . . . . . .=
',1PG20.13/,
171 & 5X,'damage factor . . . . . . . . . . . . .=',1PG20.13/,
172 & 5X,'damage delay PARAMETER. . . . . . . . .=',1PG20.13/,
173 & 5X,'damage in load flag . . . . . . . . . .=',I10/,
174 & 5X,'initial traction user
FUNCTION id . . .=
',I10/,
175 & 5X,'initial compression user function
id. .=
',I10/,
176 & 5X,'final traction user function
id . . . .=
',I10/,
177 & 5X,'final compression user function
id. . .=
',I10//)
178 1400 FORMAT(
179 & 5X,'user property set'/,
180 & 5X,'property set number . . . . . . . . . .=',I10)
181
182 1500 FORMAT(
183 & 5X,'user property set'/,
184 & 5X,'property set number . . . . . . . . . .=',I10,
185 & 5X,'confidential data'//)
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)
for(i8=*sizetab-1;i8 >=0;i8--)
integer function set_u_pnu(ivar, ip, k)
integer function set_u_geo(ivar, a)