36 1 IPARI ,STFAC ,FRIGAP ,NOINT ,
37 2 IGRNOD ,IGRSURF ,IGRBRIC ,IGRSH3N ,IGRTRUSS ,
38 3 FRIC_P ,TITR ,LSUBMODEL ,NPARI ,NPARIR)
51#include "implicit_f.inc"
55 INTEGER,
INTENT(IN) :: NPARI, NPARIR
56 INTEGER ISU1,ISU2,NOINT
59 my_real frigap(nparir),fric_p(10)
60 CHARACTER(LEN=NCHARTITLE),
INTENT(IN) :: TITR
62 TYPE (GROUP_) ,
TARGET,
DIMENSION(NGRNOD) :: IGRNOD
63 TYPE () ,
TARGET,
DIMENSION(NGRBRIC) :: IGRBRIC
64 TYPE (GROUP_) ,
DIMENSION(NGRSH3N) :: IGRSH3N
65 TYPE () ,
DIMENSION(NGRTRUS) :: IGRTRUSS
66 TYPE (SURF_) ,
TARGET ,
DIMENSION(NSURF) :: IGRSURF
79 INTEGER J, NTYP, IBID,INACTI,IGSTI, IVIS2,ILEV,,
80 . IS1, IS2, IGAP,MULTIMP,I22GRSH3N,I22GRNOD,
81 . INTTH,I22LEN1,I22GRTRUS,I22GRNOD2,I22GRNOD3
82 my_real :: fric,gap,startt,bumult,stopt,visc,viscf,ratio22_
83 LOGICAL LOGI_I22GRSH3N, LOGI_I22GRTRUS,LOGI_I22GRNOD
85 INTEGER,
DIMENSION(:),
POINTER :: INGR2USR
106 CALL hm_get_intv(
'grbric_ID', isu1, is_available, lsubmodel)
107 CALL hm_get_intv(
'surf_ID', isu2, is_available, lsubmodel)
120 CALL ancmsg(msgid=119,msgtype=msgerror,anmode=aninfo,i1=noint,c1=titr)
124 ingr2usr => igrsurf(1:nsurf)%ID
125 isu2=ngr2usr(isu2,ingr2usr,nsurf)
131 ELSEIF(ioutp22/=1)
THEN
137 ingr2usr => igrbric(1:ngrbric)%ID
138 isu1=ngr2usr(isu1,ingr2usr,ngrbric)
141 CALL ancmsg(msgid=114,msgtype=msgerror,anmode=aninfo,i1=noint,c1=titr)
164 IF(jmult22==zero)jmult22=one
165 IF(ratio22_ == zero)ratio22_ = one + ten/hundred
166 ratio22 =
min(ratio22,ratio22_)
188 frigap(20) = one/ep30
190 frigap(22) = ratio22_
209 ipari(48) = i22grsh3n
212 ipari(51) = i22grtrus
217 ipari(36) = i22grnod2
218 ipari(19) = i22grnod3
230 logi_i22grsh3n = .false.
232 IF (igrsh3n(j)%ID == i22grsh3n)
THEN
234 ipari(50) = igrsh3n(j)%NENTITY
235 logi_i22grsh3n = .true.
239 IF( (i22grsh3n /=0) .AND. (logi_i22grsh3n .EQV. .false.))
THEN
245 logi_i22grtrus = .false.
247 IF (igrtruss(j)%ID == i22grtrus)
THEN
249 ipari(53) = igrtruss(j)%NENTITY
250 logi_i22grtrus = .true.
254 IF( (i22grtrus /=0) .AND. (logi_i22grtrus .EQV. .false.))
THEN
260 logi_i22grnod = .false.
262 IF (igrnod(j)%ID == i22grnod)
THEN
264 logi_i22grnod = .true.
269 IF( (i22grnod /=0) .AND. (logi_i22grnod .EQV. .false.))
THEN
275 logi_i22grnod = .false.
277 IF (igrnod(j)%ID == i22grnod2)
THEN
279 logi_i22grnod = .true.
284 IF( (i22grnod2 /=0) .AND. (logi_i22grnod .EQV. .false.))
THEN
290 logi_i22grnod = .false.
292 IF (igrnod(j)%ID == i22grnod3)
THEN
294 logi_i22grnod = .true.
299 IF( (i22grnod3 /=0) .AND. (logi_i22grnod .EQV. .false.))
THEN
306 kcontact =
max(kcontact,0,0)
307 intbag =
max(intbag,0)
311 i22len1 =
max(100 ,nint(82*igrbric(isu1)%NENTITY**half))
312 i22len1 =
min(i22len1 ,igrbric(isu1)%NENTITY)
313 i22len1 = nint(jmult22*i22len1)
314 i22len =
max( i22len , i22len1 )
332 IF (stopt == zero) stopt = ep30
335 IF(bumult==zero)
THEN
337 IF(numnod > 2500000)
THEN
339 ELSEIF(numnod > 1500000)
THEN
340 bumult = bmul0*three/two
356 IF(i22grsh3n>0)
WRITE(iout,2207)i22grsh3n, i22grtrus,i22grnod
360 WRITE(iout,
'(6X,A)')
'NO SECONDARY SURFACE INPUT'
362 WRITE(iout,
'(6X,A)')
'SECONDARY SURFACE INPUT BY SEGMENTS'
364 WRITE(iout,
'(6X,A)')
'SECONDARY SURFACE INPUT BY NODES'
366 WRITE(iout,
'(6X,A)')
'SECONDARY SURFACE INPUT BY SEGMENTS'
368 WRITE(iout,
'(6X,A)')
'SECONDARY SIDE INPUT BY BRICKS'
370 WRITE(iout,
'(6X,A)')
'SECONDARY SIDE INPUT BY SOLID ELEMENTS'
373 WRITE(iout,
'(6X,A)')
'NO MAIN SURFACE INPUT'
375 WRITE(iout,
'(6X,A)')
'MAIN SURFACE INPUT BY SEGMENTS'
377 WRITE(iout,
'(6X,A)')
'MAIN SURFACE INPUT BY NODES'
379 WRITE(iout,
'(6X,A)')
'MAIN SURFACE INPUT BY SEGMENTS'
381 WRITE(iout,
'(6X,A)')
'MAIN SURFACE REFERS ',
382 .
'TO HYPER-ELLIPSOIDAL SURFACE'
391 .
' TYPE==22 FSI INTERFACE ' //,
392 .
' GRSH3N_ID. . . . . . . . . . . . . . . . . . ',i10/,
393 .
' GRTRUS_ID. . . . . . . . . . . . . . . . . . ',i10/,
394 .
' GRNOD_ID . . . . . . . . . . . . . . . . . . ',i10/)
subroutine hm_read_inter_type22(ipari, stfac, frigap, noint, igrnod, igrsurf, igrbric, igrsh3n, igrtruss, fric_p, titr, lsubmodel, npari, nparir)
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)