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

Go to the source code of this file.

Functions/Subroutines

subroutine hm_read_inter_type24 (ipari, stfac, frigap, noint, ni, igrnod, igrsurf, xfiltr, fric_p, def_inter, sensors, nom_opt, unitab, lsubmodel, titr, nom_optfric, intbuf_fric_tab, parameters, npari, nparir, itherm_fe, intheat)

Function/Subroutine Documentation

◆ hm_read_inter_type24()

subroutine hm_read_inter_type24 ( integer, dimension(npari) ipari,
stfac,
frigap,
integer noint,
integer ni,
type (group_), dimension(ngrnod), target igrnod,
type (surf_), dimension(nsurf), target igrsurf,
xfiltr,
fric_p,
integer, dimension(100) def_inter,
type (sensors_), intent(in) sensors,
integer, dimension(lnopt1,*) nom_opt,
type (unit_type_), intent(in) unitab,
type(submodel_data), dimension(nsubmod), intent(in) lsubmodel,
character(len=nchartitle), intent(in) titr,
integer, dimension(lnopt1,*) nom_optfric,
type(intbuf_fric_struct_), dimension(*) intbuf_fric_tab,
type (parameters_), intent(inout) parameters,
integer, intent(in) npari,
integer, intent(in) nparir,
integer, intent(in) itherm_fe,
integer, intent(inout) intheat )
Parameters
[in]nparirarray size

Definition at line 41 of file hm_read_inter_type24.F.

47C============================================================================
48C
49C-----------------------------------------------
50C M o d u l e s
51C-----------------------------------------------
52 USE message_mod
53 USE intbuf_fric_mod
54 USE groupdef_mod
56 USE unitab_mod
57 USE sensor_mod
60 USE format_mod , ONLY : fmt_i_2f
61 USE reader_old_mod , ONLY : line, irec
62C-----------------------------------------------
63C I m p l i c i t T y p e s
64C-----------------------------------------------
65#include "implicit_f.inc"
66C-----------------------------------------------
67C C o m m o n B l o c k s
68C-----------------------------------------------
69#include "scr17_c.inc"
70#include "scr06_c.inc"
71#include "com01_c.inc"
72#include "com04_c.inc"
73#include "units_c.inc"
74#include "scr12_c.inc"
75#include "remesh_c.inc"
76C-----------------------------------------------
77C D u m m y A r g u m e n t s
78C-----------------------------------------------
79 INTEGER,INTENT(IN) :: NPARI,NPARIR !< array size
80 INTEGER,INTENT(IN) :: ITHERM_FE
81 INTEGER,INTENT(INOUT) :: INTHEAT
82 INTEGER NOM_OPT(LNOPT1,*), NOM_OPTFRIC(LNOPT1,*)
83 INTEGER ISU1,ISU2,NI
84 INTEGER IPARI(NPARI),DEF_INTER(100)
85 my_real stfac,xfiltr
86 my_real frigap(nparir),fric_p(10)
87 CHARACTER(LEN=NCHARTITLE),INTENT(IN) :: TITR
88 TYPE(INTBUF_FRIC_STRUCT_) INTBUF_FRIC_TAB(*)
89 TYPE(SUBMODEL_DATA),INTENT(IN) :: LSUBMODEL(NSUBMOD)
90 TYPE (UNIT_TYPE_),INTENT(IN) :: UNITAB
91 TYPE (SENSORS_) ,INTENT(IN) :: SENSORS
92C-----------------------------------------------
93 TYPE (GROUP_) ,TARGET, DIMENSION(NGRNOD) :: IGRNOD
94 TYPE (SURF_) ,TARGET , DIMENSION(NSURF) :: IGRSURF
95 TYPE (PARAMETERS_) ,INTENT(INOUT):: PARAMETERS
96C-----------------------------------------------
97C L o c a l V a r i a b l e s
98C-----------------------------------------------
99 INTEGER I,J,L,IBC1, IBC2, IBC3, IBUC, NOINT, NTYP, IBID,
100 . INACTI, IBC1M, IBC2M, IBC3M, IGSTI, IVIS2,IS1, IS2,
101 . ILEV, IGAP,MULTIMP,HIERA,MFROT,IFQ,IBAG,MODFR,IERR1,
102 . IFLAGUNIT,ISYM,IEDGE,NOD1,IDUM,IGNORE,IDEL24,KK,II,
103 . IGAP0,FLAGREMNOD,IDSENS,IDELKEEP,INTKG,IREM24I2,IPRINT,
104 . INTFRIC,MULTIMPE,IASSIGN,ICURV,INTPLY,INTTH,NPREF,
105 . INTNITSCHE,IPEN0,NA1,NA2,IADM,NRADM,IFORM,IPSTIF
106 my_real
107 . fric,gap,startt,bumult,stopt,c1,c2,c3,c4,c5,c6,alpha,
108 . gapscale,gapmax,stmin,stmax,stiff,edg_angl,
109 . percent_size,gapmax_s,gapmax_m,penmax,penmin,visc,viscf,
110 . eten_m,padm,angladm,rsth,fheat,tint,cadm,tpfit,stfacm,
111 . dtstif
112 CHARACTER(LEN=40)::MESS
113 CHARACTER(LEN=NCHARTITLE)::MSGTITL
114 CHARACTER(LEN=NCHARKEY)::OPT,KEY,KEY1
115 CHARACTER(LEN=NCHARFIELD)::BCFLAG,BCFLAGM
116!
117 INTEGER, DIMENSION(:), POINTER :: INGR2USR
118C-----------------------------------------------
119C E x t e r n a l F u n c t i o n s
120C-----------------------------------------------
121 INTEGER NGR2USR
122 LOGICAL IS_AVAILABLE
123C-----------------------------------------------
124C=======================================================================
125C READING PENALTY INTERFACE /INTER/TYPE24
126C=======================================================================
127
128C Initializations
129 is1=0
130 is2=0
131 ibc1=0
132 ibc2=0
133 ibc3=0
134 ibc1m=0
135 ibc2m=0
136 ibc3m=0
137 ibuc=0
138 mfrot=0
139 ifq=0
140 ibag=0
141 igsti = 0
142 ilev=0
143 idsens = 0
144 idelkeep=0
145 intfric = 0
146 nod1 = 0
147 intkg = 0
148 flagremnod = 0
149 multimp = 0
150 icurv = 0
151 intply = 0
152 irem24i2 = 0
153 intth = 0
154 idel24= 0
155 intnitsche = 0
156 iadm = 0
157 iform = 0
158 ivis2=0
159 ipstif = 0
160
161C-------for the moment
162C IGSTI = 0
163 ibag = 0
164 multimpe = 0
165C
166 stopt=ep30
167 inacti = 0
168 viscf = zero
169 fric = zero
170 gap = zero
171 gapscale = zero
172 startt = zero
173 visc = zero
174 xfiltr = zero
175 DO i = 1, 10
176 fric_p(i) = zero
177 ENDDO
178 c1=zero
179 c2=zero
180 c3=zero
181 c4=zero
182 c5=zero
183 c6=zero
184
185 gapscale = zero
186 percent_size = zero
187 edg_angl = zero
188 gapmax_s = zero
189 gapmax_m = zero
190 penmax = zero
191 penmin = zero
192 eten_m = zero
193 rsth = ep30
194 fheat= one
195 tint = zero
196 stfacm= zero
197C
198 iassign = 1
199C
200 ntyp = 24
201 ipari(15)=noint
202 ipari(7)=ntyp
203C
204 is_available = .false.
205C
206C--------------------------------------------------
207C EXTRACT DATAS (INTEGER VALUES)
208C--------------------------------------------------
209 CALL hm_get_intv('secondaryentityids',isu1,is_available,lsubmodel)
210 CALL hm_get_intv('mainentityids',isu2,is_available,lsubmodel)
211 CALL hm_get_intv('Istf',igsti,is_available,lsubmodel)
212 CALL hm_get_intv('Irem_i2',irem24i2,is_available,lsubmodel)
213 CALL hm_get_intv('TYPE24_Idel',idel24,is_available,lsubmodel)
214
215 CALL hm_get_intv('GRNOD_ID',nod1,is_available,lsubmodel)
216 CALL hm_get_intv('TYPE24_Iedge',iedge,is_available,lsubmodel)
217 CALL hm_get_intv('IPSTIF',ipstif,is_available,lsubmodel)
218C
219 CALL hm_get_intv('Igap',igap0,is_available,lsubmodel)
220 CALL hm_get_intv('Ipen',ipen0,is_available,lsubmodel)
221C
222 CALL hm_get_intv('Deactivate_X_BC',ibc1,is_available,lsubmodel)
223 CALL hm_get_intv('Deactivate_Y_BC',ibc2,is_available,lsubmodel)
224 CALL hm_get_intv('Deactivate_Z_BC',ibc3,is_available,lsubmodel)
225
226 CALL hm_get_intv('INACTIV',inacti,is_available,lsubmodel)
227C
228 CALL hm_get_intv('Ifric',mfrot,is_available,lsubmodel)
229 CALL hm_get_intv('Ifiltr',ifq,is_available,lsubmodel)
230 CALL hm_get_intv('ISENSOR',idsens,is_available,lsubmodel)
231 CALL hm_get_intv('Fric_ID',intfric,is_available,lsubmodel)
232C
233C--------------------------------------------------
234C EXTRACT DATAS (REAL VALUES)
235C--------------------------------------------------
236 CALL hm_get_floatv('GAP1',gapmax_s,is_available,lsubmodel,unitab)
237 CALL hm_get_floatv('GAP2',gapmax_m,is_available,lsubmodel,unitab)
238C
239 CALL hm_get_floatv('STMIN',stmin,is_available,lsubmodel,unitab)
240 CALL hm_get_floatv('STMAX',stmax,is_available,lsubmodel,unitab)
241 CALL hm_get_floatv('TYPE24_Edge_Angle',edg_angl,is_available,lsubmodel,unitab)
242 CALL hm_get_floatv('Ipen_max',penmax,is_available,lsubmodel,unitab)
243 CALL hm_get_floatv('Ipen_min',penmin,is_available,lsubmodel,unitab)
244 CALL hm_get_floatv('STFAC_MDT',stfacm,is_available,lsubmodel,unitab)
245C
246 CALL hm_get_floatv('STFAC',stfac,is_available,lsubmodel,unitab)
247 CALL hm_get_floatv('FRIC',fric,is_available,lsubmodel,unitab)
248 CALL hm_get_floatv('TSTART',startt,is_available,lsubmodel,unitab)
249 CALL hm_get_floatv('TSTOP',stopt,is_available,lsubmodel,unitab)
250C
251 CALL hm_get_floatv('STIFF_DC',visc,is_available,lsubmodel,unitab)
252 CALL hm_get_floatv('Tpressfit',tpfit,is_available,lsubmodel,unitab)
253C
254 CALL hm_get_floatv('Xfreq',alpha,is_available,lsubmodel,unitab)
255 CALL hm_get_floatv('DTSTIF',dtstif,is_available,lsubmodel,unitab)
256C
257 IF (mfrot>0) THEN
258 CALL hm_get_floatv('C1',c1,is_available,lsubmodel,unitab)
259 CALL hm_get_floatv('C2',c2,is_available,lsubmodel,unitab)
260 CALL hm_get_floatv('C3',c3,is_available,lsubmodel,unitab)
261 CALL hm_get_floatv('C4',c4,is_available,lsubmodel,unitab)
262 CALL hm_get_floatv('C5',c5,is_available,lsubmodel,unitab)
263 ENDIF
264 IF (mfrot>1) THEN
265 CALL hm_get_floatv('C6',c6,is_available,lsubmodel,unitab)
266 ENDIF
267C----- was hiding flag
268 npref=0
269C
270C--------------------------------------------------
271C DEFAULT VALUES DEFINITION
272C--------------------------------------------------
273C
274 iprint = 0
275
276 key1='IGSTI'
277 CALL definter(key1 ,igsti ,iassign ,iprint ,
278 . ntyp ,def_inter)
279C
280 key1='IDEL24'
281 CALL definter(key1 ,idel24 ,iassign ,iprint ,
282 . ntyp ,def_inter)
283C
284 key1='IEDGE'
285 CALL definter(key1 ,iedge ,iassign ,iprint ,
286 . ntyp ,def_inter)
287C
288 key1='IGAP0'
289 CALL definter(key1 ,igap0 ,iassign ,iprint ,
290 . ntyp ,def_inter)
291C
292 key1='IPEN0'
293 CALL definter(key1 ,ipen0 ,iassign ,iprint ,
294 . ntyp ,def_inter)
295C
296 key1='INACTI'
297 CALL definter(key1 ,inacti ,iassign ,iprint ,
298 . ntyp ,def_inter)
299C
300C--------------------------------------------------
301C CHECKS And Storage IPARI FRIGAP
302C--------------------------------------------------
303C
304C
305C....* Card1 :flags *.............
306C
307
308C
309C....* CHECKS *.............
310
311 IF (irem24i2==0) THEN
312 irem24i2=1
313c IF (IIMPLICIT>0) IREM24I2=1
314 END IF
315 IF (irem24i2==3) irem24i2 = 0
316
317C
318C....* Card2 :Gaps *.............
319C
320
321 igap = 1
322 ipari(21)=igap
323 ipari(63)=irem24i2
324C------ consisting w/ manuel
325 IF (irem24i2==0) irem24i2 = 3
326
327
328C.....* CHECKS AND Storage IPARI FRIGAP *..........
329C
330C
331C------ILEV =1 : ISU1>0,ISU2=0; IS3>=0
332C 2 : ISU1>0,ISU2>0; IS3>=0
333C 3 : ISU1=0,ISU2>0;IS3>0
334 ilev=0
335
336 IF(isu1 /= 0 .AND.isu2 == 0)THEN
337 ilev = 1
338 ELSEIF(isu1 /= 0 .AND.isu2 /= 0)THEN
339 ilev = 2
340 IF (isu1 == isu2) THEN
341 ilev = 1
342 isu2 = 0
343 CALL ancmsg(msgid=1022,
344 . msgtype=msgwarning,
345 . anmode=aninfo,
346 . i1=noint,
347 . c1=titr)
348 END IF
349 ELSEIF(isu1 == 0 .AND.isu2 /= 0 .AND. nod1 /= 0) THEN
350 ilev = 3
351 ELSE
352 IF(isu2 == 0) THEN
353 CALL ancmsg(msgid=119,
354 . anmode=aninfo,
355 . msgtype=msgerror,
356 . i1=noint,
357 . c1=titr)
358 ELSEIF (nod1 == 0) THEN
359 CALL ancmsg(msgid=1001,
360 . anmode=aninfo,
361 . msgtype=msgerror,
362 . i1=noint,
363 . c1=titr)
364 ENDIF
365 is1=0
366 is2=0
367 END IF
368 isym = 1
369
370 SELECT CASE (ilev)
371 CASE(1)
372 ingr2usr => igrsurf(1:nsurf)%ID
373 isu1=ngr2usr(isu1,ingr2usr,nsurf)
374 isu2=isu1
375 is1=-1
376 is2=-3
377 CASE(2)
378C----------------if we copy int7--
379 is1 = 0
380 ingr2usr => igrsurf(1:nsurf)%ID
381 is1=ngr2usr(isu1,ingr2usr,nsurf)
382 IF (is1==0) THEN
383 CALL ancmsg(msgid=1000,
384 . anmode=aninfo_blind_1,
385 . msgtype=msgerror,
386 . i1=noint,
387 . c1=titr)
388 ELSE
389 isu1=is1
390 END IF
391 ingr2usr => igrsurf(1:nsurf)%ID
392 isu2=ngr2usr(isu2,ingr2usr,nsurf)
393 is1=-1
394 is2=-1
395 CASE(3)
396 ingr2usr => igrsurf(1:nsurf)%ID
397 isu2=ngr2usr(isu2,ingr2usr,nsurf)
398 is1=-2
399 is2=-1
400 IF (iedge > 0 ) THEN
401 iedge = 0
402 edg_angl=zero
403c CALL ANCWAR(119,ANINFO)
404 END IF
405 END SELECT
406 ingr2usr => igrnod(1:ngrnod)%ID
407 IF(nod1 /= 0) nod1=ngr2usr(nod1,ingr2usr,ngrnod)
408C------only IEDGE=5 or IEDGE=0
409 IF (iedge>0) iedge=5
410 IF (iedge==4.OR.iedge==5) THEN
411 ipari(59)=iedge-3
412c IEDGE=MIN(4,IEDGE)
413 END IF
414
415C--------change default EDG_ANGL=135
416 IF((iedge>=3).AND. edg_angl==zero)
417C + EDG_ANGL=NINTY+ONE
418 + edg_angl=hundred+thirty+five
419 frigap(26) = cos((hundred80-edg_angl)*pi/hundred80)
420
421
422C---------Default Istif for implicit
423 IF (iimplicit>0.AND.igsti==0) igsti=4
424
425 IF(igsti >= 10) THEN ! Nitsche Method Activation instead of penalty
426 intnitsche = 1
427 ipari(86) = 1
428 igsti = igsti - 10
429 IF(intnitsche > 0 ) nitsche = 1
430 IF (ilev /= 1.AND.ilev /= 2) THEN
431 CALL ancmsg(msgid=1622,
432 . msgtype=msgerror,
433 . anmode=aninfo,
434 . i1=noint,
435 . c1=titr)
436 ENDIF
437 IF (iedge > 0) THEN
438 CALL ancmsg(msgid=1746,
439 . msgtype=msgerror,
440 . anmode=aninfo,
441 . i1=noint,
442 . c1=titr)
443 ENDIF
444 ENDIF
445
446C-------tempo: Isurf <- ILEV=IPARI(20) -----
447
448 ipari(26)=nod1
449
450 ipari(13)=is1*10+is2
451 ipari(45)=isu1
452 ipari(46)=isu2
453
454 ipari(43)=isym
455 ipari(58)=min(4,iedge)
456 ipari(63)=irem24i2
457
458C------ consisting w/ manuel
459 IF (irem24i2==0) irem24i2 = 3
460C--------auto stif w/ Press-fit
461 IF (inacti==-1) THEN
462 igsti = 4
463 ELSEIF (inacti==-2) THEN ! using high stif
464 igsti = 2
465 inacti=-1
466 END IF
467 ipari(20)=ilev
468 ipari(34)=igsti
469 ipari(47) = intth
470 IF(intth > 0 ) intheat = 1
471 IF (iimplicit>0) intkg=1
472C flag to activate update of gap with plyxfem
473 ipari(66) = intply
474
475C
476C....* Card3 *.............
477C
478
479 IF(igsti>1 .OR. igsti==-1)THEN
480 i7stifs=1
481 IF(stmax==zero)stmax=ep30
482 ELSE
483 stmin = zero
484 stmax = ep30
485 END IF
486
487c IF(IGAP==3)THEN
488c GAPMAX = GAPMAX * FAC_L
489c IF(GAPSCALE==ZERO)GAPSCALE=ONE
490c FRIGAP(13) = GAPSCALE
491c FRIGAP(16) = GAPMAX
492c IF(PERCENT_SIZE==ZERO) PERCENT_SIZE = 0.4
493c END IF
494
495 percent_size=zero
496
497C----------- GAPMAX->GAPMAX_S: EP30
498C-----------IGAP0,IPEN0: used only for starter;sharing places w/ int20
499 ipari(53)=igap0
500 ipari(54)=ipen0
501c FRIGAP(16) = EP30
502 frigap(17) = stmin
503 frigap(18) = stmax
504c FRIGAP(28) = PERCENT_SIZE
505
506 IF(gapmax_s==zero)gapmax_s=ep30
507 IF(gapmax_m==zero)gapmax_m=ep30
508
509C IF(PENMAX==ZERO)PENMAX=EP30
510 IF(penmin==zero)penmin=em8
511 IF(eten_m == zero)eten_m =twenty5*em03
512 frigap(35) = gapmax_s
513 frigap(36) = gapmax_m
514 frigap(37) = penmax
515 frigap(38) = penmin
516 frigap(39) = eten_m
517
518 na1 = 0
519 na2 = 0
520c IF(ICURV==1)THEN
521c WRITE(IOUT,*)' SPHERICAL CURVATURE:'
522c WRITE(IOUT,*)' NA1 =',NA1,' NA2 =',NA2
523c ELSEIF(ICURV==2)THEN
524c WRITE(IOUT,*)' CYLINDRICAL CURVATURE:'
525c WRITE(IOUT,*)' NA1 =',NA1,' NA2 =',NA2
526c ELSEIF(ICURV == 3)THEN
527c WRITE(IOUT,*)' SURFACE WITH CUBIC CURVATURE'
528c ENDIF
529 ipari(39) = 0
530 ipari(40) = na1
531 ipari(41) = na2
532
533C
534C....* Card4 *.............
535C
536
537C
538C.....* CHECKS *.....
539C
540 gap=zero
541C GAP = GAP * FAC_L
542 IF (stopt == zero) stopt = ep30
543
544C.....* Storage IPARI FRIGAP *.......
545
546 frigap(1)=fric
547 frigap(2)=gap
548 frigap(3)=startt
549 frigap(11)=stopt
550
551C
552C....* Card5 *.............
553C
554
555
556C ----- presfit
557 IF (inacti==-1.AND.iimplicit==0) THEN
558 npref=10000
559 ipari(40) = npref
560 ELSE
561 tpfit=zero
562 END IF
563C
564C......* CHECKS AND Storage IPARI FRIGAP *.....
565C
566C Hidden flag no more read using HM reader
567c IF (BCFLAGM(LFIELD-2:LFIELD-2)== '1') IBC1M = 1
568c IF (BCFLAGM(LFIELD-1:LFIELD-1)== '1') IBC2M = 1
569c IF (BCFLAGM(LFIELD :LFIELD )== '1') IBC3M = 1
570
571 IF (iimplicit>0.AND.inacti==0) inacti=-1
572 IF (inacti/=0.AND.inacti/=-1.AND.inacti/=5) THEN
573 IF (inacti>0) THEN
574 inacti = 5
575 ELSE
576 inacti = 0
577 END IF
578 CALL ancmsg(msgid=1031,
579 . msgtype=msgwarning,
580 . anmode=aninfo,
581 . i1=noint,
582 . c1=titr ,
583 . i2=inacti)
584 END IF
585 ipari(22)=inacti
586
587 IF(stfac==zero) THEN
588 stfac=one
589 ENDIF
590 IF(igsti==1)stfac=-stfac
591
592C------no use of VISCF
593 viscf=zero
594 frigap(15)=viscf**2
595C-------used for TPFIT
596 frigap(15)=tpfit
597C default 1: harmonic mass, IVIS2=-1 old: SECONDARY node mass
598 IF (ivis2==0) THEN
599 ivis2=1
600 ELSEIF (ivis2==-1) THEN
601 ivis2=0
602 END IF
603 IF(visc==zero)THEN
604 IF(ivis2==5)THEN
605 visc=one
606 ELSE
607 visc=fiveem2
608 ENDIF
609 ENDIF
610 frigap(14)=visc
611
612 IF (idel24 < 0) THEN
613 idelkeep=1
614 idel24=abs(idel24)
615 END IF
616 ipari(61)=idelkeep
617
618 IF (idel24>2.OR.n2d==1) idel24 = 0
619 ipari(17)=idel24
620
621 ipari(14)=ivis2
622
623C------------remove BUMULT
624 bumult=zero
625 IF(bumult==zero) THEN
626 bumult = bmul0
627C bmult augmente pour les tres gros modeles et interface 7 ou 20
628
629 IF(numnod > 2500000) THEN
630 bumult = bmul0*two
631 ELSEIF(numnod > 1500000) THEN
632 bumult = bmul0*three/two
633 END IF
634 END IF
635 frigap(4)=bumult
636
637C---------
638 IF(ipstif >0 .OR.igsti==7.AND.igsti/=-1) ipari(97) = 1
639 IF(igsti==7.AND.ipstif ==0) ipstif = 1
640 IF(igsti==-1) ipstif = 0
641 ipari(98) = ipstif
642 IF(stfacm == zero.AND.ipari(97) > 0) stfacm = em01
643 IF(ipari(97) > 0) THEN
644 frigap(48) = dtstif
645 parameters%ISTIF_DT = 1
646 frigap(47) = stfacm
647 ELSE
648 dtstif = zero
649 stfacm = zero
650 ENDIF
651
652C
653C....* Card6 *.............
654C
655
656C......* CHECKS *.....
657C
658C IF (MFROT/=0.AND.VISCF==0.0) VISCF=ONE
659 modfr = 2
660 IF (alpha==0.) ifq = 0
661 IF (modfr==0) modfr = 1
662 IF (modfr==2.AND.ifq<10) ifq = ifq + 10
663C IF(MODFR==2)VISCF=ZERO
664 IF (ifq>0) THEN
665 IF (ifq==10) xfiltr = one
666 IF (mod(ifq,10)==1) xfiltr = alpha
667 IF (mod(ifq,10)==2) xfiltr=four*atan2(one,zero) / alpha
668 IF (mod(ifq,10)==3) xfiltr=four*atan2(one,zero) * alpha
669 IF (xfiltr<zero) THEN
670 CALL ancmsg(msgid=554,
671 . msgtype=msgerror,
672 . anmode=aninfo_blind_1,
673 . i1=noint,
674 . c1=titr,
675 . r1=alpha)
676 ELSEIF (xfiltr>1.AND.mod(ifq,10)<=2) THEN
677 CALL ancmsg(msgid=554,
678 . msgtype=msgerror,
679 . anmode=aninfo_blind_1,
680 . i1=noint,
681 . c1=titr,
682 . r1=alpha)
683 ENDIF
684 ELSE
685 xfiltr = zero
686 ENDIF
687
688 IF (ibag/=0.AND.nvolu==0 .AND. ialelag == 0) THEN
689 CALL ancmsg(msgid=614,
690 . msgtype=msgwarning,
691 . anmode=aninfo_blind_2,
692 . i1=noint,
693 . c1=titr)
694 ibag=0
695 ENDIF
696 intbag = max(intbag,ibag)
697 kcontact =max(kcontact,ibag)
698
699C-------* Storage IPARI FRIGAP *----------------------------
700 ipari(30) = mfrot
701 ipari(31) = ifq
702 ipari(32) = ibag
703C INTBAG = MAX(INTBAG,IBAG)
704 ipari(72) = intfric
705 ipari(64) = idsens
706
707C
708C....* Card7 : C1...C6 friction data *.............
709C
710
711 fric_p(1) = c1
712 fric_p(2) = c2
713 fric_p(3) = c3
714 fric_p(4) = c4
715 fric_p(5) = c5
716 fric_p(6) = c6
717
718C
719C....* Card9 : Thermal input not available yet *.............
720C
721
722 IF (iadm/=0.AND.nadmesh==0) THEN
723 CALL ancmsg(msgid=647,
724 . msgtype=msgwarning,
725 . anmode=aninfo_blind_2,
726 . i1=noint,
727 . c1=titr)
728 iadm=0
729 ENDIF
730 IF (iadm/=0.AND.icurv/=0) THEN
731 CALL ancmsg(msgid=648,
732 . msgtype=msgerror,
733 . anmode=aninfo,
734 . i1=noint,
735 . c1=titr)
736 ENDIF
737 ipari(44)=iadm
738 kcontact =max(kcontact,ibag,iadm)
739C
740 IF(iadm==2)THEN
741 irec=irec+1
742 READ(iin,rec=irec,err=999,fmt='(A)')line
743 READ(line,err=999,fmt=fmt_i_2f) nradm,padm,angladm
744 IF(nradm==0) nradm =3
745 IF(padm==zero) padm =one
746 ELSE
747 nradm =1
748 padm =one
749 angladm=zero
750 END IF
751 cadm =cos(angladm*pi/hundred80)
752 ipari(49) =nradm
753 frigap(24)=padm
754 frigap(25)=cadm
755
756C
757C....* Card10: Thermal input not available yet *.............
758C
759C
760 IF(itherm_fe == 0 .AND. intth > 0 ) THEN
761 intheat = 0
762 ipari(47) = 0
763 CALL ancmsg(msgid=702,
764 . msgtype=msgwarning,
765 . anmode=aninfo,
766 . i1=noint,
767 . c1=titr)
768 ENDIF
769C
770 IF(rsth == zero)rsth = ep30
771 frigap(20) = one/rsth
772 frigap(21 ) = fheat
773 frigap(22 ) = tint
774 ipari(48) = iform
775
776
777C
778 ipari(12)=ibuc
779 ipari(65) = intkg
780
781
782C FRIGAP(10) is initialized but used only in engine for storing number of couples candidates
783 frigap(10)=float(0)
784
785 multimp = 4
786 ipari(23)=multimp
787
788C
789C------------------------------------------------------------
790C RENUMBERING OF FUNCTIONS AND SENSOR - USER TO INTERNAL ID
791C------------------------------------------------------------
792C
793 CALL inter_dcod_sensor (ntyp,ni,ipari,nom_opt,sensors)
794 CALL inter_dcod_friction(ntyp,ni,ipari,nom_opt,nom_optfric,
795 . intbuf_fric_tab)
796C
797C------------------------------------------------------------
798C PRINTOUT
799C------------------------------------------------------------
800C
801C........* PRINT DEFAULT VALUES *.....................
802C
803 iprint = 1
804C
805 key1='IGSTI'
806 CALL definter(key1 ,igsti ,iassign ,iprint ,
807 . ntyp ,def_inter)
808C
809 key1='IEDGE'
810 CALL definter(key1 ,iedge ,iassign ,iprint ,
811 . ntyp ,def_inter)
812C
813 key1='INACTI'
814 CALL definter(key1 ,inacti ,iassign ,iprint ,
815 . ntyp ,def_inter)
816
817C........* PRINT INTERFACES INPUT *.....................
818
819 IF (inacti==-1.AND.igsti==2) inacti=-2 ! just for printing
820 idum =iedge
821 IF (iedge/=1000.AND.iedge>0)idum =min(1,iedge)
822
823 IF(intnitsche > 0) THEN
824 IF(idsens/=0) THEN
825 WRITE(iout,3528)ibc1,ibc2,ibc3,
826 . igsti,stfac,ilev,idum,edg_angl,
827 . stmin,stmax,
828 . fric,gapmax_s,gapmax_m,igap0,ipen0,
829 . penmax,idsens,
830 . inacti,irem24i2,visc,ipari(14)
831 ELSE
832 WRITE(iout,3529)ibc1,ibc2,ibc3,
833 . igsti,stfac,ilev,idum,edg_angl,
834 . stmin,stmax,
835 . fric,gapmax_s,gapmax_m,igap0,ipen0,
836 . penmax,startt,stopt,
837 . inacti,irem24i2,visc,ipari(14)
838 ENDIF
839 ELSE
840 IF(idsens/=0) THEN
841 WRITE(iout,3524)ibc1,ibc2,ibc3,
842 . igsti,stfac,ilev,idum,edg_angl,
843 . stmin,stmax,
844 . fric,gapmax_s,gapmax_m,igap0,ipen0,
845 . penmax,idsens,
846 . inacti,irem24i2,visc,ipari(14)
847 ELSE
848 WRITE(iout,3525)ibc1,ibc2,ibc3,
849 . igsti,stfac,ilev,idum,edg_angl,
850 . stmin,stmax,
851 . fric,gapmax_s,gapmax_m,igap0,ipen0,
852 . penmax,startt,stopt,
853 . inacti,irem24i2,visc,ipari(14)
854 ENDIF
855 ENDIF
856 IF(intply > 0) WRITE(iout,*)' CONTACT WITH VARIABLE GAP'
857 IF(tpfit > zero) WRITE(iout,5040) tpfit
858
859 IF(idel24/=3) THEN
860 WRITE(iout,'(A,A,I5/)')
861 . ' DELETION FLAG ON FAILURE OF MAIN ELEMENT',
862 . ' (1:YES-ALL/2:YES-ANY) : ',idel24
863 IF(idelkeep == 1)THEN
864 WRITE(iout,'(A)')
865 . ' IDEL: DO NOT REMOVE NON-CONNECTED NODES FROM SECONDARY SURFACE'
866 ENDIF
867 ENDIF
868C
869 IF(stfacm > 0) WRITE(iout,3500) stfacm,dtstif, ipstif
870C
871 IF(intfric > 0 ) THEN
872 WRITE(iout,5030) intfric
873 ELSE
874 WRITE(iout,1520)mod(ifq,10), xfiltr
875 IF(mfrot==0)THEN
876 WRITE(iout,1524) fric
877 ELSEIF(mfrot==1)THEN
878 WRITE(iout,1515)fric_p(1),fric_p(2),fric_p(3),
879 . fric_p(4),fric_p(5)
880 ELSEIF(mfrot==2)THEN
881 WRITE(iout,1522)fric,fric_p(1),fric_p(2),fric_p(3),
882 . fric_p(4),fric_p(5),fric_p(6)
883 ELSEIF(mfrot==3)THEN
884 WRITE(iout,1523)fric_p(1),fric_p(2),fric_p(3),
885 . fric_p(4),fric_p(5),fric_p(6)
886 ELSEIF(mfrot==4)THEN
887 WRITE(iout,1526) fric,fric_p(1),fric_p(2)
888 ENDIF
889 ENDIF
890C
891 IF(ibag/=1000) THEN
892 WRITE(iout,*)' AIRBAG POROSITY COUPLING ON '
893 ENDIF
894 IF(iadm/=0) THEN
895 WRITE(iout,*)' MESH REFINEMENT CASE OF CONTACT',
896 .' (0:NO/1:DUE TO CURVATURE/2:DUE TO CURVATURE OR PENETRATION)',
897 .' SET TO ',iadm
898 IF(iadm==2)THEN
899 WRITE(iout,1557) nradm,padm,angladm
900 END IF
901 ENDIF
902C
903 IF(intth > 0 ) WRITE(iout,2501) rsth,tint,iform
904
905C--------------------------------------------------------------
906 IF(is1==0)THEN
907 WRITE(iout,'(6X,A)')'NO SECONDARY SURFACE INPUT'
908 ELSEIF(is1==1)THEN
909 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY SEGMENTS'
910 ELSEIF(is1==2)THEN
911 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY NODES'
912 ELSEIF(is1==3)THEN
913 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY SEGMENTS'
914 ELSEIF(is1==4 )THEN
915 WRITE(iout,'(6X,A)')'SECONDARY SIDE INPUT BY BRICKS'
916 ELSEIF(is1==5 )THEN
917 WRITE(iout,'(6X,A)')'SECONDARY SIDE INPUT BY SOLID ELEMENTS'
918 ENDIF
919 IF(is2==0)THEN
920 WRITE(iout,'(6X,A)')'NO MAIN SURFACE INPUT'
921 ELSEIF(is2==1)THEN
922 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY SEGMENTS'
923 ELSEIF(is2==2)THEN
924 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY NODES'
925 ELSEIF(is2==3)THEN
926 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY SEGMENTS'
927 ELSEIF(is2==4)THEN
928 WRITE(iout,'(6X,A)')'MAIN SURFACE REFERS ',
929 . 'TO HYPER-ELLIPSOIDAL SURFACE'
930 ENDIF
931C
932C--------------------------------------------------------------
933 1000 FORMAT(/1x,' INTERFACE NUMBER :',i10,1x,a)
934C------------
935 RETURN
936 999 CALL freerr(3)
937 RETURN
938
939
940 1515 FORMAT(//
941 . ' FRICTION MODEL 1 (Viscous Polynomial)'/,
942 . ' MU = MUo + C1 p + C2 v + C3 pv + C4 p^2 + C5 v^2'/,
943 . ' C1 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
944 . ' C2 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
945 . ' C3 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
946 . ' C4 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
947 . ' C5 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
948 . ' TANGENTIAL PRESSURE LIMIT. . .. . . . . .',1pg20.13/)
949 1522 FORMAT(/
950 . ' FRICTION MODEL 2 (Darmstad Law) :'/,
951 . ' MU = MUo+c1*exp(c2*v)*p^2+c3*exp(c4*v)*p+c5*exp(c6*v)'/,
952 . ' Muo. . . . . . . . . . . . . . . . . . . ',1pg20.13/,
953 . ' C1 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
954 . ' C2 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
955 . ' C3 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
956 . ' C4 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
957 . ' C5 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
958 . ' C6 . . . . . . . . . . . . . . . . . . . ',1pg20.13/)
959 1523 FORMAT(/
960 . ' FRICTION MODEL 3 (Renard law) :'/,
961 . ' C1 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
962 . ' C2 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
963 . ' C3 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
964 . ' C4 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
965 . ' C5 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
966 . ' C6 . . . . . . . . . . . . . . . . . . . ',1pg20.13/)
967 1524 FORMAT(/
968 . ' FRICTION MODEL 0 (Coulomb Law) :'/,
969 . ' FRICTION COEFFICIENT . . . . . . . . . ',1pg20.13/)
970 1525 FORMAT(//
971 . ' FRICTION MODEL 0 (Coulomb Law) :'/,
972 . ' Function for FRICTION COEFFICIENT wrt TEMPERATURE',i10/,
973 . ' Abscissa scale factor on IFUNTCF. . . . . ',1pg20.13/,
974 . ' Ordinate scale factor on IFUNTCF . . . . ',1pg20.13/)
975 1526 FORMAT(/
976 . ' EXPONENTIAL DECAY FRICTION LAW '/
977 . ' MU = c1+(MUo-c1)*exp(-c2*v)'/
978 . ' STATIC COEFFICIENT MUo . . . . . . . . . ',1pg20.13/,
979 . ' DYNAMIC COEFFICIENT C1 . . . . . . . . . ',1pg20.13/,
980 . ' EXPONENTIAL DECAY COEFFICIENT C2 . . . . ',1pg20.13/)
981
982 1518 FORMAT( ' FRICTION FORMULATION: INCREMENTAL (STIFFNESS) ',
983 . 'FORMULATION')
984 1519 FORMAT( ' FRICTION FORMULATION: TOTAL (VISCOUS) ',
985 . 'FORMULATION')
986 1520 FORMAT(
987 . ' FRICTION FILTERING FLAG. . . . . . . . . ',i10/,
988 . ' FILTERING FACTOR . . . . . . . . . . . . ',1pg20.13)
989 1557 FORMAT(
990 .' NUMBER OF ELEMENTS WITHIN A 90 DEGREES FILLET ',i5/,
991 .' --------------------------------------------- '/,
992 .' CRITERIA FOR REFINEMENT DUE TO PENETRATION : '/,
993 .' ------------------------------------------ '/,
994 .' MINIMUM PERCENTAGE OF PENETRATION ',
995 . 1pg20.13/,
996 .' MAXIMUM ANGLE ON MAIN SIDE AT CONTACT LOCATION ',
997 . 1pg20.13//)
998C----------
999 2501 FORMAT(//
1000 . ' TYPE==7 thermal interface ' //,
1001 . ' Heat conduction per surface unit. . . . . ',1pg20.13/,
1002 . ' Interface temperature . . . . . . . . . . ',1pg20.13/,
1003 . ' FORMULATION CHOICE : . . . . . . . . . . . . ',i10,/,
1004 . ' 0 : heat transfer between shells(SECONDARY side)',/,
1005 . ' and constant temperature in interface',/,
1006 . ' 1 : heat Exchange between pieces in contact')
1007C----------change message here
1008 3524 FORMAT(//
1009 . ' TYPE==24 MUTI-TYPE IMPACTING ' //,
1010 . ' BOUND. COND. DELETED AFTER IMPACT . . . . . IN X DIR ',i1/,
1011 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
1012 . ' Z DIR ',i1/,
1013 . ' STIFFNESS FORMULATION . . . . . . . . . . . ',i5/,
1014 . ' STIFFNESS FACTOR. . . . . . . . . . . . . . ',1pg20.13/,
1015 . ' CONTACT TYPES (1:S1/S1;2:S1/S2;3:N/S . . . ',i5/,
1016 . ' EDGE FLAG . . . . . . . . . . . . . . . . . ',i5/,
1017 . ' ANGLE FOR EDGE COMPUTATION (Iedge>0). . . . ',1pg20.13/,
1018C . ' MAIN SEG EXTENSION . . . . . . . . . . ',1PG20.13/,
1019 . ' MINIMUM STIFFNESS. . . . . . . . . . . . . ',1pg20.13/,
1020 . ' MAXIMUM STIFFNESS. . . . . . . . . . . . . ',1pg20.13/,
1021 . ' FRICTION FACTOR . . . . . . . . . . . . . . ',1pg20.13/,
1022C . ' VARIABLE GAP FLAG . . . . . . . . . . . . ',I5/,
1023 . ' MAXIMUM SECONDARY GAP VALUE . . . . . . . . ',1pg20.13/,
1024 . ' MAXIMUM MAIN GAP VALUE. . . . . . . . . . . ',1pg20.13/,
1025 . ' ZERO GAP FOR SECONDARY SHELL ON FREE EDGE . ',i5/,
1026 . ' INITIAL PENETRATION DETECTION METHOD . . . ',i5/,
1027 . ' MAXIMUM INITIAL PENETRATION VALUE . . . . . ',1pg20.13/,
1028C . ' MINIMUM INITIAL PENETRATION VALUE . . . . ',1PG20.13/,
1029 . ' START/STOP TIMES activated by SENSOR ID . . ',i10/,
1030c . ' BUCKET FACTOR . . . . . . . . . . . . . ',1PG20.13/,
1031 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . ',i10/,
1032 . ' DE-ACTIVATION FLAG IF CONFLICT W/ TYPE2 . . ',i10/,
1033 . ' CRITICAL DAMPING FACTOR . . . . . . . . . . ',1pg20.13/,
1034 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . . ',i5/)
1035C
1036 3525 FORMAT(//
1037 . ' TYPE==24 MUTI-TYPE IMPACTING ' //,
1038 . ' BOUND. COND. DELETED AFTER IMPACT . . . . . IN X DIR ',i1/,
1039 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
1040 . ' Z DIR ',i1/,
1041 . ' STIFFNESS FORMULATION . . . . . . . . . . . ',i5/,
1042 . ' STIFFNESS FACTOR. . . . . . . . . . . . . . ',1pg20.13/,
1043 . ' CONTACT TYPES (1:S1/S1;2:S1/S2;3:N/S . . . ',i5/,
1044 . ' EDGE FLAG . . . . . . . . . . . . . . . . . ',i5/,
1045 . ' ANGLE FOR EDGE COMPUTATION (Iedge>0). . . . ',1pg20.13/,
1046C . ' MAIN SEG EXTENSION . . . . . . . . . . ',1PG20.13/,
1047 . ' MINIMUM STIFFNESS. . . . . . . . . . . . . ',1pg20.13/,
1048 . ' MAXIMUM STIFFNESS. . . . . . . . . . . . . ',1pg20.13/,
1049 . ' FRICTION FACTOR . . . . . . . . . . . . . . ',1pg20.13/,
1050C . ' VARIABLE GAP FLAG . . . . . . . . . . . . ',I5/,
1051 . ' MAXIMUM SECONDARY GAP VALUE . . . . . . . . ',1pg20.13/,
1052 . ' MAXIMUM MAIN GAP VALUE. . . . . . . . . . . ',1pg20.13/,
1053 . ' ZERO GAP FOR SECONDARY SHELL ON FREE EDGE . ',i5/,
1054 . ' INITIAL PENETRATION DETECTION METHOD . . . ',i5/,
1055 . ' MAXIMUM INITIAL PENETRATION VALUE . . . . . ',1pg20.13/,
1056C . ' MINIMUM INITIAL PENETRATION VALUE . . . . ',1PG20.13/,
1057 . ' START TIME . . . . . . . . . . . . . . . . ',1pg20.13/,
1058 . ' STOP TIME . . . . . . . . . . . . . . . . ',1pg20.13/,
1059C . ' BUCKET FACTOR . . . . . . . . . . . . . . ',1PG20.13/,
1060 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . ',i10/,
1061 . ' DE-ACTIVATION FLAG IF CONFLICT W/ TYPE2 . . ',i10/,
1062 . ' CRITICAL DAMPING FACTOR . . . . . . . . . . ',1pg20.13/,
1063 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . . ',i5/)
1064C
1065C----------
1066 3528 FORMAT(//
1067 . ' TYPE==24 MUTI-TYPE IMPACTING ' //,
1068 . ' BOUND. COND. DELETED AFTER IMPACT . . . . . IN X DIR ',i1/,
1069 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
1070 . ' Z DIR ',i1/,
1071 . ' NITSCHE METHOD FOR CONTACT IS USED INSTEAD OF PENALTY'/,
1072 . ' STIFFNESS FORMULATION . . . . . . . . . . . ',i5/,
1073 . ' STIFFNESS FACTOR. . . . . . . . . . . . . . ',1pg20.13/,
1074 . ' CONTACT TYPES (1:S1/S1;2:S1/S2;3:N/S . . . ',i5/,
1075 . ' EDGE FLAG . . . . . . . . . . . . . . . . . ',i5/,
1076 . ' ANGLE FOR EDGE COMPUTATION (Iedge>0). . . . ',1pg20.13/,
1077C . ' MAIN SEG EXTENSION . . . . . . . . . . ',1PG20.13/,
1078 . ' MINIMUM STIFFNESS. . . . . . . . . . . . . ',1pg20.13/,
1079 . ' MAXIMUM STIFFNESS. . . . . . . . . . . . . ',1pg20.13/,
1080 . ' FRICTION FACTOR . . . . . . . . . . . . . . ',1pg20.13/,
1081C . ' VARIABLE GAP FLAG . . . . . . . . . . . . ',I5/,
1082 . ' MAXIMUM SECONDARY GAP VALUE . . . . . . . . ',1pg20.13/,
1083 . ' MAXIMUM MAIN GAP VALUE. . . . . . . . . . . ',1pg20.13/,
1084 . ' ZERO GAP FOR SECONDARY SHELL ON FREE EDGE . ',i5/,
1085 . ' INITIAL PENETRATION DETECTION METHOD . . . ',i5/,
1086 . ' MAXIMUM INITIAL PENETRATION VALUE . . . . . ',1pg20.13/,
1087C . ' MINIMUM INITIAL PENETRATION VALUE . . . . ',1PG20.13/,
1088 . ' START/STOP TIMES activated by SENSOR ID . . ',i10/,
1089c . ' BUCKET FACTOR . . . . . . . . . . . . . ',1PG20.13/,
1090 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . ',i10/,
1091 . ' DE-ACTIVATION FLAG IF CONFLICT W/ TYPE2 . . ',i10/,
1092 . ' critical damping factor . . . . . . . . . . ',1PG20.13/,
1093 . ' quadratic damping flag. . . . . . . . . . . ',I5/)
1094C
1095 3529 FORMAT(//
1096 . ' type==24 muti-TYPE impacting ' //,
1097 . ' bound. cond. deleted after impact . . . . . in x dir ',I1/,
1098 . ' secondary node(1:yes 0:no) y dir ',I1/,
1099 . ' z dir ',I1/,
1100 . ' nitsche method for contact is used instead of penalty'/,
1101 . ' stiffness formulation . . . . . . . . . . . ',I5/,
1102 . ' stiffness factor. . . . . . . . . . . . . . ',1PG20.13/,
1103 . ' contact types(1:s1/s1;2:s1/s2;3:n/s . . . ',I5/,
1104 . ' edge flag . . . . . . . . . . . . . . . . . ',I5/,
1105 . ' angle for edge computation(iedge>0). . . . ',1PG20.13/,
1106C . ' MAIN SEG EXTENSION . . . . . . . . . . ',1PG20.13/,
1107 . ' minimum stiffness. . . . . . . . . . . . . ',1PG20.13/,
1108 . ' maximum stiffness. . . . . . . . . . . . . ',1PG20.13/,
1109 . ' friction factor . . . . . . . . . . . . . . ',1PG20.13/,
1110C . ' VARIABLE GAP FLAG . . . . . . . . . . . . ',I5/,
1111 . ' maximum secondary gap VALUE . . . . . . . . ',1PG20.13/,
1112 . ' maximum main gap VALUE. . . . . . . . . . . ',1PG20.13/,
1113 . ' zero gap for secondary shell on free edge . ',I5/,
1114 . ' initial penetration detection method . . . ',I5/,
1115 . ' maximum initial penetration VALUE . . . . . ',1PG20.13/,
1116C . ' MINIMUM INITIAL PENETRATION VALUE . . . . ',1PG20.13/,
1117 . ' start time . . . . . . . . . . . . . . . . ',1PG20.13/,
1118 . ' stop time . . . . . . . . . . . . . . . . ',1PG20.13/,
1119C . ' BUCKET FACTOR . . . . . . . . . . . . . . ',1PG20.13/,
1120 . ' de-activation of initial penetrations . . ',I10/,
1121 . ' de-activation flag IF conflict w/ type2 . . ',I10/,
1122 . ' critical damping factor . . . . . . . . . . ',1PG20.13/,
1123 . ' quadratic damping flag. . . . . . . . . . . ',I5/)
1124C----------
1125C
1126 3500 FORMAT(/
1127 . ' stiffness based of time step and masses :'/,
1128 . ' scale factor . . . . . . . . . . . . . . . . . ',1PG20.13/,
1129 . ' time step . . . . . . . . . . . . . . . . . . ',1PG20.13/,
1130 . ' flag for penalty stiffness . . . . . . . . . . ',1PG20.13/)
1131C
1132 5030 FORMAT(/
1133 . ' INTERFACE friction model. . . . . . . . . ',I10)
1134 5040 FORMAT(' press-fit duration time . . . . . . . . . ',1PG20.13/)
1135C
1136
#define my_real
Definition cppsort.cpp:32
subroutine damping(nodft, nodlt, v, vr, a, ar, damp, ms, in, igrnod, dim, itask, weight, tagslv_rby, wfext)
Definition damping.F:882
subroutine definter(key, ival, flag, iprint, ityp, def_inter)
Definition definter.F:46
#define alpha
Definition eval.h:35
subroutine hm_get_floatv(name, rval, 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)
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
for(i8=*sizetab-1;i8 >=0;i8--)
integer, parameter nchartitle
integer, parameter ncharkey
integer, parameter ncharfield
integer nsubmod
integer function ngr2usr(iu, igr, ngr)
Definition nintrr.F:325
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)
Definition message.F:889
subroutine freerr(it)
Definition freform.F:506