OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_mat38.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| hm_read_mat38 ../starter/source/materials/mat/mat038/hm_read_mat38.F
25!||--- called by ------------------------------------------------------
26!|| hm_read_mat ../starter/source/materials/mat/hm_read_mat.F90
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!|| hm_get_float_array_index ../starter/source/devtools/hm_reader/hm_get_float_array_index.F
30!|| hm_get_floatv ../starter/source/devtools/hm_reader/hm_get_floatv.F
31!|| hm_get_floatv_dim ../starter/source/devtools/hm_reader/hm_get_floatv_dim.F
32!|| hm_get_int_array_index ../starter/source/devtools/hm_reader/hm_get_int_array_index.f
33!|| hm_get_intv ../starter/source/devtools/hm_reader/hm_get_intv.F
34!|| hm_option_is_encrypted ../starter/source/devtools/hm_reader/hm_option_is_encrypted.F
35!|| init_mat_keyword ../starter/source/materials/mat/init_mat_keyword.F
36!||--- uses -----------------------------------------------------
37!|| elbuftag_mod ../starter/share/modules1/elbuftag_mod.F
38!|| format_mod ../starter/share/modules1/format_mod.f90
39!|| hm_option_read_mod ../starter/share/modules1/hm_option_read_mod.F
40!|| message_mod ../starter/share/message_module/message_mod.F
41!|| submodel_mod ../starter/share/modules1/submodel_mod.F
42!||====================================================================
43 SUBROUTINE hm_read_mat38(UPARAM ,MAXUPARAM, NUPARAM ,NUVAR ,IFUNC ,
44 . MAXFUNC ,NFUNC , PARMAT ,UNITAB ,MAT_ID ,
45 . MTAG ,TITR , LSUBMODEL,PM ,IMATVIS ,
46 . MATPARAM )
47C-----------------------------------------------
48C D e s c r i p t i o n
49C-----------------------------------------------
50C
51C DUMMY ARGUMENTS DESCRIPTION:
52C ===================
53C
54C NAME DESCRIPTION
55C
56C IPM MATERIAL ARRAY(INTEGER)
57C PM MATERIAL ARRAY(REAL)
58C UNITAB UNITS ARRAY
59C MAT_ID MATERIAL ID(INTEGER)
60C TITR MATERIAL TITLE
61C LSUBMODEL SUBMODEL STRUCTURE
62C
63C-----------------------------------------------
64C M o d u l e s
65C-----------------------------------------------
66 USE unitab_mod
67 USE elbuftag_mod
68 USE message_mod
69 USE submodel_mod
70 USE matparam_def_mod
73 USE format_mod , ONLY : fmw_5i
74C-----------------------------------------------
75C I m p l i c i t T y p e s
76C-----------------------------------------------
77#include "implicit_f.inc"
78C-----------------------------------------------
79C C o m m o n B l o c k s
80C-----------------------------------------------
81#include "units_c.inc"
82#include "param_c.inc"
83C-----------------------------------------------
84C D u m m y A r g u m e n t s
85C-----------------------------------------------
86 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
87 my_real, DIMENSION(NPROPM) ,INTENT(INOUT) :: PM
88 my_real, DIMENSION(100) ,INTENT(INOUT) :: PARMAT
89 my_real, DIMENSION(MAXUPARAM) ,INTENT(INOUT) :: uparam
90 INTEGER, DIMENSION(MAXFUNC) ,INTENT(INOUT) :: IFUNC
91 INTEGER, INTENT(INOUT) :: NFUNC,NUPARAM,NUVAR,IMATVIS
92 TYPE(mlaw_tag_),INTENT(INOUT) :: MTAG
93 INTEGER,INTENT(IN) :: MAT_ID,MAXFUNC,MAXUPARAM
94 CHARACTER(LEN=NCHARTITLE) ,INTENT(IN) :: TITR
95 TYPE(submodel_data),INTENT(IN) :: LSUBMODEL(*)
96 TYPE(matparam_struct_) ,INTENT(INOUT) :: MATPARAM
97C-----------------------------------------------
98C L o c a l V a r i a b l e s
99C-----------------------------------------------
100 INTEGER I,J,MFUNC,IFLAG,KSMSTR
101 INTEGER ITOTAL,IUNLOAD,IFN,NPCURVE,KCOMPAIR
102 INTEGER IFLOAD(5),IFUNLOAD(5)
103 INTEGER KDECAY,KRECOVER,IFL(5),IFUNL(5)
104
105 my_real :: e,vt,vc,rv, nu
106 my_real :: beta,hyster,ratedamp,graddamp,theta
107 my_real :: p0,relaxp,maxpres,phi,gamma
108 my_real :: funload,runload,exponas,exponbs
109 my_real :: tensioncut
110 my_real :: efinal,epsfin,lamda,viscosity,tolerance,pscale
111 my_real :: gama0,fac,fac_p,rho0,rhor, fscal_tab(5), eps_tab(5)
112 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
113
114C-----------------------------------------------
115C S o u r c e L i n e s
116C-----------------------------------------------
117 is_encrypted = .false.
118 is_available = .false.
119 iunload=0
120 nfunc=2
121 nuvar=31+1+1
122 gamma = seven_over_5
123 nuparam=33
124 uparam(1)=nuparam
125 imatvis=1
126
127 CALL hm_option_is_encrypted(is_encrypted)
128!LINE-1
129 CALL hm_get_floatv('MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
130 CALL hm_get_floatv('Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
131!LINE-2
132 CALL hm_get_floatv('MAT_E' ,e ,is_available, lsubmodel, unitab)
133 CALL hm_get_floatv('MAT_NU' ,vt ,is_available, lsubmodel, unitab)
134 CALL hm_get_floatv('MAT_NUt' ,vc ,is_available, lsubmodel, unitab)
135 CALL hm_get_floatv('MAT_RV' ,rv ,is_available, lsubmodel, unitab)
136 CALL hm_get_intv ('MAT_IFLAG' ,iflag ,is_available,lsubmodel)
137 CALL hm_get_intv ('ITOTAL' ,itotal,is_available,lsubmodel)
138 !* E = INITIAL MODULUS USED FOR INTERFACE AND TIMESTEP COMPUTATION
139 !* VT = MAXIMUM POISSON'S RATIO IN TENSION
140 !* VC = MAXIMUM POISSON'S RATIO IN COMPRESSION
141 !* RV = EXPONENT FOR POISSON'S RATIO COMPUTATION
142 !* IFLAG = FLAG FOR ANALYSIS FORMULATION TYPE
143 !* = 0 ; PRINCIPAL STRESSES
144 !* = 1 ; OCTAHEDRAL STRESSES
145 !* ITOTAL = FLAG FOR INCREMENTAL FORMULATION
146 !* = 0,1 ; TOTAL
147 !* = 2,3 ; INCREMENTAL!
148!LINE-3
149 !* DECAY, HYSTERESIS AND DAMPING
150 CALL hm_get_floatv('MAT_RELX' ,beta ,is_available, lsubmodel, unitab)
151 CALL hm_get_floatv('MAT_HYST' ,hyster ,is_available, lsubmodel, unitab)
152 CALL hm_get_floatv('DAMP1' ,ratedamp ,is_available, lsubmodel, unitab)
153 CALL hm_get_intv ('Gflag' ,krecover ,is_available,lsubmodel)
154 CALL hm_get_intv ('Vflag' ,kdecay ,is_available,lsubmodel)
155 CALL hm_get_floatv('MAT_Theta' ,theta ,is_available, lsubmodel, unitab)
156 !* BETA = RELAXATION RATE FOR UNLOADING
157 !* HYSTER = HYSTERESIS COEFFICIENT FOR UNLOADING
158 !* RATEDAMP = DAMPING FACTOR ON STRAIN RATE
159 !* KRECOVER = RECOVERY FLAG ON UNLOADING FOR HYSTERESIS
160 !* KDECAY = HYSTRESIS TYPE
161 !* THETA = INTEGRATION COEFFICIENT FOR INSTANTANEOUS MODULE
162
163!LINE-4
164 !* AIR PRESSURE
165 CALL hm_get_intv ('MAT_Kair' ,kcompair ,is_available,lsubmodel)
166 CALL hm_get_intv ('FUN_A4' ,npcurve ,is_available,lsubmodel)
167 CALL hm_get_floatv('MAT_PScale' ,pscale ,is_available, lsubmodel, unitab)
168 !* KCOMPAIR = FLAG FOR AIR CONTENT COMPUTATION
169 !* = 0 NO AIR CONTENT
170 !* = 1 AIR CONTENT COMPUTATION ACTIVE
171 !* NPCURVE = PRESSURE CURVE NUMBER (P VS. RELATIVE VOLUME J)
172 !* PSCALE = SCALE FACTOR FOR PRESSURE CURVE
173!LINE-5
174 CALL hm_get_floatv('MAT_P0' ,p0 ,is_available, lsubmodel, unitab)
175 CALL hm_get_floatv('MAT_PR' ,relaxp ,is_available, lsubmodel, unitab)
176 CALL hm_get_floatv('MAT_PMAX' ,maxpres ,is_available, lsubmodel, unitab)
177 CALL hm_get_floatv('MAT_POROS',phi ,is_available, lsubmodel, unitab)
178 !* P0 = ATMOSPHERIC PRESSURE
179 !* MAXPRES = MAXIMUM AIR PRESSURE
180 !* PHI = POROSITY
181 !* PSCALE = PRESSURE FUNCTION SCALE FACTOR
182
183!LINE-6
184 !* UNLOADING AND INTERPOLATION DATA
185 CALL hm_get_intv ('FUN_B4' ,iunload ,is_available,lsubmodel)
186 CALL hm_get_floatv('MAT_ALPHA6' ,funload ,is_available, lsubmodel, unitab)
187 CALL hm_get_floatv('MAT_EPSF2' ,runload ,is_available, lsubmodel, unitab)
188 CALL hm_get_floatv('MAT_EXP1' ,exponas ,is_available, lsubmodel, unitab)
189 CALL hm_get_floatv('MAT_EXP2' ,exponbs ,is_available, lsubmodel, unitab)
190 !* IUNLOAD = UNLOADING FUNCTION NUMBER
191 !* FUNLOAD = UNLOADING SCALE FACTOR
192 !* RUNLOAD = UNLOADING RATE
193 !* EXPONAS = A EXPONENT FOR FUNCTION INTERPOLATION
194 !* EXPONBS = B EXPONENT FOR FUNCTION INTERPOLATION
195!LINE-7
196 !* MAX. NO FUNCTION. ETC.
197 CALL hm_get_intv ('NFUNC' ,mfunc ,is_available,lsubmodel)
198 CALL hm_get_floatv('MAT_CUTOFF' ,tensioncut ,is_available,lsubmodel, unitab)
199 CALL hm_get_intv ('mat_iinsta' ,KSMSTR ,IS_AVAILABLE,LSUBMODEL)
200 !* MFUNC = MAX. NO. OF FUNCTIONS
201 !* KSMSTR = SMALL STRAIN FLAG
202 !* TENSIONCUT = MAX. TENSILE STRESS
203
204!LINE-8
205 !* STABILITY DATA
206 CALL HM_GET_FLOATV('mat_efinal' ,EFINAL ,IS_AVAILABLE, LSUBMODEL, UNITAB)
207 CALL HM_GET_FLOATV('mat_epsfinal',EPSFIN ,IS_AVAILABLE, LSUBMODEL, UNITAB)
208 CALL HM_GET_FLOATV('mat_lamda' ,LAMDA ,IS_AVAILABLE, LSUBMODEL, UNITAB)
209 CALL HM_GET_FLOATV('mat_maxvisc' ,VISCOSITY ,IS_AVAILABLE, LSUBMODEL, UNITAB)
210 CALL HM_GET_FLOATV('mat_tol' ,TOLERANCE ,IS_AVAILABLE, LSUBMODEL, UNITAB)
211 !* EFINAL = FINAL MODULUS
212 !* EPSFIN = STRAIN AT FINAL MODULUS
213 !* LAMDA = INTERPOLATION CONSTANT
214 !* VISCOSITY = CONST. VISCOSITY USED FOR TIMESTEP ONLY
215 !* TOLERANCE = TOLERANCE ON PRINCIPLE DIRECTION UPDATE
216!FOR DIMENSION ONLY
217 CALL HM_GET_FLOATV_DIM('mat_e' ,FAC_P, IS_AVAILABLE, LSUBMODEL, UNITAB)
218
219
220C----------------
221 IF (RHOR == ZERO) RHOR=RHO0
222 PM(1) = RHOR
223 PM(89)= RHO0
224C----------------
225
226 IF (PSCALE == ZERO) PSCALE = ONE
227
228 IF( VT <= ZERO) VT =EM20
229 IF( VT >=HALF ) VT =ZEP499
230 IF( VC >=HALF ) VC =ZEP499
231 IF( ITOTAL > 3 ) ITOTAL = 0
232 IF( BETA <= ZERO) BETA =EM20
233 IF( HYSTER <= ZERO) HYSTER =ONE
234 IF( RATEDAMP <= ZERO) RATEDAMP = HALF
235 IF( KRECOVER <= 0 ) KRECOVER =0
236 IF( KRECOVER > 2 ) KRECOVER =0
237 IF( KDECAY <= 0 ) KDECAY =0
238 IF( KDECAY > 2 ) KDECAY =0
239 IF( THETA <= ZERO) THETA =ZEP67
240 IF( RELAXP <= ZERO) THEN
241 RELAXP= EM20
242 ENDIF
243 IF( MAXPRES <= ZERO) THEN
244 MAXPRES= INFINITY
245 ENDIF
246 IF( FUNLOAD<=ZERO) FUNLOAD = ONE
247 IF( EXPONAS==ZERO) EXPONAS = ONE
248 IF( EXPONBS==ZERO) EXPONBS = ONE
249 IF( MFUNC>5 ) MFUNC=5
250 IF( TENSIONCUT<=ZERO) THEN
251 TENSIONCUT =INFINITY
252 ENDIF
253.OR. IF(EPSFIN<=ZEROEPSFIN>ZERO) EPSFIN=ONE
254 IF( LAMDA<=ZERO) LAMDA =ONE
255 IF( TOLERANCE <=ZERO) TOLERANCE = ONE
256 IF( VISCOSITY<=ZERO) THEN
257 VISCOSITY =INFINITY
258 ENDIF
259 IF (MFUNC < 1) THEN
260 CALL ANCMSG(MSGID=992,
261 . MSGTYPE=MSGERROR,
262 . ANMODE=ANINFO_BLIND_1,
263 . I1=MAT_ID,
264 . C1=TITR)
265 ENDIF
266
267 IF (EFINAL<=E) EFINAL = E
268 !PSCALE = PSCALE * FAC_C
269 !FUNLOAD = FUNLOAD * FAC_C
270 UPARAM(2)=E
271 UPARAM(3)=VT
272 UPARAM(4)=VC
273 UPARAM(5)=RV
274 UPARAM(6)=IFLAG
275 UPARAM(7)=ITOTAL
276
277 UPARAM(8)=BETA
278 UPARAM(9)=HYSTER
279 UPARAM(10)=RATEDAMP
280 UPARAM(11)=KRECOVER
281 UPARAM(12)=KDECAY
282 UPARAM(13)=THETA
283
284 UPARAM(14)=KCOMPAIR
285 UPARAM(15)=P0
286 UPARAM(16)=GAMMA
287 UPARAM(17)=RELAXP
288 UPARAM(18)=MAXPRES
289 UPARAM(19)=PHI
290
291 UPARAM(20)=IUNLOAD
292 UPARAM(21)=FUNLOAD
293 UPARAM(22)=0.
294 UPARAM(23)=EXPONAS
295 UPARAM(24)=EXPONBS
296
297 UPARAM(25)=MFUNC
298 UPARAM(26)=KSMSTR
299 UPARAM(27)=TENSIONCUT
300
301 UPARAM(28)=EFINAL
302 UPARAM(29)=EPSFIN
303 UPARAM(30)=LAMDA
304 UPARAM(31)=VISCOSITY
305 UPARAM(32)=TOLERANCE
306 UPARAM(33)=PSCALE
307
308
309
310!LAST-LINES
311 DO I=1,MFUNC
312 CALL HM_GET_INT_ARRAY_INDEX ('funct_id_load' ,IFLOAD(I) ,I ,IS_AVAILABLE, LSUBMODEL)
313 CALL HM_GET_INT_ARRAY_INDEX ('funct_id_unload',IFUNLOAD(I) ,I ,IS_AVAILABLE, LSUBMODEL)
314 CALL HM_GET_FLOAT_ARRAY_INDEX('fscale_i' ,FSCAL_TAB(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
315 CALL HM_GET_FLOAT_ARRAY_INDEX('epsilon_i' ,EPS_TAB(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
316 ENDDO
317
318 DO I=1,MFUNC
319 UPARAM(NUPARAM+ I) = FSCAL_TAB(I)
320 UPARAM(NUPARAM+MFUNC+I) = EPS_TAB(I)
321 ENDDO
322 DO I=1,MFUNC
323 IF(UPARAM(NUPARAM+I)<=0.) UPARAM(NUPARAM+I)=ONE
324 UPARAM(NUPARAM+I) = UPARAM(NUPARAM+I) !* FAC_C
325 UPARAM(NUPARAM+MFUNC+I) = UPARAM(NUPARAM+MFUNC+I) !/ FAC_T
326 ENDDO
327 RUNLOAD = MAX(RUNLOAD,UPARAM(NUPARAM+MFUNC+1))
328 RUNLOAD = MIN(RUNLOAD,UPARAM(NUPARAM+MFUNC+MFUNC))
329 UPARAM(22)=RUNLOAD
330 NUPARAM=NUPARAM+MFUNC*2
331
332 DO J=1,MFUNC
333 IFUNC(J)=IFLOAD(J)
334 IF (IFLOAD(J) == 0)THEN
335 CALL ANCMSG(MSGID=1039,
336 . MSGTYPE=MSGERROR,
337 . ANMODE=ANINFO,
338 . I1=MAT_ID,
339 . C1=TITR,
340 . I2=MFUNC)
341 EXIT
342 ENDIF
343 IF(IFUNLOAD(J)<=0)IFUNLOAD(J)=IFLOAD(1)
344 IFUNC(J+MFUNC)=IFUNLOAD(J)
345 ENDDO
346C-------to be consisting w/ dt in engine
347 PARMAT(1)=E
348 PARMAT(2)=E
349 NU = MAX(VC,VT)
350 PARMAT(3)=NU
351c------------------------------------
352C Formulation for solid elements time step computation.
353 IF(NPCURVE==0)THEN
354 PARMAT(16) = 2
355 PARMAT(17) = (ONE-TWO*NU)/(ONE-NU)
356 ELSE
357 PARMAT(16) = 0
358 PARMAT(17) = ZERO
359 END IF
360
361 NFUNC=2*MFUNC+2
362 IFUNC(NFUNC-1)=IUNLOAD
363 IFUNC(NFUNC)=NPCURVE
364c
365 MTAG%G_EPSD = 1
366 MTAG%L_EPSD = 1
367c-----------------
368 CALL INIT_MAT_KEYWORD(MATPARAM,"TOTAL")
369 IF (NU > 0.49) THEN
370 CALL INIT_MAT_KEYWORD(MATPARAM,"INCOMPRESSIBLE")
371 ELSE
372 CALL INIT_MAT_KEYWORD(MATPARAM,"COMPRESSIBLE")
373 END IF
374 CALL INIT_MAT_KEYWORD(MATPARAM,"HOOK")
375 ! Properties compatibility
376 CALL INIT_MAT_KEYWORD(MATPARAM,"SOLID_ISOTROPIC")
377 CALL INIT_MAT_KEYWORD(MATPARAM,"SPH")
378c-----------------
379 WRITE(IOUT,1001) TRIM(TITR),MAT_ID,38
380 WRITE(IOUT,1000)
381
382 IF(IS_ENCRYPTED)THEN
383 WRITE(IOUT,7000)
384 ELSE
385 WRITE(IOUT,1002)RHO0
386 WRITE(IOUT,1003)E,VT,VC,RV,IFLAG,ITOTAL
387 WRITE(IOUT,1100)BETA,HYSTER,RATEDAMP,KRECOVER,KDECAY,THETA
388 WRITE(IOUT,1200)KCOMPAIR,NPCURVE,P0,RELAXP,MAXPRES,PHI
389 WRITE(IOUT,1300)IUNLOAD,FUNLOAD,RUNLOAD,EXPONAS,EXPONBS
390 WRITE(IOUT,1400)MFUNC,KSMSTR,TENSIONCUT
391 WRITE(IOUT,1500)EFINAL,EPSFIN,LAMDA,VISCOSITY,TOLERANCE
392 WRITE(IOUT,'(5x,''scale factors : '')')
393 WRITE(IOUT,'(1p5g20.13)') (UPARAM(NUPARAM-MFUNC*2+I),I=1,MFUNC)
394 WRITE(IOUT,'(5x,''strain rates : '')')
395 WRITE(IOUT,'(1p5g20.13)') (UPARAM(NUPARAM-MFUNC+I),I=1,MFUNC)
396 WRITE(IOUT,'(5x,''loading curves : '')')
397 WRITE(IOUT,FMT=FMW_5I) (IFUNC(J),J=1,MFUNC)
398 WRITE(IOUT,'(5x,''unloading curves : '')')
399 WRITE(IOUT,FMT=FMW_5I) (IFUNC(J),J=1+MFUNC,MFUNC*2)
400 WRITE(IOUT,*)
401 ENDIF
402 RETURN
403 7000 FORMAT
404 & (5X,55H STRAIN RATE DEPENDENT INTERPOLATION FOR FOAM MATERIAL,/
405 & ,5X,55H -----------------------------------------------------,//
406 & ,5X, 'confidential data'//)
407 1000 FORMAT
408 & (5X,55H STRAIN RATE DEPENDENT INTERPOLATION FOR FOAM MATERIAL,/
409 & ,5X,55H -----------------------------------------------------,//)
410 1001 FORMAT(/
411 & 5X,A,/,
412 & 5X, 'material number. . . . . . . . . . . . =',I10/,
413 & 5X, 'material law . . . . . . . . . . . . . =',i10/)
414 1002 FORMAT(
415 & 5x, 'initial density. . . . . . . . . . . . =',1PG20.13/)
416 1003 FORMAT
417 & (5X, 'initial elastic modulus . . . . . . . .=',1PG20.13/
418 & ,5X, 'poisson''s ratio in tension. . . . . . =',1PG20.13/
419 & ,5X, 'poisson''s ratio in compression. . . . =',1PG20.13/
420 & ,5X, 'exponent for poisson''s ratio update. .=',1PG20.13/
421 & ,5X, 'analysis flag . . . . . . . . . . . . .=',I10/
422 & ,5X, 'formulation(2,3=incremental;0,1=total)=',I10//)
423 1100 FORMAT
424 & (5X, 'beta. . . . . . . . . . . . . . . . . .=',1PG20.13/
425 & ,5X, 'hysterysis coefficient. . . . . . . . .=',1PG20.13/
426 & ,5X, 'damping coefficient on strain rate. . .=',1PG20.13/
427 & ,5X, 'recovery flag on unloading. . . . . . .=',I10/
428 & ,5X, 'hysteryses model. . . . . . . . . . . .=',I10/
429 & ,5X, 'theta(incremental integration) . . . .=',1PG20.13//)
430
431 1200 FORMAT
432 & (5X, 'air pressure computation flag . . . . .=',I10/
433 & ,5X, 'air pressure FUNCTION number. . . . . .=',I10/
434 & ,5X, 'atmospheric pressure. . . . . . . . . .=',1PG20.13/
435 & ,5X, 'relaxation parameter. . . . . . . . . .=',1PG20.13/
436 & ,5X, 'maximum pressure. . . . . . . . . . . .=',1PG20.13/
437 & ,5X, 'porosity. . . . . . . . . . . . . . . .=',1pg20.13//)
438
439 1300 FORMAT
440 & (5x, 'UNLOADING FUNCTION NUMBER . . . . . . .=',i10/
441 & ,5x, 'FACTOR FOR UNLOADING FUNCTION . . . . .=',1pg20.13/
442 & ,5x, 'UNLOADING RATE. . . . . . . . . . . . .=',1pg20.13/
443 & ,5x, 'EXPONENT FOR STRESS INTERPOLATION A . .=',1pg20.13/
444 & ,5x, 'EXPONENT FOR STRESS INTERPOLATION B . .=',1pg20.13//)
445
446 1400 FORMAT
447 & (5x, 'NUMBER OF FUNCTIONS DEFINING RATE DEPENDENCY =',i10/
448 & ,5x, 'MATERIAL STABLISATION FLAG . . . . . . . . . =',i10/
449 & ,5x, 'TENSION CUT-OFF STRESS. . . . . . . . .=',1pg20.13//)
450
451 1500 FORMAT
452 & (5x, 'MODULE AT INFINITY. . . . . . . . . . . .=',1pg20.13/
453 & ,5x, 'EPSFIN. . . . . . . . . . . . . . . . . .=',1pg20.13/
454 & ,5x, 'LAMDA . . . . . . . . . . . . . . . . . .=',1pg20.13/
455 & ,5x, 'VISCOSITY_MAX. . . . . . . . . . . . . .=',1pg20.13/
456 & ,5x, 'TOLERANCE FOR PRINCIPAL DIRECTION UPDATE =',1pg20.13//)
457
458 END
459
subroutine damping(nodft, nodlt, v, vr, a, ar, damp, ms, in, igrnod, dim, itask, weight, tagslv_rby, wfext)
Definition damping.F:882
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_int_array_index(name, ival, index, is_available, lsubmodel)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
subroutine hm_read_mat38(uparam, maxuparam, nuparam, nuvar, ifunc, maxfunc, nfunc, parmat, unitab, mat_id, mtag, titr, lsubmodel, pm, imatvis, matparam)
for(i8=*sizetab-1;i8 >=0;i8--)
integer, parameter nchartitle
program starter
Definition starter.F:39