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