41 . STI, FLD, STI_C, LL,
42 . MU, FQMAX, ISTAB, NEL ,
50#include "implicit_f.inc"
60 INTEGER,
INTENT(IN) :: NEL
61 INTEGER,
DIMENSION(MVSIZ),
INTENT(IN) :: ISTAB
62 my_real,
INTENT(IN) :: MU,FQMAX,DT1
63 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: FLD,
69 . VZ1,VZ2,VZ3,VZ4,LL,STI_C
70 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) ::
71 . F11,F21,F31,F12,F22,F32,
72 . f13,f23,f33,f14,f24,f34,sti
73 my_real,
DIMENSION(NEL),
INTENT(INOUT) :: e_distor
78 . xc(mvsiz),yc(mvsiz),zc(mvsiz),stif(mvsiz),
79 . vc(mvsiz,3),forc_n(mvsiz,3),for_t1(mvsiz,3),
80 . for_t2(mvsiz,3),for_t3(mvsiz,3),for_t4(mvsiz,3),
82 . penmin(mvsiz),penref(mvsiz),marge(mvsiz)
83 INTEGER I,J,NCTL,IFCTL,IFC1(MVSIZ)
91 vc(i,1) = fourth*(vx1(i)+vx2(i)+vx3(i)+vx4(i))
92 vc(i,2) = fourth*(vy1(i)+vy2(i)+vy3(i)+vy4(i))
93 vc(i,3) = fourth*(vz1(i)+vz2(i)+vz3(i)+vz4(i))
105 . vx1, vx2, vx3, vx4,
106 . vy1, vy2, vy3, vy4,
107 . vz1, vz2, vz3, vz4,
108 . for_t1, for_t2, for_t3, for_t4,
109 . ifctl, stif , mu , nel ,
114 xc(i) = fourth*(x1(i)+x2(i)+x3(i)+x4(i))
115 yc(i) = fourth*(y1(i)+y2(i)+y3(i)+y4(i))
116 zc(i) = fourth*(z1(i)+z2(i)+z3(i)+z4(i))
120 gap_max = five*gap_min
121 penmin(1:nel) = gap_min*ll(1:nel)
122 penref(1:nel) = gap_max*ll(1:nel)
129 . vc(1,1), vc(1,2),vc(1,3),
133 . for_t1, for_t2, for_t3,
134 . forc_n, sti_c, stif,
135 . fqmax , penmin, penref,
144 . vc(1,1), vc(1,2),vc(1,3),
148 . for_t1, for_t4, for_t2,
149 . forc_n, sti_c, stif,
150 . fqmax , penmin, penref,
159 . vc(1,1),vc(1,2),vc(1,3),
163 . for_t2, for_t4, for_t3,
164 . forc_n, sti_c, stif,
165 . fqmax , penmin, penref,
174 . vc(1,1), vc(1,2),vc(1,3),
178 . for_t1, for_t3, for_t4,
179 . forc_n, sti_c, stif,
180 . fqmax , penmin, penref,
187 IF (sti_c(i)==zero) cycle
188 fcx = fourth*forc_n(i,1)
189 fcy = fourth*forc_n(i,2)
190 fcz = fourth*forc_n(i,3)
191 f11(i)=f11(i) + for_t1(i,1) + fcx
192 f21(i)=f21(i) + for_t1(i,2) + fcy
193 f31(i)=f31(i) + for_t1(i,3) + fcz
195 f22(i)=f22(i) + for_t2(i,2) + fcy
196 f32(i)=f32(i) + for_t2(i,3) + fcz
197 f13(i)=f13(i) + for_t3(i,1) + fcx
198 f23(i)=f23(i) + for_t3(i,2) + fcy
199 f33(i)=f33(i) + for_t3(i,3) + fcz
200 f14(i)=f14(i) + for_t4(i,1) + fcx
201 f24(i)=f24(i) + for_t4(i,2) + fcy
202 f34(i)=f34(i) + for_t4(i,3) + fcz
204 IF (stif(i)>sti_c(i)) sti(i) =
max(sti(i),stif(i))
subroutine s4for_distor(x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, vx1, vx2, vx3, vx4, vy1, vy2, vy3, vy4, vz1, vz2, vz3, vz4, f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, sti, fld, sti_c, ll, mu, fqmax, istab, nel, e_distor, dt1)
subroutine sfor_n2stria(xc, yc, zc, x1, x2, x3, y1, y2, y3, z1, z2, z3, vcx, vcy, vcz, vx1, vx2, vx3, vy1, vy2, vy3, vz1, vz2, vz3, for_t1, for_t2, for_t3, forc_n, stif0, stif, fqmax, penmin, penref, ll, ifctl, nel, e_distor, dt1)
subroutine sfor_visn4(vc, fld, tol_v, ifc1, vx1, vx2, vx3, vx4, vy1, vy2, vy3, vy4, vz1, vz2, vz3, vz4, for_t1, for_t2, for_t3, for_t4, ifctl, stif, mu, nel, e_distor, dt1)