OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_mat107.F File Reference
#include "implicit_f.inc"
#include "units_c.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine hm_read_mat107 (uparam, maxuparam, nuparam, nuvar, ntabl, mtag, parmat, unitab, pm, lsubmodel, israte, mat_id, titr, itable, maxtabl, nvartmp, matparam)

Function/Subroutine Documentation

◆ hm_read_mat107()

subroutine hm_read_mat107 ( intent(inout) uparam,
integer, intent(in) maxuparam,
integer, intent(inout) nuparam,
integer, intent(inout) nuvar,
integer, intent(inout) ntabl,
type(mlaw_tag_), intent(inout) mtag,
intent(inout) parmat,
type (unit_type_), intent(in) unitab,
intent(inout) pm,
type(submodel_data), dimension(*), intent(in) lsubmodel,
integer, intent(inout) israte,
integer, intent(in) mat_id,
character(len=nchartitle), intent(in) titr,
integer, dimension(maxtabl), intent(inout) itable,
integer, intent(in) maxtabl,
integer, intent(inout) nvartmp,
type(matparam_struct_), intent(inout) matparam )

Definition at line 39 of file hm_read_mat107.F.

44C-----------------------------------------------
45C M o d u l e s
46C-----------------------------------------------
47 USE unitab_mod
48 USE message_mod
49 USE submodel_mod
50 USE elbuftag_mod
51 USE matparam_def_mod
53C-----------------------------------------------
54C I m p l i c i t T y p e sXM
55C-----------------------------------------------
56#include "implicit_f.inc"
57C-----------------------------------------------
58C C o m m o n B l o c k s
59C-----------------------------------------------
60#include "units_c.inc"
61#include "param_c.inc"
62C-----------------------------------------------
63C D u m m y A r g u m e n t s
64C-----------------------------------------------
65 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
66 INTEGER, INTENT(IN) :: MAT_ID,MAXUPARAM,MAXTABL
67 my_real, DIMENSION(NPROPM) ,INTENT(INOUT) :: pm
68 CHARACTER(LEN=NCHARTITLE) ,INTENT(IN) :: TITR
69 INTEGER, INTENT(INOUT) :: ISRATE,ITABLE(MAXTABL)
70 INTEGER, INTENT(INOUT) :: NUPARAM,NUVAR,NTABL,NVARTMP
71 my_real, DIMENSION(MAXUPARAM) ,INTENT(INOUT) :: uparam
72 my_real, DIMENSION(100),INTENT(INOUT) :: parmat
73 TYPE(SUBMODEL_DATA), DIMENSION(*),INTENT(IN) :: LSUBMODEL
74 TYPE(MLAW_TAG_), INTENT(INOUT) :: MTAG
75 TYPE(MATPARAM_STRUCT_) ,INTENT(INOUT) :: MATPARAM
76C
77C-----------------------------------------------
78C L o c a l V a r i a b l e s
79C-----------------------------------------------
80 INTEGER I, J, ILAW, Ires, Itab, Ismooth
81 INTEGER TAB_YLD1,TAB_TEMP1,TAB_YLD2,TAB_TEMP2,TAB_YLD3,TAB_TEMP3,
82 . TAB_YLD4,TAB_TEMP4,TAB_YLD5,TAB_TEMP5,TAB_YLD1C,TAB_TEMP1C,
83 . TAB_YLD2C,TAB_TEMP2C,TAB_YLDT,TAB_TEMPT,TAB_YLDC,TAB_TEMPC,
84 . TAB_YLDS,TAB_TEMPS
85C REAL
87 . rho0,rhor,
88 . young1,young2,young3,nu12,nu21,g12,g23,g31,
89 . k1,k2,k3,k4,k5,k6,g1c,d1,d2,sigy1,
90 . cini1,s1,sigy2,cini2,s2,sigy1c,cini1c,
91 . s1c,sigy2c,cini2c,s2c,sigyt,cinit,st,
92 . fcut,c1,ssp,a11,a12,a21,a22,xi1,xi2,
93 . dmin,dmax,
94 . k,e3c,cc,nu1p,nu2p,nu4p,nu5p,
95 . s01,a01,b01,c01,s02,a02,b02,c02,
96 . s03,a03,b03,c03,s04,a04,b04,c04,
97 . s05,a05,b05,c05,asig,bsig,csig,
98 . tau0,atau,btau,
99 . xscale1,yscale1,xscale2,yscale2,xscale3,yscale3,
100 . xscale4,yscale4,xscale5,yscale5,xscalec,yscalec,
101 . xscales,yscales,xscale1c,yscale1c,xscale2c,yscale2c,
102 . xscalet,yscalet,xscale_unit,yscale_unit,asrate,tref
103C
104 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
105C=======================================================================
106 is_encrypted = .false.
107 is_available = .false.
108 ilaw = 107
109c------------------------------------------
110 CALL hm_option_is_encrypted(is_encrypted)
111c------------------------------------------
112c
113card1 - Density
114 CALL hm_get_floatv('MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
115 CALL hm_get_floatv('Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
116card2 - Young moduli - Flags
117 CALL hm_get_floatv('MAT_E1' ,young1 ,is_available, lsubmodel, unitab)
118 CALL hm_get_floatv('MAT_E2' ,young2 ,is_available, lsubmodel, unitab)
119 CALL hm_get_floatv('MAT_E3' ,young3 ,is_available, lsubmodel, unitab)
120 CALL hm_get_intv ('MAT_IRES' ,ires ,is_available, lsubmodel)
121 CALL hm_get_intv ('MAT_ITAB' ,itab ,is_available, lsubmodel)
122 CALL hm_get_intv ('MAT_SMOOTH',ismooth ,is_available, lsubmodel)
123 IF (ismooth == 0) ismooth = 1
124card3 - Coulomb moduli - Poissson's ratio
125 CALL hm_get_floatv('MAT_NU21' ,nu21 ,is_available, lsubmodel, unitab)
126 CALL hm_get_floatv('MAT_G12' ,g12 ,is_available, lsubmodel, unitab)
127 CALL hm_get_floatv('MAT_G23' ,g23 ,is_available, lsubmodel, unitab)
128 CALL hm_get_floatv('MAT_G13' ,g31 ,is_available, lsubmodel, unitab)
129card5 - Coupling parameter - Plastic potential parameter
130 CALL hm_get_floatv('MAT_XI1' ,xi1 ,is_available, lsubmodel, unitab)
131 CALL hm_get_floatv('MAT_XI2' ,xi2 ,is_available, lsubmodel, unitab)
132 CALL hm_get_floatv('MAT_G1C' ,g1c ,is_available, lsubmodel, unitab)
133 CALL hm_get_floatv('MAT_D1' ,d1 ,is_available, lsubmodel, unitab)
134 CALL hm_get_floatv('MAT_D2' ,d2 ,is_available, lsubmodel, unitab)
135card6 - Plastic potential parameter
136 CALL hm_get_floatv('MAT_K1' ,k1 ,is_available, lsubmodel, unitab)
137 CALL hm_get_floatv('MAT_K2' ,k2 ,is_available, lsubmodel, unitab)
138 CALL hm_get_floatv('MAT_K3' ,k3 ,is_available, lsubmodel, unitab)
139card7 - Plastic potential parameter
140 CALL hm_get_floatv('MAT_K4' ,k4 ,is_available, lsubmodel, unitab)
141 CALL hm_get_floatv('MAT_K5' ,k5 ,is_available, lsubmodel, unitab)
142 CALL hm_get_floatv('MAT_K6' ,k6 ,is_available, lsubmodel, unitab)
143 ! Choice in yield stresses input
144 IF (itab == 0) THEN
145card8 - Yield stress in tension in direction 1 (MD)
146 CALL hm_get_floatv('MAT_SIGY1',sigy1 ,is_available, lsubmodel, unitab)
147 IF (sigy1 == zero) sigy1 = infinity
148 CALL hm_get_floatv('MAT_CINI1',cini1 ,is_available, lsubmodel, unitab)
149 IF (cini1 == zero) cini1 = infinity
150 CALL hm_get_floatv('MAT_S1' ,s1 ,is_available, lsubmodel, unitab)
151card9 - Yield stress in tension in direction 2 (CD)
152 CALL hm_get_floatv('MAT_SIGY2',sigy2 ,is_available, lsubmodel, unitab)
153 IF (sigy2 == zero) sigy2 = infinity
154 CALL hm_get_floatv('MAT_CINI2',cini2 ,is_available, lsubmodel, unitab)
155 IF (cini2 == zero) cini2 = infinity
156 CALL hm_get_floatv('MAT_S2' ,s2 ,is_available, lsubmodel, unitab)
157card10 - Yield stress in compression in direction 1 (MD)
158 CALL hm_get_floatv('MAT_SIGY1C',sigy1c ,is_available, lsubmodel, unitab)
159 IF (sigy1c == zero) sigy1c = infinity
160 CALL hm_get_floatv('MAT_CINI1C',cini1c ,is_available, lsubmodel, unitab)
161 IF (cini1c == zero) cini1c = infinity
162 CALL hm_get_floatv('MAT_S1C' ,s1c ,is_available, lsubmodel, unitab)
163card11 - Yield stress in compression in direction 2 (CD)
164 CALL hm_get_floatv('MAT_SIGY2C',sigy2c ,is_available, lsubmodel, unitab)
165 IF (sigy2c == zero) sigy2c = infinity
166 CALL hm_get_floatv('MAT_CINI2C',cini2c ,is_available, lsubmodel, unitab)
167 IF (cini2c == zero) cini2c = infinity
168 CALL hm_get_floatv('MAT_S2C' ,s2c ,is_available, lsubmodel, unitab)
169card12 - Yield stress in shear
170 CALL hm_get_floatv('MAT_SIGYT',sigyt ,is_available, lsubmodel, unitab)
171 IF (sigyt == zero) sigyt = infinity
172 CALL hm_get_floatv('MAT_CINIT',cinit ,is_available, lsubmodel, unitab)
173 IF (cinit == zero) cinit = infinity
174 CALL hm_get_floatv('MAT_ST' ,st ,is_available, lsubmodel, unitab)
175 ELSE
176card8 - Yield stress in tension in direction 1 (MD)
177 CALL hm_get_intv ('TAB_YLD1' ,tab_yld1 ,is_available, lsubmodel)
178 CALL hm_get_floatv('MAT_Xscale1' ,xscale1 ,is_available, lsubmodel, unitab)
179 IF (xscale1 == zero) THEN
180 CALL hm_get_floatv_dim('MAT_Xscale1' ,xscale_unit ,is_available, lsubmodel, unitab)
181 xscale1 = one * xscale_unit
182 ENDIF
183 CALL hm_get_floatv('MAT_Yscale1' ,yscale1 ,is_available, lsubmodel, unitab)
184 IF (yscale1 == zero) THEN
185 CALL hm_get_floatv_dim('MAT_Yscale1' ,yscale_unit ,is_available, lsubmodel, unitab)
186 yscale1 = one * yscale_unit
187 ENDIF
188card9 - Yield stress in tension in direction 2 (CD)
189 CALL hm_get_intv ('TAB_YLD2' ,tab_yld2 ,is_available, lsubmodel)
190 CALL hm_get_floatv('MAT_Xscale2' ,xscale2 ,is_available, lsubmodel, unitab)
191 IF (xscale2 == zero) THEN
192 CALL hm_get_floatv_dim('MAT_Xscale2' ,xscale_unit ,is_available, lsubmodel, unitab)
193 xscale2 = one * xscale_unit
194 ENDIF
195 CALL hm_get_floatv('MAT_Yscale2' ,yscale2 ,is_available, lsubmodel, unitab)
196 IF (yscale2 == zero) THEN
197 CALL hm_get_floatv_dim('MAT_Yscale2' ,yscale_unit ,is_available, lsubmodel, unitab)
198 yscale2 = one * yscale_unit
199 ENDIF
200card10 - Yield stress in compression in direction 1 (MD)
201 CALL hm_get_intv ('TAB_YLD1C' ,tab_yld1c ,is_available, lsubmodel)
202 CALL hm_get_floatv('MAT_Xscale1C',xscale1c ,is_available, lsubmodel, unitab)
203 IF (xscale1c == zero) THEN
204 CALL hm_get_floatv_dim('MAT_Xscale1C' ,xscale_unit ,is_available, lsubmodel, unitab)
205 xscale1c = one * xscale_unit
206 ENDIF
207 CALL hm_get_floatv('MAT_Yscale1C',yscale1c ,is_available, lsubmodel, unitab)
208 IF (yscale1c == zero) THEN
209 CALL hm_get_floatv_dim('mat_yscale1c' ,YSCALE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
210 YSCALE1C = ONE * YSCALE_UNIT
211 ENDIF
212card11 - Yield stress in compression in direction 2 (CD)
213 CALL HM_GET_INTV ('tab_yld2c' ,TAB_YLD2C ,IS_AVAILABLE, LSUBMODEL)
214 CALL HM_GET_FLOATV('mat_xscale2c',XSCALE2C ,IS_AVAILABLE, LSUBMODEL, UNITAB)
215 IF (XSCALE2C == ZERO) THEN
216 CALL HM_GET_FLOATV_DIM('mat_xscale2c' ,XSCALE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
217 XSCALE2C = ONE * XSCALE_UNIT
218 ENDIF
219 CALL HM_GET_FLOATV('mat_yscale2c',YSCALE2C ,IS_AVAILABLE, LSUBMODEL, UNITAB)
220 IF (YSCALE2C == ZERO) THEN
221 CALL HM_GET_FLOATV_DIM('mat_yscale2c' ,YSCALE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
222 YSCALE2C = ONE * YSCALE_UNIT
223 ENDIF
224card12 - Yield stress in shear
225 CALL HM_GET_INTV ('tab_yldt' ,TAB_YLDT ,IS_AVAILABLE, LSUBMODEL)
226 CALL HM_GET_FLOATV('mat_xscalet' ,XSCALET ,IS_AVAILABLE, LSUBMODEL, UNITAB)
227 IF (XSCALET == ZERO) THEN
228 CALL HM_GET_FLOATV_DIM('mat_xscalet' ,XSCALE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
229 XSCALET = ONE * XSCALE_UNIT
230 ENDIF
231 CALL HM_GET_FLOATV('mat_yscalet' ,YSCALET ,IS_AVAILABLE, LSUBMODEL, UNITAB)
232 IF (YSCALET == ZERO) THEN
233 CALL HM_GET_FLOATV_DIM('mat_yscalet' ,YSCALE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
234 YSCALET = ONE * YSCALE_UNIT
235 ENDIF
236 ENDIF
237c---------------------
238c Default values
239c---------------------
240 ! Default algorithm : Cutting plane
241 IF (Ires == 0) Ires = 2
242 ! Poisson's ratio
243 nu12 = nu21*young1/young2
244 ! checking poisson's ratio
245 IF(nu12*nu21 >= one ) then
246 CALL ancmsg(msgid=3068,
247 . msgtype=msgerror,
248 . anmode=aninfo_blind_2,
249 . i1=mat_id ,
250 . c1=titr)
251 ENDIF
252 ! Restriction for positive plastic work
253 IF (k1<zero) THEN
254 CALL ancmsg(msgid=1815,
255 . msgtype=msgerror,
256 . anmode=aninfo_blind_2,
257 . i1=mat_id,
258 . c1=titr)
259 ENDIF
260 IF (k2>zero) THEN
261 CALL ancmsg(msgid=1816,
262 . msgtype=msgerror,
263 . anmode=aninfo_blind_2,
264 . i1=mat_id,
265 . c1=titr)
266 ENDIF
267 IF (k3<zero) THEN
268 CALL ancmsg(msgid=1817,
269 . msgtype=msgerror,
270 . anmode=aninfo_blind_2,
271 . i1=mat_id,
272 . c1=titr)
273 ENDIF
274 IF (k4<zero) THEN
275 CALL ancmsg(msgid=1818,
276 . msgtype=msgerror,
277 . anmode=aninfo_blind_2,
278 . i1=mat_id,
279 . c1=titr)
280 ENDIF
281 IF (k5<zero) THEN
282 CALL ancmsg(msgid=1819,
283 . msgtype=msgerror,
284 . anmode=aninfo_blind_2,
285 . i1=mat_id,
286 . c1=titr)
287 ENDIF
288 IF (k6<zero) THEN
289 CALL ancmsg(msgid=1820,
290 . msgtype=msgerror,
291 . anmode=aninfo_blind_2,
292 . i1=mat_id,
293 . c1=titr)
294 ENDIF
295 IF (abs(k1)<=abs(k2)) THEN
296 CALL ancmsg(msgid=1821,
297 . msgtype=msgerror,
298 . anmode=aninfo_blind_2,
299 . i1=mat_id,
300 . c1=titr)
301 ENDIF
302 IF (abs(k2)<=abs(k4)) THEN
303 CALL ancmsg(msgid=1822,
304 . msgtype=msgerror,
305 . anmode=aninfo_blind_2,
306 . i1=mat_id,
307 . c1=titr)
308 ENDIF
309c
310 ! Strain-rate and filtering
311 israte = 0
312 parmat(4) = zero
313 parmat(5) = zero
314 asrate = zero
315 IF (itab > 0) asrate = 10000.0d0*unitab%FAC_T_WORK
316c
317 ! Elasticity parameter
318 ! Plane stress elastic constant
319 a11 = young1/(one - nu12*nu21)
320 a12 = nu12*young2/(one - nu12*nu21)
321 a21 = nu21*young1/(one - nu12*nu21)
322 a22 = young2/(one - nu12*nu21)
323c
324c--------------------------
325c Filling buffer tables
326c--------------------------
327 ! Number of material parameter
328 IF (itab == 0) THEN
329 nuparam = 40
330 ntabl = 0
331 nvartmp = 0
332 ELSE
333 nuparam = 35
334 ntabl = 5
335 nvartmp = 5
336 itable(1) = tab_yld1 ! Yield function table = f(epsp,epsdot)
337 itable(2) = tab_yld2 ! Yield function table = f(epsp,epsdot)
338 itable(3) = tab_yld1c ! Yield function table = f(epsp,epsdot)
339 itable(4) = tab_yld2c ! Yield function table = f(epsp,epsdot)
340 itable(5) = tab_yldt ! Yield function table = f(epsp,epsdot)
341 ENDIF
342 ! Number of user variable
343 IF (ires == 1) THEN
344 nuvar = 1
345 ELSE
346 nuvar = 0
347 ENDIF
348c
349 ! Filling the parameter table
350 uparam(1) = young1
351 uparam(2) = young2
352 uparam(3) = young3
353 uparam(4) = nu12
354 uparam(5) = nu21
355 uparam(6) = a11
356 uparam(7) = a12
357 uparam(8) = a21
358 uparam(9) = a22
359 uparam(10) = g12
360 uparam(11) = g23
361 uparam(12) = g31
362 uparam(13) = ires
363 uparam(14) = itab
364 uparam(15) = xi1
365 uparam(16) = xi2
366 uparam(17) = k1
367 uparam(18) = k2
368 uparam(19) = k3
369 uparam(20) = k4
370 uparam(21) = k5
371 uparam(22) = k6
372 uparam(23) = g1c
373 IF (itab == 0) THEN
374 uparam(24) = d1
375 uparam(25) = d2
376 uparam(26) = sigy1
377 uparam(27) = cini1
378 uparam(28) = s1
379 uparam(29) = sigy2
380 uparam(30) = cini2
381 uparam(31) = s2
382 uparam(32) = sigy1c
383 uparam(33) = cini1c
384 uparam(34) = s1c
385 uparam(35) = sigy2c
386 uparam(36) = cini2c
387 uparam(37) = s2c
388 uparam(38) = sigyt
389 uparam(39) = cinit
390 uparam(40) = st
391 ELSE
392 IF (xscale1 /= zero) THEN
393 uparam(24) = one/xscale1
394 ELSE
395 uparam(24) = zero
396 ENDIF
397 uparam(25) = yscale1
398 IF (xscale2 /= zero) THEN
399 uparam(26) = one/xscale2
400 ELSE
401 uparam(26) = zero
402 ENDIF
403 uparam(27) = yscale2
404 IF (xscale1c /= zero) THEN
405 uparam(28) = one/xscale1c
406 ELSE
407 uparam(28) = zero
408 ENDIF
409 uparam(29) = yscale1c
410 IF (xscale2c /= zero) THEN
411 uparam(30) = one/xscale2c
412 ELSE
413 uparam(30) = zero
414 ENDIF
415 uparam(31) = yscale2c
416 IF (xscalet /= zero) THEN
417 uparam(32) = one/xscalet
418 ELSE
419 uparam(32) = zero
420 ENDIF
421 uparam(33) = yscalet
422 uparam(34) = asrate
423 uparam(35) = ismooth
424 ENDIF
425c
426 ! PARMAT table
427 parmat(1) = max(young1,young2,young3,g12,g23,g31)
428 parmat(2) = max(young1,young2,young3)
429 parmat(3) = max(nu12,nu21)
430 parmat(16) = 1
431 dmin = young1*young2
432 dmax = max(young1,young2)
433 parmat(17) = dmin/dmax/dmax
434c
435 ! PM table
436 pm(1) = rhor
437 pm(89) = rho0
438 ssp = sqrt(max(a11,a12,a22,a21,young3,g12,g23,g31)/ rho0)
439 pm(27) = ssp
440c
441 ! MTAG variable activation
442 mtag%G_PLA = 6
443 mtag%L_PLA = 6
444 mtag%G_EPSD = 6
445 mtag%L_EPSD = 6
446c
447 CALL init_mat_keyword(matparam ,"ELASTO_PLASTIC")
448 CALL init_mat_keyword(matparam ,"INCREMENTAL" )
449 CALL init_mat_keyword(matparam ,"LARGE_STRAIN" )
450 CALL init_mat_keyword(matparam ,"HOOK")
451c
452 ! Properties compatibility
453 CALL init_mat_keyword(matparam,"SOLID_ORTHOTROPIC")
454 CALL init_mat_keyword(matparam,"SHELL_ORTHOTROPIC")
455c
456c--------------------------
457c Parameters printout
458c--------------------------
459 WRITE(iout,1000) trim(titr),mat_id,ilaw
460 WRITE(iout,1100)
461 IF (is_encrypted) THEN
462 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
463 ELSE
464 WRITE(iout,1200) rho0
465 WRITE(iout,1300) young1,young2,young3,nu12,nu21,g12,g23,g31
466 WRITE(iout,1350) ires
467 WRITE(iout,1450) xi1,xi2,k1,k2,k3,k4,k5,k6,g1c,d1,d2
468 IF (itab == 0) THEN
469 WRITE(iout,1550) sigy1,cini1,s1,sigy2,cini2,s2,sigy1c,cini1c,s1c,
470 . sigy2c,cini2c,s2c,sigyt,cinit,st
471 ELSE
472 WRITE(iout,1575) tab_yld1,xscale1,yscale1,tab_yld2,xscale2,yscale2,
473 . tab_yld1c,xscale1c,yscale1c,tab_yld2c,xscale2c,yscale2c,
474 . tab_yldt,xscalet,yscalet,ismooth
475 ENDIF
476 ENDIF
477c-----------------------------------------------------------------------
478 1000 FORMAT(/
479 & 5x,a,/,
480 & 5x,'MATERIAL NUMBER. . . . . . . . . . . . =',i10/,
481 & 5x,'MATERIAL LAW . . . . . . . . . . . . . =',i10/)
482 1100 FORMAT
483 &(5x,'MATERIAL MODEL : PAPERBOARD LIGHT (PFEIFFER,2019)',/,
484 & 5x,'-------------------------------------------------',/)
485 1200 FORMAT(
486 & 5x,'INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/)
487 1300 FORMAT(
488 & 5x,'YOUNG MODULUS IN DIRECTION 1. . . . . .=',1pg20.13/
489 & 5x,'YOUNG MODULUS IN DIRECTION 2. . . . . .=',1pg20.13/
490 & 5x,'YOUNG MODULUS IN DIRECTION 3. . . . . .=',1pg20.13/
491 & 5x,'POISSON RATIO NU12 . . . . . . . . . .=',1pg20.13/
492 & 5x,'POISSON RATIO NU21 . . . . . . . . . .=',1pg20.13/
493 & 5x,'SHEAR MODULUS IN 12 . . . . . . . . . .=',1pg20.13/
494 & 5x,'SHEAR MODULUS IN 23 . . . . . . . . . .=',1pg20.13/
495 & 5x,'SHEAR MODULUS IN 13 . . . . . . . . . .=',1pg20.13/)
496 1350 FORMAT(
497 & 5x,'RETURN MAPPING ALGORITHM FLAG . . . . .=',i3/
498 & 5x,' IRES=1 NICE EXPLICIT'/
499 & 5x,' IRES=2 NEWTON-ITERATION IMPLICIT (CUTTING PLANE)'/)
500 1450 FORMAT(
501 & 5x,'XI1 COUPLING PARAMETER IN DIRECTION 1 .=',1pg20.13/
502 & 5x,'XI2 COUPLING PARAMETER IN DIRECTION 2 .=',1pg20.13/
503 & 5x,'PLASTIC POTENTIAL PARAMETER K1 . . . .=',1pg20.13/
504 & 5x,'PLASTIC POTENTIAL PARAMETER K2 . . . .=',1pg20.13/
505 & 5x,'PLASTIC POTENTIAL PARAMETER K3 . . . .=',1pg20.13/
506 & 5x,'PLASTIC POTENTIAL PARAMETER K4 . . . .=',1pg20.13/
507 & 5x,'PLASTIC POTENTIAL PARAMETER K5 . . . .=',1pg20.13/
508 & 5x,'PLASTIC POTENTIAL PARAMETER K6 . . . .=',1pg20.13/
509 & 5x,'G1C CORRECTION PARAMETER FOR R1C. . . .=',1pg20.13/
510 & 5x,'D1 SHEAR YIELD STRESS PARAMETER . . . .=',1pg20.13/
511 & 5x,'D2 SHEAR YIELD STRESS PARAMETER . . . .=',1pg20.13/)
512 1550 FORMAT(
513 & 5x,'-----------------------------------------------',/,
514 & 5x,'YIELD STRESS IN TENSION IN DIRECTION 1 (MD) ',/,
515 & 5x,'-----------------------------------------------',/,
516 & 5x,'INITIAL YIELD STRESS SIGY1 . . . . . .=',1pg20.13/
517 & 5x,'VALUE AT ORDINATE AXIS CINI1. . . . . .=',1pg20.13/
518 & 5x,'YIELD STRESS SLOPE S1 . . . . . . . . .=',1pg20.13/
519 & 5x,'-----------------------------------------------',/,
520 & 5x,'YIELD STRESS IN TENSION IN DIRECTION 2 (CD) ',/,
521 & 5x,'-----------------------------------------------',/,
522 & 5x,'INITIAL YIELD STRESS SIGY2 . . . . . .=',1pg20.13/
523 & 5x,'VALUE AT ORDINATE AXIS CINI2. . . . . .=',1pg20.13/
524 & 5x,'YIELD STRESS SLOPE S2 . . . . . . . . .=',1pg20.13/
525 & 5x,'-----------------------------------------------',/,
526 & 5x,'YIELD STRESS IN COMPRESSION IN DIRECTION 1 (MD)',/,
527 & 5x,'-----------------------------------------------',/,
528 & 5x,'INITIAL YIELD STRESS SIGY1C . . . . . .=',1pg20.13/
529 & 5x,'VALUE AT ORDINATE AXIS CINI1C . . . . .=',1pg20.13/
530 & 5x,'YIELD STRESS SLOPE S1C . . . . . . . .=',1pg20.13/
531 & 5x,'-----------------------------------------------',/,
532 & 5x,'YIELD STRESS IN COMPRESSION IN DIRECTION 2 (CD)',/,
533 & 5x,'-----------------------------------------------',/,
534 & 5x,'INITIAL YIELD STRESS SIGY2C . . . . . .=',1pg20.13/
535 & 5x,'VALUE AT ORDINATE AXIS CINI2C . . . . .=',1pg20.13/
536 & 5x,'YIELD STRESS SLOPE S2C . . . . . . . .=',1pg20.13/
537 & 5x,'-----------------------------------------------',/,
538 & 5x,'YIELD STRESS IN SHEAR ',/,
539 & 5x,'-----------------------------------------------',/,
540 & 5x,'INITIAL YIELD STRESS SIGYT . . . . . .=',1pg20.13/
541 & 5x,'VALUE AT ORDINATE AXIS CINIT . . . . .=',1pg20.13/
542 & 5x,'YIELD STRESS SLOPE ST . . . . . . . . .=',1pg20.13/)
543 1575 FORMAT(
544 & 5x,'---------------------------------------------------------',/,
545 & 5x,'TABULATED YIELD STRESS IN TENSION IN DIRECTION 1 (MD) ',/,
546 & 5x,'---------------------------------------------------------',/,
547 & 5x,'TABULATED YIELD - STRAIN RATE TABLE ID.=',i10/
548 & 5x,'TABULATED YIELD X FACTOR . . . . . . .=',1pg20.13/
549 & 5x,'TABULATED YIELD Y FACTOR . . . . . . .=',1pg20.13/
550 & 5x,'---------------------------------------------------------',/,
551 & 5x,'TABULATED YIELD STRESS IN TENSION IN DIRECTION 2 (CD) ',/,
552 & 5x,'---------------------------------------------------------',/,
553 & 5x,'TABULATED YIELD - STRAIN RATE TABLE ID.=',i10/
554 & 5x,'TABULATED YIELD X FACTOR . . . . . . .=',1pg20.13/
555 & 5x,'TABULATED YIELD Y FACTOR . . . . . . .=',1pg20.13/
556 & 5x,'---------------------------------------------------------',/,
557 & 5x,'TABULATED YIELD STRESS IN COMPRESSION IN DIRECTION 1 (MD)',/,
558 & 5x,'---------------------------------------------------------',/,
559 & 5x,'TABULATED YIELD - STRAIN RATE TABLE ID.=',i10/
560 & 5x,'TABULATED YIELD X FACTOR . . . . . . .=',1pg20.13/
561 & 5x,'TABULATED YIELD Y FACTOR . . . . . . .=',1pg20.13/
562 & 5x,'---------------------------------------------------------',/,
563 & 5x,'TABULATED YIELD STRESS IN COMPRESSION IN DIRECTION 2 (CD)',/,
564 & 5x,'---------------------------------------------------------',/,
565 & 5x,'TABULATED YIELD - STRAIN RATE TABLE ID.=',i10/
566 & 5x,'TABULATED YIELD X FACTOR . . . . . . .=',1pg20.13/
567 & 5x,'TABULATED YIELD Y FACTOR . . . . . . .=',1pg20.13/
568 & 5x,'---------------------------------------------------------',/,
569 & 5x,'TABULATED YIELD STRESS IN SHEAR ',/,
570 & 5x,'---------------------------------------------------------',/,
571 & 5x,'TABULATED YIELD - STRAIN RATE TABLE ID.=',i10/
572 & 5x,'TABULATED YIELD X FACTOR . . . . . . .=',1pg20.13/
573 & 5x,'TABULATED YIELD Y FACTOR . . . . . . .=',1pg20.13/
574 & 5x,'---------------------------------------------------------',/,
575 & 5x,'DATA FOR STRAIN-RATE COMPUTATION ',/,
576 & 5x,'---------------------------------------------------------',/,
577 & 5x,'TABLE INTERPOLATION FLAG . . . . . . .=',i10/
578 & 5x,' ISMOOTH=1 LINEAR INTERPOLATION'/
579 & 5x,' ISMOOTH=2 LOGARITHMIC INTERPOLATION BASE 10'/
580 & 5x,' ISMOOTH=3 LOGARITHMIC INTERPOLATION BASE N'/)
581c-----------------------------------------------------------------------
#define my_real
Definition cppsort.cpp:32
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_floatv_dim(name, dim_fac, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
subroutine init_mat_keyword(matparam, keyword)
#define max(a, b)
Definition macros.h:21
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)
Definition message.F:889