37 1 IPARI ,STFAC ,FRIGAP ,NOINT ,
38 2 IGRSURF ,NPC1 ,TITR ,LSUBMODEL ,UNITAB )
52#include "implicit_f.inc"
59 INTEGER ISU1,ISU2,NOINT
60 INTEGER IPARI(*),NPC1(*)
65 CHARACTER(LEN=NCHARTITLE) :: TITR
66 TYPE(SUBMODEL_DATA),
INTENT(IN)::LSUBMODEL(*)
67 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
69 TYPE (SURF_) ,
TARGET ,
DIMENSION(NSURF) :: IGRSURF
78 INTEGER J, NTYP,INACTI,IS1, IS2,ILEV,
79 . NDAMP1,NDAMP2,IRS,IRM,IFUN1,IFUN2,HFLAG,
80 . intkg, nfric1,nfric2,icor,ierr1,ierr2,ifric1,ifric2,
83 . fac1,fac2,fac3,facf,facv,fric,gap,startt,stopt,sfric,
87 INTEGER,
DIMENSION(:),
POINTER :: INGR2USR
117 is_available = .false.
122 CALL hm_get_intv(
'mainentityids',isu2,is_available,lsubmodel)
124 CALL hm_get_intv(
'Gflag',irs,is_available,lsubmodel)
125 CALL hm_get_intv(
'Vflag',irm,is_available,lsubmodel)
126 CALL hm_get_intv(
'INACTIV',inacti,is_available,lsubmodel)
127 CALL hm_get_intv(
'Crx_Fun',nfric1,is_available,lsubmodel)
128 CALL hm_get_intv(
'Cry_Fun',nfric2,is_available,lsubmodel)
130 CALL hm_get_intv(
'FUN_A1',ifun1,is_available,lsubmodel)
131 CALL hm_get_intv(
'HFLAG1',hflag,is_available,lsubmodel)
132 CALL hm_get_intv(
'ISFLAG',icor,is_available,lsubmodel)
134 CALL hm_get_intv(
'FUNCT_ID',ifun2,is_available,lsubmodel)
135 CALL hm_get_intv(
'Crz_Fun',ndamp2,is_available,lsubmodel)
136 CALL hm_get_intv(
'Ctx_Fun',ndamp1,is_available,lsubmodel)
140 CALL hm_get_floatv(
'Friction_phi',sfric,is_available,lsubmodel,unitab)
141 CALL hm_get_floatv(
'FRIC',fric,is_available,lsubmodel,unitab)
143 CALL hm_get_floatv(
'TSTART',startt,is_available,lsubmodel,unitab)
144 CALL hm_get_floatv(
'TSTOP',stopt,is_available,lsubmodel,unitab)
146 CALL hm_get_floatv(
'scale1',facf,is_available,lsubmodel,unitab)
147 CALL hm_get_floatv(
'scale2',facv,is_available,lsubmodel,unitab)
149 CALL hm_get_floatv(
'FACX',facx,is_available,lsubmodel,unitab)
152 CALL hm_get_floatv(
'STIFF1',stiff,is_available,lsubmodel,unitab)
153 CALL hm_get_floatv(
'PFscale',fac2,is_available,lsubmodel,unitab)
154 CALL hm_get_floatv(
'VISC',visc,is_available,lsubmodel,unitab)
155 CALL hm_get_floatv(
'scale3',fac3,is_available,lsubmodel,unitab)
161 ingr2usr => igrsurf(1:nsurf)%ID
162 isu1=ngr2usr(isu1,ingr2usr,nsurf)
163 isu2=ngr2usr(isu2,ingr2usr,nsurf)
169 IF (stopt == zero) stopt = ep30
179 IF (hflag > 0 .AND. ifun2 == 0) hflag = 2
180 IF (hflag > 0 .AND. stiff == zero) hflag = 0
181 IF (hflag == 0 .AND. icor == 1) icor = 0
182 IF (facx == zero) facx = one
183 IF (fac1 == zero) fac1 = one
184 IF (fac2 == zero) fac2 = one
185 IF (fac3 == zero) fac3 = one
186 IF (facf == zero) facf = one
187 IF (facv == zero) facv = one
188 IF (stiff == zero) stiff = ep30
195 IF (stfac == zero) stfac
223 IF (ipari(11) == npc1(j))
THEN
232 . anmode=aninfo_blind_1,
238 IF (ipari(47) > 0 .AND. ipari(49) /= 0)
THEN
241 IF(ipari(49) == npc1(j))
THEN
250 . anmode=aninfo_blind_1,
258 IF (ifric1 /= 0)
THEN
261 IF (ifric1 == npc1(j))
THEN
267 IF (ierr1 == 1)
CALL ancmsg(msgid=113,
276 IF (idamp1 /= 0)
THEN
279 IF (idamp1 == npc1(j))
THEN
285 IF (ierr1 == 1)
CALL ancmsg(msgid=113,
294 IF (idamp2 /= 0)
THEN
297 IF (idamp2 == npc1(j))
THEN
303 IF (ierr1 == 1)
CALL ancmsg(msgid=113,
312 IF (ifric2 /= 0)
THEN
315 IF (ifric2 == npc1(j))
THEN
321 IF (ierr1 == 1)
CALL ancmsg(msgid=113,
332 WRITE(iout,1506) hflag,icor,ifun1,ifun2,facx,stfac,fac2,
333 . stiff,sfric,fric,nfric1,nfric2,visc,
334 . ndamp2,ndamp1,inacti,gap,startt,stopt,irs,irm
337 WRITE(iout,
'(6X,A)')
'NO SECONDARY SURFACE INPUT'
339 WRITE(iout,
'(6X,A)')
'SECONDARY SURFACE INPUT BY SEGMENTS'
341 WRITE(iout,
'(6X,A)')
'SECONDARY SURFACE INPUT BY NODES'
343 WRITE(iout,
'(6X,A)')
'SECONDARY SURFACE INPUT BY SEGMENTS'
345 WRITE(iout,
'(6X,A)')
'SECONDARY SIDE INPUT BY BRICKS'
347 WRITE(iout,
'(6X,A)')
'SECONDARY SIDE INPUT BY SOLID ELEMENTS'
350 WRITE(iout,
'(6X,A)')
'NO MAIN SURFACE INPUT'
352 WRITE(iout,
'(6X,A)')
'MAIN SURFACE INPUT BY SEGMENTS'
354 WRITE(iout,
'(6X,A)')
'MAIN SURFACE INPUT BY NODES'
356 WRITE(iout,
'(6X,A)')
'MAIN SURFACE INPUT BY SEGMENTS'
358 WRITE(iout
'(6X,A)''MAIN SURFACE REFERS '
359 .
'TO HYPER-ELLIPSOIDAL SURFACE'
367 .
' TYPE==6 RIGID BODY INTERFACE ' //,
368 .
' FORMULATION FLAG . . . . ',i10/,
369 .
' INITIAL PENETRATION FLAG . . . . ',i10/,
370 .
' LOADING FUNCTION ID . . . . ',i10/,
371 .
' UNLOADING FUNCTION ID . . . . ',i10/,
372 .
' ABSCISSA (DISPLACEMENT) SCALE FACTOR. . . ',1pg20.13/,
373 .
' LOAD FUNCTION SCALE FACTOR . . . . . . . ',1pg20.13/,
374 .
' UNLOAD FUNCTION SCALE FACTOR . . . . . . ',1pg20.13/,
375 .
' ELASTIC MODULUS . . . . . . . . . . . . . ',1pg20.13/,
376 .
' STATIC FRICTION FORCE . . . . . . . . . . ',1pg20.13/,
377 .
' FRICTION FACTOR . . . . . . . . . . . . . ',1pg20.13/,
378 .
' FRICTION FUNCTION OF NORMAL FORCE . . . . .',i10/,
379 .
' FRICTION FUNCTION OF SLIP VELOCITY. . . . .',i10/,
380 .
' DAMPING COEFFICIENT . . . . . . . . . . . ',1pg20.13/,
381 .
' DAMPING AMPLIFIER FUNCTION VS NORMAL FORCE.',i10/,
382 .
' DAMPING FORCE FUNCTION VS VELOCITY. . . . .',i10/,
383 .
' DE-ACTIVATION OF INITIAL PENETRATIONS . . .',i10/,
384 .
' INITIAL GAP . . . . . . . . . . . . . . . ',1pg20.13/,
385 .
' START TIME. . . . . . . . . . . . . . . . ',1pg20.13/,
386 .
' STOP TIME . . . . . . . . . . . . . . . . ',1pg20.13/,
387 .
' SECONDARY SURFACE REORDERING FLAG . . . . . . ',i1/,
388 .
' MAIN SURFACE REORDERING FLAG. . . . . . ',i1/)
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)