30 SUBROUTINE i11pwr3(ITAB ,INACTI,CAND_M,CAND_S,
31 2 STFS ,STFM ,X ,NSV ,IWPENE,
32 3 N1 ,N2 ,M1 ,M2 ,NX ,
33 4 NY ,NZ ,GAPV ,GAP_S ,GAP_M ,
34 5 PENIS ,PENIM ,IGAP ,PRINT_WARNING)
38 USE format_mod ,
ONLY : fmw_4i, fmw_i_3f
42#include "implicit_f.inc"
50 INTEGER ITAB(*),CAND_M(*),CAND_S(*),INACTI,, N1(*) ,N2(*) ,M1(*) ,M2(*)
53 my_real STFS(*),STFM(*),X(3,*),GAP_S(*) ,GAP_M(*),PENIS(2,*), PENIM(2,*),NX(MVSIZ), NY(MVSIZ), NZ(MVSIZ),GAPV(*)
58#include "vect07_c.inc"
63 INTEGER I, IS, IM,JWARN
64 my_real PENE(MVSIZ), PENEOLD, S2, D, PPLUS
69 s2 = sqrt(nx(i)**2 + ny(i)**2 + nz(i)**2)
70 gapv(i) = sqrt(gapv(i))
71 pene(i) = gapv(i) - s2
80 WRITE(iout,fmt=fmw_4i)
81 2 itab(n1(i)),itab(n2(i)),itab(m1(i)),itab(m2(i))
85 WRITE(iout,1000)pene(i)
86 WRITE(iout,fmt=fmw_i_3f)itab(n1(i)),
87 . x(1,n1(i))+pene(i)*nx(i),
88 . x(2,n1(i))+pene(i)*ny(i),
89 . x(3,n1(i))+pene(i)*nz(i)
90 WRITE(iout,fmt=fmw_i_3f)itab(n2(i)),
91 . x(1,n2(i))+pene(i)*nx(i),
92 . x(2,n2(i))+pene(i)*ny(i),
93 . x(3,n2(i))+pene(i)*nz(i)
97 pene(i) = pene(i) + em8*pene(i)
100 WRITE(iout,
'(A)')
'SECONDARY STIFFNESS IS SET TO ZERO'
101 stfs(cand_s(i)) = zero
102 ELSE IF(inacti==2)
THEN
104 WRITE(iout,
'(A)')
'MAIN STIFFNESS IS SET TO ZERO'
105 stfm(cand_m(i)) = zero
108 IF(pene(i)>=gapv(i)*zep995)
THEN
109 WRITE(iout,
'(A)')
' *** PENETRATION > GAP - 0.5% !! '
110 WRITE(iout,
'(A)')
'SECONDARY STIFFNESS IS SET TO ZERO'
112 stfs(cand_s(i)) =zero
117 penis(2,is)=
max(penis(2,is),half*pene(i))
118 penim(2,im)=
max(penim(2,im),half*pene(i))
119 penis(1,is)=penis(2,is)
120 penim(1,im)=penim(2,im)
126 IF(pene(i)>=gapv(i)*zep995)
THEN
127 WRITE(iout,
'(A)')
' *** PENETRATION > GAP - 0.5% !! '
128 WRITE(iout,
'(A)')
'SECONDARY STIFFNESS IS SET TO ZERO'
130 stfs(cand_s(i)) = zero
135 pplus=half*(pene(i)+zep05*(gapv(i)-pene(i)))
136 penis(2,is)=
max(penis(2,is),pplus)
137 penim(2,im)=
max(penim(2,im),pplus)
138 penis(1,is)=penis(2,is)
139 penim(1,im)=penim(2,im)
146 IF (jwarn==1 .AND. print_warning )
THEN
147 WRITE(iout,
'(A)')
'REDUCE INITIAL GAP'
148 print_warning = .false.
151 1000
FORMAT(2x,'** initial penetration =
',1PG20.13,
152 . ' possible new coordinates of secondary nodes
')
subroutine i11pwr3(itab, inacti, cand_m, cand_s, stfs, stfm, x, nsv, iwpene, n1, n2, m1, m2, nx, ny, nz, gapv, gap_s, gap_m, penis, penim, igap, print_warning)