38 1 IPARI ,STFAC ,FRIGAP ,NOINT ,NI ,
39 2 IGRNOD ,IGRSURF ,NOM_OPT ,XFILTR ,FRIC_P ,
40 3 SENSORS ,UNITAB ,LSUBMODEL ,TITR ,NPARI ,
56#include "implicit_f.inc"
65 INTEGER,
INTENT(IN) :: NPARI, NPARIR
66 INTEGER ISU1,ISU2,NI,NOINT
67 INTEGER NOM_OPT(LNOPT1,*),IPARI(NPARI)
69 my_real frigap(nparir),fric_p(10)
70 CHARACTER(LEN=NCHARTITLE) :: TITR
72 TYPE (GROUP_) ,
TARGET,
DIMENSION(NGRNOD) :: IGRNOD
73 TYPE (SURF_) ,
TARGET ,
DIMENSION(NSURF) :: IGRSURF
75 TYPE (UNIT_TYPE_),
INTENT(IN) :: UNITAB
76 TYPE (SENSORS_) ,
INTENT(IN) :: SENSORS
83#include "remesh_c.inc"
87 INTEGER I,IBC1, IBC2, IBC3, IBUC, NTYP, INACTI, , IBC2M, IBC3M, IGSTI, IS1, IS2
88 INTEGER ILEV, MFROT,IFQ,IBAG,,IDSENS,IDELKEEP, INTKG,IADM,MULTIMP,IRM,NRADM
89 my_real FRIC,GAP,STARTT,STOPT,,C2,C3,C4,C5,C6,ALPHA,VISC,PTMAX,PADM,ANGLADM
90 INTEGER,
DIMENSION(:),
POINTER :: INGR2USR
152 is_available = .false.
157 CALL hm_get_intv(
'secondaryentityids',isu1,is_available,lsubmodel)
158 CALL hm_get_intv(
'mainentityids',isu2,is_available,lsubmodel)
159 CALL hm_get_intv(
'Ibag',ibag,is_available,lsubmodel)
160 CALL hm_get_intv(
'NodDel5',idel5,is_available,lsubmodel)
162 CALL hm_get_intv(
'Deactivate_X_BC',ibc1,is_available,lsubmodel)
163 CALL hm_get_intv(
'Deactivate_Y_BC',ibc2,is_available,lsubmodel)
164 CALL hm_get_intv(
'Deactivate_Z_BC',ibc3,is_available,lsubmodel)
165 CALL hm_get_intv(
'Vflag',irm,is_available,lsubmodel)
166 CALL hm_get_intv(
'INACTIV',inacti,is_available,lsubmodel)
168 CALL hm_get_intv(
'Ifric',mfrot,is_available,lsubmodel)
169 CALL hm_get_intv(
'Ifiltr',ifq,is_available,lsubmodel)
170 CALL hm_get_intv(
'ISENSOR',idsens,is_available,lsubmodel)
176 CALL hm_get_floatv(
'TYPE5_SCALE',stfac,is_available,lsubmodel,unitab)
177 CALL hm_get_floatv(
'FRIC',fric,is_available,lsubmodel,unitab)
179 CALL hm_get_floatv(
'TSTART',startt,is_available,lsubmodel,unitab)
180 CALL hm_get_floatv(
'TSTOP',stopt,is_available,lsubmodel,unitab)
182 CALL hm_get_floatv(
'Xfreq',alpha,is_available,lsubmodel,unitab)
183 CALL hm_get_floatv(
'Ptlim',ptmax,is_available,lsubmodel,unitab
207 ingr2usr => igrnod(1:ngrnod)%ID
208 isu1=ngr2usr(isu1,ingr2usr,ngrnod)
209 ingr2usr => igrsurf(1:nsurf)%ID
210 isu2=ngr2usr(isu2,ingr2usr,nsurf)
222 IF (idel5>2.OR.n2d==1) idel5 = 0
225 IF (ibag/=0.AND.nvolu==0.AND.ialelag==0.AND.nsphsol==0)
THEN
227 . msgtype=msgwarning,
228 . anmode=aninfo_blind_2,
236 IF (iadm/=0.AND.nadmesh==0)
THEN
238 . msgtype=msgwarning,
239 . anmode=aninfo_blind_2,
246 kcontact =
max(kcontact,ibag,iadm)
247 intbag=
max(intbag,ibag)
254 IF (stfac == zero) stfac = one_fifth
256 IF (stopt == zero) stopt = ep30
265 ipari(11)=4*ibc1+2*ibc2+ibc3 + 8 *(4*ibc1m+2*ibc2m+ibc3m)
273 IF(ptmax==zero) ptmax=ep30
276 IF (alpha==0) ifq = 0
278 IF (ifq==1) xfiltr = alpha
279 IF (ifq==2) xfiltr = four*atan2(one,zero) / alpha
280 IF (ifq==3) xfiltr = four*atan2(one,zero) * alpha
281 IF (xfiltr<0.OR.(ifq<=2.AND.xfiltr>1.))
THEN
284 . anmode=aninfo_blind_1,
320 WRITE(iout,1505)ibc1,ibc2,ibc3,stfac,gap,idsens,irm,ptmax
322 WRITE(iout,1516)ibc1,ibc2,ibc3,stfac,gap,startt,stopt,irm,ptmax
324 WRITE(iout,4000)inacti
326 WRITE(iout,
'(A,A,I5/)')
327 .
' DELETION FLAG ON FAILURE OF MAIN ELEMENT',
328 . ' (1:yes-all/2:yes-any) set to
',IDEL5
329 IF(IDELKEEP == 1)THEN
331 . ' idel:
DO not remove non-connected nodes from secondary surface
'
334 WRITE(IOUT,1520)IFQ, XFILTR
336 WRITE(IOUT,1524) FRIC
338 WRITE(IOUT,1515)FRIC_P(1),FRIC_P(2),FRIC_P(3),
339 . FRIC_P(4),FRIC_P(5)
341 WRITE(IOUT,1522)FRIC,FRIC_P(1),FRIC_P(2),FRIC_P(3),
342 . FRIC_P(4),FRIC_P(5),FRIC_P(6)
344 WRITE(IOUT,1523)FRIC_P(1),FRIC_P(2),FRIC_P(3),
345 . FRIC_P(4),FRIC_P(5),FRIC_P(6)
348 WRITE(IOUT,*)' airbag porosity coupling on
'
351 WRITE(IOUT,*)' mesh refinement
CASE of contact
',
352 .' (0:no/1:due to curvature/2:due to curvature or penetration)
',
355 WRITE(IOUT,1557) NRADM,PADM,ANGLADM
361 WRITE(IOUT,'(6x,a)
')'no secondary surface input
'
363 WRITE(IOUT,'(6x,a)
')'secondary surface input by segments
'
365 WRITE(IOUT,'(6x,a)
')'secondary surface input by nodes
'
367 WRITE(IOUT,'(6x,a)
')'secondary surface input by segments
'
369 WRITE(IOUT,'(6x,a)
')'secondary side input by bricks
'
371 WRITE(IOUT,'(6x,a)
')'secondary side input by solid elements
'
374 WRITE(IOUT,'(6x,a)
')'no
main surface input
'
376 WRITE(IOUT,'(6x,a)
')'main surface input by segments
'
378 WRITE(IOUT,'(6x,a)
')'main surface input by nodes
'
380 WRITE(IOUT,'(6x,a)
')'main surface input by segments
'
382 WRITE(IOUT,'(6x,a)
')'main surface refers
',
383 . 'to hyper-ellipsoidal surface
'
391 . ' type==5 sliding and voids(non symmetric)
' //,
392 . ' bound. cond. deleted after impact in x dir
',I1/,
393 . ' (1:yes 0:no) y dir
',I1/,
395 . ' stiffness factor. . . . . . . . . . . . . .
',1PG20.13/,
396 . ' initial gap . . . . . . . . . . . . . . . .
',1PG20.13/,
397 . ' start time/stop time activated by sensor
id ',I10/,
398 . ' main surface reordering flag. . . . . . .
',I1/,
399 . ' tangential pressure limit. . .. . . . . . .
',1PG20.13/)
401 . ' type==5 sliding and voids(non symmetric)
' //,
402 . ' bound. cond. deleted
',I1/,
403 . ' (1:yes 0:no) y dir
',I1/,
405 . ' stiffness factor. . . . . . . . . . . . .
',1PG20.13/,
406 . ' initial gap . . . . . . . . . . . . . . .
',1PG20.13/,
407 . ' start time. . . . . . . . . . . . . . . .
',1PG20.13/,
408 . ' stop time . . . . . . . . . . . . . . . .
',1PG20.13/,
409 . ' main surface reordering flag. . . . . .
',I1/,
410 . ' tangential pressure limit. . .. . . . . .
',1PG20.13/)
414 . ' friction model 1 (viscous polynomial)
'/,
415 . ' mu = muo + c1 p + c2 v + c3 pv + c4 p^2 + c5 v^2
'/,
416 . ' c1 . . . . . . . . . . . . . . . . . . .
',1PG20.13/,
417 . ' c2 . . . . . . . . . . . . . . . . . . .
',1PG20.13/,
418 . ' c3 . . . . . . . . . . . . . . . . . . .
',1PG20.13/,
419 . ' c4 . . . . . . . . . . . . . . . . . . .
',1PG20.13/,
420 . ' c5 . . . . . . . . . . . . . . . . . . .
',1PG20.13/,
421 . ' tangential pressure limit. . .. . . . . .
',1PG20.13/)
423 . ' friction filtering flag. . . . . . . . .
',I10/,
424 . ' filtering factor . . . . . . . . . . . .
',1PG20.13)
426 . ' friction model 2 (darmstad law) :
'/,
427 . ' mu = muo+c1*exp(c2*v)*p^2+c3*exp(c4*v)*p+c5*exp(c6*v)
'/,
428 . ' muo. . . . . . . . . . . . . . . . . . .
',1PG20.13/,
429 . ' c1 . . . . . . . . . . . . . . . . . . .
',1PG20.13/,
430 . ' c2 . . . . . . . . . . . . . . . . . . .
',1PG20.13/,
431 . ' c3 . . . . . . . . . . . . . . . . . . .
',1PG20.13/,
432 . ' c4 . . . . . . . . . . . . . . . . . . .
',1PG20.13/,
433 . ' c5 . . . . . . . . . . . . . . . . . . .
',1PG20.13/,
434 . ' c6 . . . . . . . . . . . . . . . . . . .
',1PG20.13/)
436 . ' friction model 3 (renard law) :
'/,
437 . ' c1 . . . . . . . . . . . . . . . . . . .
',1PG20.13/,
438 . ' c2 . . . . . . . . . . . . . . . . . . .
',1PG20.13/,
439 . ' c3 . . . . . . . . . . . . . . . . . . .
',1PG20.13/,
440 . ' c4 . . . . . . . . . . . . . . . . . . .
',1PG20.13/,
441 . ' c5 . . . . . . . . . . . . . . . . . . .
',1PG20.13/,
442 . ' c6 . . . . . . . . . . . . . . . . . . .
',1PG20.13/)
444 . ' friction model 0 (coulomb law) :
'/,
445 . ' friction coefficient . . . . . . . . .
',1PG20.13/)
447 .' number of elements within a 90 degrees fillet
',I5/,
448 .' ---------------------------------------------
'/,
449 .' criteria
for refinement
'/,
450 .' ------------------------------------------
'/,
451 .' minimum percentage of penetration
',
453 .' maximum angle on
main side at contact location
',
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)