OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_inter_type25.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"

Go to the source code of this file.

Functions/Subroutines

subroutine hm_read_inter_type25 (ipari, stfac, frigap, noint, ni, igrnod, igrsurf, xfiltr, fric_p, def_inter, sensors, nom_opt, unitab, lsubmodel, titr, nom_optfric, intbuf_fric_tab, npc, npc1, tf, parameters, npari, nparir, snpc, snpc1, npts, itherm_fe, intheat)

Function/Subroutine Documentation

◆ hm_read_inter_type25()

subroutine hm_read_inter_type25 ( 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) titr,
integer, dimension(lnopt1,*) nom_optfric,
type(intbuf_fric_struct_), dimension(*) intbuf_fric_tab,
integer, dimension(snpc) npc,
integer, dimension(snpc1) npc1,
tf,
type (parameters_), intent(inout) parameters,
integer, intent(in) npari,
integer, intent(in) nparir,
integer, intent(in) snpc,
integer, intent(in) snpc1,
integer, intent(in) npts,
integer, intent(in) itherm_fe,
integer, intent(inout) intheat )
Parameters
[in]nptsarray sizes

Definition at line 41 of file hm_read_inter_type25.F.

48C============================================================================
49C
50C-----------------------------------------------
51C M o d u l e s
52C-----------------------------------------------
53 USE message_mod
54 USE intbuf_fric_mod
55 USE groupdef_mod
57 USE unitab_mod
58 USE sensor_mod
59 USE intbufdef_mod
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"
75C-----------------------------------------------
76C D u m m y A r g u m e n t s
77C-----------------------------------------------
78 INTEGER,INTENT(IN) :: NPARI,NPARIR,SNPC,SNPC1,NPTS !< array sizes
79 INTEGER NOM_OPT(LNOPT1,*), NOM_OPTFRIC(LNOPT1,*)
80 INTEGER ISU1,ISU2,NI
81 INTEGER IPARI(NPARI), DEF_INTER(100),NPC(SNPC),NPC1(SNPC1)
82 my_real stfac,xfiltr
83 my_real frigap(nparir),fric_p(10),tf(npts)
84 CHARACTER(LEN=NCHARTITLE)::TITR
85 TYPE(INTBUF_FRIC_STRUCT_) INTBUF_FRIC_TAB(*)
86 TYPE(SUBMODEL_DATA), INTENT(IN) :: LSUBMODEL(NSUBMOD)
87 TYPE (UNIT_TYPE_),INTENT(IN) :: UNITAB
88 TYPE (SENSORS_) ,INTENT(IN) :: SENSORS
89C-----------------------------------------------
90 TYPE (GROUP_) ,TARGET, DIMENSION(NGRNOD) :: IGRNOD
91 TYPE (SURF_) ,TARGET , DIMENSION(NSURF) :: IGRSURF
92 TYPE (PARAMETERS_) ,INTENT(INOUT):: PARAMETERS
93C-----------------------------------------------
94C L o c a l V a r i a b l e s
95C-----------------------------------------------
96 INTEGER,INTENT(IN) :: ITHERM_FE
97 INTEGER,INTENT(INOUT) :: INTHEAT
98 INTEGER I,IBC1, IBC2, IBC3, IBUC, NOINT, NTYP,INACTI,
99 . IBC1M, IBC2M, IBC3M, IGSTI, IVIS2,IS1, IS2,ILEV,
100 . IGAP,MULTIMP,MFROT,IFQ,IBAG,MODFR,ISYM,IEDGE,NOD1,
101 . IDEL25,IGAP0,FLAGREMNOD,IDSENS,IDELKEEP,INTKG,
102 . IREM25I2,IPRINT,INTFRIC,MULTIMPE,IASSIGN,ISHARP,
103 . ITHK,NOTUSED,INTTH,IFORM,IKTHE,FCOND,IFRICTH,NPREF,
104 . IPSTIF
105 my_real
106 . fric,gap,startt,bumult,stopt,c1,c2,c3,c4,c5,c6,alpha,
107 . gapscale,stmin,stmax,edg_angl,visc,viscf,percent_size,
108 . gapmax_s,gapmax_m,penmax,penmin,sigmaxadh,viscadhfact,
109 . viscfluid,pmax,kthe,tint,xthe,frad,drad,fheats,
110 . fheatm,dcond,xthe_unit,tpfit,stfacm,dtstif,thk_s,thk_m,
111 . thk_s_scale,thk_m_scale
112 CHARACTER(LEN=NCHARKEY) :: KEY1
113 CHARACTER(LEN=NCHARFIELD) ::BCFLAG
114!
115 INTEGER, DIMENSION(:), POINTER :: INGR2USR
116 LOGICAL IS_AVAILABLE
117C-----------------------------------------------
118C E x t e r n a l F u n c t i o n s
119C-----------------------------------------------
120 INTEGER NGR2USR
121C-----------------------------------------------
122C=======================================================================
123C READING PENALTY INTERFACE /INTER/TYPE25
124C=======================================================================
125
126C Initializations
127 is1=0
128 is2=0
129 ibc1=0
130 ibc2=0
131 ibc3=0
132 ibc1m=0
133 ibc2m=0
134 ibc3m=0
135 ibuc=0
136 mfrot=0
137 ifq=0
138 ibag=0
139 igsti = 0
140 ilev=0
141 idsens = 0
142 idelkeep=0
143 intfric = 0
144 nod1 = 0
145 intkg = 0
146 flagremnod = 0
147 multimp = 0
148 irem25i2 = 0
149 igap0 = 0
150 intth = 0
151 ikthe = 0
152 iform = 0
153 fcond = 0
154 ifricth = 0
155 ipstif = 0
156
157C-------for the moment
158C IGSTI = 0
159 multimpe = 0
160C
161 stopt=ep30
162 inacti = 0
163 viscf = zero
164 fric = zero
165 gap = zero
166 gapscale = zero
167 startt = zero
168 visc = zero
169 xfiltr = zero
170 DO i = 1, 10
171 fric_p(i) = zero
172 ENDDO
173 c1=zero
174 c2=zero
175 c3=zero
176 c4=zero
177 c5=zero
178 c6=zero
179
180 percent_size = zero
181 edg_angl = zero
182 gapmax_s = zero
183 gapmax_m = zero
184 penmax = zero
185 penmin = zero
186 viscfluid = zero
187 sigmaxadh = zero
188 viscadhfact = zero
189 kthe = zero
190 xthe = zero
191 tint = zero
192 frad = zero
193 drad = zero
194 fheats= zero
195 fheatm= zero
196 dcond = zero
197 stfacm= zero
198 dtstif= zero
199 thk_s = zero
200 thk_m = zero
201 thk_s_scale = zero
202 thk_m_scale = zero
203C
204 iassign = 1
205C
206 ntyp = 25
207 ipari(15)=noint
208 ipari(7)=ntyp
209C
210 ithk = 0
211 notused = 0
212 pmax = ep30
213C
214 is_available = .false.
215C--------------------------------------------------
216C EXTRACT DATAS (INTEGER VALUES)
217C--------------------------------------------------
218C
219 CALL hm_get_intv('secondaryentityids',isu1,is_available,lsubmodel)
220 CALL hm_get_intv('mainentityids',isu2,is_available,lsubmodel)
221 CALL hm_get_intv('istf',IGSTI,IS_AVAILABLE,LSUBMODEL)
222 CALL HM_GET_INTV('ithe',INTTH,IS_AVAILABLE,LSUBMODEL)
223 CALL HM_GET_INTV('igap',IGAP,IS_AVAILABLE,LSUBMODEL)
224 CALL HM_GET_INTV('type24_idel',IDEL25,IS_AVAILABLE,LSUBMODEL)
225 CALL HM_GET_INTV('irem_i2',irem25i2,is_available,lsubmodel)
226 CALL hm_get_intv('TYPE24_Iedge',iedge,is_available,lsubmodel)
227 CALL hm_get_intv('IPSTIF',ipstif,is_available,lsubmodel)
228C
229 CALL hm_get_intv('GRNOD_ID',nod1,is_available,lsubmodel)
230C
231 CALL hm_get_intv('Igap0',igap0,is_available,lsubmodel)
232 CALL hm_get_intv('Ishape',isharp,is_available,lsubmodel)
233C
234 CALL hm_get_intv('Deactivate_X_BC',ibc1,is_available,lsubmodel)
235 CALL hm_get_intv('Deactivate_Y_BC',ibc2,is_available,lsubmodel)
236 CALL hm_get_intv('Deactivate_Z_BC',ibc3,is_available,lsubmodel)
237 CALL hm_get_intv('IVIS2',ivis2,is_available,lsubmodel)
238 CALL hm_get_intv('INACTIV',inacti,is_available,lsubmodel)
239 CALL hm_get_intv('Ithick',ithk,is_available,lsubmodel)
240C
241 CALL hm_get_intv('Ifric',mfrot,is_available,lsubmodel)
242 CALL hm_get_intv('Ifiltr',ifq,is_available,lsubmodel)
243 CALL hm_get_intv('ISENSOR',idsens,is_available,lsubmodel)
244 CALL hm_get_intv('Fric_ID',intfric,is_available,lsubmodel)
245C
246 IF(intth > 0 ) THEN
247 CALL hm_get_intv('IFORM1',iform,is_available,lsubmodel)
248 CALL hm_get_intv('fct_ID_k',ikthe,is_available,lsubmodel)
249 CALL hm_get_intv('F_COND',fcond,is_available,lsubmodel)
250 CALL hm_get_intv('FRIC_FUN',ifricth,is_available,lsubmodel)
251 ENDIF
252C
253C--------------------------------------------------
254C EXTRACT DATAS (REAL VALUES)
255C--------------------------------------------------
256 CALL hm_get_floatv('PrMesh_Size',percent_size,is_available,lsubmodel,unitab)
257 CALL hm_get_floatv('Gap_scale',gapscale,is_available,lsubmodel,unitab)
258 CALL hm_get_floatv('GAP1',gapmax_s,is_available,lsubmodel,unitab)
259 CALL hm_get_floatv('GAP2',gapmax_m,is_available,lsubmodel,unitab)
260C
261 CALL hm_get_floatv('STMIN',stmin,is_available,lsubmodel,unitab)
262 CALL hm_get_floatv('STMAX',stmax,is_available,lsubmodel,unitab)
263 CALL hm_get_floatv('TYPE24_Edge_Angle',edg_angl,is_available,lsubmodel,unitab)
264 CALL hm_get_floatv('STFAC_MDT',stfacm,is_available,lsubmodel,unitab)
265C
266 CALL hm_get_floatv('STFAC',stfac,is_available,lsubmodel,unitab)
267 CALL hm_get_floatv('FRIC',fric,is_available,lsubmodel,unitab)
268 CALL hm_get_floatv('TSTART',startt,is_available,lsubmodel,unitab)
269 CALL hm_get_floatv('TSTOP',stopt,is_available,lsubmodel,unitab)
270C
271 CALL hm_get_floatv('STIFF_DC',visc,is_available,lsubmodel,unitab)
272 CALL hm_get_floatv('Pmax',pmax,is_available,lsubmodel,unitab)
273 CALL hm_get_floatv('Tpressfit',tpfit,is_available,lsubmodel,unitab)
274C
275 CALL hm_get_floatv('Xfreq',alpha,is_available,lsubmodel,unitab)
276 CALL hm_get_floatv('DTSTIF',dtstif,is_available,lsubmodel,unitab)
277C
278 IF (mfrot>0) THEN
279 CALL hm_get_floatv('C1',c1,is_available,lsubmodel,unitab)
280 CALL hm_get_floatv('C2',c2,is_available,lsubmodel,unitab)
281 CALL hm_get_floatv('C3',c3,is_available,lsubmodel,unitab)
282 CALL hm_get_floatv('C4',c4,is_available,lsubmodel,unitab)
283 CALL hm_get_floatv('C5',c5,is_available,lsubmodel,unitab)
284 ENDIF
285 IF (mfrot>1) THEN
286 CALL hm_get_floatv('C6',c6,is_available,lsubmodel,unitab)
287 ENDIF
288 IF (ivis2>0) THEN
289 CALL hm_get_floatv('C1',c1,is_available,lsubmodel,unitab)
290 CALL hm_get_floatv('C2',c2,is_available,lsubmodel,unitab)
291 CALL hm_get_floatv('C3',c3,is_available,lsubmodel,unitab)
292 CALL hm_get_floatv('C4',c4,is_available,lsubmodel,unitab)
293 CALL hm_get_floatv('C5',c5,is_available,lsubmodel,unitab)
294 ENDIF
295 IF(ivis2==-1) THEN
296 interadhesion = 1
297 CALL hm_get_floatv('ViscFluid',viscfluid,is_available,lsubmodel,unitab)
298 CALL hm_get_floatv('SigMaxAdh',sigmaxadh,is_available,lsubmodel,unitab)
299 CALL hm_get_floatv('ViscAdhFact',viscadhfact,is_available,lsubmodel,unitab)
300 ENDIF
301C
302 IF(intth > 0 ) THEN
303 CALL hm_get_floatv('Kthe',kthe,is_available,lsubmodel,unitab)
304 CALL hm_get_floatv('T_Initial',tint,is_available,lsubmodel,unitab)
305 CALL hm_get_floatv('Crx',xthe,is_available,lsubmodel,unitab)
306 CALL hm_get_floatv('F_RAD',frad,is_available,lsubmodel,unitab)
307 CALL hm_get_floatv('D_RAD',drad,is_available,lsubmodel,unitab)
308 CALL hm_get_floatv('Fmax',fheats,is_available,lsubmodel,unitab)
309 CALL hm_get_floatv('HEAT_AL',fheatm,is_available,lsubmodel,unitab)
310 CALL hm_get_floatv('D_COND',dcond,is_available,lsubmodel,unitab)
311 ENDIF
312C
313 IF(igap == 5 ) THEN
314 CALL hm_get_floatv('THICK_S',thk_s,is_available,lsubmodel,unitab)
315 CALL hm_get_floatv('THICK_M',thk_m,is_available,lsubmodel,unitab)
316 CALL hm_get_floatv('THICK_S_SCALE',thk_s_scale,is_available,lsubmodel,unitab)
317 CALL hm_get_floatv('THICK_M_SCALE',thk_m_scale,is_available,lsubmodel,unitab)
318 ENDIF
319C--------------------------------------------------
320C DEFAULT VALUES DEFINITION
321C--------------------------------------------------
322
323 iprint = 0
324
325 key1='IGSTI'
326 CALL definter(key1 ,igsti ,iassign ,iprint ,
327 . ntyp ,def_inter)
328C
329 key1='IGAP'
330 CALL definter(key1 ,igap ,iassign ,iprint ,
331 . ntyp ,def_inter)
332C
333 key1='IREM25I2'
334 CALL definter(key1 ,irem25i2,iassign ,iprint ,
335 . ntyp ,def_inter)
336C
337 key1='IEDGE'
338 CALL definter(key1 ,iedge ,iassign ,iprint ,
339 . ntyp ,def_inter)
340C
341 key1='IBAG'
342 CALL definter(key1 ,ibag ,iassign ,iprint ,
343 . ntyp ,def_inter)
344C
345 key1='IDEL25'
346 CALL definter(key1 ,idel25 ,iassign ,iprint ,
347 . ntyp ,def_inter)
348
349 key1='IGAP0'
350 CALL definter(key1 ,igap0 ,iassign ,iprint ,
351 . ntyp ,def_inter)
352C
353 key1='ISHARP'
354 CALL definter(key1 ,isharp ,iassign ,iprint ,
355 . ntyp ,def_inter)
356 key1='INACTI'
357 CALL definter(key1 ,inacti ,iassign ,iprint ,
358 . ntyp ,def_inter)
359C
360 key1='ITHK'
361 CALL definter(key1 ,ithk ,iassign ,iprint ,
362 . ntyp ,def_inter)
363C
364C--------------------------------------------------
365C CHECKS And Storage IPARI FRIGAP
366C--------------------------------------------------
367C
368C
369C....* Card1 :flags *.............
370C
371 IF(igap==2) THEN
372 flagremnod = 2
373 ENDIF
374 IF (flagremnod == 0) flagremnod = 1
375
376C.....* Storage IPARI FRIGAP *........
377
378 ipari(63) = flagremnod
379 ipari(83) = irem25i2
380C IPARI(83) is used temporarily before determined only by FLAGREMNOD
381 IF (irem25i2 /= 1) ipari(83)=0
382
383 IF(igap==2) THEN
384 ipari(21)=1
385 ELSE
386 ipari(21)=igap
387 ENDIF
388
389C
390C....* Card2 :Gaps *.............
391C
392C
393C------ILEV =1 : ISU1>0,ISU2=0; IS3>=0
394C 2 : ISU1>0,ISU2>0; IS3>=0
395C 3 : ISU1=0,ISU2>0;IS3>0
396
397 IF(isu1 /= 0 .AND.isu2 == 0)THEN
398 ilev = 1
399 ELSEIF(isu1 /= 0 .AND.isu2 /= 0)THEN
400 ilev = 2
401 IF (isu1 == isu2) THEN
402 ilev = 1
403 isu2 = 0
404 CALL ancmsg(msgid=1022,
405 . msgtype=msgwarning,
406 . anmode=aninfo,
407 . i1=noint,
408 . c1=titr)
409 END IF
410 ELSEIF(isu1 == 0 .AND.isu2 /= 0 .AND. nod1 /= 0) THEN
411 ilev = 3
412 ELSE
413 IF(isu2 == 0) THEN
414 CALL ancmsg(msgid=119,
415 . anmode=aninfo,
416 . msgtype=msgerror,
417 . i1=noint,
418 . c1=titr)
419 ELSEIF (nod1 == 0) THEN
420 CALL ancmsg(msgid=1001,
421 . anmode=aninfo,
422 . msgtype=msgerror,
423 . i1=noint,
424 . c1=titr)
425 ENDIF
426 is1=0
427 is2=0
428 END IF
429
430 isym = 1
431
432 SELECT CASE (ilev)
433 CASE(1)
434 ingr2usr => igrsurf(1:nsurf)%ID
435 isu1=ngr2usr(isu1,ingr2usr,nsurf)
436 isu2=isu1
437 is1=-1
438 is2=-3
439 CASE(2)
440C----------------if we copy int7--
441 is1 = 0
442 ingr2usr => igrsurf(1:nsurf)%ID
443 is1=ngr2usr(isu1,ingr2usr,nsurf)
444 IF (is1==0) THEN
445 CALL ancmsg(msgid=1000,
446 . anmode=aninfo_blind_1,
447 . msgtype=msgerror,
448 . i1=noint,
449 . c1=titr)
450 ELSE
451 isu1=is1
452 END IF
453 ingr2usr => igrsurf(1:nsurf)%ID
454 isu2=ngr2usr(isu2,ingr2usr,nsurf)
455 is1=-1
456 is2=-1
457 CASE(3)
458 ingr2usr => igrsurf(1:nsurf)%ID
459 isu2=ngr2usr(isu2,ingr2usr,nsurf)
460 is1=-2
461 is2=-1
462 END SELECT
463 ingr2usr => igrnod(1:ngrnod)%ID
464 IF(nod1 /= 0) nod1=ngr2usr(nod1,ingr2usr,ngrnod)
465
466 ipari(13)=is1*10+is2
467 ipari(45)=isu1
468 ipari(46)=isu2
469
470 ipari(26)=nod1
471 ipari(43)=isym
472 ipari(58)=iedge
473 IF(iedge == 1000) ipari(58)=0
474
475C-------tempo: Isurf <- ILEV=IPARI(20) -----
476 ipari(20)=ilev
477 IF (inacti==-1.AND.(igsti==0.OR.igsti==1000)) igsti = 4
478 ipari(34)=igsti
479
480C
481C....* Card4 *.............
482C
483C
484 IF(igsti>1)THEN
485 i7stifs=1
486 IF(stmax==zero)stmax=ep30
487 ELSE
488 IF(stmax==zero)stmax=ep30
489 END IF
490
491
492C----------- GAPMAX->GAPMAX_S: EP30
493C-----------IGAP0: used only for starter;sharing places w/ int20
494 ipari(53)=igap0
495c FRIGAP(16) = EP30
496 frigap(17) = stmin
497 frigap(18) = stmax
498C
499C-------- default EDG_ANGL=135
500 IF(iedge /= 0 .AND. edg_angl==zero)
501 + edg_angl=hundred+thirty+five
502 frigap(26) = cos((hundred80-edg_angl)*pi/hundred80)
503
504 IF(igap == 3 .AND. percent_size == zero) percent_size = four*em01
505 frigap(28) = percent_size
506
507 IF(gapscale==zero)gapscale=one
508 frigap(13) = gapscale ! historically stored, get modified in I25STI3 (GAPMIN)
509 frigap(45) = gapscale
510
511
512 IF(gapmax_s==zero)gapmax_s=ep30
513 IF(gapmax_m==zero)gapmax_m=ep30
514C IF(PENMAX==ZERO)PENMAX=EP30
515 IF(penmin==zero)penmin=em8
516 frigap(35) = gapmax_s
517 frigap(36) = gapmax_m
518 frigap(37) = penmax
519 frigap(38) = penmin
520C
521C....* Card4 *.............
522C
523C
524C
525 gap=zero
526 IF (stopt == zero) stopt = ep30
527C
528 frigap(1)=fric
529 frigap(2)=gap
530 frigap(3)=startt
531 frigap(11)=stopt
532
533C
534C....* Card5 *.............
535C
536C ----- presfit
537 IF (inacti==-1.AND.iimplicit==0) THEN
538 npref=10000
539 ipari(40) = npref
540 ELSE
541 tpfit=zero
542 END IF
543
544C Hidden flag no more read using HM reader
545c IF (BCFLAGM(LFIELD-2:LFIELD-2)== '1') IBC1M = 1
546c IF (BCFLAGM(LFIELD-1:LFIELD-1)== '1') IBC2M = 1
547c IF (BCFLAGM(LFIELD :LFIELD )== '1') IBC3M = 1
548
549 IF (iimplicit>0.AND.inacti==0) inacti=-1
550 IF (inacti/=0.AND.inacti/=-1.AND.inacti/=5) THEN
551 IF(inacti>0)THEN
552 CALL ancmsg(msgid=1559,
553 . msgtype=msgwarning,
554 . anmode=aninfo_blind_1,
555 . i1=noint,i2=inacti,
556 . c1=titr)
557 inacti=5
558 ELSE
559 CALL ancmsg(msgid=1558,
560 . msgtype=msgwarning,
561 . anmode=aninfo_blind_1,
562 . i1=noint,i2=inacti,
563 . c1=titr)
564 inacti = 0
565 END IF
566 END IF
567 IF(stfac==0.) THEN
568 stfac=one
569 ENDIF
570 IF(igsti==1)stfac=-stfac
571C------no use of VISCF
572 viscf=zero
573c FRIGAP(15)=VISCF**2
574C-------used for TPFIT
575 frigap(15)=tpfit
576
577 IF(visc==zero)THEN
578 IF(ivis2==5)THEN
579 visc=one
580 ELSE
581 visc=fiveem2
582 ENDIF
583 ENDIF
584 frigap(14)=visc
585C-------MAIN side gap changes with thickness change
586 IF(ithk==1) inter_ithknod=1 !defined in interface module (common_source directory)
587C
588C-------* Storage IPARI FRIGAP *----------------------------
589C
590C default w=> harmonic mass, IVIS2=6 <=> SECONDARY node mass
591C IVIS2=-1 interface adhesion
592 IF(ivis2==0)ivis2=1
593 IF (idel25 < 0) THEN
594 idelkeep=1
595 idel25=abs(idel25)
596 END IF
597 ipari(61)=idelkeep
598 IF(idel25>2) idel25 = 0
599 ipari(17)=idel25
600C
601 IF(igap==3.AND.isharp==1) THEN
602 CALL ancmsg(msgid=1619,
603 . msgtype=msgwarning,
604 . anmode=aninfo_blind_1,
605 . i1=noint,i2=isharp,i3=igap,
606 . c1=titr)
607 isharp=2
608 END IF
609 ipari(84)=isharp
610C
611 ipari(14)=ivis2
612 ipari(11)=4*ibc1+2*ibc2+ibc3 + 8 *(4*ibc1m+2*ibc2m+ibc3m)
613
614 ipari(22)=inacti
615 ipari(91)=ithk
616
617C------------remove BUMULT
618 bumult=zero
619
620 IF(bumult==zero) THEN
621 bumult = bmul0
622C bmult increases for very large models and interface 7 or 20
623
624 IF(numnod > 2500000) THEN
625 bumult = bmul0*two
626 ELSEIF(numnod > 1500000) THEN
627 bumult = bmul0*three/two
628 END IF
629 END IF
630 frigap(4)=bumult
631
632C---------
633 IF(ipstif >0 .OR.igsti==7) ipari(97) = 1
634 IF(igsti==7.AND.ipstif ==0) ipstif = 1
635 ipari(98) = ipstif
636 IF(stfacm == zero.AND.ipari(97) > 0) stfacm = em01
637 IF(ipari(97) > 0) THEN
638 frigap(48) = dtstif
639 parameters%ISTIF_DT = 1
640 frigap(47) = stfacm
641 ELSE
642 dtstif = zero
643 stfacm = zero
644 ENDIF
645
646
647
648C
649C....* Card6 : Friction *.............
650C
651C IF (MFROT/=0.AND.VISCF==0.0) VISCF=ONE
652 modfr = 2
653 IF (alpha==0.) ifq = 0
654 IF (modfr==0) modfr = 1
655 IF (modfr==2.AND.ifq<10) ifq = ifq + 10
656C IF(MODFR==2)VISCF=ZERO
657 IF (ifq>0) THEN
658 IF (ifq==10) xfiltr = one
659 IF (mod(ifq,10)==1) xfiltr = alpha
660 IF (mod(ifq,10)==2) xfiltr=four*atan2(one,zero) / alpha
661 IF (mod(ifq,10)==3) xfiltr=four*atan2(one,zero) * alpha
662 IF (xfiltr<zero) THEN
663 CALL ancmsg(msgid=554,
664 . msgtype=msgerror,
665 . anmode=aninfo_blind_1,
666 . i1=noint,
667 . c1=titr,
668 . r1=alpha)
669 ELSEIF (xfiltr>1.AND.mod(ifq,10)<=2) THEN
670 CALL ancmsg(msgid=554,
671 . msgtype=msgerror,
672 . anmode=aninfo_blind_1,
673 . i1=noint,
674 . c1=titr,
675 . r1=alpha)
676 ENDIF
677 ELSE
678 xfiltr = zero
679 ENDIF
680
681 IF (ibag/=0.AND.nvolu==0 .AND. ialelag == 0) THEN
682 CALL ancmsg(msgid=614,
683 . msgtype=msgwarning,
684 . anmode=aninfo_blind_2,
685 . i1=noint,
686 . c1=titr)
687 ibag=0
688 ENDIF
689 intbag = max(intbag,ibag)
690 kcontact =max(kcontact,ibag)
691
692C
693 ipari(30) = mfrot
694 ipari(31) = ifq
695 ipari(32) = ibag
696 ipari(72) = intfric
697 ipari(64) = idsens
698C
699C....* OPTIONAL Card7 :C1...C6 friction data *.............
700C
701
702 fric_p(1) = c1
703 fric_p(2) = c2
704 fric_p(3) = c3
705 fric_p(4) = c4
706 fric_p(5) = c5
707 fric_p(6) = c6
708
709C
710C....* Option Card8 :Adhesion data *.............
711C
712 frigap(42) = viscfluid
713 frigap(43) = sigmaxadh
714 frigap(44) = viscadhfact
715C-----
716 ipari(12)=ibuc
717 ipari(65) = intkg
718
719C FRIGAP(10) is initialized but used only in engine for storing number of couples candidates
720 frigap(10)=float(0)
721
722C TO STORE THE FLAG FOR DEACTIVATION OF INITIAL PENETRATIONS
723C (0 = NOTHING , 1 = NODES , 2 = FACETS )
724 multimp = 4
725 ipari(23)=multimp
726
727 IF(iedge /= 0) multimpe = 4
728 ipari(87)=multimpe ! MAIN shell edges
729 ipari(89)=multimpe ! MAIN solid edges
730C
731C
732C.....* Card7 : Thermal input *.........
733C
734
735 IF(intth > 0.AND.kthe == zero)THEN
736 IF(ikthe /= 0)THEN
737 kthe = one
738 ENDIF
739 ENDIF
740C
741 IF (intth > 0.AND.xthe == zero) THEN
742 !units
743 CALL hm_get_floatv_dim('Crx' ,xthe_unit ,is_available, lsubmodel, unitab)
744 xthe = one * xthe_unit
745 ENDIF
746C
747 IF(intth > 0 ) intheat = 1
748 ipari(47) = intth
749
750 IF(itherm_fe == 0 .AND. intth > 0 ) THEN
751 intheat = 0
752 ipari(47) = 0
753 CALL ancmsg(msgid=702,
754 . msgtype=msgwarning,
755 . anmode=aninfo,
756 . i1=noint,
757 . c1=titr)
758 ENDIF
759C
760 IF(intth > 0 ) THEN
761 IF(fheats+fheatm > 1) THEN
762 CALL ancmsg(msgid=1064,
763 . msgtype=msgwarning,
764 . anmode=aninfo,
765 . i1=noint,
766 . c1=titr,
767 . r1=fheats,
768 . r2=fheatm)
769 ENDIF
770 ENDIF
771C
772 IF(fcond ==0) dcond = zero
773
774 IF(frad==zero ) drad = zero
775
776 IF(fcond /= 0.AND.dcond/=zero.AND.drad==zero) THEN
777 drad = dcond
778 CALL ancmsg(msgid=1810,
779 . msgtype=msgwarning,
780 . anmode=aninfo,
781 . i1=noint,
782 . c1=titr,
783 . r1=dcond,
784 . r2=drad)
785 ENDIF
786
787 IF(dcond > drad) THEN
788 dcond = drad
789 CALL ancmsg(msgid=1809,
790 . msgtype=msgwarning,
791 . anmode=aninfo,
792 . i1=noint,
793 . c1=titr,
794 . r1=dcond,
795 . r2=drad)
796 ENDIF
797
798 IF(intth > 0.AND.fric == zero)THEN
799 IF(ifricth /= 0)THEN
800 fric = one
801 ENDIF
802 ENDIF
803
804 IF(igap == 5)THEN
805 IF(thk_s_scale == zero) thk_s_scale = one
806 IF(thk_m_scale == zero) thk_m_scale = one
807 ENDIF
808
809
810 frigap(20) = kthe
811 frigap(21 ) = fheats
812 frigap(22 ) = tint
813 frigap(41 ) = fheatm
814 frigap(31 ) = frad
815 frigap(32 ) = drad
816 ipari(48) = iform
817 ipari(92) = ikthe
818 frigap(33) = xthe
819 ipari(93) = fcond
820 frigap(34) = dcond
821 ipari(50) = ifricth
822 frigap(49) = thk_s
823 frigap(50 ) = thk_m
824 frigap(51 ) = thk_s_scale
825 frigap(52 ) = thk_m_scale
826 IF(igap == 5.AND.thk_s == zero) THEN
827 CALL ancmsg(msgid=3105,
828 . msgtype=msgwarning,
829 . anmode=aninfo,
830 . i1=noint,
831 . c1=titr,
832 . c2='SECONDARY')
833 ENDIF
834 IF(igap == 5.AND.thk_m == zero) THEN
835 CALL ancmsg(msgid=3105,
836 . msgtype=msgwarning,
837 . anmode=aninfo,
838 . i1=noint,
839 . c1=titr,
840 . c2='MAIN')
841 ENDIF
842
843C
844C------------------------------------------------------------
845C RENUMBERING OF FUNCTIONS AND SENSOR - USER TO INTERNAL ID
846C------------------------------------------------------------
847C
848 CALL inter_dcod_function(ntyp,ni,ipari,npc1,nom_opt,npc,tf)
849 CALL inter_dcod_sensor (ntyp,ni,ipari,nom_opt,sensors)
850 CALL inter_dcod_friction(ntyp,ni,ipari,nom_opt,nom_optfric,
851 . intbuf_fric_tab)
852
853C
854C------------------------------------------------------------
855C PRINTOUT
856C------------------------------------------------------------
857
858C........* PRINT DEFAULT VALUES *.....................
859C
860 iprint = 1
861C
862 key1='IGSTI'
863 CALL definter(key1 ,igsti ,iassign ,iprint ,
864 . ntyp ,def_inter)
865C
866 key1='IGAP'
867 CALL definter(key1 ,igap ,iassign ,iprint ,
868 . ntyp ,def_inter)
869C
870 key1='IREM25I2'
871 CALL definter(key1 ,irem25i2,iassign ,iprint ,
872 . ntyp ,def_inter)
873C
874 key1='IEDGE'
875 CALL definter(key1 ,iedge ,iassign ,iprint ,
876 . ntyp ,def_inter)
877C
878 key1='IBAG'
879 CALL definter(key1 ,ibag ,iassign ,iprint ,
880 . ntyp ,def_inter)
881C
882 key1='IDEL25'
883 CALL definter(key1 ,idel25 ,iassign ,iprint ,
884 . ntyp ,def_inter)
885C
886 key1='IGAP0'
887 CALL definter(key1 ,igap0 ,iassign ,iprint ,
888 . ntyp ,def_inter)
889C
890 key1='ISHARP'
891 CALL definter(key1 ,isharp ,iassign ,iprint ,
892 . ntyp ,def_inter)
893C
894 key1='INACTI'
895 CALL definter(key1 ,inacti ,iassign ,iprint ,
896 . ntyp ,def_inter)
897C
898 key1='ITHK'
899 CALL definter(key1 ,ithk ,iassign ,iprint ,
900 . ntyp ,def_inter)
901C
902
903C........* PRINT INTERFACES INPUT *.....................
904
905 IF(idsens/=0) THEN
906 WRITE(iout,3526)ibc1,ibc2,ibc3,
907 . igsti,stfac,ilev,iedge,edg_angl,
908 . stmin,stmax,
909 . fric,igap,gapscale,gapmax_s,gapmax_m,percent_size,igap0,isharp,
910 . irem25i2,idsens,
911 . inacti,visc,ipari(14),flagremnod
912 ELSE
913 WRITE(iout,3527)ibc1,ibc2,ibc3,
914 . igsti,stfac,ilev,iedge,edg_angl,
915 . stmin,stmax,
916 . fric,igap,gapscale,gapmax_s,gapmax_m,percent_size,igap0,isharp,
917 . irem25i2,startt,stopt,
918 . inacti,visc,ipari(14),flagremnod
919 ENDIF
920
921 IF(tpfit > zero) WRITE(iout,5040) tpfit
922 IF(idel25/=3) THEN
923 WRITE(iout,'(A,A,I5/)')
924 . ' DELETION FLAG ON FAILURE OF MAIN ELEMENT',
925 . ' (1:YES-ALL/2:YES-ANY/1000:NO) : ',idel25
926 IF(idelkeep == 1)THEN
927 WRITE(iout,'(A)')
928 . ' IDEL: DO NOT REMOVE NON-CONNECTED NODES FROM SECONDARY SURFACE'
929 ENDIF
930 ENDIF
931C
932 IF(ipari(97) > 0) WRITE(iout,3500) stfacm,dtstif,ipstif
933C
934 IF(intfric > 0 ) THEN
935 WRITE(iout,5030) intfric
936 ELSE
937 WRITE(iout,1520)mod(ifq,10), xfiltr
938 IF(mfrot==0)THEN
939 IF(ifricth ==0 ) THEN
940 WRITE(iout,1524) fric
941 ELSE
942 WRITE(iout,1525) ifricth,fric
943 ENDIF
944 ELSEIF(mfrot==1)THEN
945 WRITE(iout,1515)fric_p(1),fric_p(2),fric_p(3),
946 . fric_p(4),fric_p(5)
947 ELSEIF(mfrot==2)THEN
948 WRITE(iout,1522)fric,fric_p(1),fric_p(2),fric_p(3),
949 . fric_p(4),fric_p(5),fric_p(6)
950 ELSEIF(mfrot==3)THEN
951 WRITE(iout,1523)fric_p(1),fric_p(2),fric_p(3),
952 . fric_p(4),fric_p(5),fric_p(6)
953 ELSEIF(mfrot==4)THEN
954 WRITE(iout,1526) fric,fric_p(1),fric_p(2)
955 ENDIF
956 ENDIF
957C Interface Adhesion
958 IF(ivis2==-1) THEN
959 WRITE(iout,5050)viscfluid,sigmaxadh,viscadhfact
960 ENDIF
961 IF(intth > 0 )THEN
962 IF(ikthe==0)THEN
963 WRITE(iout,2102) kthe,tint,frad,drad,fheats,fheatm,iform,fcond,dcond
964 ELSE
965 WRITE(iout,2103) ikthe,xthe,kthe,tint,frad,drad,fheats,fheatm,iform,fcond,dcond
966 END IF
967 END IF
968 IF(igap == 5 )THEN
969 WRITE(iout,5051) thk_s,thk_s_scale,thk_m,thk_m_scale
970 ENDIF
971C--------------------------------------------------------------
972 IF(is1==0)THEN
973 WRITE(iout,'(6X,A)')'NO SECONDARY SURFACE INPUT'
974 ELSEIF(is1==1)THEN
975 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY SEGMENTS'
976 ELSEIF(is1==2)THEN
977 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY NODES'
978 ELSEIF(is1==3)THEN
979 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY SEGMENTS'
980 ELSEIF(is1==4 )THEN
981 WRITE(iout,'(6X,A)')'SECONDARY SIDE INPUT BY BRICKS'
982 ELSEIF(is1==5 )THEN
983 WRITE(iout,'(6X,A)')'SECONDARY SIDE INPUT BY SOLID ELEMENTS'
984 ENDIF
985 IF(is2==0)THEN
986 WRITE(iout,'(6X,A)')'NO MAIN SURFACE INPUT'
987 ELSEIF(is2==1)THEN
988 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY SEGMENTS'
989 ELSEIF(is2==2)THEN
990 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY NODES'
991 ELSEIF(is2==3)THEN
992 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY SEGMENTS'
993 ELSEIF(is2==4)THEN
994 WRITE(iout,'(6X,A)')'MAIN SURFACE REFERS ',
995 . 'TO HYPER-ELLIPSOIDAL SURFACE'
996 ENDIF
997C
998C--------------------------------------------------------------
999C------------
1000 RETURN
1001
1002
1003 1515 FORMAT(//
1004 . ' FRICTION MODEL 1 (Viscous Polynomial)'/,
1005 . ' MU = MUo + C1 p + C2 v + C3 pv + C4 p^2 + C5 v^2'/,
1006 . ' C1 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1007 . ' C2 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1008 . ' C3 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1009 . ' C4 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1010 . ' C5 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1011 . ' TANGENTIAL PRESSURE LIMIT. . .. . . . . .',1pg20.13/)
1012 1522 FORMAT(/
1013 . ' FRICTION MODEL 2 (Darmstad Law) :'/,
1014 . ' MU = MUo+c1*exp(c2*v)*p^2+c3*exp(c4*v)*p+c5*exp(c6*v)'/,
1015 . ' Muo. . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1016 . ' C1 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1017 . ' C2 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1018 . ' C3 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1019 . ' C4 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1020 . ' C5 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1021 . ' C6 . . . . . . . . . . . . . . . . . . . ',1pg20.13/)
1022 1523 FORMAT(/
1023 . ' FRICTION MODEL 3 (Renard law) :'/,
1024 . ' C1 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1025 . ' C2 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1026 . ' C3 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1027 . ' C4 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1028 . ' C5 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1029 . ' C6 . . . . . . . . . . . . . . . . . . . ',1pg20.13/)
1030 1524 FORMAT(/
1031 . ' FRICTION MODEL 0 (Coulomb Law) :'/,
1032 . ' FRICTION COEFFICIENT . . . . . . . . . ',1pg20.13/)
1033 1525 FORMAT(//
1034 . ' FRICTION MODEL 0 (Coulomb Law) :'/,
1035 . ' Function for FRICTION COEFFICIENT wrt TEMPERATURE',i10/,
1036 . ' Ordinate scale factor on IFUNTCF . . . . ',1pg20.13/)
1037
1038 1520 FORMAT(
1039 . ' FRICTION FILTERING FLAG. . . . . . . . . ',i10/,
1040 . ' FILTERING FACTOR . . . . . . . . . . . . ',1pg20.13)
1041 1526 FORMAT(/
1042 . ' EXPONENTIAL DECAY FRICTION LAW '/
1043 . ' MU = c1+(MUo-c1)*exp(-c2*v)'/
1044 . ' STATIC COEFFICIENT MUo . . . . . . . . . ',1pg20.13/,
1045 . ' DYNAMIC COEFFICIENT C1 . . . . . . . . . ',1pg20.13/,
1046 . ' EXPONENTIAL DECAY COEFFICIENT C2 . . . . ',1pg20.13/)
1047C----------
1048 3526 FORMAT(//
1049 . ' TYPE==25 MUTI-TYPE IMPACTING ' //,
1050 . ' BOUND. COND. DELETED AFTER IMPACT . . . . . IN X DIR ',i1/,
1051 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
1052 . ' Z DIR ',i1/,
1053 . ' STIFFNESS FORMULATION . . . . . . . . . . . ',i5/,
1054 . ' STIFFNESS FACTOR. . . . . . . . . . . . . . ',1pg20.13/,
1055 . ' CONTACT TYPES (1:S1/S1;2:S1/S2;3:N/S . . . ',i5/,
1056 . ' EDGE FLAG . . . . . . . . . . . . . . . . . ',i5/,
1057 . ' ANGLE FOR EDGE COMPUTATION (Iedge/=0) . . . ',1pg20.13/,
1058 . ' MINIMUM STIFFNESS . . . . . . . . . . . . . ',1pg20.13/,
1059 . ' MAXIMUM STIFFNESS . . . . . . . . . . . . . ',1pg20.13/,
1060 . ' FRICTION FACTOR . . . . . . . . . . . . . . ',1pg20.13/,
1061 . ' GAP FLAG. . . . . . . . . . . . . . . . . . ',i5/,
1062 . ' GAP SCALE FACTOR. . . . . . . . . . . . . . ',1pg20.13/,
1063 . ' MAXIMUM SECONDARY GAP VALUE . . . . . . . . ',1pg20.13/,
1064 . ' MAXIMUM MAIN GAP VALUE. . . . . . . . . . . ',1pg20.13/,
1065 . ' %MESHSIZE TAKEN INTO ACCOUNT FOR '/,
1066 . ' CALCULATION OF MAXIMUM GAP(IGAP = 3). . . . ',1pg20.13/,
1067 . ' zero gap for secondary shell on free edge . ',I5/,
1068 . ' gap shape along main free edges ',/,
1069 . ' (1:square,2:cylindrical) . . . . . . ',I5/,
1070 . ' de-activation flag IF conflict w/ type2 . . ',I10/,
1071 . ' start/stop times activated by sensor id . . ',I10/,
1072 . ' de-activation of initial penetrations . . . ',I10/,
1073 . ' critical damping factor . . . . . . . . . . ',1PG20.13/,
1074 . ' quadratic damping flag. . . . . . . . . . . ',I5/,
1075 . ' flagremnode : not consider neighboring '/,
1076 . ' nodes in CASE of element SIZE < gap VALUE . ',I5/)
1077C
1078 3527 FORMAT(//
1079 . ' type==25 muti-TYPE impacting ' //,
1080 . ' bound. cond. deleted after impact . . . . . in x dir ',I1/,
1081 . ' secondary node(1:yes 0:no) y dir ',I1/,
1082 . ' z dir ',I1/,
1083 . ' stiffness formulation . . . . . . . . . . . ',I5/,
1084 . ' stiffness factor. . . . . . . . . . . . . . ',1PG20.13/,
1085 . ' contact types(1:s1/s1;2:s1/s2;3:n/s . . . ',I5/,
1086 . ' edge flag . . . . . . . . . . . . . . . . . ',I5/,
1087 . ' angle for edge computation(iedge/=0) . . . ',1PG20.13/,
1088 . ' minimum stiffness . . . . . . . . . . . . . ',1PG20.13/,
1089 . ' maximum stiffness . . . . . . . . . . . . . ',1PG20.13/,
1090 . ' friction factor . . . . . . . . . . . . . . ',1PG20.13/,
1091 . ' gap flag. . . . . . . . . . . . . . . . . . ',I5/,
1092 . ' gap scale factor. . . . . . . . . . . . . . ',1PG20.13/,
1093 . ' maximum secondary gap VALUE . . . . . . . . ',1PG20.13/,
1094 . ' maximum main gap VALUE. . . . . . . . . . . ',1PG20.13/,
1095 . ' %MESHSIZE taken into account for '/,
1096 . ' calculation of maximum gap(igap = 3). . . . ',1PG20.13/,
1097 . ' zero gap for secondary shell on free edge . ',I5/,
1098 . ' gap shape along main free edges ',/,
1099 . ' (1:square,2:cylindrical) . . . . . . ',I5/,
1100 . ' de-activation flag IF conflict w/ type2 . . ',I10/,
1101 . ' start time. . . . . . . . . . . . . . . . . ',1PG20.13/,
1102 . ' stop time . . . . . . . . . . . . . . . . . ',1PG20.13/,
1103 . ' de-activation of initial penetrations . . . ',I10/,
1104 . ' critical damping factor . . . . . . . . . . ',1PG20.13/,
1105 . ' quadratic damping flag. . . . . . . . . . . ',I5/,
1106 . ' flagremnode : not consider neighboring '/,
1107 . ' nodes in CASE of element SIZE < gap VALUE . ',I5/)
1108 3500 FORMAT(/
1109 . ' stiffness based of time step and masses :'/,
1110 . ' scale factor . . . . . . . . . . . . . . . . . ',1PG20.13/,
1111 . ' time step . . . . . . . . . . . . . . . . . . ',1PG20.13/,
1112 . ' flag for penalty stiffness . . . . . . . . . . ',1PG20.13/)
1113C
1114 5030 FORMAT(/
1115 . ' INTERFACE friction model. . . . . . . . . ',I10)
1116 5040 FORMAT(' press-fit duration time . . . . . . . . . ',1PG20.13/)
1117C
1118 5050 FORMAT(/
1119 . ' INTERFACE adhesion model ' /,
1120 . ' INTERFACE fluid viscosity . . . . . . . ',1PG20.13/,
1121 . ' maximum adhesive force per unit area. . ',1PG20.13/,
1122 . ' tangential viscous force scale factor . ',1PG20.13/)
1123C
1124 5051 FORMAT(/
1125 . ' constant contact thickness ' /,
1126 . ' secondary contact thickness . . . . . . ',1PG20.13/,
1127 . ' secondary contact thickness scale . . . ',1PG20.13/,
1128 . ' main contact thickness . . . . . . . . ',1PG20.13/,
1129 . ' main contact thickness scale . . . . . ',1PG20.13/)
1130C
1131 2102 FORMAT(//
1132 . ' thermal interface ' //,
1133 . ' thermal heat exchange coefficient . . . . .',1PG20.13/,
1134 . ' Interface temperature . . . . . . . . . . ',1PG20.13/,
1135 . ' radiation factor . . . . . . . . . . . . . ',1PG20.13/,
1136 . ' maximum distance for radiation computation.',1PG20.13/,
1137 . ' frictional heat transfer on secondary surface . ',1PG20.13/,
1138 . ' frictional heat transfer on main surface. ',1PG20.13/,
1139 . ' formulation choice : . . . . . . . . . . . ',I10,/,
1140 . ' 0 : heat transfer between secondary side',/,
1141 . ' and constant temperature in interface',/,
1142 . ' 1 : heat exchange between pieces in contact'/
1143 . ' Function for thermal heat exchange coefficient wrt distance',I10/,
1144 . ' maximum distance for conductive heat exchange',1PG20.13)
1145 2103 FORMAT(//
1146 . ' thermal interface ' //,
1147 . ' function for thermal heat exchange coefficient wrt contact pressure',I10/,
1148 . ' abscissa scale factor on ifuntck. . . . . ',1PG20.13/,
1149 . ' ordinate scale factor on ifuntck . . . . ',1PG20.13/,
1150 . ' interface temperature . . . . . . . . . . ',1PG20.13/,
1151 . ' radiation factor . . . . . . . . . . . . . ',1PG20.13/,
1152 . ' maximum distance for radiation computation.',1PG20.13/,
1153 . ' frictional heat transfer on secondary surface . ',1PG20.13/,
1154 . ' frictional heat transfer on main surface. ',1PG20.13/,
1155 . ' formulation choice : . . . . . . . . . . . ',I10,/,
1156 . ' 0 : heat transfer between secondary side',/,
1157 . ' and constant temperature in interface',/,
1158 . ' 1 : heat exchange between pieces in contact'/
1159 . ' function for thermal heat exchange coefficient wrt distance',I10/,
1160 . ' maximum distance for conductive heat exchange',1PG20.13)
#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_floatv_dim(name, dim_fac, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine area(d1, x, x2, y, y2, eint, stif0)
subroutine inter_dcod_friction(ntyp, ni, ipari, nom_opt, nom_optfric, intbuf_fric_tab)
subroutine inter_dcod_function(ntyp, ni, ipari, npc1, nom_opt, npc, pld)
subroutine inter_dcod_sensor(ntyp, ni, ipari, nom_opt, sensors)
#define max(a, b)
Definition macros.h:21
initmumps id
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:323
subroutine radiation(ibcr, fradia, npc, tf, x, temp, nsensor, sensor_tab, fthe, iad, fthesky, python, glob_therm)
Definition radiation.F:38
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:895