OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_inter_lagdt_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_lagdt_type07 ../starter/source/interfaces/int07/hm_read_inter_lagdt_type07.F
25!||--- called by ------------------------------------------------------
26!|| hm_read_interfaces ../starter/source/interfaces/reader/hm_read_interfaces.f
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!|| definter ../starter/source/interfaces/interf1/definter.f
30!|| fretitl ../starter/source/starter/freform.F
31!|| hm_get_floatv ../starter/source/devtools/hm_reader/hm_get_floatv.F
32!|| hm_get_intv ../starter/source/devtools/hm_reader/hm_get_intv.F
33!|| ngr2usr ../starter/source/system/nintrr.F
34!||--- uses -----------------------------------------------------
35!|| message_mod ../starter/share/message_module/message_mod.F
36!|| submodel_mod ../starter/share/modules1/submodel_mod.F
37!||====================================================================
39 1 IPARI ,STFAC ,FRIGAP ,XFILTR ,FRIC_P ,
40 2 IGRNOD ,IGRSURF ,ILAGM ,UNITAB ,NI ,
41 4 NOM_OPT ,TITR ,DEF_INTER ,NOINT ,LSUBMODEL,
42 5 NPARI ,NPARIR )
43C-----------------------------------------------
44C M o d u l e s
45C-----------------------------------------------
46 USE unitab_mod
47 USE message_mod
48 USE groupdef_mod
51C-----------------------------------------------
52C I m p l i c i t T y p e s
53C-----------------------------------------------
54#include "implicit_f.inc"
55C-----------------------------------------------
56C C o m m o n B l o c k s
57C-----------------------------------------------
58#include "scr17_c.inc"
59#include "sphcom.inc"
60C-----------------------------------------------
61C D u m m y A r g u m e n t s
62C-----------------------------------------------
63 INTEGER,INTENT(IN) :: NPARI, NPARIR !< array sizes IPARI and FRIGAP
64 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
65 TYPE(SUBMODEL_DATA) LSUBMODEL(NSUBMOD)
66 INTEGER NOM_OPT(LNOPT1,*)
67 INTEGER ISU1,ISU2,ILAGM,NI, NOINT
68 INTEGER IPARI(NPARI),DEF_INTER(100)
69 my_real stfac,xfiltr
70 my_real frigap(nparir),fric_p(10)
71 CHARACTER(LEN=NCHARTITLE) :: TITR
72C-----------------------------------------------
73 TYPE (GROUP_) ,TARGET, DIMENSION(NGRNOD) :: IGRNOD
74 TYPE (SURF_) ,TARGET , DIMENSION(NSURF) :: IGRSURF
75C-----------------------------------------------
76C C o m m o n B l o c k s
77C-----------------------------------------------
78#include "scr06_c.inc"
79#include "com01_c.inc"
80#include "com04_c.inc"
81#include "units_c.inc"
82#include "scr12_c.inc"
83C-----------------------------------------------
84C L o c a l V a r i a b l e s
85C-----------------------------------------------
86 INTEGER I,IBC1, IBC2, IBC3, NTYP,IDELKEEP,
87 . INACTI, IBC1M, IBC2M, IBC3M, IGSTI, IVIS2,
88 . IS1, IS2, IGAP,MULTIMP,MFROT,IFQ,
89 . IBAG,IDEL7N,MODFR,IADM,IFORM,IASSIGN,FIELD6,IPRINT
91 . fric,gap,startt,bumult,stopt,c1,c2,c3,c4,c5,c6,
92 . alpha,gapscale,gapmax,stmin,stmax,
93 . visc,viscf
94!
95 INTEGER, DIMENSION(:), POINTER :: INGR2USR
96 CHARACTER(LEN=NCHARKEY) :: KEY1
97C-----------------------------------------------
98C E x t e r n a l F u n c t i o n s
99C-----------------------------------------------
100 INTEGER NGR2USR
101 LOGICAL IS_AVAILABLE
102
103CC=======================================================================
104C READING Automatic Penalty Lagrange INTERFACES /INTER/LAGDT/TYPE7
105C=======================================================================
106
107C Initializations
108 is1=0
109 is2=0
110 ibc1=0
111 ibc2=0
112 ibc3=0
113 ibc1m=0
114 ibc2m=0
115 ibc3m=0
116 mfrot=0
117 ifq=0
118 ibag=0
119 igsti = 0
120 ivis2 = 0
121C
122 iadm =0
123C
124 stopt=ep30
125 inacti = 0
126 viscf = zero
127C
128 fric = zero
129 gap = zero
130 gapscale = zero
131 startt = zero
132 visc = zero
133 xfiltr = zero
134 DO i = 1, 10
135 fric_p(i) = zero
136 ENDDO
137 idel7n = 0
138 idelkeep=0
139C
140 c1=zero
141 c2=zero
142 c3=zero
143 c4=zero
144 c5=zero
145 c6=zero
146C
147 iform = 0
148C
149 gapscale = zero
150 iassign = 1
151C
152C
153C---------------------------------
154C Automatic Penalty Lagrange
155C---------------------------------
156 ilagm = 2
157 ipari(33) = max(0,ilagm)
158 nom_opt(1,ni)=noint
159 ntyp = 7
160 ipari(7)=ntyp
161 ipari(15)=noint
162
163C----PRINT OUT Title + NOINT --------------------------------
164 WRITE(iout,1000) noint,trim(titr)
165C---------------------------------
166 CALL fretitl(titr,nom_opt(lnopt1-ltitr+1,ni),ltitr)
167C---------------------------------
168C Reading Input INTER Card
169C---------------------------------
170C
171 is_available = .false.
172C--------------------------------------------------
173C EXTRACT DATAS (INTEGER VALUES)
174C--------------------------------------------------
175
176 CALL hm_get_intv('secondaryentityids',isu1,is_available,lsubmodel)
177 CALL hm_get_intv('mainentityids',isu2,is_available,lsubmodel)
178 CALL hm_get_intv('Istf',igsti,is_available,lsubmodel)
179 CALL hm_get_intv('Igap',igap,is_available,lsubmodel)
180 CALL hm_get_intv('Multimp',field6,is_available,lsubmodel)
181 CALL hm_get_intv('Ibag',ibag,is_available,lsubmodel)
182 CALL hm_get_intv('Idel7',idel7n,is_available,lsubmodel)
183C
184 CALL hm_get_intv('Deactivate_X_BC',ibc1,is_available,lsubmodel)
185 CALL hm_get_intv('Deactivate_Y_BC',ibc2,is_available,lsubmodel)
186 CALL hm_get_intv('Deactivate_Z_BC',ibc3,is_available,lsubmodel)
187 CALL hm_get_intv('INACTIV',inacti,is_available,lsubmodel)
188C
189 CALL hm_get_intv('Ifric',mfrot,is_available,lsubmodel)
190 CALL hm_get_intv('Ifiltr',ifq,is_available,lsubmodel)
191 CALL hm_get_intv('IFORM',modfr,is_available,lsubmodel)
192C
193C--------------------------------------------------
194C EXTRACT DATAS (REAL VALUES)
195C--------------------------------------------------
196 CALL hm_get_floatv('GAPSCALE',gapscale,is_available,lsubmodel,unitab)
197 CALL hm_get_floatv('GAPMAX',gapmax,is_available,lsubmodel,unitab)
198C
199 CALL hm_get_floatv('STMIN',stmin,is_available,lsubmodel,unitab)
200 CALL hm_get_floatv('STMAX',stmax,is_available,lsubmodel,unitab)
201C
202 CALL hm_get_floatv('TYPE7_SCALE',stfac,is_available,lsubmodel,unitab)
203 CALL hm_get_floatv('FRIC',fric,is_available,lsubmodel,unitab)
204 CALL hm_get_floatv('GAP',gap,is_available,lsubmodel,unitab)
205 CALL hm_get_floatv('TSTART',startt,is_available,lsubmodel,unitab)
206 CALL hm_get_floatv('TSTOP',stopt,is_available,lsubmodel,unitab)
207C
208 CALL hm_get_floatv('STIFF_DC',visc,is_available,lsubmodel,unitab)
209 CALL hm_get_floatv('FRIC_DC',viscf,is_available,lsubmodel,unitab)
210 CALL hm_get_floatv('SORT_FACT',bumult,is_available,lsubmodel,unitab)
211C
212 CALL hm_get_floatv('Xfreq',alpha,is_available,lsubmodel,unitab)
213C
214 IF (mfrot>0) THEN
215 CALL hm_get_floatv('C1',c1,is_available,lsubmodel,unitab)
216 CALL hm_get_floatv('C2',c2,is_available,lsubmodel,unitab)
217 CALL hm_get_floatv('C3',c3,is_available,lsubmodel,unitab)
218 CALL hm_get_floatv('C4',c4,is_available,lsubmodel,unitab)
219 CALL hm_get_floatv('C5',c5,is_available,lsubmodel,unitab)
220 ENDIF
221 IF (mfrot>1) THEN
222 CALL hm_get_floatv('C6',c6,is_available,lsubmodel,unitab)
223 ENDIF
224
225C
226C--------------------------------------------------
227C DEFAULT VALUES DEFINITION
228C--------------------------------------------------
229C
230 iprint = 0
231C
232 key1='IGSTI'
233 CALL definter(key1 ,igsti ,iassign ,iprint ,
234 . ntyp ,def_inter)
235C
236 key1='IGAP'
237 CALL definter(key1 ,igap ,iassign ,iprint ,
238 . ntyp ,def_inter)
239C
240 key1='IBAG'
241 CALL definter(key1 ,ibag ,iassign ,iprint ,
242 . ntyp ,def_inter)
243C
244 key1='IDEL'
245 CALL definter(key1 ,idel7n ,iassign ,iprint ,
246 . ntyp ,def_inter)
247C
248 key1='INACTI'
249 CALL definter(key1 ,inacti,iassign ,iprint ,
250 . ntyp ,def_inter)
251C
252 key1='MODFR'
253 CALL definter(key1 ,modfr,iassign ,iprint ,
254 . ntyp ,def_inter)
255C------------------------------------------------------------
256C Card1
257C------------------------------------------------------------
258C
259C-------*CHECKS*-------------------
260 IF(isu2==0) THEN
261 CALL ancmsg(msgid=119,
262 . msgtype=msgerror,
263 . anmode=aninfo,
264 . i1=noint,
265 . c1=titr)
266 ENDIF
267!
268 IF(isu1==0)THEN
269 isu1=isu2
270 is1 =1
271 ENDIF
272 is2=1
273 ingr2usr => igrsurf(1:nsurf)%ID
274 isu2=ngr2usr(isu2,ingr2usr,nsurf)
275 IF(isu1/=0)THEN
276 ingr2usr => igrnod(1:ngrnod)%ID
277 isu1=ngr2usr(isu1,ingr2usr,ngrnod)
278 is1 =2
279 ENDIF
280
281C-------*STORAGE IN IPARI AND FRIGAP *-------------------
282 ipari(45)=isu1
283 ipari(46)=isu2
284 ipari(13)=is1*10+is2
285 ipari(34)=igsti
286 ipari(21)=igap
287
288C------------------------------------------------------------
289C Card2
290C------------------------------------------------------------
291
292C-------*CHECKS*-------------------
293 IF(igap>=2)THEN
294 IF(gapscale==zero)gapscale=one
295 frigap(13) = gapscale
296 frigap(16) = gapmax
297 END IF
298 IF(frigap(16)==zero)THEN
299 gapmax=ep30
300 frigap(16)=gapmax
301 END IF
302C------------------------------------------------------------
303C Card3
304C------------------------------------------------------------
305 IF(igsti>1)THEN
306 i7stifs=1
307 IF(stmax==zero)stmax=ep30
308 frigap(17) = stmin
309 frigap(18) = stmax
310 ELSE
311 stmin = zero
312 stmax = ep30
313 END IF
314C------------------------------------------------------------
315C Card4
316C------------------------------------------------------------
317
318 frigap(2)=gap
319 IF (stopt == zero) stopt = ep30
320 frigap(3)=startt
321 frigap(11)=stopt
322C------------------------------------------------------------
323C Card5
324C------------------------------------------------------------
325
326 IF (stfac == zero ) stfac = one
327 IF(igsti==1)stfac=-stfac
328
329 IF(fric/=zero.AND.viscf==zero)viscf=one
330 IF(visc==zero)THEN
331 IF(ivis2==5)THEN
332 visc=one
333 ELSE
334 visc=fiveem2
335 ENDIF
336 ENDIF
337 IF (idel7n < 0) THEN
338 idelkeep=1
339 idel7n=abs(idel7n)
340 END IF
341 ipari(61)=idelkeep
342 IF (idel7n>2.OR.n2d==1) idel7n = 0
343C
344 IF(bumult==zero) THEN
345 bumult = bmul0
346C BMULT have to be increased for case of big models
347 IF(numnod > 2500000) THEN
348 bumult = bmul0*two
349 ELSEIF(numnod > 1500000) THEN
350 bumult = bmul0*three/two
351 END IF
352 END IF
353C
354
355 ipari(22)=inacti
356 ipari(17)=idel7n
357 ipari(14)=ivis2
358 ipari(11)=4*ibc1+2*ibc2+ibc3 + 8 *(4*ibc1m+2*ibc2m+ibc3m)
359 frigap(14)=visc
360 frigap(4)=bumult
361C------------------------------------------------------------
362C Card6
363C------------------------------------------------------------
364C
365 IF (mfrot/=0.AND.viscf==0.0) viscf=one
366 IF (alpha==0.) ifq = 0
367C
368 IF (modfr==0) modfr = 1
369 IF (modfr==2.AND.ifq<10) ifq = ifq + 10
370 IF (modfr==2)viscf=zero
371C
372 IF (ifq>0) THEN
373 IF (ifq==10) xfiltr = one
374 IF (mod(ifq,10)==1) xfiltr = alpha
375 IF (mod(ifq,10)==2) xfiltr=four*atan2(one,zero) / alpha
376 IF (mod(ifq,10)==3) xfiltr=four*atan2(one,zero) * alpha
377 IF (xfiltr<zero) THEN
378 CALL ancmsg(msgid=554,
379 . msgtype=msgerror,
380 . anmode=aninfo_blind_1,
381 . i1=noint,
382 . c1=titr,
383 . r1=alpha)
384 ELSEIF (xfiltr>1.AND.mod(ifq,10)<=2) THEN
385 CALL ancmsg(msgid=554,
386 . msgtype=msgerror,
387 . anmode=aninfo_blind_1,
388 . i1=noint,
389 . c1=titr,
390 . r1=alpha)
391 ENDIF
392 ELSE
393 xfiltr = zero
394 ENDIF
395C------------------------------------------------------------
396C Card7 +8 : friction coefficients
397C------------------------------------------------------------
398C
399 ipari(30)=mfrot
400 ipari(31) = ifq
401 frigap(1)=fric
402 frigap(15)=viscf**2
403 fric_p(1) = c1
404 fric_p(2) = c2
405 fric_p(3) = c3
406 fric_p(4) = c4
407 fric_p(5) = c5
408 fric_p(6) = c6
409
410 IF (ibag/=0.AND.nvolu==0.AND.ialelag==0.AND.nsphsol==0) THEN
411 CALL ancmsg(msgid=614,
412 . msgtype=msgwarning,
413 . anmode=aninfo_blind_2,
414 . i1=noint,
415 . c1=titr)
416 ibag=0
417 ENDIF
418 ipari(32) = ibag
419 intbag = max(intbag,ibag)
420C
421 kcontact =max(kcontact,ibag,iadm)
422C
423 multimp = 4
424 ipari(23)=multimp
425C
426C FRIGAP(10) is initialized but used only in engine for storing number of couples candidates
427 frigap(10)=float(0)
428
429C
430C------------------------------------------------------------
431C PRINTOUT
432C------------------------------------------------------------
433C
434 iprint = 1
435
436C
437 WRITE(iout,1549)
438C
439 IF( (igap>=2 .AND. igap/=1000).
440 . or.igsti>1 .AND. igsti/=1000)THEN
441 IF(igsti==1)THEN
442 WRITE(iout,1538)ibc1,ibc2,ibc3,ibc1m,ibc2m,ibc3m,
443 . stfac,fric,igap,gap,gapmax,
444 . gapscale,startt,stopt,
445 . bumult,inacti,visc,viscf,ipari(14),
446 . ipari(20),multimp
447 ELSE
448 WRITE(iout,1548)ibc1,ibc2,ibc3,ibc1m,ibc2m,ibc3m,
449 . stfac,igsti,stmin,stmax,
450 . fric,igap,gap,gapmax,
451 . gapscale,startt,stopt,
452 . bumult,inacti,visc,viscf,ipari(14),
453 . ipari(20),multimp
454 ENDIF
455 ELSEIF(stfac>=zero)THEN
456 WRITE(iout,1594)ibc1,ibc2,ibc3,ibc1m,ibc2m,ibc3m,
457 . stfac,igap,gap,startt,stopt,
458 . bumult,inacti,visc,viscf,ipari(14),
459 . ipari(20),multimp
460 ELSE
461 WRITE(iout,1595)ibc1,ibc2,ibc3,ibc1m,ibc2m,ibc3m,
462 . -stfac,igap,gap,
463 . startt,stopt,
464 . bumult,inacti,visc,viscf,ipari(14),
465 . ipari(20),multimp
466 WRITE(iout,'(A)')
467 . ' LAGRANGE MULTIPLIER WITH /DT/INTER/LAG. . '
468 ENDIF
469C
470 IF(idel7n/=0) THEN
471 WRITE(iout,'(A,A,I5/)')
472 . ' DELETION FLAG ON FAILURE OF MAIN ELEMENT',
473 . ' (1:YES-ALL/2:YES-ANY) : ',idel7n
474 IF(idelkeep == 1)THEN
475 WRITE(iout,'(A)')
476 . ' IDEL: DO NOT REMOVE NON-CONNECTED NODES FROM SECONDARY SURFACE'
477 ENDIF
478 ENDIF
479
480 IF(ifq>=10) THEN
481 WRITE(iout,1518)
482 ELSE
483 WRITE(iout,1519)
484 ENDIF
485 WRITE(iout,1520)mod(ifq,10), xfiltr
486 IF(mfrot==0)THEN
487 WRITE(iout,1524) fric
488 ELSEIF(mfrot==1)THEN
489 WRITE(iout,1515)fric_p(1),fric_p(2),fric_p(3),
490 . fric_p(4),fric_p(5)
491 ELSEIF(mfrot==2)THEN
492 WRITE(iout,1522)fric,fric_p(1),fric_p(2),fric_p(3),
493 . fric_p(4),fric_p(5),fric_p(6)
494 ELSEIF(mfrot==3)THEN
495 WRITE(iout,1523)fric_p(1),fric_p(2),fric_p(3),
496 . fric_p(4),fric_p(5),fric_p(6)
497 ENDIF
498
499
500 IF(ibag/=1000) THEN
501 WRITE(iout,*)' AIRBAG POROSITY COUPLING ON '
502 ENDIF
503
504C--------------------------------------------------------------
505 IF(is1==0)THEN
506 WRITE(iout,'(6X,A)')'NO SECONDARY SURFACE INPUT'
507 ELSEIF(is1==1)THEN
508 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY SEGMENTS'
509 ELSEIF(is1==2)THEN
510 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY NODES'
511 ELSEIF(is1==3)THEN
512 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY SEGMENTS'
513 ELSEIF(is1==4 )THEN
514 WRITE(iout,'(6X,A)')'SECONDARY SIDE INPUT BY BRICKS'
515 ELSEIF(is1==5 )THEN
516 WRITE(iout,'(6X,A)')'SECONDARY SIDE INPUT BY SOLID ELEMENTS'
517 ENDIF
518 IF(is2==0)THEN
519 WRITE(iout,'(6X,A)')'NO MAIN SURFACE INPUT'
520 ELSEIF(is2==1)THEN
521 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY SEGMENTS'
522 ELSEIF(is2==2)THEN
523 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY NODES'
524 ELSEIF(is2==3)THEN
525 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY SEGMENTS'
526 ELSEIF(is2==4)THEN
527 WRITE(iout,'(6X,A)')'MAIN SURFACE REFERS ',
528 . 'TO HYPER-ELLIPSOIDAL SURFACE'
529 ENDIF
530C
531C--------------------------------------------------------------
532 1000 FORMAT(/1x,' INTERFACE NUMBER :',i10,1x,a)
533C------------
534 RETURN
535
536 1549 FORMAT(//
537 . ' TYPE==7 PARALLEL/AUTO IMPACTING ' //)
538
539 1538 FORMAT(
540 . ' BOUND. COND. DELETED AFTER IMPACT IN X DIR ',i1/,
541 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
542 . ' Z DIR ',i1/,
543 . ' BOUND. COND. DELETED AFTER IMPACT IN X DIR ',i1/,
544 . ' MAIN NODE (1:YES 0:NO) Y DIR ',i1/,
545 . ' Z DIR ',i1/,
546 . ' CONSTANT STIFFNESS. . . . . . . . . . . . ',1pg20.13/,
547 . ' FRICTION FACTOR . . . . . . . . . . . . . ',1pg20.13/,
548 . ' VARIABLE GAP FLAG . . . . . . . . . . . . ',i5/,
549 . ' MINIMUM GAP . . . . . . . . . . . . . . . ',1pg20.13/,
550 . ' MAXIMUM GAP (= 0. <=> NO MAXIMUM GAP) . . ',1pg20.13/,
551 . ' GAP SCALE FACTOR. . . . . . . . . . . . . ',1pg20.13/,
552 . ' START TIME. . . . . . . . . . . . . . . . ',1pg20.13/,
553 . ' STOP TIME . . . . . . . . . . . . . . . . ',1pg20.13/,
554 . ' BUCKET FACTOR . . . . . . . . . . . . . . ',1pg20.13/,
555 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . ',i10/,
556 . ' CRITICAL DAMPING FACTOR . . . . . . . . . ',1pg20.13/,
557 . ' FRICTION CRITICAL DAMPING FACTOR. . . . . ',1pg20.13/,
558 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . ',i5/,
559 . ' formulation level . . . . . . . . . . . . ',I5/,
560 . ' mean possible number of impact/node . . . ',I5/)
561
562 1548 FORMAT(
563 . ' bound. cond. deleted after impact in x dir ',I1/,
564 . ' secondary node(1:yes 0:no) y dir ',I1/,
565 . ' z dir ',I1/,
566 . ' bound. cond. deleted after impact in x dir ',I1/,
567 . ' main node(1:yes 0:no) y dir ',I1/,
568 . ' z dir ',I1/,
569 . ' stiffness factor. . . . . . . . . . . . . ',1PG20.13/,
570 . ' stiffness formulation. . . . . . . . . . ',I4/,
571 .' 2,3,4,5 : stiffness is computed from stiffness on main side'/,
572 .' and stiffness at secondary nodes'/,
573 .' 1000 : stiffness is computed from stiffness on main side'/,
574 . ' minimum stiffness. . . . . . . . . . . . ',1PG20.13/,
575 . ' maximum stiffness. . . . . . . . . . . . ',1PG20.13/,
576 . ' friction factor . . . . . . . . . . . . . ',1PG20.13/,
577 . ' variable gap flag . . . . . . . . . . . . ',I5/,
578 . ' minimum gap . . . . . . . . . . . . . . . ',1PG20.13/,
579 . ' maximum gap(= 0. <=> no maximum gap) . . ',1PG20.13/,
580 . ' gap scale factor. . . . . . . . . . . . . ',1PG20.13/,
581 . ' start time. . . . . . . . . . . . . . . . ',1PG20.13/,
582 . ' stop time . . . . . . . . . . . . . . . . ',1PG20.13/,
583 . ' bucket factor . . . . . . . . . . . . . . ',1PG20.13/,
584 . ' de-activation of initial penetrations . . ',I10/,
585 . ' critical damping factor . . . . . . . . . ',1PG20.13/,
586 . ' friction critical damping factor. . . . . ',1PG20.13/,
587 . ' quadratic damping flag. . . . . . . . . . ',I5/,
588 . ' formulation level . . . . . . . . . . . . ',I5/,
589 . ' mean possible number of impact/node . . . ',I5/)
590 1594 FORMAT(
591 . ' bound. cond. deleted after impact in x dir ',I1/,
592 . ' secondary node(1:yes 0:no) y dir ',I1/,
593 . ' z dir ',I1/,
594 . ' bound. cond. deleted after impact in x dir ',I1/,
595 . ' main node(1:yes 0:no) y dir ',I1/,
596 . ' z dir ',I1/,
597 . ' stiffness factor. . . . . . . . . . . . . ',1PG20.13/,
598 . ' variable gap flag . . . . . . . . . . . . ',I5/,
599 . ' minimum gap . . . . . . . . . . . . . . . ',1PG20.13/,
600 . ' start time. . . . . . . . . . . . . . . . ',1PG20.13/,
601 . ' stop time . . . . . . . . . . . . . . . . ',1PG20.13/,
602 . ' bucket factor . . . . . . . . . . . . . . ',1PG20.13/,
603 . ' de-activation of initial penetrations . . ',I10/,
604 . ' critical damping factor . . . . . . . . . ',1PG20.13/,
605 . ' friction critical damping factor. . . . . ',1PG20.13/,
606 . ' quadratic damping flag. . . . . . . . . . ',I5/,
607 . ' formulation level . . . . . . . . . . . . ',I5/,
608 . ' mean possible number of impact/node . . . ',I5/)
609 1595 FORMAT(
610 . ' bound. cond. deleted after impact in x dir ',I1/,
611 . ' secondary node(1:yes 0:no) y dir ',I1/,
612 . ' z dir ',I1/,
613 . ' bound. cond. deleted after impact in x dir ',I1/,
614 . ' main node(1:yes 0:no) y dir ',I1/,
615 . ' z dir ',I1/,
616 . ' constant stiffness. . . . . . . . . . . . ',1PG20.13/,
617 . ' variable gap flag . . . . . . . . . . . . ',I5/,
618 . ' minimum gap . . . . . . . . . . . . . . . ',1PG20.13/,
619 . ' start time. . . . . . . . . . . . . . . . ',1PG20.13/,
620 . ' stop time . . . . . . . . . . . . . . . . ',1PG20.13/,
621 . ' bucket factor . . . . . . . . . . . . . . ',1PG20.13/,
622 . ' de-activation of initial penetrations . . ',I10/,
623 . ' maximal initial penetration factor. . . . ',1PG20.13/,
624 . ' critical damping factor . . . . . . . . . ',1PG20.13/,
625 . ' friction critical damping factor. . . . . ',1PG20.13/,
626 . ' quadratic damping flag. . . . . . . . . . ',I5/,
627 . ' formulation level . . . . . . . . . . . . ',I5/,
628 . ' mean possible number of impact/node . . . ',I5/)
629
630 1518 FORMAT( ' friction formulation: incremental(stiffness) ',
631 . 'formulation')
632 1519 FORMAT( ' friction formulation: total(viscous) ',
633 . 'formulation')
634
635 1515 FORMAT(//
636 . ' friction model 1 (viscous polynomial)'/,
637 . ' mu = muo + c1 p + c2 v + c3 pv + c4 p^2 + c5 v^2'/,
638 . ' c1 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
639 . ' c2 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
640 . ' c3 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
641 . ' c4 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
642 . ' c5 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
643 . ' tangential pressure limit. . .. . . . . .',1PG20.13/)
644 1522 FORMAT(/
645 . ' friction model 2 (darmstad law) :'/,
646 . ' mu = muo+c1*exp(c2*v)*p^2+c3*exp(c4*v)*p+c5*exp(c6*v)'/,
647 . ' Muo. . . . . . . . . . . . . . . . . . . ',1pg20.13/,
648 . ' C1 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
649 . ' C2 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
650 . ' C3 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
651 . ' C4 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
652 . ' C5 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
653 . ' C6 . . . . . . . . . . . . . . . . . . . ',1pg20.13/)
654 1523 FORMAT(/
655 . ' FRICTION MODEL 3 (Renard law) :'/,
656 . ' C1 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
657 . ' C2 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
658 . ' C3 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
659 . ' C4 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
660 . ' C5 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
661 . ' C6 . . . . . . . . . . . . . . . . . . . ',1pg20.13/)
662 1524 FORMAT(/
663 . ' FRICTION MODEL 0 (Coulomb Law) :'/,
664 . ' FRICTION COEFFICIENT . . . . . . . . . ',1pg20.13/)
665
666 1520 FORMAT(
667 . ' FRICTION FILTERING FLAG. . . . . . . . . ',i10/,
668 . ' FILTERING FACTOR . . . . . . . . . . . . ',1pg20.13)
669
670 END
#define my_real
Definition cppsort.cpp:32
subroutine damping(nodft, nodlt, v, vr, a, ar, damp, ms, in, igrnod, dim, itask, weight, tagslv_rby, wfext)
Definition damping.F:882
subroutine definter(key, ival, flag, iprint, ityp, def_inter)
Definition definter.F:46
#define alpha
Definition eval.h:35
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_read_inter_lagdt_type07(ipari, stfac, frigap, xfiltr, fric_p, igrnod, igrsurf, ilagm, unitab, ni, nom_opt, titr, def_inter, noint, lsubmodel, npari, nparir)
subroutine hm_read_interfaces(ipari, frigap, itab, itabm1, igrnod, igrsurf, igrslin, igrbric, igrsh3n, igrtruss, npc, iskn, xfiltr, stfac, fric_p, i2rupt, areasl, unitab, nom_opt, def_inter, npc1, sensors, multi_fvm, nom_optfric, intbuf_fric_tab, lsubmodel, tf, npts, npari, kloadpinter, dgapint, interfaces, sitab, nparir, sitabm1, siskwn, liskn, snpc, snpc1, itherm_fe, intheat)
#define max(a, b)
Definition macros.h:21
integer, parameter nchartitle
integer, parameter ncharkey
integer nsubmod
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
subroutine fretitl(titr, iasc, l)
Definition freform.F:615
program starter
Definition starter.F:39