OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_inter_type07.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_type07 ../starter/source/interfaces/int07/hm_read_inter_type07.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 ,NOM_OPT ,
44 3 DEF_INTER ,NPC1 ,SENSORS ,UNITAB ,LSUBMODEL ,
45 4 TITR ,NOM_OPTFRIC,INTBUF_FRIC_TAB,NPC ,TF ,
46 4 ID_TYPE19 ,NPARI ,NPARIR ,SNPC ,SNPC1 ,
47 5 LNOPT1 ,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
60C-----------------------------------------------
61C I m p l i c i t T y p e s
62C-----------------------------------------------
63#include "implicit_f.inc"
64C-----------------------------------------------
65C C o m m o n B l o c k s
66C-----------------------------------------------
67#include "sphcom.inc"
68#include "scr06_c.inc"
69#include "com01_c.inc"
70#include "com04_c.inc"
71#include "units_c.inc"
72#include "scr12_c.inc"
73#include "remesh_c.inc"
74C-----------------------------------------------
75C D u m m y A r g u m e n t s
76C-----------------------------------------------
77 INTEGER,INTENT(IN) :: NPARI,NPARIR,SNPC,SNPC1,LNOPT1,NPTS !< array sizes
78 INTEGER NOM_OPT(LNOPT1,*), NOM_OPTFRIC(LNOPT1,*)
79 INTEGER NI,NOINT,ID_TYPE19
80 INTEGER IPARI(NPARI),DEF_INTER(100),NPC1(SNPC1),NPC(SNPC)
81 INTEGER,INTENT(IN ) :: ITHERM_FE
82 INTEGER,INTENT(INOUT) :: INTHEAT
83 my_real stfac,xfiltr
84 my_real frigap(nparir),fric_p(10),tf(npts)
85 CHARACTER(LEN=NCHARTITLE) :: TITR
86 TYPE(intbuf_fric_struct_) INTBUF_FRIC_TAB(*)
87 TYPE(submodel_data),INTENT(IN) :: LSUBMODEL(NSUBMOD)
88C-----------------------------------------------
89 TYPE (GROUP_) ,TARGET, DIMENSION(NGRNOD) :: IGRNOD
90 TYPE (SURF_) ,TARGET , DIMENSION(NSURF) :: IGRSURF
91 TYPE (SENSORS_) ,INTENT(IN) :: SENSORS
92C-----------------------------------------------
93C L o c a l V a r i a b l e s
94C-----------------------------------------------
95 INTEGER I,IBC1, IBC2, IBC3, IBUC, NTYP,INTTH,
96 . inacti, ibc1m, ibc2m, ibc3m, igsti, ivis2,is1, is2,
97 . ilev, igap,multimp,mfrot,ifq,ibag,modfr,
98 . iedge,nod1,
99 . flagremnod,idsens,idelkeep,intkg,irem7i2,iprint,
100 . intfric,iassign,igap_type19,irsth,idel7n,
101 . icurv,ifricth,na1,na2,iform,iadm,nradm,field6,itied,
102 . ib1,ib2,ib3,isu1,isu2,isu3,ntyp0
103 my_real
104 . fric,gap,startt,bumult,stopt,c1,c2,c3,c4,c5,c6,alpha,
105 . gapscale,gapmax,stmin,stmax,padm, angladm, cadm,
106 . percent_size,penmax,penmin,visc,viscf,fpenmax,dtmin,
107 . rsth,tint, xthe, frad, drad,xfricth,fheats,fheatm,
108 . edg_angl,viscfluid,sigmaxadh,viscadhfact,xthe_unit,
109 . edge_scale_gap
110 CHARACTER(LEN=NCHARKEY) :: KEY1
111 LOGICAL IS_AVAILABLE
112!
113 INTEGER, DIMENSION(:), POINTER :: INGR2USR
114 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
115C-----------------------------------------------
116C E x t e r n a l F u n c t i o n s
117C-----------------------------------------------
118 INTEGER,EXTERNAL :: NGR2USR
119C-----------------------------------------------
120C=======================================================================
121C READING PENALTY INTERFACE /INTER/TYPE7
122C=======================================================================
123
124C Initializations
125 is1=0
126 is2=0
127 ibc1=0
128 ibc2=0
129 ibc3=0
130 ibc1m=0
131 ibc2m=0
132 ibc3m=0
133 ibuc=0
134 mfrot=0
135 ifq=0
136 ibag=0
137 igsti = 0
138 ilev=0
139 idsens = 0
140 idelkeep=0
141 intfric = 0
142 ifricth = 0
143 nod1 = 0
144 intkg = 0
145 flagremnod = 0
146 multimp = 0
147 irem7i2 = 0
148 na1 = 0
149 na2 = 0
150 irsth = 0
151 iform = 0
152 iadm =0
153 nradm=1
154 intth = 0
155 idel7n = 0
156 igap_type19 = 0
157
158C Hidden flags : no more read using HM reader
159 ivis2 = 0
160 isu3 = 0
161C
162 stopt=ep30
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 gapscale = zero
181 percent_size = zero
182 edg_angl = zero
183 penmax = zero
184 penmin = zero
185 viscfluid = zero
186 sigmaxadh = zero
187 viscadhfact = zero
188 padm =one
189 angladm=zero
190 xfricth = one
191 rsth = em30
192 tint = zero
193 xthe = zero
194 frad = zero
195 drad = zero
196 fheats= zero
197 fheatm= zero
198 dtmin=zero
199 edge_scale_gap = zero
200C
201 iassign = 1
202C
203 ntyp = 7
204 ipari(7)= ntyp
205 ipari(15)=noint
206C
207 IF (id_type19 == -1) THEN
208C-- first type7 of type19
209 ntyp = 19
210 ipari(71) = -1
211 ELSEIF (id_type19 > 0) THEN
212C-- symmetrical type7 of type19 - internal id of main type7 must be identified
213 ntyp = 19
214 DO i=1,ni-1
215 IF (nom_opt(1,i)==id_type19) THEN
216 ipari(71) = i
217 EXIT
218 ENDIF
219 ENDDO
220 ENDIF
221C
222 is_available = .false.
223C--------------------------------------------------
224C EXTRACT DATAS (INTEGER VALUES)
225C--------------------------------------------------
226 CALL hm_get_intv('secondaryentityids',isu1,is_available,lsubmodel)
227 CALL hm_get_intv('mainentityids',isu2,is_available,lsubmodel)
228 CALL hm_get_intv('type7_Istf',igsti,is_available,lsubmodel)
229 CALL hm_get_intv('I_TH',intth,is_available,lsubmodel)
230 CALL hm_get_intv('Igap',igap,is_available,lsubmodel)
231 CALL hm_get_intv('Multimp',field6,is_available,lsubmodel)
232 CALL hm_get_intv('Ibag',ibag,is_available,lsubmodel)
233 CALL hm_get_intv('idel7',IDEL7N,IS_AVAILABLE,LSUBMODEL)
234 CALL HM_GET_INTV('icurv',ICURV,IS_AVAILABLE,LSUBMODEL)
235 CALL HM_GET_INTV('iadm',IADM,IS_AVAILABLE,LSUBMODEL)
236C
237 CALL HM_GET_INTV('itied',ITIED,IS_AVAILABLE,LSUBMODEL)
238C
239 CALL HM_GET_INTV('ikrem',FLAGREMNOD,IS_AVAILABLE,LSUBMODEL)
240 CALL HM_GET_INTV('icog',IREM7I2,IS_AVAILABLE,LSUBMODEL)
241C
242.OR. IF(ICURV == 1 ICURV ==2 )THEN
243 CALL HM_GET_INTV('type7_n1',NA1,IS_AVAILABLE,LSUBMODEL)
244 CALL HM_GET_INTV('type7_n2',NA2,IS_AVAILABLE,LSUBMODEL)
245 ENDIF
246C
247 CALL HM_GET_INTV('deactivate_x_bc',IB1,IS_AVAILABLE,LSUBMODEL)
248 CALL HM_GET_INTV('deactivate_y_bc',IB2,IS_AVAILABLE,LSUBMODEL)
249 CALL HM_GET_INTV('deactivate_z_bc',IB3,IS_AVAILABLE,LSUBMODEL)
250 CALL HM_GET_INTV('inactiv',INACTI,IS_AVAILABLE,LSUBMODEL)
251C
252 CALL HM_GET_INTV('ifric',MFROT,IS_AVAILABLE,LSUBMODEL)
253 CALL HM_GET_INTV('ifiltr',IFQ,IS_AVAILABLE,LSUBMODEL)
254 CALL HM_GET_INTV('iform',MODFR,IS_AVAILABLE,LSUBMODEL)
255 CALL HM_GET_INTV('isensor',IDSENS,IS_AVAILABLE,LSUBMODEL)
256 CALL HM_GET_INTV('crx_fun',IFRICTH,IS_AVAILABLE,LSUBMODEL)
257 CALL HM_GET_INTV('fric_id',INTFRIC,IS_AVAILABLE,LSUBMODEL)
258C
259 IF(IADM==2) CALL HM_GET_INTV('nradm',NRADM,IS_AVAILABLE,LSUBMODEL)
260C
261 IF(INTTH > 0 ) THEN
262 CALL HM_GET_INTV('iform1',IFORM,IS_AVAILABLE,LSUBMODEL)
263 CALL HM_GET_INTV('fct_id_k',IRSTH,IS_AVAILABLE,LSUBMODEL)
264 ENDIF
265C
266 IF(NTYP == 19) THEN
267 CALL HM_GET_INTV('iedge_type19',FIELD6,IS_AVAILABLE,LSUBMODEL)
268 ENDIF
269C
270C--------------------------------------------------
271C EXTRACT DATAS (REAL VALUES)
272C--------------------------------------------------
273 CALL HM_GET_FLOATV('gapscale',GAPSCALE,IS_AVAILABLE,LSUBMODEL,UNITAB)
274 CALL HM_GET_FLOATV('gapmax',GAPMAX,IS_AVAILABLE,LSUBMODEL,UNITAB)
275 CALL HM_GET_FLOATV('fpenmax',FPENMAX,IS_AVAILABLE,LSUBMODEL,UNITAB)
276C
277 CALL HM_GET_FLOATV('stmin',STMIN,IS_AVAILABLE,LSUBMODEL,UNITAB)
278 CALL HM_GET_FLOATV('stmax',STMAX,IS_AVAILABLE,LSUBMODEL,UNITAB)
279 CALL HM_GET_FLOATV('prmesh_size',PERCENT_SIZE,IS_AVAILABLE,LSUBMODEL,UNITAB)
280 CALL HM_GET_FLOATV('tmin',DTMIN,IS_AVAILABLE,LSUBMODEL,UNITAB)
281C
282 CALL HM_GET_FLOATV('type7_scale',STFAC,IS_AVAILABLE,LSUBMODEL,UNITAB)
283 CALL HM_GET_FLOATV('fric',FRIC,IS_AVAILABLE,LSUBMODEL,UNITAB)
284 CALL HM_GET_FLOATV('gap',GAP,IS_AVAILABLE,LSUBMODEL,UNITAB)
285 CALL HM_GET_FLOATV('tstart',STARTT,IS_AVAILABLE,LSUBMODEL,UNITAB)
286 CALL HM_GET_FLOATV('tstop',STOPT,IS_AVAILABLE,LSUBMODEL,UNITAB)
287C
288 CALL HM_GET_FLOATV('stiff_dc',VISC,IS_AVAILABLE,LSUBMODEL,UNITAB)
289 CALL HM_GET_FLOATV('fric_dc',VISCF,IS_AVAILABLE,LSUBMODEL,UNITAB)
290 CALL HM_GET_FLOATV('sort_fact',BUMULT,IS_AVAILABLE,LSUBMODEL,UNITAB)
291C
292 CALL HM_GET_FLOATV('xfreq',ALPHA,IS_AVAILABLE,LSUBMODEL,UNITAB)
293 CALL HM_GET_FLOATV('scale1',XFRICTH,IS_AVAILABLE,LSUBMODEL,UNITAB)
294C
295 IF (MFROT>0) THEN
296 CALL HM_GET_FLOATV('c1',C1,IS_AVAILABLE,LSUBMODEL,UNITAB)
297 CALL HM_GET_FLOATV('c2',C2,IS_AVAILABLE,LSUBMODEL,UNITAB)
298 CALL HM_GET_FLOATV('c3',C3,IS_AVAILABLE,LSUBMODEL,UNITAB)
299 CALL HM_GET_FLOATV('c4',C4,IS_AVAILABLE,LSUBMODEL,UNITAB)
300 CALL HM_GET_FLOATV('c5',C5,IS_AVAILABLE,LSUBMODEL,UNITAB)
301 ENDIF
302 IF (MFROT>1) THEN
303 CALL HM_GET_FLOATV('c6',C6,IS_AVAILABLE,LSUBMODEL,UNITAB)
304 ENDIF
305C
306 IF(IADM==2)THEN
307 CALL HM_GET_FLOATV('padm',PADM,IS_AVAILABLE,LSUBMODEL,UNITAB)
308 CALL HM_GET_FLOATV('angladm',ANGLADM,IS_AVAILABLE,LSUBMODEL,UNITAB)
309 ENDIF
310C
311C
312 IF(INTTH > 0 ) THEN
313 CALL HM_GET_FLOATV('r_th',RSTH,IS_AVAILABLE,LSUBMODEL,UNITAB)
314 CALL HM_GET_FLOATV('t_initial',TINT,IS_AVAILABLE,LSUBMODEL,UNITAB)
315 CALL HM_GET_FLOATV('crx',XTHE,IS_AVAILABLE,LSUBMODEL,UNITAB)
316 CALL HM_GET_FLOATV('f_rad',FRAD,IS_AVAILABLE,LSUBMODEL,UNITAB)
317 CALL HM_GET_FLOATV('d_rad',DRAD,IS_AVAILABLE,LSUBMODEL,UNITAB)
318 CALL HM_GET_FLOATV('fmax',FHEATS,IS_AVAILABLE,LSUBMODEL,UNITAB)
319 CALL HM_GET_FLOATV('heat_al',FHEATM,IS_AVAILABLE,LSUBMODEL,UNITAB)
320 ENDIF
321C
322 IF(NTYP == 19) THEN
323 CALL HM_GET_FLOATV('edge_scale_gap',edge_scale_gap,is_available,lsubmodel,unitab)
324 ENDIF
325C
326C--------------------------------------------------
327C DEFAULT VALUES DEFINITION
328C--------------------------------------------------
329C
330 iprint = 0
331C
332 key1='IGSTI'
333 CALL definter(key1 ,igsti ,iassign ,iprint ,
334 . ntyp ,def_inter)
335C
336 key1='IGAP'
337 CALL definter(key1 ,igap ,iassign ,iprint ,
338 . ntyp ,def_inter)
339C
340 key1='IBAG'
341 CALL definter(key1 ,ibag ,iassign ,iprint ,
342 . ntyp ,def_inter)
343C
344 key1='IDEL'
345 CALL definter(key1 ,idel7n ,iassign ,iprint ,
346 . ntyp ,def_inter)
347C
348 key1='FLAGREMNOD'
349 CALL definter(key1 ,flagremnod,iassign ,iprint ,
350 . ntyp ,def_inter)
351C
352 key1='IREM7I2'
353 CALL definter(key1 ,irem7i2 ,iassign ,iprint ,
354 . ntyp ,def_inter)
355C
356 key1='INACTI'
357 CALL definter(key1 ,inacti ,iassign ,iprint ,
358 . ntyp ,def_inter)
359C
360 key1='MODFR'
361 CALL definter(key1 ,modfr,iassign ,iprint ,
362 . ntyp ,def_inter)
363C
364 IF (ntyp==19) THEN
365C-- for TYPE19 field6 is iedge
366 IF (field6<=2) THEN
367 iedge = field6
368 ELSE
369C-- Compatibility with old inputs where multimp can be read in field6
370 iedge = 2
371 ENDIF
372C
373 key1='IEDGE'
374 CALL definter(key1 ,iedge ,iassign ,iprint ,
375 . ntyp ,def_inter)
376C
377 IF (igap == 4) THEN
378C-- IGAP->4 variable gap Igap==2 for node/surface in TYPE19 contact
379 igap_type19 = igap
380 igap = 2
381 ENDIF
382 ENDIF
383C
384C--------------------------------------------------
385C CHECKS And Storage IPARI FRIGAP
386C--------------------------------------------------
387C
388C
389C....* Card1 :flags *.............
390C
391 is2=1
392 ingr2usr => igrsurf(1:nsurf)%ID
393 isu2=ngr2usr(isu2,ingr2usr,nsurf)
394 IF(isu1/=0)THEN
395 ingr2usr => igrnod(1:ngrnod)%ID
396 isu1=ngr2usr(isu1,ingr2usr,ngrnod)
397 is1 =2
398 ENDIF
399
400 IF (intth > 0 ) intheat = 1
401 ipari(47) = intth
402C Ibag
403 IF (ibag/=0.AND.nvolu==0.AND.ialelag==0.AND.nsphsol==0) THEN
404 CALL ancmsg(msgid=614,
405 . msgtype=msgwarning,
406 . anmode=aninfo_blind_2,
407 . i1=noint,
408 . c1=titr)
409 ibag=0
410 ENDIF
411
412C Iadm
413 IF (iadm/=0.AND.nadmesh==0) THEN
414 CALL ancmsg(msgid=647,
415 . msgtype=msgwarning,
416 . anmode=aninfo_blind_2,
417 . i1=noint,
418 . c1=titr)
419 iadm=0
420 ENDIF
421
422
423 IF (iadm/=0.AND.icurv/=0) THEN
424 CALL ancmsg(msgid=648,
425 . msgtype=msgerror,
426 . anmode=aninfo,
427 . i1=noint,
428 . c1=titr)
429 ENDIF
430
431 kcontact =max(kcontact,ibag,iadm)
432 ipari(44)=iadm
433
434 intbag = max(intbag,ibag)
435 ipari(32) = ibag
436
437 ipari(34)=igsti
438
439 ipari(21)=igap
440
441 ipari(39) = icurv
442
443 multimp = 4
444 ipari(23)=multimp
445C
446C....* Card2 *.............
447C
448 IF(isu1==0)THEN
449 IF(isu3/=0)THEN
450 is1 =1
451 ingr2usr => igrsurf(1:nsurf)%ID
452 isu1=ngr2usr(isu3,ingr2usr,nsurf)
453 ELSE
454 isu1=isu2
455 is1 =1
456 ENDIF
457 ENDIF
458 ipari(45)=isu1
459 ipari(46)=isu2
460 ipari(13)=is1*10+is2
461
462
463 IF(igap>=2)THEN
464 IF(gapscale==zero)gapscale=one
465 frigap(13) = gapscale
466 frigap(16) = gapmax
467 END IF
468 IF(frigap(16)==zero)THEN
469 gapmax=ep30
470 frigap(16)=gapmax
471 END IF
472
473 ipari(85)=itied
474 frigap(27) = fpenmax
475C
476C....* Card3 *.............
477C
478
479 IF(igsti>1)THEN
480 i7stifs=1
481 IF(stmax==zero)stmax=ep30
482 frigap(17) = stmin
483 frigap(18) = stmax
484 ELSE
485 stmin = zero
486 stmax = ep30
487 END IF
488C
489 IF (flagremnod == 0) flagremnod = 1
490 IF (igap_type19 == 4) flagremnod = 2
491 ipari(63) = flagremnod
492C
493
494C-----IPARI(54) is used temporately before determined only by FLAGREMNOD
495 IF (irem7i2==0) THEN
496 IF (iimplicit>0) irem7i2=1
497 END IF
498 IF (irem7i2 == 3) irem7i2=0
499 ipari(54) = irem7i2
500C
501 frigap(41)=dtmin
502C
503 IF(igap==3)THEN
504 IF(percent_size==zero) percent_size = four*em01
505 END IF
506 frigap(28) = percent_size
507C
508C....* Card4 : curvature *.............
509C
510 IF (icurv ==1) THEN
511 IF(na1==0) THEN
512 CALL ancmsg(msgid=1727,
513 . msgtype=msgerror,
514 . anmode=aninfo_blind_1,
515 . i1=noint,
516 . c1=titr)
517 ENDIF
518 WRITE(iout,*)' SPHERICAL CURVATURE:'
519 WRITE(iout,*)' NA1 =',na1,' NA2 =',na2
520
521 ELSEIF(icurv==2)THEN
522
523 IF(na1==0.OR.na2==0) THEN
524 CALL ancmsg(msgid=1728,
525 . msgtype=msgerror,
526 . anmode=aninfo_blind_1,
527 . i1=noint,
528 . c1=titr)
529 ENDIF
530 WRITE(iout,*)' CYLINDRICAL CURVATURE:'
531 WRITE(iout,*)' NA1 =',na1,' NA2 =',na2
532 ELSEIF(icurv == 3)THEN
533 WRITE(iout,*)' SURFACE WITH CUBIC CURVATURE'
534 ENDIF
535
536 ipari(40) = na1
537 ipari(41) = na2
538C
539C.....* Card5 *.....
540C
541 IF(stfac== zero) stfac=one
542 IF(igsti==1)stfac=-stfac
543
544 IF (stopt == zero) stopt = ep30
545
546 frigap(1)=fric
547 frigap(2)=gap
548 frigap(3)=startt
549 frigap(11)=stopt
550
551C
552C.....* Card6 *.........
553C
554 IF (ib1==1) ibc1 = 1
555 IF (ib2==1) ibc2 = 1
556 IF (ib3==1) ibc3 = 1
557
558C Hidden flag no more read using HM reader
559c IF (BCFLAGM(LFIELD-2:LFIELD-2)== '1') IBC1M = 1
560c IF (BCFLAGM(LFIELD-1:LFIELD-1)== '1') IBC2M = 1
561c IF (BCFLAGM(LFIELD :LFIELD )== '1') IBC3M = 1
562
563 ipari(11)=4*ibc1+2*ibc2+ibc3 + 8 *(4*ibc1m+2*ibc2m+ibc3m)
564
565 IF(fric/=zero.AND.viscf==zero)viscf=one
566 IF(visc==zero)THEN
567 IF(ivis2==5)THEN
568 visc=one
569 ELSE
570 visc=fiveem2
571 ENDIF
572 ENDIF
573 frigap(14)=visc
574C
575 IF (idel7n < 0) THEN
576 idelkeep=1
577 idel7n=abs(idel7n)
578 END IF
579 ipari(61)=idelkeep
580
581 IF (idel7n>2.OR.n2d==1) idel7n = 0
582 ipari(17)=idel7n
583
584 ipari(14)=ivis2 ! IVIS2 = 0 Hidden flag : no more read using HM reader
585
586 ipari(22)=inacti
587
588C BUMULT is increased for big models
589 IF(bumult==zero) THEN
590 bumult = bmul0
591 IF(numnod > 2500000) THEN
592 bumult = bmul0*two
593 ELSEIF(numnod > 1500000) THEN
594 bumult = bmul0*three/two
595 END IF
596 END IF
597 frigap(4)=bumult
598
599C
600C.....* Card7 : FRICTION data *.........
601C
602
603 IF (alpha==0.) ifq = 0
604C
605C
606 IF(fric == zero)THEN
607 IF(ifricth /= 0)THEN
608 fric = one
609 ENDIF
610 ENDIF
611 ipari(50) = ifricth
612
613 IF(xfricth == zero) xfricth=one
614 frigap(34) = xfricth
615
616 IF (modfr==0) modfr = 1
617 IF (modfr==2.AND.ifq<10) ifq = ifq + 10
618
619 IF (mfrot/=0.AND.viscf==0.0) viscf=one
620 IF(modfr==2)viscf=zero
621
622 IF (ifq>0) THEN
623 IF (ifq==10) xfiltr = one
624 IF (mod(ifq,10)==1) xfiltr = alpha
625 IF (mod(ifq,10)==2) xfiltr=four*atan2(one,zero) / alpha
626 IF (mod(ifq,10)==3) xfiltr=four*atan2(one,zero) * alpha
627 IF (xfiltr<zero) THEN
628 CALL ancmsg(msgid=554,
629 . msgtype=msgerror,
630 . anmode=aninfo_blind_1,
631 . i1=noint,
632 . c1=titr,
633 . r1=alpha)
634 ELSEIF (xfiltr>1.AND.mod(ifq,10)<=2) THEN
635 CALL ancmsg(msgid=554,
636 . msgtype=msgerror,
637 . anmode=aninfo_blind_1,
638 . i1=noint,
639 . c1=titr,
640 . r1=alpha)
641 ENDIF
642 ELSE
643 xfiltr = zero
644 ENDIF
645 ipari(31) = ifq
646
647 ipari(64) = idsens
648
649 ipari(30) = mfrot
650
651 ipari(72) = intfric
652
653C
654C.....* OPTIONAL Card8 : C1...C6 friction data *.........
655C
656 frigap(15)=viscf**2
657
658 fric_p(1) = c1
659 fric_p(2) = c2
660 fric_p(3) = c3
661 fric_p(4) = c4
662 fric_p(5) = c5
663 fric_p(6) = c6
664
665C
666C.....* Card 9 *.........
667C
668 IF(iadm==2)THEN
669 IF(nradm==0) nradm =3
670 IF(padm==zero) padm =one
671 ELSE
672 nradm =1
673 padm =one
674 angladm=zero
675 END IF
676
677
678 cadm =cos(angladm*pi/hundred80)
679
680 ipari(49) =nradm
681 frigap(24)=padm
682 frigap(25)=cadm
683
684C
685C.....* Card7 : Thermal input *.........
686C
687
688 IF(rsth == zero)THEN
689 IF(irsth /= 0)THEN
690 rsth = one
691 ENDIF
692 ENDIF
693C
694 IF (xthe == zero) THEN
695 !units
696 CALL hm_get_floatv_dim('Crx' ,xthe_unit ,is_available, lsubmodel, unitab)
697 xthe = one * xthe_unit
698 ENDIF
699C
700 IF (itherm_fe == 0 .AND. intth > 0 ) THEN
701 intheat = 0
702 ipari(47) = 0
703 CALL ancmsg(msgid=702,
704 . msgtype=msgwarning,
705 . anmode=aninfo,
706 . i1=noint,
707 . c1=titr)
708 ENDIF
709C
710 IF(intth > 0 ) THEN
711 IF(fheats+fheatm > 1) THEN
712 CALL ancmsg(msgid=1064,
713 . msgtype=msgwarning,
714 . anmode=aninfo,
715 . i1=noint,
716 . c1=titr,
717 . r1=fheats,
718 . r2=fheatm)
719 ENDIF
720 ENDIF
721C
722 IF(rsth == zero)rsth = em30
723
724
725 frigap(20) = one/rsth
726 frigap(21 ) = fheats
727 frigap(22 ) = tint
728 frigap(23 ) = fheatm
729 frigap(31 ) = frad
730 frigap(32 ) = drad
731 ipari(48) = iform
732 ipari(42) = irsth
733 frigap(33) = xthe
734C
735 ipari(65) = intkg
736C FRIGAP(10) is initialized but used only in engine for storing number of couples candidates
737 frigap(10)=float(0)
738
739C
740C------------------------------------------------------------
741C RENUMBERING OF FUNCTIONS AND SENSOR - USER TO INTERNAL ID
742C------------------------------------------------------------
743C
744 ntyp0 = 7
745 CALL inter_dcod_function(ntyp0,ni,ipari,npc1,nom_opt,npc,tf)
746 CALL inter_dcod_sensor (ntyp0,ni,ipari,nom_opt,sensors)
747 CALL inter_dcod_friction(ntyp0,ni,ipari,nom_opt,nom_optfric,
748 . intbuf_fric_tab)
749C
750C------------------------------------------------------------
751C PRINTOUT
752C------------------------------------------------------------
753C
754C-- No printout for subinterfaces of interface type19
755 IF (id_type19 > 0) RETURN
756
757 iprint = 1
758C
759C........* PRINT DEFAULT VALUES *.....................
760C
761 key1='IGSTI'
762 CALL definter(key1 ,igsti ,iassign ,iprint ,
763 . ntyp ,def_inter)
764C
765 key1='IGAP'
766 CALL definter(key1 ,igap ,iassign ,iprint ,
767 . ntyp ,def_inter)
768C
769 IF (ntyp==19) THEN
770 IF (igap_type19 == 4) igap = igap_type19
771 key1='IEDGE'
772 CALL definter(key1 ,iedge ,iassign ,iprint ,
773 . ntyp ,def_inter)
774 ENDIF
775C
776 key1='IBAG'
777 CALL definter(key1 ,ibag ,iassign ,iprint ,
778 . ntyp ,def_inter)
779C
780 key1='IDEL'
781 CALL definter(key1 ,idel7n ,iassign ,iprint ,
782 . ntyp ,def_inter)
783C
784 key1='FLAGREMNOD'
785 CALL definter(key1 ,flagremnod,iassign ,iprint ,
786 . ntyp ,def_inter)
787C
788 key1='IREM7I2'
789 CALL definter(key1 ,irem7i2 ,iassign ,iprint ,
790 . ntyp ,def_inter)
791C
792 key1='INACTI'
793 CALL definter(key1 ,inacti ,iassign ,iprint ,
794 . ntyp ,def_inter)
795C
796 key1='MODFR'
797 CALL definter(key1 ,modfr ,iassign ,iprint ,
798 . ntyp ,def_inter)
799C
800C........* PRINT INTERFACES INPUT IN 0.OUT FILE *.....................
801C
802 IF (ntyp == 19) THEN
803 WRITE(iout,1550)
804 ELSE
805 WRITE(iout,1549)
806 ENDIF
807C
808 IF( (igap>=2 .AND. igap/=1000).
809 . or.igsti>1 .AND. igsti/=1000)THEN
810 IF(igsti==1)THEN
811 IF(idsens/=0) THEN
812 WRITE(iout,1537)ibc1,ibc2,ibc3,
813 . abs(stfac),
814 . fric,igap,gap,gapmax,percent_size,flagremnod,
815 . irem7i2,gapscale,idsens,
816 . bumult,inacti,fpenmax,visc,viscf,ipari(14),
817 . ipari(20),multimp
818 ELSE
819 WRITE(iout,1538)ibc1,ibc2,ibc3,
820 . abs(stfac),
821 . fric,igap,gap,gapmax,percent_size,flagremnod,
822 . gapscale,startt,stopt,
823 . bumult,inacti,fpenmax,visc,viscf,ipari(14),
824 . ipari(20),multimp
825 ENDIF
826 ELSE
827 IF(idsens/=0) THEN
828 WRITE(iout,1547)ibc1,ibc2,ibc3,
829 . abs(stfac),igsti,stmin,stmax,
830 . fric,igap,gap,gapmax,percent_size,flagremnod,
831 . irem7i2,gapscale,idsens,
832 . bumult,inacti,fpenmax,visc,viscf,ipari(14),
833 . ipari(20),multimp
834 ELSE
835 WRITE(iout,1548)ibc1,ibc2,ibc3,
836 . abs(stfac),igsti,stmin,stmax,
837 . fric,igap,gap,gapmax,percent_size,flagremnod,
838 . irem7i2,gapscale,startt,stopt,
839 . bumult,inacti,fpenmax,visc,viscf,ipari(14),
840 . ipari(20),multimp
841 ENDIF
842 ENDIF
843 ELSEIF(stfac>=zero)THEN
844 IF(idsens/=0) THEN
845 WRITE(iout,1507)ibc1,ibc2,ibc3,
846 . abs(stfac),igap,gap,percent_size,flagremnod,
847 . irem7i2,idsens,
848 . bumult,inacti,fpenmax,visc,viscf,ipari(14),
849 . ipari(20),multimp
850 ELSE
851 WRITE(iout,1594)ibc1,ibc2,ibc3,
852 . abs(stfac),igap,gap,percent_size,flagremnod,
853 . irem7i2,startt,stopt,
854 . bumult,inacti,fpenmax,visc,viscf,ipari(14),
855 . ipari(20),multimp
856 ENDIF
857 ELSE
858C
859 IF(idsens/=0) THEN
860 WRITE(iout,1517)ibc1,ibc2,ibc3,
861 . abs(stfac),igap,gap,percent_size,flagremnod,
862 . irem7i2,idsens,
863 . bumult,inacti,fpenmax,visc,viscf,ipari(14),
864 . ipari(20),multimp
865 ELSE
866 WRITE(iout,1595)ibc1,ibc2,ibc3,
867 . abs(stfac),igap,gap,percent_size,flagremnod,
868 . irem7i2,startt,stopt,
869 . bumult,inacti,fpenmax,visc,viscf,ipari(14),
870 . ipari(20),multimp
871 ENDIF
872 ENDIF
873C
874 IF(itied /=0)THEN
875 WRITE(iout,'(A/,A,I10/,A/,A)')
876 . ' NODE TYING IF LARGE PENETRATION (LET DT < DTMIN) ',
877 . ' ITIED . . . . . . . . . . . . . . . . . . . . . .',itied,
878 . ' 1: TIED (during contact)',
879 . ' 2: TIED (no rebound)'
880 END IF
881
882 IF (dtmin/=zero) THEN
883 WRITE(iout,1577)dtmin
884 ENDIF
885
886 IF(idel7n/=0) THEN
887 WRITE(iout,'(A,A,I5/)')
888 . ' DELETION FLAG ON FAILURE OF MAIN ELEMENT',
889 . ' (1:YES-ALL/2:YES-ANY) : ',idel7n
890 IF(idelkeep == 1)THEN
891 WRITE(iout,'(A)')
892 . ' IDEL: DO NOT REMOVE NON-CONNECTED NODES FROM SECONDARY SURFACE'
893 ENDIF
894 ENDIF
895
896 IF(intfric == 0 ) THEN
897 IF(ifq>=10) THEN
898 WRITE(iout,1518)
899 ELSE
900 WRITE(iout,1519)
901 ENDIF
902
903 WRITE(iout,1520)mod(ifq,10), xfiltr
904
905 IF(mfrot==0)THEN
906
907 IF(ifricth ==0 ) THEN
908 WRITE(iout,1524) fric
909 ELSE
910 WRITE(iout,1525) ifricth,xfricth,fric
911 ENDIF
912
913 ELSEIF(mfrot==1)THEN
914 WRITE(iout,1515)fric_p(1),fric_p(2),fric_p(3),
915 . fric_p(4),fric_p(5)
916
917 ELSEIF(mfrot==2)THEN
918 WRITE(iout,1522)fric,fric_p(1),fric_p(2),fric_p(3),
919 . fric_p(4),fric_p(5),fric_p(6)
920
921 ELSEIF(mfrot==3)THEN
922 WRITE(iout,1523)fric_p(1),fric_p(2),fric_p(3),
923 . fric_p(4),fric_p(5),fric_p(6)
924 ELSEIF(mfrot==4)THEN
925 WRITE(iout,1526) fric,fric_p(1),fric_p(2)
926 ENDIF
927 ELSE
928
929 WRITE(iout,5030) intfric
930 IF(ifricth > 0 ) THEN
931 WRITE(iout,1525) ifricth,xfricth,fric
932 ENDIF
933
934 ENDIF
935
936 IF(ibag/=1000) THEN
937 WRITE(iout,*)' AIRBAG POROSITY COUPLING ON '
938 ENDIF
939
940 IF(iadm/=0) THEN
941 WRITE(iout,*)' MESH REFINEMENT CASE OF CONTACT',
942 .' (0:NO/1:DUE TO CURVATURE/2:DUE TO CURVATURE OR PENETRATION)',
943 .' SET TO ',iadm
944 IF(iadm==2)THEN
945 WRITE(iout,1557) nradm,padm,angladm
946 END IF
947 ENDIF
948
949 IF(intth > 0 )THEN
950 IF(irsth==0)THEN
951 WRITE(iout,2500) rsth,tint,frad,drad,iform,
952 . fheats,fheatm
953 ELSE
954 WRITE(iout,2503) irsth,xthe,rsth,tint,frad,drad,iform,
955 . fheats,fheatm
956 END IF
957 ENDIF
958C---- printout for TYPE19
959 IF (ntyp == 19) THEN
960 IF (igap == 4) THEN
961 WRITE(iout,1552) iedge,edge_scale_gap,gap
962 ELSE
963 WRITE(iout,1551) iedge,edge_scale_gap
964 ENDIF
965 ENDIF
966
967C--------------------------------------------------------------
968 IF(is1==0)THEN
969 WRITE(iout,'(6X,A)')'NO SECONDARY SURFACE INPUT'
970 ELSEIF(is1==1)THEN
971 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY SEGMENTS'
972 ELSEIF(is1==2)THEN
973 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY NODES'
974 ELSEIF(is1==3)THEN
975 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY SEGMENTS'
976 ELSEIF(is1==4 )THEN
977 WRITE(iout,'(6X,A)')'SECONDARY SIDE INPUT BY BRICKS'
978 ELSEIF(is1==5 )THEN
979 WRITE(iout,'(6X,A)')'SECONDARY SIDE INPUT BY SOLID ELEMENTS'
980 ENDIF
981 IF(is2==0)THEN
982 WRITE(iout,'(6X,A)')'NO MAIN SURFACE INPUT'
983 ELSEIF(is2==1)THEN
984 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY SEGMENTS'
985 ELSEIF(is2==2)THEN
986 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY NODES'
987 ELSEIF(is2==3)THEN
988 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY SEGMENTS'
989 ELSEIF(is2==4)THEN
990 WRITE(iout,'(6X,A)')'MAIN SURFACE REFERS ',
991 . 'TO HYPER-ELLIPSOIDAL SURFACE'
992 ENDIF
993C
994C--------------------------------------------------------------
995 RETURN
996
997
998 1515 FORMAT(//
999 . ' FRICTION MODEL 1 (Viscous Polynomial)'/,
1000 . ' MU = MUo + C1 p + C2 v + C3 pv + C4 p^2 + C5 v^2'/,
1001 . ' C1 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1002 . ' C2 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1003 . ' C3 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1004 . ' C4 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1005 . ' C5 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1006 . ' TANGENTIAL PRESSURE LIMIT. . .. . . . . .',1pg20.13/)
1007 1518 FORMAT( ' FRICTION FORMULATION: INCREMENTAL (STIFFNESS) ',
1008 . 'FORMULATION')
1009 1519 FORMAT( ' FRICTION FORMULATION: TOTAL (VISCOUS) ',
1010 . 'FORMULATION')
1011 1520 FORMAT(
1012 . ' FRICTION FILTERING FLAG. . . . . . . . . ',i10/,
1013 . ' FILTERING FACTOR . . . . . . . . . . . . ',1pg20.13)
1014 1522 FORMAT(/
1015 . ' FRICTION MODEL 2 (Darmstad Law) :'/,
1016 . ' MU = MUo+c1*exp(c2*v)*p^2+c3*exp(c4*v)*p+c5*exp(c6*v)'/,
1017 . ' Muo. . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1018 . ' C1 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1019 . ' C2 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1020 . ' C3 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1021 . ' C4 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1022 . ' C5 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1023 . ' C6 . . . . . . . . . . . . . . . . . . . ',1pg20.13/)
1024 1523 FORMAT(/
1025 . ' FRICTION MODEL 3 (Renard law) :'/,
1026 . ' C1 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1027 . ' C2 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1028 . ' C3 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1029 . ' C4 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1030 . ' C5 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
1031 . ' C6 . . . . . . . . . . . . . . . . . . . ',1pg20.13/)
1032 1524 FORMAT(/
1033 . ' FRICTION MODEL 0 (Coulomb Law) :'/,
1034 . ' FRICTION COEFFICIENT . . . . . . . . . ',1pg20.13/)
1035 1525 FORMAT(//
1036 . ' FRICTION MODEL 0 (Coulomb Law) :'/,
1037 . ' Function for FRICTION COEFFICIENT wrt TEMPERATURE',i10/,
1038 . ' Abscissa scale factor on IFUNTCF. . . . . ',1pg20.13/,
1039 . ' Ordinate scale factor on IFUNTCF . . . . ',1pg20.13/)
1040 1526 FORMAT(/
1041 . ' EXPONENTIAL DECAY FRICTION LAW '/
1042 . ' MU = c1+(MUo-c1)*exp(-c2*v)'/
1043 . ' STATIC COEFFICIENT MUo . . . . . . . . . ',1pg20.13/,
1044 . ' DYNAMIC COEFFICIENT C1 . . . . . . . . . ',1pg20.13/,
1045 . ' EXPONENTIAL DECAY COEFFICIENT C2 . . . . ',1pg20.13/)
1046C----------
1047 1537 FORMAT(
1048 . ' BOUND. COND. DELETED AFTER IMPACT . . . . . IN X DIR ',i1/,
1049 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
1050 . ' Z DIR ',i1/,
1051 . ' CONSTANT STIFFNESS. . . . . . . . . . . . . ',1pg20.13/,
1052 . ' FRICTION FACTOR . . . . . . . . . . . . . . ',1pg20.13/,
1053 . ' VARIABLE GAP FLAG . . . . . . . . . . . . . ',i5/,
1054 . ' MINIMUM GAP . . . . . . . . . . . . . . . . ',1pg20.13/,
1055 . ' MAXIMUM GAP (= 0. <=> NO MAXIMUM GAP) . . . ',1pg20.13/,
1056 . ' %MESHSIZE TAKEN INTO ACCOUNT FOR '/,
1057 . ' CALCULATION OF MAXIMUM GAP(IGAP = 3). . . . ',1pg20.13/,
1058 . ' FLAGREMNODE : NOT CONSIDER NEIGHBORING '/,
1059 . ' NODES IN CASE OF ELEMENT SIZE < GAP VALUE . ',i5/,
1060 . ' DE-ACTIVATION FLAG IF CONFLICT W/ TYPE2 . . ',i10/,
1061 . ' GAP SCALE FACTOR. . . . . . . . . . . . . . ',1pg20.13/,
1062 . ' START TIME/STOP TIME ACTIVATED BY SENSOR ID ',i10/,
1063 . ' BUCKET FACTOR . . . . . . . . . . . . . . . ',1pg20.13/,
1064 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . . ',i10/,
1065 . ' MAXIMUM INITIAL PENETRATION FACTOR. . . . . ',1pg20.13/,
1066 . ' CRITICAL DAMPING FACTOR . . . . . . . . . . ',1pg20.13/,
1067 . ' FRICTION CRITICAL DAMPING FACTOR. . . . . . ',1pg20.13/,
1068 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . . ',i5/,
1069 . ' FORMULATION LEVEL . . . . . . . . . . . . . ',i5/,
1070 . ' MEAN POSSIBLE NUMBER OF IMPACT/NODE . . . . ',i5/)
1071 1538 FORMAT(
1072 . ' BOUND. COND. DELETED AFTER IMPACT . . . . . IN X DIR ',i1/,
1073 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
1074 . ' Z DIR ',i1/,
1075 . ' CONSTANT STIFFNESS. . . . . . . . . . . . . ',1pg20.13/,
1076 . ' FRICTION FACTOR . . . . . . . . . . . . . . ',1pg20.13/,
1077 . ' VARIABLE GAP FLAG . . . . . . . . . . . . . ',i5/,
1078 . ' MINIMUM GAP . . . . . . . . . . . . . . . . ',1pg20.13/,
1079 . ' MAXIMUM GAP (= 0. <=> NO MAXIMUM GAP) . . . ',1pg20.13/,
1080 . ' %MESHSIZE TAKEN INTO ACCOUNT FOR '/,
1081 . ' CALCULATION OF MAXIMUM GAP(IGAP = 3). . . . ',1pg20.13/,
1082 . ' FLAGREMNODE : NOT CONSIDER NEIGHBORING '/,
1083 . ' NODES IN CASE OF ELEMENT SIZE < GAP VALUE . ',i5/,
1084 . ' GAP SCALE FACTOR. . . . . . . . . . . . . . ',1pg20.13/,
1085 . ' START TIME. . . . . . . . . . . . . . . . . ',1pg20.13/,
1086 . ' STOP TIME . . . . . . . . . . . . . . . . . ',1pg20.13/,
1087 . ' BUCKET FACTOR . . . . . . . . . . . . . . . ',1pg20.13/,
1088 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . . ',i10/,
1089 . ' MAXIMUM INITIAL PENETRATION FACTOR. . . . . ',1pg20.13/,
1090 . ' CRITICAL DAMPING FACTOR . . . . . . . . . . ',1pg20.13/,
1091 . ' FRICTION CRITICAL DAMPING FACTOR. . . . . . ',1pg20.13/,
1092 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . . ',i5/,
1093 . ' FORMULATION LEVEL . . . . . . . . . . . . . ',i5/,
1094 . ' MEAN POSSIBLE NUMBER OF IMPACT/NODE . . . . ',i5/)
1095 1547 FORMAT(
1096 . ' BOUND. COND. DELETED AFTER IMPACT . . . . . IN X DIR ',i1/,
1097 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
1098 . ' Z DIR ',i1/,
1099 . ' STIFFNESS FACTOR. . . . . . . . . . . . . . ',1pg20.13/,
1100 . ' STIFFNESS FORMULATION. . . . . . . . . . . ',i4/,
1101 .' 2,3,4,5 : STIFFNESS IS COMPUTED FROM STIFFNESS ON MAIN SIDE'/,
1102 .' AND STIFFNESS AT SECONDARY NODES'/,
1103 .' 1000 : STIFFNESS IS COMPUTED FROM STIFFNESS ON MAIN SIDE'/,
1104 . ' MINIMUM STIFFNESS. . . . . . . . . . . . . ',1pg20.13/,
1105 . ' MAXIMUM STIFFNESS. . . . . . . . . . . . . ',1pg20.13/,
1106 . ' FRICTION FACTOR . . . . . . . . . . . . . . ',1pg20.13/,
1107 . ' VARIABLE GAP FLAG . . . . . . . . . . . . . ',i5/,
1108 . ' MINIMUM GAP . . . . . . . . . . . . . . . . ',1pg20.13/,
1109 . ' MAXIMUM GAP (= 0. <=> NO MAXIMUM GAP) . . . ',1pg20.13/,
1110 . ' %MESHSIZE TAKEN INTO ACCOUNT FOR '/,
1111 . ' CALCULATION OF MAXIMUM GAP(IGAP = 3). . . . ',1pg20.13/,
1112 . ' FLAGREMNODE : NOT CONSIDER NEIGHBORING '/,
1113 . ' NODES IN CASE OF ELEMENT SIZE < GAP VALUE . ',i5/,
1114 . ' DE-ACTIVATION FLAG IF CONFLICT W/ TYPE2 . . ',i10/,
1115 . ' GAP SCALE FACTOR. . . . . . . . . . . . . . ',1pg20.13/,
1116 . ' START TIME/STOP TIME ACTIVATED BY SENSOR ID ',i10/,
1117 . ' BUCKET FACTOR . . . . . . . . . . . . . . . ',1pg20.13/,
1118 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . . ',i10/,
1119 . ' MAXIMUM INITIAL PENETRATION FACTOR. . . . . ',1pg20.13/,
1120 . ' CRITICAL DAMPING FACTOR . . . . . . . . . . ',1pg20.13/,
1121 . ' FRICTION CRITICAL DAMPING FACTOR. . . . . . ',1pg20.13/,
1122 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . . ',i5/,
1123 . ' FORMULATION LEVEL . . . . . . . . . . . . . ',i5/,
1124 . ' MEAN POSSIBLE NUMBER OF IMPACT/NODE . . . . ',i5/)
1125 1548 FORMAT(
1126 . ' BOUND. COND. DELETED AFTER IMPACT . . . . . IN X DIR ',i1/,
1127 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
1128 . ' Z DIR ',i1/,
1129 . ' STIFFNESS FACTOR. . . . . . . . . . . . . . ',1pg20.13/,
1130 . ' STIFFNESS FORMULATION. . . . . . . . . . . ',i4/,
1131 .' 2,3,4,5 : STIFFNESS IS COMPUTED FROM STIFFNESS ON MAIN SIDE'/,
1132 .' AND STIFFNESS AT SECONDARY NODES'/,
1133 .' 1000 : STIFFNESS IS COMPUTED FROM STIFFNESS ON MAIN SIDE'/,
1134 . ' MINIMUM STIFFNESS. . . . . . . . . . . . . ',1pg20.13/,
1135 . ' MAXIMUM STIFFNESS. . . . . . . . . . . . . ',1pg20.13/,
1136 . ' FRICTION FACTOR . . . . . . . . . . . . . . ',1pg20.13/,
1137 . ' VARIABLE GAP FLAG . . . . . . . . . . . . . ',i5/,
1138 . ' MINIMUM GAP . . . . . . . . . . . . . . . . ',1pg20.13/,
1139 . ' MAXIMUM GAP (= 0. <=> NO MAXIMUM GAP) . . . ',1pg20.13/,
1140 . ' %MESHSIZE TAKEN INTO ACCOUNT FOR '/,
1141 . ' CALCULATION OF MAXIMUM GAP(IGAP = 3). . . . ',1pg20.13/,
1142 . ' FLAGREMNODE : NOT CONSIDER NEIGHBORING '/,
1143 . ' NODES IN CASE OF ELEMENT SIZE < GAP VALUE . ',i5/,
1144 . ' DE-ACTIVATION FLAG IF CONFLICT W/ TYPE2 . . ',i10/,
1145 . ' GAP SCALE FACTOR. . . . . . . . . . . . . . ',1pg20.13/,
1146 . ' START TIME. . . . . . . . . . . . . . . . . ',1pg20.13/,
1147 . ' STOP TIME . . . . . . . . . . . . . . . . . ',1pg20.13/,
1148 . ' BUCKET FACTOR . . . . . . . . . . . . . . . ',1pg20.13/,
1149 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . . ',i10/,
1150 . ' MAXIMUM INITIAL PENETRATION FACTOR. . . . . ',1pg20.13/,
1151 . ' CRITICAL DAMPING FACTOR . . . . . . . . . . ',1pg20.13/,
1152 . ' FRICTION CRITICAL DAMPING FACTOR. . . . . . ',1pg20.13/,
1153 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . . ',i5/,
1154 . ' FORMULATION LEVEL . . . . . . . . . . . . . ',i5/,
1155 . ' MEAN POSSIBLE NUMBER OF IMPACT/NODE . . . . ',i5/)
1156 1507 FORMAT(
1157 . ' BOUND. COND. DELETED AFTER IMPACT . . . . . IN X DIR ',i1/,
1158 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
1159 . ' Z DIR ',i1/,
1160 . ' STIFFNESS FACTOR. . . . . . . . . . . . . . ',1pg20.13/,
1161 . ' VARIABLE GAP FLAG . . . . . . . . . . . . . ',i5/,
1162 . ' MINIMUM GAP . . . . . . . . . . . . . . . . ',1pg20.13/,
1163 . ' %MESHSIZE TAKEN INTO ACCOUNT FOR '/,
1164 . ' CALCULATION OF MAXIMUM GAP(IGAP = 3). . . . ',1pg20.13/,
1165 . ' FLAGREMNODE : NOT CONSIDER NEIGHBORING '/,
1166 . ' NODES IN CASE OF ELEMENT SIZE < GAP VALUE . ',i5/,
1167 . ' DE-ACTIVATION FLAG IF CONFLICT W/ TYPE2 . . ',i10/,
1168 . ' START TIME/STOP TIME ACTIVATED BY SENSOR ID ',i10/,
1169 . ' BUCKET FACTOR . . . . . . . . . . . . . . . ',1pg20.13/,
1170 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . . ',i10/,
1171 . ' MAXIMUM INITIAL PENETRATION FACTOR. . . . . ',1pg20.13/,
1172 . ' CRITICAL DAMPING FACTOR . . . . . . . . . . ',1pg20.13/,
1173 . ' FRICTION CRITICAL DAMPING FACTOR. . . . . . ',1pg20.13/,
1174 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . . ',i5/,
1175 . ' FORMULATION LEVEL . . . . . . . . . . . . . ',i5/,
1176 . ' MEAN POSSIBLE NUMBER OF IMPACT/NODE . . . . ',i5/)
1177 1594 FORMAT(
1178 . ' BOUND. COND. DELETED AFTER IMPACT . . . . . IN X DIR ',i1/,
1179 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
1180 . ' Z DIR ',i1/,
1181 . ' STIFFNESS FACTOR. . . . . . . . . . . . . . ',1pg20.13/,
1182 . ' VARIABLE GAP FLAG . . . . . . . . . . . . . ',i5/,
1183 . ' MINIMUM GAP . . . . . . . . . . . . . . . . ',1pg20.13/,
1184 . ' %MESHSIZE TAKEN INTO ACCOUNT FOR '/,
1185 . ' CALCULATION OF MAXIMUM GAP(IGAP = 3). . . . ',1pg20.13/,
1186 . ' FLAGREMNODE : NOT CONSIDER NEIGHBORING '/,
1187 . ' NODES IN CASE OF ELEMENT SIZE < GAP VALUE . ',i5/,
1188 . ' DE-ACTIVATION FLAG IF CONFLICT W/ TYPE2 . . ',i10/,
1189 . ' START TIME. . . . . . . . . . . . . . . . . ',1pg20.13/,
1190 . ' STOP TIME . . . . . . . . . . . . . . . . . ',1pg20.13/,
1191 . ' BUCKET FACTOR . . . . . . . . . . . . . . . ',1pg20.13/,
1192 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . . ',i10/,
1193 . ' MAXIMUM INITIAL PENETRATION FACTOR. . . . . ',1pg20.13/,
1194 . ' CRITICAL DAMPING FACTOR . . . . . . . . . . ',1pg20.13/,
1195 . ' FRICTION CRITICAL DAMPING FACTOR. . . . . . ',1pg20.13/,
1196 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . . ',i5/,
1197 . ' FORMULATION LEVEL . . . . . . . . . . . . . ',i5/,
1198 . ' MEAN POSSIBLE NUMBER OF IMPACT/NODE . . . . ',i5/)
1199 1517 FORMAT(
1200 . ' BOUND. COND. DELETED AFTER IMPACT . . . . . IN X DIR ',i1/,
1201 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
1202 . ' Z DIR ',i1/,
1203 . ' CONSTANT STIFFNESS. . . . . . . . . . . . . ',1pg20.13/,
1204 . ' VARIABLE GAP FLAG . . . . . . . . . . . . . ',i5/,
1205 . ' MINIMUM GAP . . . . . . . . . . . . . . . . ',1pg20.13/,
1206 . ' %MESHSIZE TAKEN INTO ACCOUNT FOR '/,
1207 . ' CALCULATION OF MAXIMUM GAP(IGAP = 3). . . . ',1pg20.13/,
1208 . ' FLAGREMNODE : NOT CONSIDER NEIGHBORING '/,
1209 . ' NODES IN CASE OF ELEMENT SIZE < GAP VALUE . ',i5/,
1210 . ' DE-ACTIVATION FLAG IF CONFLICT W/ TYPE2 . . ',i10/,
1211 . ' START TIME/STOP TIME ACTIVATED BY SENSOR ID ',i10/,
1212 . ' BUCKET FACTOR . . . . . . . . . . . . . . . ',1pg20.13/,
1213 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . . ',i10/,
1214 . ' MAXIMUM INITIAL PENETRATION FACTOR. . . . . ',1pg20.13/,
1215 . ' CRITICAL DAMPING FACTOR . . . . . . . . . . ',1pg20.13/,
1216 . ' FRICTION CRITICAL DAMPING FACTOR. . . . . . ',1pg20.13/,
1217 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . . ',i5/,
1218 . ' FORMULATION LEVEL . . . . . . . . . . . . . ',i5/,
1219 . ' MEAN POSSIBLE NUMBER OF IMPACT/NODE . . . . ',i5/)
1220 1595 FORMAT(
1221 . ' BOUND. COND. DELETED AFTER IMPACT . . . . . IN X DIR ',i1/,
1222 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
1223 . ' Z DIR ',i1/,
1224 . ' CONSTANT STIFFNESS. . . . . . . . . . . . . ',1pg20.13/,
1225 . ' VARIABLE GAP FLAG . . . . . . . . . . . . . ',i5/,
1226 . ' MINIMUM GAP . . . . . . . . . . . . . . . . ',1pg20.13/,
1227 . ' %MESHSIZE TAKEN INTO ACCOUNT FOR '/,
1228 . ' CALCULATION OF MAXIMUM GAP(IGAP = 3). . . . ',1pg20.13/,
1229 . ' FLAGREMNODE : NOT CONSIDER NEIGHBORING '/,
1230 . ' NODES IN CASE OF ELEMENT SIZE < GAP VALUE . ',i5/,
1231 . ' DE-ACTIVATION FLAG IF CONFLICT W/ TYPE2 . . ',i10/,
1232 . ' START TIME. . . . . . . . . . . . . . . . . ',1pg20.13/,
1233 . ' STOP TIME . . . . . . . . . . . . . . . . . ',1pg20.13/,
1234 . ' BUCKET FACTOR . . . . . . . . . . . . . . . ',1pg20.13/,
1235 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . . ',i10/,
1236 . ' MAXIMUM INITIAL PENETRATION FACTOR. . . . . ',1pg20.13/,
1237 . ' CRITICAL DAMPING FACTOR . . . . . . . . . . ',1pg20.13/,
1238 . ' FRICTION CRITICAL DAMPING FACTOR. . . . . . ',1pg20.13/,
1239 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . . ',i5/,
1240 . ' FORMULATION LEVEL . . . . . . . . . . . . . ',i5/,
1241 . ' MEAN POSSIBLE NUMBER OF IMPACT/NODE . . . . ',i5/)
1242
1243 1549 FORMAT(//
1244 . ' TYPE==7 PARALLEL/AUTO IMPACTING ' //)
1245 1550 FORMAT(//
1246 . ' TYPE==19 PARALLEL/AUTO IMPACTING ' //)
1247 1577 FORMAT(
1248 . ' MINIMUM TIME STEP . . . . . . . . . . . . ',1pg20.13/)
1249C
1250 5030 FORMAT(/
1251 . ' INTERFACE FRICTION MODEL. . . . . . . . . ',i10)
1252C
1253 1557 FORMAT(
1254 .' NUMBER OF ELEMENTS WITHIN A 90 DEGREES FILLET ',i5/,
1255 .' --------------------------------------------- '/,
1256 .' CRITERIA FOR REFINEMENT DUE TO PENETRATION : '/,
1257 .' ------------------------------------------ '/,
1258 .' MINIMUM PERCENTAGE OF PENETRATION ',
1259 . 1pg20.13/,
1260 .' MAXIMUM ANGLE ON MAIN SIDE AT CONTACT LOCATION ',
1261 . 1pg20.13//)
1262 2500 FORMAT(//
1263 . ' TYPE==7 thermal interface ' //,
1264 . ' Heat conduction per surface unit. . . . . ',1pg20.13/,
1265 . ' Interface temperature . . . . . . . . . . ',1pg20.13/,
1266 . ' Radiation factor . . . . . . . . . . . . . ',1pg20.13/,
1267 . ' Maximum distance for radiation computation.',1pg20.13/,
1268 . ' FORMULATION CHOICE : . . . . . . . . . . . . ',i10,/,
1269 . ' 0 : heat transfer between shells(SECONDARY side)',/,
1270 . ' and constant temperature in interface',/,
1271 . ' 1 : heat Exchange between pieces in contact',/,
1272 . ' Frictional heat transfer on SECONDARY surface . ',1pg20.13/,
1273 . ' Frictional heat transfer on MAIN surface. ',1pg20.13/)
12742503 FORMAT(//
1275 . ' TYPE==7 thermal interface ' //,
1276 . ' Function for thermal heat exchange coefficient wrt contact pressure',i10/,
1277 . ' abscissa scale factor on ifuntck. . . . . ',1PG20.13/,
1278 . ' ordinate scale factor on ifuntck . . . . ',1PG20.13/,
1279 . ' Interface temperature . . . . . . . . . . ',1PG20.13/,
1280 . ' radiation factor . . . . . . . . . . . . . ',1PG20.13/,
1281 . ' maximum distance for radiation computation.',1PG20.13/,
1282 . ' formulation choice : . . . . . . . . . . . . ',I10,/,
1283 . ' 0 : heat transfer between shells(secondary side)',/,
1284 . ' and constant temperature in interface',/,
1285 . ' 1 : heat Exchange between pieces in contact',/,
1286 . ' Frictional heat transfer on SECONDARY surface . ',1pg20.13/,
1287 . ' Frictional heat transfer on MAIN surface. ',1pg20.13/)
1288 1551 FORMAT(
1289 . ' EDGES SELECTION FLAG . . . . . . . . . . . ',i5/,
1290 . ' EDGE TO EDGE GAP SCALE FACTOR. . . . . . . ',1pg20.13/)
1291 1552 FORMAT(
1292 . ' EDGES SELECTION FLAG . . . . . . . . . . . ',i5/,
1293 . ' EDGE TO EDGE GAP SCALE FACTOR. . . . . . . ',1pg20.13/,
1294 . ' CONSTANT GAP FOR EDGE TO EDGE CONTACT . . .',1pg20.13/,
1295 . ' VARIABLE GAP FOR NODE TO SURFACE CONTACT (IGAP=2)',/)
1296 END
#define my_real
Definition cppsort.cpp:32
subroutine definter(key, ival, flag, iprint, ityp, def_inter)
Definition definter.F:46
#define alpha
Definition eval.h:35
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_type07(ipari, stfac, frigap, noint, ni, igrnod, igrsurf, xfiltr, fric_p, nom_opt, def_inter, npc1, sensors, unitab, lsubmodel, titr, nom_optfric, intbuf_fric_tab, npc, tf, id_type19, npari, nparir, snpc, snpc1, lnopt1, npts, itherm_fe, intheat)
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
for(i8=*sizetab-1;i8 >=0;i8--)
integer, parameter nchartitle
integer, parameter ncharkey
integer nsubmod
subroutine radiation(ibcr, fradia, npc, tf, x, temp, nsensor, sensor_tab, fthe, iad, fthesky, python, glob_therm)
Definition radiation.F:38
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