OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_inter_type11.F File Reference
#include "implicit_f.inc"
#include "scr06_c.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "units_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine hm_read_inter_type11 (ipari, stfac, frigap, noint, ni, igrslin, sensors, def_inter, titr, nom_opt, unitab, lsubmodel, nom_optfric, intbuf_fric_tab, id_type19, npari, nparir, lnopt1, itherm_fe, intheat)

Function/Subroutine Documentation

◆ hm_read_inter_type11()

subroutine hm_read_inter_type11 ( integer, dimension(npari) ipari,
stfac,
frigap,
integer noint,
integer ni,
type (surf_), dimension(nslin), target igrslin,
type (sensors_), intent(in) sensors,
integer, dimension(100) def_inter,
character(len=nchartitle) titr,
integer, dimension(lnopt1,*) nom_opt,
type (unit_type_), intent(in) unitab,
type(submodel_data), dimension(nsubmod), intent(in) lsubmodel,
integer, dimension(lnopt1,*) nom_optfric,
type(intbuf_fric_struct_), dimension(*) intbuf_fric_tab,
integer id_type19,
integer, intent(in) npari,
integer, intent(in) nparir,
integer, intent(in) lnopt1,
integer, intent(in) itherm_fe,
integer, intent(inout) intheat )
Parameters
[in]lnopt1array sizes

Definition at line 40 of file hm_read_inter_type11.F.

45C============================================================================
46C
47C-----------------------------------------------
48C M o d u l e s
49C-----------------------------------------------
50 USE message_mod
51 USE intbuf_fric_mod
52 USE groupdef_mod
54 USE unitab_mod
55 USE sensor_mod
57C-----------------------------------------------
58C I m p l i c i t T y p e s
59C-----------------------------------------------
60#include "implicit_f.inc"
61C-----------------------------------------------
62C C o m m o n B l o c k s
63C-----------------------------------------------
64#include "scr06_c.inc"
65#include "com01_c.inc"
66#include "com04_c.inc"
67#include "units_c.inc"
68C-----------------------------------------------
69C D u m m y A r g u m e n t s
70C-----------------------------------------------
71 INTEGER,INTENT(IN) :: NPARI,NPARIR,LNOPT1 !< array sizes
72 INTEGER NOM_OPT(LNOPT1,*), NOM_OPTFRIC(LNOPT1,*)
73 INTEGER NI,NOINT
74 INTEGER IPARI(NPARI),DEF_INTER(100),ID_TYPE19
75 INTEGER,INTENT(IN) :: ITHERM_FE
76 INTEGER,INTENT(INOUT) :: INTHEAT
77 my_real stfac
78 my_real frigap(nparir)
79 CHARACTER(LEN=NCHARTITLE) :: TITR
80 TYPE(INTBUF_FRIC_STRUCT_) INTBUF_FRIC_TAB(*)
81 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
82 TYPE(SUBMODEL_DATA),INTENT(IN) :: LSUBMODEL(NSUBMOD)
83C-----------------------------------------------
84 TYPE (SURF_) ,TARGET , DIMENSION(NSLIN) :: IGRSLIN
85 TYPE (SENSORS_) ,INTENT(IN) :: SENSORS
86C-----------------------------------------------
87C L o c a l V a r i a b l e s
88C-----------------------------------------------
89 INTEGER ISU1,ISU2,IBC1, IBC2, IBC3, NTYP,INTTH,
90 . INACTI, IBC1M, IBC2M, IBC3M, IGSTI, IS1, IS2,
91 . IGAP,MULTIMP, IDEL11,IDSENS,
92 . IPRINT,INTFRIC,IASSIGN,IFORM,IFORM_TH,IDELKEEP,
93 . IKTHE,FIELD6,FLAGREMNOD,IEDGE,IB1,IB2,IB3,NTYP0,
94 . NLIN1,NLIN2,I,MODFR
96 . fric,gap,startt,bumult,stopt,stmin,stmax,
97 . percent_size,visc,viscf,tint,kthe, xthe,
98 . frad, drad,dtmin,xthe_unit,stfac_unit,
99 . edge_scale_gap
100 CHARACTER(LEN=NCHARKEY) :: KEY1
101 LOGICAL IS_AVAILABLE
102!
103 INTEGER, DIMENSION(:), POINTER :: INGR2USR
104C-----------------------------------------------
105C E x t e r n a l F u n c t i o n s
106C-----------------------------------------------
107 INTEGER NGR2USR
108C=======================================================================
109C READING PENALTY INTERFACE /INTER/TYPE11
110C=======================================================================
111 is1=0
112 is2=0
113 ibc1=0
114 ibc2=0
115 ibc3=0
116 ibc1m=0
117 ibc2m=0
118 ibc3m=0
119 igsti = 0
120 inacti = 0
121 idsens = 0
122 idel11= 0
123 intth = 0
124 iform_th= 0
125 iform = 0
126 intfric = 0
127 idelkeep=0
128C
129
130 stopt=ep30
131 viscf = zero
132
133C var a initialiser !
134 dtmin=zero
135 fric = zero
136 gap = zero
137 edge_scale_gap = zero
138 startt = zero
139 visc = zero
140 tint = zero
141 ikthe= 0
142 kthe = zero
143 xthe = zero
144 frad = zero
145 drad = zero
146 percent_size = zero
147C
148 iassign = 1
149C
150 ntyp = 11
151 ipari(7)= ntyp
152 ipari(15)=noint
153C
154 IF (id_type19 > 0) THEN
155C-- type11 generated from type19 - internal id of main type7 must be identified
156 ntyp = 19
157 DO i=1,ni-1
158 IF (nom_opt(1,i)==id_type19) THEN
159 ipari(71) = i
160 EXIT
161 ENDIF
162 ENDDO
163 ENDIF
164C
165 is_available = .false.
166C--------------------------------------------------
167C EXTRACT DATAS (INTEGER VALUES)
168C--------------------------------------------------
169 CALL hm_get_intv('secondaryentityids',isu1,is_available,lsubmodel)
170 CALL hm_get_intv('mainentityids',isu2,is_available,lsubmodel)
171 CALL hm_get_intv('Istf',igsti,is_available,lsubmodel)
172 CALL hm_get_intv('Ithe',intth,is_available,lsubmodel)
173 CALL hm_get_intv('Igap',igap,is_available,lsubmodel)
174 CALL hm_get_intv('Multimp',field6,is_available,lsubmodel)
175 CALL hm_get_intv('NodDel11',idel11,is_available,lsubmodel)
176 CALL hm_get_intv('IKREM',flagremnod,is_available,lsubmodel)
177C
178 CALL hm_get_intv('Deactivate_X_BC',ib1,is_available,lsubmodel)
179 CALL hm_get_intv('Deactivate_Y_BC',ib2,is_available,lsubmodel)
180 CALL hm_get_intv('Deactivate_Z_BC',ib3,is_available,lsubmodel)
181 CALL hm_get_intv('INACTIV',inacti,is_available,lsubmodel)
182C
183 CALL hm_get_intv('IFORM',iform,is_available,lsubmodel)
184 CALL hm_get_intv('ISENSOR',idsens,is_available,lsubmodel)
185 CALL hm_get_intv('Fric_ID',intfric,is_available,lsubmodel)
186C
187 IF(intth > 0 ) THEN
188 CALL hm_get_intv('IFORM1',iform_th,is_available,lsubmodel)
189 CALL hm_get_intv('fct_ID_k',ikthe,is_available,lsubmodel)
190 ENDIF
191C
192 IF(ntyp == 19) THEN
193 CALL hm_get_intv('IEDGE_TYPE19',field6,is_available,lsubmodel)
194 ENDIF
195C
196C--------------------------------------------------
197C EXTRACT DATAS (REAL VALUES)
198C--------------------------------------------------
199C
200 CALL hm_get_floatv('STMIN',stmin,is_available,lsubmodel,unitab)
201 CALL hm_get_floatv('STMAX',stmax,is_available,lsubmodel,unitab)
202 CALL hm_get_floatv('PrMesh_Size',percent_size,is_available,lsubmodel,unitab)
203 CALL hm_get_floatv('Tmin',dtmin,is_available,lsubmodel,unitab)
204C
205 CALL hm_get_floatv('TYPE11_SCALE',stfac,is_available,lsubmodel,unitab)
206 CALL hm_get_floatv('FRIC',fric,is_available,lsubmodel,unitab)
207 CALL hm_get_floatv('GAP',gap,is_available,lsubmodel,unitab)
208 IF(ntyp == 19) THEN
209 CALL hm_get_floatv('EDGE_SCALE_GAP',edge_scale_gap,is_available,lsubmodel,unitab)
210 IF(edge_scale_gap /= zero) gap = gap * edge_scale_gap
211 ENDIF
212 CALL hm_get_floatv('TSTART',startt,is_available,lsubmodel,unitab)
213 CALL hm_get_floatv('TSTOP',stopt,is_available,lsubmodel,unitab)
214C
215 CALL hm_get_floatv('STIFF_DC',visc,is_available,lsubmodel,unitab)
216 CALL hm_get_floatv('FRIC_DC',viscf,is_available,lsubmodel,unitab)
217 CALL hm_get_floatv('SORT_FACT',bumult,is_available,lsubmodel,unitab)
218C
219 IF(intth > 0 ) THEN
220 CALL hm_get_floatv('Kthe',kthe,is_available,lsubmodel,unitab)
221 CALL hm_get_floatv('Tint',tint,is_available,lsubmodel,unitab)
222 CALL hm_get_floatv('A_scale_k',xthe,is_available,lsubmodel,unitab)
223 CALL hm_get_floatv('F_RAD',frad,is_available,lsubmodel,unitab)
224 CALL hm_get_floatv('D_RAD',drad,is_available,lsubmodel,unitab)
225 ENDIF
226C
227C--------------------------------------------------
228C DEFAULT VALUES DEFINITION
229C--------------------------------------------------
230C
231 iprint = 0
232C
233 key1='IGSTI'
234 CALL definter(key1 ,igsti ,iassign ,iprint ,
235 . ntyp ,def_inter)
236C
237 key1='igap'
238 CALL DEFINTER(KEY1 ,IGAP ,IASSIGN ,IPRINT ,
239 . NTYP ,DEF_INTER)
240C
241 KEY1='idel'
242 CALL DEFINTER(KEY1 ,IDEL11 ,IASSIGN ,IPRINT ,
243 . NTYP ,DEF_INTER)
244C
245 KEY1='inacti'
246 CALL DEFINTER(KEY1 ,INACTI ,IASSIGN ,IPRINT ,
247 . NTYP ,DEF_INTER)
248C
249 IF (NTYP == 19) THEN
250 MODFR = IFORM
251 KEY1='modfr'
252 CALL DEFINTER(KEY1 ,MODFR ,IASSIGN ,IPRINT ,
253 . NTYP ,DEF_INTER)
254 IFORM = MODFR
255 ELSE
256 KEY1='iform'
257 CALL DEFINTER(KEY1 ,IFORM ,IASSIGN ,IPRINT ,
258 . NTYP ,DEF_INTER)
259 ENDIF
260C
261 KEY1='flagremnod'
262 CALL DEFINTER(KEY1 ,FLAGREMNOD,IASSIGN ,IPRINT ,
263 . NTYP ,DEF_INTER)
264C
265 IF (NTYP==19) THEN
266C-- for TYPE19 field6 is iedge
267 IF (FIELD6<=2) THEN
268 IEDGE = FIELD6
269 ELSE
270C-- Compatibility with old inputs where multimp can be read in field6
271 IEDGE = 2
272 ENDIF
273C
274 KEY1='iedge'
275 CALL DEFINTER(KEY1 ,IEDGE ,IASSIGN ,IPRINT ,
276 . NTYP ,DEF_INTER)
277C
278 IF (IEDGE==1) THEN
279C-- /LINE/EDGE are used instead of /LINE/SURFACE
280 ISU1 = ISU1 + 1
281 ISU2 = ISU2 + 1
282 ENDIF
283C
284 IF (IGAP == 4) THEN
285C-- IGAP->4 constant gap = gapmin for edge/edge in TYPE19 contact
286 IGAP = 0
287 ENDIF
288C
289 ENDIF
290C
291C--------------------------------------------------
292C CHECKS And Storage IPARI FRIGAP
293C--------------------------------------------------
294
295C
296C....* Card1 :flags *.............
297C
298
299C-- for TYPE11 field6 is multimp (obsolete)
300 MULTIMP = 4
301 IPARI(23)=MULTIMP
302
303 IF(IGAP == 2) THEN
304 IF (IPARI(71)==0) THEN
305 CALL ANCMSG(MSGID=1056,
306 . MSGTYPE=MSGERROR,
307 . ANMODE=ANINFO,
308 . I1=NOINT,
309 . C1=TITR)
310 ELSE
311 CALL ANCMSG(MSGID=1181,
312 . MSGTYPE=MSGERROR,
313 . ANMODE=ANINFO,
314 . I1=NOINT,
315 . C1=TITR)
316 ENDIF
317 ENDIF
318C
319 IF(ISU1==0) THEN
320 CALL ANCMSG(MSGID=118,
321 . MSGTYPE=MSGERROR,
322 . ANMODE=ANINFO,
323 . I1=NOINT,
324 . C1=TITR)
325 ENDIF
326 IF(ISU2==0)ISU2=ISU1
327 IF(ISU1==ISU2)THEN
328 IPARI(42)=1
329 ELSE
330 IPARI(42)=0
331 ENDIF
332 IS1=3
333 IS2=3
334 INGR2USR => IGRSLIN(1:NSLIN)%ID
335 ISU1=NGR2USR(ISU1,INGR2USR,NSLIN)
336 ISU2=NGR2USR(ISU2,INGR2USR,NSLIN)
337C
338 IF (IDEL11 < 0) THEN
339 IDELKEEP=1
340 IDEL11=ABS(IDEL11)
341 END IF
342.OR. IF (IDEL11>2N2D==1) IDEL11 = 0
343 IPARI(17)=IDEL11
344 IPARI(61)=IDELKEEP
345C
346 IF (FLAGREMNOD == 0) FLAGREMNOD = 1
347 IPARI(63) = FLAGREMNOD
348C
349 IPARI(45)=ISU1
350 IPARI(46)=ISU2
351 IPARI(13)=IS1*10+IS2
352 IPARI(21 )= IGAP
353 IPARI(22)=INACTI
354C
355C....* Card2 *.............
356C
357 IF(IGSTI/=1)THEN
358 IF(STMAX==ZERO)STMAX=EP30
359 ELSE
360 STMIN = ZERO
361 STMAX = EP30
362 END IF
363
364 IF (IFORM == 0) IFORM = 1
365 IPARI(30) = IFORM
366C
367 FRIGAP(41) = DTMIN
368C
369.AND. IF(IGAP == 3 PERCENT_SIZE == ZERO)
370 . PERCENT_SIZE = 0.4
371
372 FRIGAP(28) = PERCENT_SIZE
373 IPARI(64) = IDSENS
374 FRIGAP(17) = STMIN
375 FRIGAP(18) = STMAX
376
377C
378C....* Card3 *.............
379C
380 IF (STFAC == ZERO) THEN
381 !units
382 CALL HM_GET_FLOATV_DIM('type11_scale' ,STFAC_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
383 STFAC = ONE * STFAC_UNIT
384 ENDIF
385 IF (IGSTI == 1)STFAC=-STFAC
386 IF (STFAC < ZERO) IGSTI = 1
387 IF(IGSTI==0)IGSTI=5
388C
389 IF (STOPT == ZERO) STOPT = EP30
390
391 IPARI(34)=IGSTI
392 FRIGAP(1)=FRIC
393 FRIGAP(2)=GAP
394 FRIGAP(3)=STARTT
395 FRIGAP(11)=STOPT
396C
397C....* Card4 *.............
398C
399
400 IF (IB1==1) IBC1 = 1
401 IF (IB2==1) IBC2 = 1
402 IF (IB3==1) IBC3 = 1
403
404C Hidden flag no more read using HM reader
405c IF (BCFLAGM(LFIELD-2:LFIELD-2)== '1') IBC1M = 1
406c IF (BCFLAGM(LFIELD-1:LFIELD-1)== '1') IBC2M = 1
407c IF (BCFLAGM(LFIELD :LFIELD )== '1') IBC3M = 1
408
409
410 IF(VISC==ZERO)VISC=FIVEEM2
411
412.AND..AND. IF(FRIC/=ZEROVISCF==ZEROIFORM/=2)VISCF=ONE
413
414 IPARI(11)=4*IBC1+2*IBC2+IBC3 + 8 *(4*IBC1M+2*IBC2M+IBC3M)
415 FRIGAP(14)=VISC
416 FRIGAP(15)=VISCF**2
417C BUMULT is increased for big models
418 IF(BUMULT==ZERO) THEN
419 BUMULT = BMUL0
420 IF(NUMNOD > 2500000) THEN
421 BUMULT = BMUL0*TWO
422 ELSEIF(NUMNOD > 1500000) THEN
423 BUMULT = BMUL0*THREE/TWO
424 END IF
425 END IF
426 FRIGAP(4)=BUMULT
427
428C
429C....* Card5 : Friction model *.............
430C
431
432 IPARI(72) = INTFRIC
433C
434C....* Card6 : THERMAL MODELLING card1 *.............
435C
436 IF(INTTH > 0 ) INTHEAT = 1
437 IF(KTHE == ZERO)THEN
438 IF(IKTHE /= 0)THEN
439 KTHE = ONE
440 ENDIF
441 ENDIF
442 IF (XTHE == ZERO) THEN
443 !units
444 CALL HM_GET_FLOATV_DIM('a_scale_k' ,XTHE_UNIT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
445 XTHE = ONE * XTHE_UNIT
446 ENDIF
447
448C
449C....* Card7 : THERMAL MODELLING card2 *.............
450C
451C
452.AND. IF(ITHERM_FE == 0 INTTH > 0 ) THEN
453 INTHEAT = 0
454 IPARI(47) = 0
455 CALL ANCMSG(MSGID=702,
456 . MSGTYPE=MSGWARNING,
457 . ANMODE=ANINFO,
458 . I1=NOINT,
459 . C1=TITR)
460 ENDIF
461C
462 IPARI(47) = INTTH
463 IPARI(44) = IFORM_TH
464 FRIGAP(20) = KTHE
465 FRIGAP(21 ) = TINT
466 IPARI(43) = IKTHE
467 FRIGAP(22) = XTHE
468 FRIGAP(23) = FRAD
469 FRIGAP(24) = DRAD
470
471C FRIGAP(10) is initialized but used only in engine for storing number of couples candidates
472 FRIGAP(10)=FLOAT(0)
473C
474 NLIN1 = IGRSLIN(ISU1)%NSEG
475 NLIN2 = IGRSLIN(ISU2)%NSEG
476.AND..OR. IF ((NTYP == 19)((NLIN1==0)(NLIN2==0))) THEN
477C-- For type19 if line1 or lin2 is empty type11 is deactivated
478 NTYP = 0
479 IPARI(7) = NTYP
480 CALL ANCMSG(MSGID=1577,
481 . MSGTYPE=MSGWARNING,
482 . ANMODE=ANINFO,
483 . I1=IPARI(15),
484 . C1=TITR)
485 ENDIF
486C------------------------------------------------------------
487C RENUMBERING OF FUNCTIONS AND SENSOR - USER TO INTERNAL ID
488C------------------------------------------------------------
489C
490 NTYP0 = 11
491 CALL INTER_DCOD_SENSOR (NTYP0,NI,IPARI,NOM_OPT,SENSORS)
492 CALL INTER_DCOD_FRICTION(NTYP0,NI,IPARI,NOM_OPT,NOM_OPTFRIC,
493 . INTBUF_FRIC_TAB)
494C
495C------------------------------------------------------------
496C PRINTOUT
497C------------------------------------------------------------
498C
499C-- No printout for type11 of interface type19
500 IF (ID_TYPE19 > 0) RETURN
501
502 IPRINT = 1
503
504C........* PRINT DEFAULT VALUES *.....................
505C
506C
507 KEY1='igsti'
508 CALL DEFINTER(KEY1 ,IGSTI ,IASSIGN ,IPRINT ,
509 . NTYP ,DEF_INTER)
510C
511 KEY1='igap'
512 CALL DEFINTER(KEY1 ,IGAP ,IASSIGN ,IPRINT ,
513 . NTYP ,DEF_INTER)
514C
515 KEY1='idel'
516 CALL DEFINTER(KEY1 ,IDEL11 ,IASSIGN ,IPRINT ,
517 . NTYP ,DEF_INTER)
518C
519 KEY1='iform'
520 CALL DEFINTER(KEY1 ,IFORM ,IASSIGN ,IPRINT ,
521 . NTYP ,DEF_INTER)
522C
523 KEY1='inacti'
524 CALL DEFINTER(KEY1 ,INACTI ,IASSIGN ,IPRINT ,
525 . NTYP ,DEF_INTER)
526C
527 KEY1='flagremnod'
528 CALL DEFINTER(KEY1 ,FLAGREMNOD,IASSIGN ,IPRINT ,
529 . NTYP ,DEF_INTER)
530C
531C........* PRINT INTERFACES INPUT *.....................
532C
533 IF(IGSTI/=1)THEN
534 IF(IDSENS/=0) THEN
535 WRITE(IOUT,1511)IBC1,IBC2,IBC3,IBC1M,IBC2M,IBC3M,
536 . IGSTI,STMIN,STMAX,STFAC,
537 . FRIC,IGAP,GAP,IDSENS,
538 . BUMULT,INACTI,VISC,VISCF,IPARI(14),
539 . IPARI(20),MULTIMP,FLAGREMNOD
540 ELSE
541 WRITE(IOUT,1592)IBC1,IBC2,IBC3,IBC1M,IBC2M,IBC3M,
542 . IGSTI,STMIN,STMAX,STFAC,
543 . FRIC,IGAP,GAP,STARTT,STOPT,
544 . BUMULT,INACTI,VISC,VISCF,IPARI(14),
545 . IPARI(20),MULTIMP,FLAGREMNOD
546 ENDIF
547 ELSE
548 IF(IDSENS/=0) THEN
549 WRITE(IOUT,1591)IBC1,IBC2,IBC3,IBC1M,IBC2M,IBC3M,
550 . -STFAC,FRIC,IGAP,GAP,IDSENS,
551 . BUMULT,INACTI,VISC,VISCF,IPARI(14),
552 . IPARI(20),MULTIMP,FLAGREMNOD
553 ELSE
554 WRITE(IOUT,1593)IBC1,IBC2,IBC3,IBC1M,IBC2M,IBC3M,
555 . -STFAC,FRIC,IGAP,GAP,STARTT,STOPT,
556 . BUMULT,INACTI,VISC,VISCF,IPARI(14),
557 . IPARI(20),MULTIMP,FLAGREMNOD
558 ENDIF
559 ENDIF
560 IF(IFORM == 2) THEN
561 WRITE(IOUT,1518)
562 ELSE
563 WRITE(IOUT,1519)
564 ENDIF
565 IF (DTMIN/=ZERO) THEN
566 WRITE(IOUT,1577)DTMIN
567 ENDIF
568 IF(IDEL11/=0) THEN
569 WRITE(IOUT,'(a,a,i5/)')
570 . ' deletion flag on failure of main element',
571 . ' (1:yes-all/2:yes-any) set to ',IDEL11
572 IF(IDELKEEP == 1)THEN
573 WRITE(IOUT,'(a)')
574 . ' idel: DO not remove non-connected nodes from secondary surface'
575 ENDIF
576 ENDIF
577 IF(INTTH > 0 )THEN
578 IF(IKTHE==0)THEN
579 WRITE(IOUT,2504) KTHE,TINT,FRAD,DRAD
580 ELSE
581 WRITE(IOUT,2505) IKTHE,XTHE,KTHE,TINT,FRAD,DRAD
582 END IF
583 ENDIF
584 IF(INTFRIC > 0 ) WRITE(IOUT,5030) INTFRIC
585C--------------------------------------------------------------
586
587C--------------------------------------------------------------
588 IF(IS1==0)THEN
589 WRITE(IOUT,'(6x,a)')'no secondary surface input'
590 ELSEIF(IS1==1)THEN
591 WRITE(IOUT,'(6x,a)')'secondary surface input by segments'
592 ELSEIF(IS1==2)THEN
593 WRITE(IOUT,'(6x,a)')'secondary surface input by nodes'
594 ELSEIF(IS1==3)THEN
595 WRITE(IOUT,'(6x,a)')'secondary surface input by segments'
596 ELSEIF(IS1==4 )THEN
597 WRITE(IOUT,'(6x,a)')'secondary side input by bricks'
598 ELSEIF(IS1==5 )THEN
599 WRITE(IOUT,'(6x,a)')'secondary side input by solid elements'
600 ENDIF
601 IF(IS2==0)THEN
602 WRITE(IOUT,'(6x,a)')'no main surface input'
603 ELSEIF(IS2==1)THEN
604 WRITE(IOUT,'(6x,a)')'main surface input by segments'
605 ELSEIF(IS2==2)THEN
606 WRITE(IOUT,'(6x,a)')'main surface input by nodes'
607 ELSEIF(IS2==3)THEN
608 WRITE(IOUT,'(6x,a)')'main surface input by segments'
609 ELSEIF(IS2==4)THEN
610 WRITE(IOUT,'(6x,a)')'main surface refers ',
611 . 'to hyper-ellipsoidal surface'
612 ENDIF
613C
614C--------------------------------------------------------------
615 RETURN
616C------------
617 1518 FORMAT( ' friction formulation: incremental(stiffness) ',
618 . 'formulation')
619 1519 FORMAT( ' friction formulation: total(viscous) ',
620 . 'formulation')
621 1577 FORMAT(
622 . ' minimum time step . . . . . . . . . . . . ',1PG20.13/)
623 1511 FORMAT(//
624 . ' type==11 edge to edge auto impacting ' //,
625 . ' bound. cond. deleted after impact in x dir ',I1/,
626 . ' secondary node(1:yes 0:no) y dir ',I1/,
627 . ' z dir ',i1/,
628 . ' BOUND. COND. DELETED AFTER IMPACT IN X DIR ',i1/,
629 . ' MAIN NODE (1:YES 0:NO) Y DIR ',i1/,
630 . ' Z DIR ',i1/,
631 . ' STIFFNESS FORMULATION . . . . . . . . . ',i1/,
632 .' 2,3,4,5 : STIFFNESS IS COMPUTED FROM STIFFNESS ON MAIN SIDE'/,
633 .' AND STIFFNESS AT SECONDARY NODES'/,
634 . ' MINIMUM STIFFNESS. . . . . . . . . . . . . ',1pg20.13/,
635 . ' MAXIMUM STIFFNESS. . . . . . . . . . . . . ',1pg20.13/,
636 . ' STIFFNESS FACTOR. . . . . . . . . . . . . . ',1pg20.13/,
637 . ' FRICTION FACTOR . . . . . . . . . . . . . . ',1pg20.13/,
638 . ' VARIABLE GAP FLAG . . . . . . . . . . . . . ',i5/,
639 . ' MINIMUM GAP . . . . . . . . . . . . . . . . ',1pg20.13/,
640 . ' START TIME/STOP TIME ACTIVATED BY SENSOR ID ',i10/,
641 . ' BUCKET FACTOR . . . . . . . . . . . . . . . ',1pg20.13/,
642 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . . ',i10/,
643 . ' CRITICAL DAMPING FACTOR . . . . . . . . . . ',1pg20.13/,
644 . ' FRICTION CRITICAL DAMPING FACTOR. . . . . . ',1pg20.13/,
645 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . . ',i5/,
646 . ' FORMULATION LEVEL . . . . . . . . . . . . . ',i5/,
647 . ' MEAN POSSIBLE NUMBER OF IMPACT/LINE . . . . ',i5/,
648 . ' FLAGREMNODE : NOT CONSIDER NEIGHBORING . . ',i5/)
649 1592 FORMAT(//
650 . ' TYPE==11 EDGE to EDGE AUTO IMPACTING ' //,
651 . ' BOUND. COND. DELETED AFTER IMPACT IN X DIR ',i1/,
652 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
653 . ' Z DIR ',i1/,
654 . ' BOUND. COND. DELETED AFTER IMPACT IN X DIR ',i1/,
655 . ' MAIN NODE (1:YES 0:NO) Y DIR ',i1/,
656 . ' Z DIR ',i1/,
657 . ' STIFFNESS FORMULATION . . . . . . . . . ',i1/,
658 .' 2,3,4,5 : STIFFNESS IS COMPUTED FROM STIFFNESS ON MAIN SIDE'/,
659 .' AND STIFFNESS AT SECONDARY NODES'/,
660 . ' MINIMUM STIFFNESS. . . . . . . . . . . . ',1pg20.13/,
661 . ' MAXIMUM STIFFNESS. . . . . . . . . . . . ',1pg20.13/,
662 . ' STIFFNESS FACTOR. . . . . . . . . . . . . ',1pg20.13/,
663 . ' FRICTION FACTOR . . . . . . . . . . . . . ',1pg20.13/,
664 . ' VARIABLE GAP FLAG . . . . . . . . . . . . ',i5/,
665 . ' MINIMUM GAP . . . . . . . . . . . . . . . ',1pg20.13/,
666 . ' START TIME. . . . . . . . . . . . . . . . ',1pg20.13/,
667 . ' STOP TIME . . . . . . . . . . . . . . . . ',1pg20.13/,
668 . ' BUCKET FACTOR . . . . . . . . . . . . . . ',1pg20.13/,
669 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . ',i10/,
670 . ' CRITICAL DAMPING FACTOR . . . . . . . . . ',1pg20.13/,
671 . ' FRICTION CRITICAL DAMPING FACTOR. . . . . ',1pg20.13/,
672 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . ',i5/,
673 . ' FORMULATION LEVEL . . . . . . . . . . . . ',i5/,
674 . ' MEAN POSSIBLE NUMBER OF IMPACT/LINE . . . ',i5/,
675 . ' FLAGREMNODE : NOT CONSIDER NEIGHBORING . . ',i5/)
676 2504 FORMAT(//
677 . ' Thermal interface ' //,
678 . ' Thermal heat exchange coefficient. . . . .',1pg20.13/,
679 . ' Interface temperature . . . . . . . . . . ',1pg20.13/,
680 . ' Radiation factor . . . . . . . . . . . . . ',1pg20.13/,
681 . ' Maximum distance for radiation computation.',1pg20.13)
682 2505 FORMAT(//
683 . ' Thermal interface ' //,
684 . ' Function for thermal heat exchange coefficient wrt contact pressure',i10/,
685 . ' Abscissa scale factor on IFUNTCK. . . . . ',1pg20.13/,
686 . ' Ordinate scale factor on IFUNTCK . . . . ',1pg20.13/,
687 . ' Interface temperature . . . . . . . . . . ',1pg20.13/,
688 . ' Radiation factor . . . . . . . . . . . . . ',1pg20.13/,
689 . ' Maximum distance for radiation computation.',1pg20.13)
690
691 1591 FORMAT(//
692 . ' TYPE==11 EDGE to EDGE AUTO IMPACTING ' //,
693 . ' BOUND. COND. DELETED AFTER IMPACT IN X DIR ',i1/,
694 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
695 . ' Z DIR ',i1/,
696 . ' BOUND. COND. DELETED AFTER IMPACT IN X DIR ',i1/,
697 . ' MAIN NODE (1:YES 0:NO) Y DIR ',i1/,
698 . ' Z DIR ',i1/,
699 . ' CONSTANT STIFFNESS. . . . . . . . . . . . . ',1pg20.13/,
700 . ' FRICTION FACTOR . . . . . . . . . . . . . . ',1pg20.13/,
701 . ' VARIABLE GAP FLAG . . . . . . . . . . . . . ',i5/,
702 . ' MINIMUM GAP . . . . . . . . . . . . . . . . ',1pg20.13/,
703 . ' START TIME/STOP TIME ACTIVATED BY SENSOR ID ',i10/,
704 . ' BUCKET FACTOR . . . . . . . . . . . . . . . ',1pg20.13/,
705 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . . ',i10/,
706 . ' CRITICAL DAMPING FACTOR . . . . . . . . . . ',1pg20.13/,
707 . ' FRICTION CRITICAL DAMPING FACTOR. . . . . . ',1pg20.13/,
708 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . . ',i5/,
709 . ' FORMULATION LEVEL . . . . . . . . . . . . . ',i5/,
710 . ' MEAN POSSIBLE NUMBER OF IMPACT/LINE . . . . ',i5/,
711 . ' FLAGREMNODE : NOT CONSIDER NEIGHBORING . . ',i5/)
712 1593 FORMAT(//
713 . ' TYPE==11 EDGE to EDGE AUTO IMPACTING ' //,
714 . ' BOUND. COND. DELETED AFTER IMPACT IN X DIR ',i1/,
715 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
716 . ' Z DIR ',i1/,
717 . ' BOUND. COND. DELETED AFTER IMPACT IN X DIR ',i1/,
718 . ' MAIN NODE (1:YES 0:NO) Y DIR ',i1/,
719 . ' Z DIR ',i1/,
720 . ' CONSTANT STIFFNESS. . . . . . . . . . . . ',1pg20.13/,
721 . ' FRICTION FACTOR . . . . . . . . . . . . . ',1pg20.13/,
722 . ' VARIABLE GAP FLAG . . . . . . . . . . . . ',i5/,
723 . ' MINIMUM GAP . . . . . . . . . . . . . . . ',1pg20.13/,
724 . ' START TIME. . . . . . . . . . . . . . . . ',1pg20.13/,
725 . ' STOP TIME . . . . . . . . . . . . . . . . ',1pg20.13/,
726 . ' BUCKET FACTOR . . . . . . . . . . . . . . ',1pg20.13/,
727 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . ',i10/,
728 . ' CRITICAL DAMPING FACTOR . . . . . . . . . ',1pg20.13/,
729 . ' FRICTION CRITICAL DAMPING FACTOR. . . . . ',1pg20.13/,
730 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . ',i5/,
731 . ' FORMULATION LEVEL . . . . . . . . . . . . ',i5/,
732 . ' MEAN POSSIBLE NUMBER OF IMPACT/LINE . . . ',i5/,
733 . ' FLAGREMNODE : NOT CONSIDER NEIGHBORING . . ',i5/)
734C
735 5030 FORMAT(/
736 . ' INTERFACE FRICTION MODEL. . . . . . . . . ',i10)
737C
#define my_real
Definition cppsort.cpp:32
subroutine definter(key, ival, flag, iprint, ityp, def_inter)
Definition definter.F:46
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
integer, parameter nchartitle
integer, parameter ncharkey
integer nsubmod
int main(int argc, char *argv[])