45
46
47
48
49
51 USE intbuf_fric_mod
55 USE sensor_mod
57
58
59
60#include "implicit_f.inc"
61
62
63
64#include "scr06_c.inc"
65#include "com01_c.inc"
66#include "com04_c.inc"
67#include "units_c.inc"
68
69
70
71 INTEGER,INTENT(IN) :: NPARI,NPARIR,LNOPT1
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
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)
83
84 TYPE (SURF_) ,TARGET , DIMENSION(NSLIN) :: IGRSLIN
85 TYPE (SENSORS_) ,INTENT(IN) :: SENSORS
86
87
88
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
104
105
106
107 INTEGER NGR2USR
108
109
110
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
128
129
130 stopt=ep30
131 viscf = zero
132
133
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
147
148 iassign = 1
149
150 ntyp = 11
151 ipari(7)= ntyp
152 ipari(15)=noint
153
154 IF (id_type19 > 0) THEN
155
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
164
165 is_available = .false.
166
167
168
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)
177
178 CALL hm_get_intv(
'Deactivate_X_BC',ib1,is_available,lsubmodel)
179 CALL hm_get_intv(
'Deactivate_Y_BC',ib2,is_available
180 CALL hm_get_intv(
'Deactivate_Z_BC',ib3,is_available,lsubmodel)
181 CALL hm_get_intv(
'INACTIV',inacti,is_available,lsubmodel)
182
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)
186
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
191
192 IF(ntyp == 19) THEN
193 CALL hm_get_intv(
'IEDGE_TYPE19',field6,is_available,lsubmodel)
194 ENDIF
195
196
197
198
199
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)
204
205 CALL hm_get_floatv(
'TYPE11_SCALE',stfac,is_available,lsubmodel,unitab)
206 CALL hm_get_floatv(
'FRIC',fric,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)
214
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)
218
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
226
227
228
229
230
231 iprint = 0
232
233 key1='IGSTI'
234 CALL definter(key1 ,igsti ,iassign ,iprint ,
235 . ntyp ,def_inter)
236
237 key1='IGAP'
238 CALL definter(key1 ,igap ,iassign ,iprint ,
239 . ntyp ,def_inter)
240
241 key1='IDEL'
242 CALL definter(key1 ,idel11 ,iassign ,iprint ,
243 . ntyp ,def_inter)
244
245 key1='INACTI'
246 CALL definter(key1 ,inacti ,iassign ,iprint ,
247 . ntyp ,def_inter)
248
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
260
261 key1='FLAGREMNOD'
262 CALL definter(key1 ,flagremnod,iassign ,iprint ,
263 . ntyp ,def_inter)
264
265 IF (ntyp==19) THEN
266
267 IF (field6<=2) THEN
268 iedge = field6
269 ELSE
270
271 iedge = 2
272 ENDIF
273
274 key1='IEDGE'
275 CALL definter(key1 ,iedge ,iassign ,iprint ,
276 . ntyp ,def_inter)
277
278 IF (iedge==1) THEN
279
280 isu1 = isu1 + 1
281 isu2 = isu2 + 1
282 ENDIF
283
284 IF (igap == 4) THEN
285
286 igap = 0
287 ENDIF
288
289 ENDIF
290
291
292
293
294
295
296
297
298
299
300 multimp = 4
301 ipari(23)=multimp
302
303 IF(igap == 2) THEN
304 IF (ipari(71)==0) THEN
306 . msgtype=msgerror,
307 . anmode=aninfo,
308 . i1=noint,
309 . c1=titr)
310 ELSE
312 . msgtype=msgerror,
313 . anmode=aninfo,
314 . i1=noint,
315 . c1=titr)
316 ENDIF
317 ENDIF
318
319 IF(isu1==0) THEN
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)
337
338 IF (idel11 < 0) THEN
339 idelkeep=1
340 idel11=abs(idel11)
341 END IF
342 IF (idel11>2.OR.n2d==1) idel11 = 0
343 ipari(17)=idel11
344 ipari(61)=idelkeep
345
346 IF (flagremnod == 0) flagremnod = 1
347 ipari(63) = flagremnod
348
349 ipari(45)=isu1
350 ipari(46)=isu2
351 ipari(13)=is1*10+is2
352 ipari(21 )= igap
353 ipari(22)=inacti
354
355
356
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
366
367 frigap(41) = dtmin
368
369 IF(igap == 3 .AND. 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
377
378
379
380 IF (stfac == zero) THEN
381
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
388
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
396
397
398
399
400 IF (ib1==1) ibc1 = 1
401 IF (ib2==1) ibc2 = 1
402 IF (ib3==1) ibc3 = 1
403
404
405
406
407
408
409
410 IF(visc==zero)visc=fiveem2
411
412 IF(fric/=zero.AND.viscf==zero.AND.iform/=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
417
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
428
429
430
431
432 ipari(72) = intfric
433
434
435
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
445 xthe = one * xthe_unit
446 ENDIF
447
448
449
450
451
452 IF(itherm_fe == 0 .AND. intth > 0 ) THEN
453 intheat = 0
454 ipari(47) = 0
456 . msgtype=msgwarning,
457 . anmode=aninfo,
458 . i1=noint,
459 . c1=titr)
460 ENDIF
461
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
471
472 frigap(10)=float(0)
473
474 nlin1 = igrslin(isu1)%NSEG
475 nlin2 = igrslin(isu2)%NSEG
476 IF ((ntyp == 19).AND.((nlin1==0).OR.(nlin2==0))) THEN
477
478 ntyp = 0
479 ipari(7) = ntyp
481 . msgtype=msgwarning,
482 . anmode=aninfo,
483 . i1=ipari(15),
484 . c1=titr)
485 ENDIF
486
487
488
489
490 ntyp0 = 11
493 . intbuf_fric_tab)
494
495
496
497
498
499
500 IF (id_type19 > 0) RETURN
501
502 iprint = 1
503
504
505
506
507 key1='IGSTI'
508 CALL definter(key1 ,igsti ,iassign ,iprint ,
509 . ntyp ,def_inter)
510
511 key1='IGAP'
512 CALL definter(key1 ,igap ,iassign ,iprint ,
513 . ntyp ,def_inter)
514
515 key1='IDEL'
516 CALL definter(key1 ,idel11 ,iassign ,iprint ,
517 . ntyp ,def_inter)
518
519 key1='IFORM'
520 CALL definter(key1 ,iform ,iassign ,iprint ,
521 . ntyp ,def_inter)
522
523 key1='INACTI'
524 CALL definter(key1 ,inacti ,iassign ,iprint ,
525 . ntyp ,def_inter)
526
527 key1='FLAGREMNOD'
528 CALL definter(key1 ,flagremnod,iassign ,iprint ,
529 . ntyp ,def_inter)
530
531
532
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
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
585
586
587
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
613
614
615 RETURN
616
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/)
734
735 5030 FORMAT(/
736 . ' INTERFACE FRICTION MODEL. . . . . . . . . ',i10)
737
subroutine definter(key, ival, flag, iprint, ityp, def_inter)
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 inter_dcod_friction(ntyp, ni, ipari, nom_opt, nom_optfric, intbuf_fric_tab)
subroutine inter_dcod_sensor(ntyp, ni, ipari, nom_opt, sensors)
for(i8=*sizetab-1;i8 >=0;i8--)
integer, parameter nchartitle
integer, parameter ncharkey
integer function ngr2usr(iu, igr, ngr)
subroutine radiation(ibcr, fradia, npc, tf, x, temp, nsensor, sensor_tab, fthe, iad, fthesky, python, glob_therm)
int main(int argc, char *argv[])
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)