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!|| usr2sys ../starter/source/system/sysfus.F
35!||--- uses -----------------------------------------------------
36!|| message_mod ../starter/share/message_module/message_mod.F
37!|| submodel_mod ../starter/share/modules1/submodel_mod.F
38!||====================================================================
40 1 IPARI ,STFAC ,FRIGAP ,XFILTR ,FRIC_P ,
41 2 IGRNOD ,IGRSURF ,ILAGM ,UNITAB ,NI ,
42 4 NOM_OPT ,TITR ,DEF_INTER ,NOINT ,LSUBMODEL,
43 5 NPARI ,NPARIR )
44C-----------------------------------------------
45C M o d u l e s
46C-----------------------------------------------
47 USE unitab_mod
48 USE message_mod
49 USE groupdef_mod
52C-----------------------------------------------
53C I m p l i c i t T y p e s
54C-----------------------------------------------
55#include "implicit_f.inc"
56C-----------------------------------------------
57C C o m m o n B l o c k s
58C-----------------------------------------------
59#include "scr17_c.inc"
60#include "sphcom.inc"
61C-----------------------------------------------
62C D u m m y A r g u m e n t s
63C-----------------------------------------------
64 INTEGER,INTENT(IN) :: NPARI, NPARIR !< array sizes IPARI and FRIGAP
65 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
66 TYPE(SUBMODEL_DATA) LSUBMODEL(NSUBMOD)
67 INTEGER NOM_OPT(LNOPT1,*)
68 INTEGER ISU1,ISU2,ILAGM,NI, NOINT
69 INTEGER IPARI(NPARI),DEF_INTER(100)
70 my_real stfac,xfiltr
71 my_real frigap(nparir),fric_p(10)
72 CHARACTER(LEN=NCHARTITLE) :: TITR,TITR1
73C-----------------------------------------------
74 TYPE (GROUP_) ,TARGET, DIMENSION(NGRNOD) :: IGRNOD
75 TYPE (SURF_) ,TARGET , DIMENSION(NSURF) :: IGRSURF
76C-----------------------------------------------
77C C o m m o n B l o c k s
78C-----------------------------------------------
79#include "scr06_c.inc"
80#include "com01_c.inc"
81#include "com04_c.inc"
82#include "units_c.inc"
83#include "scr12_c.inc"
84C-----------------------------------------------
85C L o c a l V a r i a b l e s
86C-----------------------------------------------
87 INTEGER I,J,L,IBC1, IBC2, IBC3, NTYP,IDELKEEP,
88 . INACTI, IBC1M, IBC2M, IBC3M, IGSTI, IVIS2,
89 . IS1, IS2, ISU10,ISU20,ILEV, IGAP,MULTIMP,MFROT,IFQ,
90 . IBAG,IDEL7N,MODFR,IADM,IFORM,IASSIGN,FIELD6,IPRINT
92 . fric,gap,startt,bumult,stopt,c1,c2,c3,c4,c5,c6,
93 . alpha,gapscale,gapmax,stmin,stmax,
94 . visc,viscf
95!
96 INTEGER, DIMENSION(:), POINTER :: INGR2USR
97 CHARACTER(LEN=NCHARKEY) :: KEY1
98C-----------------------------------------------
99C E x t e r n a l F u n c t i o n s
100C-----------------------------------------------
101 INTEGER USR2SYS,SUR2USR,NGR2USR
102 LOGICAL IS_AVAILABLE
103
104CC=======================================================================
105C READING Automatic Penalty Lagrange INTERFACES /INTER/LAGDT/TYPE7
106C=======================================================================
107
108C Initializations
109 is1=0
110 is2=0
111 ibc1=0
112 ibc2=0
113 ibc3=0
114 ibc1m=0
115 ibc2m=0
116 ibc3m=0
117 mfrot=0
118 ifq=0
119 ibag=0
120 igsti = 0
121 ivis2 = 0
122C
123 iadm =0
124C
125 stopt=ep30
126 inacti = 0
127 viscf = zero
128C
129 fric = zero
130 gap = zero
131 gapscale = zero
132 startt = zero
133 visc = zero
134 xfiltr = zero
135 DO i = 1, 10
136 fric_p(i) = zero
137 ENDDO
138 idel7n = 0
139 idelkeep=0
140C
141 c1=zero
142 c2=zero
143 c3=zero
144 c4=zero
145 c5=zero
146 c6=zero
147C
148 iform = 0
149C
150 gapscale = zero
151 iassign = 1
152C
153C
154C---------------------------------
155C Automatic Penalty Lagrange
156C---------------------------------
157 ilagm = 2
158 ipari(33) = max(0,ilagm)
159 nom_opt(1,ni)=noint
160 ntyp = 7
161 ipari(7)=ntyp
162 ipari(15)=noint
163
164C----PRINT OUT Title + NOINT --------------------------------
165 WRITE(iout,1000) noint,trim(titr)
166C---------------------------------
167 CALL fretitl(titr,nom_opt(lnopt1-ltitr+1,ni),ltitr)
168C---------------------------------
169C Reading Input INTER Card
170C---------------------------------
171C
172 is_available = .false.
173C--------------------------------------------------
174C EXTRACT DATAS (INTEGER VALUES)
175C--------------------------------------------------
176
177 CALL hm_get_intv('secondaryentityids',isu1,is_available,lsubmodel)
178 CALL hm_get_intv('mainentityids',isu2,is_available,lsubmodel)
179 CALL hm_get_intv('Istf',igsti,is_available,lsubmodel)
180 CALL hm_get_intv('Igap',igap,is_available,lsubmodel)
181 CALL hm_get_intv('Multimp',field6,is_available,lsubmodel)
182 CALL hm_get_intv('Ibag',ibag,is_available,lsubmodel)
183 CALL hm_get_intv('Idel7',idel7n,is_available,lsubmodel)
184C
185 CALL hm_get_intv('Deactivate_X_BC',ibc1,is_available,lsubmodel)
186 CALL hm_get_intv('Deactivate_Y_BC',ibc2,is_available,lsubmodel)
187 CALL hm_get_intv('Deactivate_Z_BC',ibc3,is_available,lsubmodel)
188 CALL hm_get_intv('INACTIV',inacti,is_available,lsubmodel)
189C
190 CALL hm_get_intv('Ifric',mfrot,is_available,lsubmodel)
191 CALL hm_get_intv('Ifiltr',ifq,is_available,lsubmodel)
192 CALL hm_get_intv('IFORM',modfr,is_available,lsubmodel)
193C
194C--------------------------------------------------
195C EXTRACT DATAS (REAL VALUES)
196C--------------------------------------------------
197 CALL hm_get_floatv('GAPSCALE',gapscale,is_available,lsubmodel,unitab)
198 CALL hm_get_floatv('GAPMAX',gapmax,is_available,lsubmodel,unitab)
199C
200 CALL hm_get_floatv('STMIN',stmin,is_available,lsubmodel,unitab)
201 CALL hm_get_floatv('STMAX',stmax,is_available,lsubmodel,unitab)
202C
203 CALL hm_get_floatv('TYPE7_SCALE',stfac,is_available,lsubmodel,unitab)
204 CALL hm_get_floatv('FRIC',fric,is_available,lsubmodel,unitab)
205 CALL hm_get_floatv('GAP',gap,is_available,lsubmodel,unitab)
206 CALL hm_get_floatv('TSTART',startt,is_available,lsubmodel,unitab)
207 CALL hm_get_floatv('TSTOP',stopt,is_available,lsubmodel,unitab)
208C
209 CALL hm_get_floatv('STIFF_DC',visc,is_available,lsubmodel,unitab)
210 CALL hm_get_floatv('FRIC_DC',viscf,is_available,lsubmodel,unitab)
211 CALL hm_get_floatv('SORT_FACT',bumult,is_available,lsubmodel,unitab)
212C
213 CALL hm_get_floatv('Xfreq',alpha,is_available,lsubmodel,unitab)
214C
215 IF (mfrot>0) THEN
216 CALL hm_get_floatv('C1',c1,is_available,lsubmodel,unitab)
217 CALL hm_get_floatv('C2',c2,is_available,lsubmodel,unitab)
218 CALL hm_get_floatv('C3',c3,is_available,lsubmodel,unitab)
219 CALL hm_get_floatv('C4',c4,is_available,lsubmodel,unitab)
220 CALL hm_get_floatv('C5',c5,is_available,lsubmodel,unitab)
221 ENDIF
222 IF (mfrot>1) THEN
223 CALL hm_get_floatv('C6',c6,is_available,lsubmodel,unitab)
224 ENDIF
225
226C
227C--------------------------------------------------
228C DEFAULT VALUES DEFINITION
229C--------------------------------------------------
230C
231 iprint = 0
232C
233 key1='IGSTI'
234 CALL definter(key1 ,igsti ,iassign ,iprint ,
235 . ntyp ,def_inter)
236C
237 key1='IGAP'
238 CALL definter(key1 ,igap ,iassign ,iprint ,
239 . ntyp ,def_inter)
240C
241 key1='ibag'
242 CALL DEFINTER(KEY1 ,IBAG ,IASSIGN ,IPRINT ,
243 . NTYP ,DEF_INTER)
244C
245 KEY1='idel'
246 CALL DEFINTER(KEY1 ,IDEL7N ,IASSIGN ,IPRINT ,
247 . NTYP ,DEF_INTER)
248C
249 KEY1='inacti'
250 CALL DEFINTER(KEY1 ,INACTI,IASSIGN ,IPRINT ,
251 . NTYP ,DEF_INTER)
252C
253 KEY1='modfr'
254 CALL DEFINTER(KEY1 ,MODFR,IASSIGN ,IPRINT ,
255 . NTYP ,DEF_INTER)
256C------------------------------------------------------------
257C Card1
258C------------------------------------------------------------
259C
260C-------*CHECKS*-------------------
261 IF(ISU2==0) THEN
262 CALL ANCMSG(MSGID=119,
263 . MSGTYPE=MSGERROR,
264 . ANMODE=ANINFO,
265 . I1=NOINT,
266 . C1=TITR)
267 ENDIF
268!
269 IF(ISU1==0)THEN
270 ISU1=ISU2
271 IS1 =1
272 ENDIF
273 IS2=1
274 INGR2USR => IGRSURF(1:NSURF)%ID
275 ISU2=NGR2USR(ISU2,INGR2USR,NSURF)
276 IF(ISU1/=0)THEN
277 INGR2USR => IGRNOD(1:NGRNOD)%ID
278 ISU1=NGR2USR(ISU1,INGR2USR,NGRNOD)
279 IS1 =2
280 ENDIF
281
282C-------*STORAGE IN IPARI AND FRIGAP *-------------------
283 IPARI(45)=ISU1
284 IPARI(46)=ISU2
285 IPARI(13)=IS1*10+IS2
286 IPARI(34)=IGSTI
287 IPARI(21)=IGAP
288
289C------------------------------------------------------------
290C Card2
291C------------------------------------------------------------
292
293C-------*CHECKS*-------------------
294 IF(IGAP>=2)THEN
295 IF(GAPSCALE==ZERO)GAPSCALE=ONE
296 FRIGAP(13) = GAPSCALE
297 FRIGAP(16) = GAPMAX
298 END IF
299 IF(FRIGAP(16)==ZERO)THEN
300 GAPMAX=EP30
301 FRIGAP(16)=GAPMAX
302 END IF
303C------------------------------------------------------------
304C Card3
305C------------------------------------------------------------
306 IF(IGSTI>1)THEN
307 I7STIFS=1
308 IF(STMAX==ZERO)STMAX=EP30
309 FRIGAP(17) = STMIN
310 FRIGAP(18) = STMAX
311 ELSE
312 STMIN = ZERO
313 STMAX = EP30
314 END IF
315C------------------------------------------------------------
316C Card4
317C------------------------------------------------------------
318
319 FRIGAP(2)=GAP
320 IF (STOPT == ZERO) STOPT = EP30
321 FRIGAP(3)=STARTT
322 FRIGAP(11)=STOPT
323C------------------------------------------------------------
324C Card5
325C------------------------------------------------------------
326
327 IF (STFAC == ZERO ) STFAC = ONE
328 IF(IGSTI==1)STFAC=-STFAC
329
330.AND. IF(FRIC/=ZEROVISCF==ZERO)VISCF=ONE
331 IF(VISC==ZERO)THEN
332 IF(IVIS2==5)THEN
333 VISC=ONE
334 ELSE
335 VISC=FIVEEM2
336 ENDIF
337 ENDIF
338 IF (IDEL7N < 0) THEN
339 IDELKEEP=1
340 IDEL7N=ABS(IDEL7N)
341 END IF
342 IPARI(61)=IDELKEEP
343.OR. IF (IDEL7N>2N2D==1) IDEL7N = 0
344C
345 IF(BUMULT==ZERO) THEN
346 BUMULT = BMUL0
347C BMULT have to be increased for case of big models
348 IF(NUMNOD > 2500000) THEN
349 BUMULT = BMUL0*TWO
350 ELSEIF(NUMNOD > 1500000) THEN
351 BUMULT = BMUL0*THREE/TWO
352 END IF
353 END IF
354C
355
356 IPARI(22)=INACTI
357 IPARI(17)=IDEL7N
358 IPARI(14)=IVIS2
359 IPARI(11)=4*IBC1+2*IBC2+IBC3 + 8 *(4*IBC1M+2*IBC2M+IBC3M)
360 FRIGAP(14)=VISC
361 FRIGAP(4)=BUMULT
362C------------------------------------------------------------
363C Card6
364C------------------------------------------------------------
365C
366.AND. IF (MFROT/=0VISCF==0.0) VISCF=ONE
367 IF (ALPHA==0.) IFQ = 0
368C
369 IF (MODFR==0) MODFR = 1
370.AND. IF (MODFR==2IFQ<10) IFQ = IFQ + 10
371 IF (MODFR==2)VISCF=ZERO
372C
373 IF (IFQ>0) THEN
374 IF (IFQ==10) XFILTR = ONE
375 IF (MOD(IFQ,10)==1) XFILTR = ALPHA
376 IF (MOD(IFQ,10)==2) XFILTR=FOUR*ATAN2(ONE,ZERO) / ALPHA
377 IF (MOD(IFQ,10)==3) XFILTR=FOUR*ATAN2(ONE,ZERO) * ALPHA
378 IF (XFILTR<ZERO) THEN
379 CALL ANCMSG(MSGID=554,
380 . MSGTYPE=MSGERROR,
381 . ANMODE=ANINFO_BLIND_1,
382 . I1=NOINT,
383 . C1=TITR,
384 . R1=ALPHA)
385.AND. ELSEIF (XFILTR>1MOD(IFQ,10)<=2) THEN
386 CALL ANCMSG(MSGID=554,
387 . MSGTYPE=MSGERROR,
388 . ANMODE=ANINFO_BLIND_1,
389 . I1=NOINT,
390 . C1=TITR,
391 . R1=ALPHA)
392 ENDIF
393 ELSE
394 XFILTR = ZERO
395 ENDIF
396C------------------------------------------------------------
397C Card7 +8 : friction coefficients
398C------------------------------------------------------------
399C
400 IPARI(30)=MFROT
401 IPARI(31) = IFQ
402 FRIGAP(1)=FRIC
403 FRIGAP(15)=VISCF**2
404 FRIC_P(1) = C1
405 FRIC_P(2) = C2
406 FRIC_P(3) = C3
407 FRIC_P(4) = C4
408 FRIC_P(5) = C5
409 FRIC_P(6) = C6
410
411.AND..AND..AND. IF (IBAG/=0NVOLU==0IALELAG==0NSPHSOL==0) THEN
412 CALL ANCMSG(MSGID=614,
413 . MSGTYPE=MSGWARNING,
414 . ANMODE=ANINFO_BLIND_2,
415 . I1=NOINT,
416 . C1=TITR)
417 IBAG=0
418 ENDIF
419 IPARI(32) = IBAG
420 INTBAG = MAX(INTBAG,IBAG)
421C
422 KCONTACT =MAX(KCONTACT,IBAG,IADM)
423C
424 MULTIMP = 4
425 IPARI(23)=MULTIMP
426C
427C FRIGAP(10) is initialized but used only in engine for storing number of couples candidates
428 FRIGAP(10)=FLOAT(0)
429
430C
431C------------------------------------------------------------
432C PRINTOUT
433C------------------------------------------------------------
434C
435 IPRINT = 1
436
437C
438 WRITE(IOUT,1549)
439C
440.AND. IF( (IGAP>=2 IGAP/=1000).
441.AND. . OR.IGSTI>1 IGSTI/=1000)THEN
442 IF(IGSTI==1)THEN
443 WRITE(IOUT,1538)IBC1,IBC2,IBC3,IBC1M,IBC2M,IBC3M,
444 . STFAC,FRIC,IGAP,GAP,GAPMAX,
445 . GAPSCALE,STARTT,STOPT,
446 . BUMULT,INACTI,VISC,VISCF,IPARI(14),
447 . IPARI(20),MULTIMP
448 ELSE
449 WRITE(IOUT,1548)IBC1,IBC2,IBC3,IBC1M,IBC2M,IBC3M,
450 . STFAC,IGSTI,STMIN,STMAX,
451 . FRIC,IGAP,GAP,GAPMAX,
452 . GAPSCALE,STARTT,STOPT,
453 . BUMULT,INACTI,VISC,VISCF,IPARI(14),
454 . IPARI(20),MULTIMP
455 ENDIF
456 ELSEIF(STFAC>=ZERO)THEN
457 WRITE(IOUT,1594)IBC1,IBC2,IBC3,IBC1M,IBC2M,IBC3M,
458 . STFAC,IGAP,GAP,STARTT,STOPT,
459 . BUMULT,INACTI,VISC,VISCF,IPARI(14),
460 . IPARI(20),MULTIMP
461 ELSE
462 WRITE(IOUT,1595)IBC1,IBC2,IBC3,IBC1M,IBC2M,IBC3M,
463 . -STFAC,IGAP,GAP,
464 . STARTT,STOPT,
465 . BUMULT,INACTI,VISC,VISCF,IPARI(14),
466 . IPARI(20),MULTIMP
467 WRITE(IOUT,'(a)')
468 . ' lagrange multiplier with /dt/inter/lag. . '
469 ENDIF
470C
471 IF(IDEL7N/=0) THEN
472 WRITE(IOUT,'(a,a,i5/)')
473 . ' deletion flag on failure of main element',
474 . ' (1:yes-all/2:yes-any) : ',IDEL7N
475 IF(IDELKEEP == 1)THEN
476 WRITE(IOUT,'(a)')
477 . ' idel: DO not remove non-connected nodes from secondary surface'
478 ENDIF
479 ENDIF
480
481 IF(IFQ>=10) THEN
482 WRITE(IOUT,1518)
483 ELSE
484 WRITE(IOUT,1519)
485 ENDIF
486 WRITE(IOUT,1520)MOD(IFQ,10), XFILTR
487 IF(MFROT==0)THEN
488 WRITE(IOUT,1524) FRIC
489 ELSEIF(MFROT==1)THEN
490 WRITE(IOUT,1515)FRIC_P(1),FRIC_P(2),FRIC_P(3),
491 . FRIC_P(4),FRIC_P(5)
492 ELSEIF(MFROT==2)THEN
493 WRITE(IOUT,1522)FRIC,FRIC_P(1),FRIC_P(2),FRIC_P(3),
494 . FRIC_P(4),FRIC_P(5),FRIC_P(6)
495 ELSEIF(MFROT==3)THEN
496 WRITE(IOUT,1523)FRIC_P(1),FRIC_P(2),FRIC_P(3),
497 . FRIC_P(4),FRIC_P(5),FRIC_P(6)
498 ENDIF
499
500
501 IF(IBAG/=1000) THEN
502 WRITE(IOUT,*)' airbag porosity coupling on '
503 ENDIF
504
505C--------------------------------------------------------------
506 IF(IS1==0)THEN
507 WRITE(IOUT,'(6x,a)')'no secondary surface input'
508 ELSEIF(IS1==1)THEN
509 WRITE(IOUT,'(6x,a)')'secondary surface input by segments'
510 ELSEIF(IS1==2)THEN
511 WRITE(IOUT,'(6x,a)')'secondary surface input by nodes'
512 ELSEIF(IS1==3)THEN
513 WRITE(IOUT,'(6x,a)')'secondary surface input by segments'
514 ELSEIF(IS1==4 )THEN
515 WRITE(IOUT,'(6x,a)')'secondary side input by bricks'
516 ELSEIF(IS1==5 )THEN
517 WRITE(IOUT,'(6x,a)')'secondary side input by solid elements'
518 ENDIF
519 IF(IS2==0)THEN
520 WRITE(IOUT,'(6x,a)')'no main surface input'
521 ELSEIF(IS2==1)THEN
522 WRITE(IOUT,'(6x,a)')'main surface input by segments'
523 ELSEIF(IS2==2)THEN
524 WRITE(IOUT,'(6x,a)')'main surface input by nodes'
525 ELSEIF(IS2==3)THEN
526 WRITE(IOUT,'(6x,a)')'main surface input by segments'
527 ELSEIF(IS2==4)THEN
528 WRITE(IOUT,'(6x,a)')'main surface refers ',
529 . 'to hyper-ellipsoidal surface'
530 ENDIF
531C
532C--------------------------------------------------------------
533 1000 FORMAT(/1X,' INTERFACE number :',I10,1X,A)
534C------------
535 RETURN
536
537 1549 FORMAT(//
538 . ' type==7 parallel/auto impacting ' //)
539
540 1538 FORMAT(
541 . ' bound. cond. deleted after impact in x dir ',I1/,
542 . ' secondary node(1:yes 0:no) y dir ',I1/,
543 . ' z dir ',i1/,
544 . ' BOUND. COND. DELETED AFTER IMPACT IN X DIR ',i1/,
545 . ' MAIN NODE (1:YES 0:NO) Y DIR ',i1/,
546 . ' Z DIR ',i1/,
547 . ' CONSTANT STIFFNESS. . . . . . . . . . . . ',1pg20.13/,
548 . ' FRICTION FACTOR . . . . . . . . . . . . . ',1pg20.13/,
549 . ' VARIABLE GAP FLAG . . . . . . . . . . . . ',i5/,
550 . ' MINIMUM GAP . . . . . . . . . . . . . . . ',1pg20.13/,
551 . ' MAXIMUM GAP (= 0. <=> NO MAXIMUM GAP) . . ',1pg20.13/,
552 . ' GAP SCALE FACTOR. . . . . . . . . . . . . ',1pg20.13/,
553 . ' START TIME. . . . . . . . . . . . . . . . ',1pg20.13/,
554 . ' STOP TIME . . . . . . . . . . . . . . . . ',1pg20.13/,
555 . ' BUCKET FACTOR . . . . . . . . . . . . . . ',1pg20.13/,
556 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . ',i10/,
557 . ' CRITICAL DAMPING FACTOR . . . . . . . . . ',1pg20.13/,
558 . ' FRICTION CRITICAL DAMPING FACTOR. . . . . ',1pg20.13/,
559 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . ',i5/,
560 . ' FORMULATION LEVEL . . . . . . . . . . . . ',i5/,
561 . ' MEAN POSSIBLE NUMBER OF IMPACT/NODE . . . ',i5/)
562
563 1548 FORMAT(
564 . ' BOUND. COND. DELETED AFTER IMPACT IN X DIR ',i1/,
565 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
566 . ' Z DIR ',i1/,
567 . ' BOUND. COND. DELETED AFTER IMPACT IN X DIR ',i1/,
568 . ' MAIN NODE (1:YES 0:NO) Y DIR ',i1/,
569 . ' Z DIR ',i1/,
570 . ' STIFFNESS FACTOR. . . . . . . . . . . . . ',1pg20.13/,
571 . ' STIFFNESS FORMULATION. . . . . . . . . . ',i4/,
572 .' 2,3,4,5 : STIFFNESS IS COMPUTED FROM STIFFNESS ON MAIN SIDE'/,
573 .' AND STIFFNESS AT SECONDARY NODES'/,
574 .' 1000 : STIFFNESS IS COMPUTED FROM STIFFNESS ON MAIN SIDE'/,
575 . ' MINIMUM STIFFNESS. . . . . . . . . . . . ',1pg20.13/,
576 . ' MAXIMUM STIFFNESS. . . . . . . . . . . . ',1pg20.13/,
577 . ' FRICTION FACTOR . . . . . . . . . . . . . ',1pg20.13/,
578 . ' VARIABLE GAP FLAG . . . . . . . . . . . . ',i5/,
579 . ' MINIMUM GAP . . . . . . . . . . . . . . . ',1pg20.13/,
580 . ' MAXIMUM GAP (= 0. <=> NO MAXIMUM GAP) . . ',1pg20.13/,
581 . ' GAP SCALE FACTOR. . . . . . . . . . . . . ',1pg20.13/,
582 . ' START TIME. . . . . . . . . . . . . . . . ',1pg20.13/,
583 . ' STOP TIME . . . . . . . . . . . . . . . . ',1pg20.13/,
584 . ' BUCKET FACTOR . . . . . . . . . . . . . . ',1pg20.13/,
585 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . ',i10/,
586 . ' CRITICAL DAMPING FACTOR . . . . . . . . . ',1pg20.13/,
587 . ' FRICTION CRITICAL DAMPING FACTOR. . . . . ',1pg20.13/,
588 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . ',i5/,
589 . ' FORMULATION LEVEL . . . . . . . . . . . . ',i5/,
590 . ' MEAN POSSIBLE NUMBER OF IMPACT/NODE . . . ',i5/)
591 1594 FORMAT(
592 . ' BOUND. COND. DELETED AFTER IMPACT IN X DIR ',i1/,
593 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
594 . ' Z DIR ',i1/,
595 . ' BOUND. COND. DELETED AFTER IMPACT IN X DIR ',i1/,
596 . ' MAIN NODE (1:YES 0:NO) Y DIR ',i1/,
597 . ' Z DIR ',i1/,
598 . ' STIFFNESS FACTOR. . . . . . . . . . . . . ',1pg20.13/,
599 . ' VARIABLE GAP FLAG . . . . . . . . . . . . ',i5/,
600 . ' MINIMUM GAP . . . . . . . . . . . . . . . ',1pg20.13/,
601 . ' START TIME. . . . . . . . . . . . . . . . ',1pg20.13/,
602 . ' STOP TIME . . . . . . . . . . . . . . . . ',1pg20.13/,
603 . ' BUCKET FACTOR . . . . . . . . . . . . . . ',1pg20.13/,
604 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . ',i10/,
605 . ' CRITICAL DAMPING FACTOR . . . . . . . . . ',1pg20.13/,
606 . ' FRICTION CRITICAL DAMPING FACTOR. . . . . ',1pg20.13/,
607 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . ',i5/,
608 . ' FORMULATION LEVEL . . . . . . . . . . . . ',i5/,
609 . ' MEAN POSSIBLE NUMBER OF IMPACT/NODE . . . ',i5/)
610 1595 FORMAT(
611 . ' BOUND. COND. DELETED AFTER IMPACT IN X DIR ',i1/,
612 . ' SECONDARY NODE (1:YES 0:NO) Y DIR ',i1/,
613 . ' Z DIR ',i1/,
614 . ' BOUND. COND. DELETED AFTER IMPACT IN X DIR ',i1/,
615 . ' MAIN NODE (1:YES 0:NO) Y DIR ',i1/,
616 . ' Z DIR ',i1/,
617 . ' CONSTANT STIFFNESS. . . . . . . . . . . . ',1pg20.13/,
618 . ' VARIABLE GAP FLAG . . . . . . . . . . . . ',i5/,
619 . ' MINIMUM GAP . . . . . . . . . . . . . . . ',1pg20.13/,
620 . ' START TIME. . . . . . . . . . . . . . . . ',1pg20.13/,
621 . ' STOP TIME . . . . . . . . . . . . . . . . ',1pg20.13/,
622 . ' BUCKET FACTOR . . . . . . . . . . . . . . ',1pg20.13/,
623 . ' DE-ACTIVATION OF INITIAL PENETRATIONS . . ',i10/,
624 . ' MAXIMAL INITIAL PENETRATION FACTOR. . . . ',1pg20.13/,
625 . ' CRITICAL DAMPING FACTOR . . . . . . . . . ',1pg20.13/,
626 . ' FRICTION CRITICAL DAMPING FACTOR. . . . . ',1pg20.13/,
627 . ' QUADRATIC DAMPING FLAG. . . . . . . . . . ',i5/,
628 . ' FORMULATION LEVEL . . . . . . . . . . . . ',i5/,
629 . ' MEAN POSSIBLE NUMBER OF IMPACT/NODE . . . ',i5/)
630
631 1518 FORMAT( ' FRICTION FORMULATION: INCREMENTAL (STIFFNESS) ',
632 . 'FORMULATION')
633 1519 FORMAT( ' FRICTION FORMULATION: TOTAL (VISCOUS) ',
634 . 'FORMULATION')
635
636 1515 FORMAT(//
637 . ' FRICTION MODEL 1 (Viscous Polynomial)'/,
638 . ' MU = MUo + C1 p + C2 v + C3 pv + C4 p^2 + C5 v^2'/,
639 . ' C1 . . . . . . . . . . . . . . . . . . . ',1pg20.13/,
640 . ' c2 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
641 . ' c3 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
642 . ' c4 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
643 . ' c5 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
644 . ' tangential pressure limit. . .. . . . . .',1PG20.13/)
645 1522 FORMAT(/
646 . ' friction model 2 (darmstad law) :'/,
647 . ' mu = muo+c1*exp(c2*v)*p^2+c3*exp(c4*v)*p+c5*exp(c6*v)'/,
648 . ' muo. . . . . . . . . . . . . . . . . . . ',1PG20.13/,
649 . ' c1 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
650 . ' c2 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
651 . ' c3 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
652 . ' c4 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
653 . ' c5 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
654 . ' c6 . . . . . . . . . . . . . . . . . . . ',1PG20.13/)
655 1523 FORMAT(/
656 . ' friction model 3 (renard law) :'/,
657 . ' c1 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
658 . ' c2 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
659 . ' c3 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
660 . ' c4 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
661 . ' c5 . . . . . . . . . . . . . . . . . . . ',1PG20.13/,
662 . ' c6 . . . . . . . . . . . . . . . . . . . ',1PG20.13/)
663 1524 FORMAT(/
664 . ' friction model 0 (coulomb law) :'/,
665 . ' FRICTION COEFFICIENT . . . . . . . . . ',1pg20.13/)
666
667 1520 FORMAT(
668 . ' FRICTION FILTERING FLAG. . . . . . . . . ',i10/,
669 . ' FILTERING FACTOR . . . . . . . . . . . . ',1pg20.13)
670
671 1557 FORMAT(
672 .' NUMBER OF ELEMENTS WITHIN A 90 DEGREES FILLET ',i5/,
673 .' --------------------------------------------- '/,
674 .' CRITERIA FOR REFINEMENT DUE TO PENETRATION : '/,
675 .' ------------------------------------------ '/,
676 .' MINIMUM PERCENTAGE OF PENETRATION ',
677 . 1pg20.13/,
678 .' MAXIMUM ANGLE ON MAIN SIDE AT CONTACT LOCATION ',
679 . 1pg20.13//)
680
681 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(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)
#define max(a, b)
Definition macros.h:21
integer, parameter nchartitle
integer, parameter ncharkey
integer nsubmod
int main(int argc, char *argv[])
subroutine fretitl(titr, iasc, l)
Definition freform.F:620