35 1 JFT ,JLT ,PM ,FOR ,MOM ,THK ,
36 2 EINT ,OFF ,GSTR ,PLA ,DIR ,SHF ,
37 3 MAT ,AREA ,EXX ,EYY ,EXY ,NEL ,
38 4 EXZ ,EYZ ,KXX ,KYY ,KXY ,DM ,
39 5 PID ,TF ,NPF ,MTN ,DT1C ,A1 ,
40 6 BUFMAT ,SSP ,RHO ,VISCMX,IOFC ,A2 ,
41 7 INDX ,NGL ,ZCFAC ,GS ,SIGY ,G ,
42 8 THK0 ,EPSP ,IPLA ,IGEO ,IPM ,TABLE ,
43 9 IR ,IS ,F_DEF ,ISMSTR,NU ,VOL0 ,
44 A KFTS ,EPINCHZZ ,EPINCHXZ ,
45 B EPINCHYZ ,FORP ,MOMP ,ALDT ,
53#include "implicit_f.inc"
70 INTEGER JFT, JLT, MTN, IOFC, IPLA,NEL,IR,IS,ISMSTR,KFTS
71 INTEGER MAT(*), PID(*), NPF(*),NGL(*), INDX(*),IPM(NPROPMI,*)
73 my_real FOR(NEL,5), MOM(NEL,3), THK(*), EINT(JLT,2),PM(NPROPM,*),
74 . (*), GSTR(NEL,8), PLA(*), DIR(*),VISCMX(*),
75 . AREA(*),TF(*),DT1C(*),
76 . EXX(*), EYY(*), EXY(*), EXZ(*), EYZ(*), EPSP(*),
77 . KXX(*), KYY(*), KXY(*),BUFMAT(*),SSP(*),RHO(*),
78 . ZCFAC(MVSIZ,2),GS(*),SIGY(*),(*),SHF(*),F_DEF(MVSIZ,8),
79 . A1(MVSIZ),A2(MVSIZ),G(),NU(MVSIZ),VOL0(*),
80 . EPINCHZZ(MVSIZ),EPINCHXZ(MVSIZ),EPINCHYZ(MVSIZ),
81 . FORP(NEL),MOMP(NEL,2),ALDT(MVSIZ),EZZAVG(MVSIZ),AREAPINCH(MVSIZ)
83 TYPE(elbuf_struct_),
TARGET :: ELBUF_STR
87 INTEGER IGTYP, I, NUVAR ,NINDX,IGEO(NPROPGI,*),
88 . MX,IOFF_DUCT(MVSIZ),ISRATE
91 . DEGMB(MVSIZ) ,DEGFX(MVSIZ) ,THKN(MVSIZ),
92 . DEPSXX(MVSIZ),DEPSYY(MVSIZ),DEPSZZ(MVSIZ),
93 . DEPSXY(MVSIZ),DEPSYZ(MVSIZ),DEPSZX(MVSIZ),
94 . sigoxx(mvsiz),sigoyy(mvsiz),sigozz(mvsiz),
95 . sigoxy(mvsiz),sigoyz(mvsiz),sigozx(mvsiz),
96 . signxx(mvsiz),signyy(mvsiz),signzz(mvsiz),
97 . signxy(mvsiz),signyz(mvsiz),signzx(mvsiz),
98 . sigvxx(mvsiz),sigvyy(mvsiz),sigvxy(mvsiz),
99 . eps_m2,eps_k2,young, visc, vol2, asrate
101 . depbxx(mvsiz),depbyy(mvsiz),depbxy(mvsiz),
102 . deppxz(mvsiz),deppyz(mvsiz),
103 . momoxx(mvsiz),momoyy(mvsiz)
104 . momopxz(mvsiz),momopyz
105 . momnxx(mvsiz),momnyy(mvsiz),momnxy(mvsiz),
106 . momnpxz(mvsiz),momnpyz(mvsiz),
107 . etse(mvsiz) ,epspl(mvsiz),epsp_loc(mvsiz)
109 .
DIMENSION(:) ,
POINTER :: uvar
110 my_real,
DIMENSION(MVSIZ) :: dt_inv
112 TYPE(l_bufel_) ,
POINTER :: LBUF
116 LBUF => elbuf_str%BUFLY(1)%LBUF(ir,is,1)
119 igtyp = igeo(11,pid(1))
120 nuvar = elbuf_str%BUFLY(1)%NVAR_MAT
121 uvar =>elbuf_str%BUFLY(1)%MAT(ir,is,1)%VAR
122 ioff_duct(1:mvsiz) = 0
123 viscmx(1:mvsiz) = zero
126 degmb(i) = for(i,1)*exx(i)+for(i,2)*eyy(i)+for(i,3)*exy(i)
127 . + for(i,4)*eyz(i)+for(i,5)*exz(i)
128 . + half*forp(i)*epinchzz(i)
129 degfx(i) = mom(i,1)*kxx(i)+mom(i,2)*kyy(i)+mom(i,3)*kxy(i)
130 . + half*momp(i,1)*epinchxz(i)+half*momp(i,2)*epinchyz(i)
138 dt_inv(i) = dt1c(i)/
max(dt1c(i)**2,em20)
149 IF (israte == 1)
THEN
152 eps_k2 = (kxx(i)*kxx(i)+kyy(i)*kyy(i)+kxx(i)*kyy(i)
153 . + fourth*kxy(i)*kxy(i)) *thk(i)*thk(i)*one_over_9
154 eps_m2 = four_over_3*(exx(i)*exx(i)+eyy(i)*eyy(i)+exx(i)*eyy(i)
155 . + fourth*exy(i)*exy(i))
156 epsp_loc(i) = sqrt(eps_k2 + eps_m2)*dt_inv(i)
158 ELSE IF (israte > 1)
THEN
161 eps_m2 = four_over_3*(exx(i)*exx(i)+eyy(i)*eyy(i)+exx(i)*eyy(i)
162 . + fourth*exy(i)*exy(i))
163 epsp_loc(i) = sqrt(eps_m2)*dt_inv(i)
169 asrate =
min(one,pm(9,mx)*dt1c(i))
170 epsp(i) = asrate*epsp_loc(i) + (one-asrate)*epsp(i)
196 depszz(i) = epinchzz(i)
212 deppxz(i) = epinchxz(i)
213 deppyz(i) = epinchyz(i)
217 momopxz(i)= momp(i,1)
218 momopyz(i)= momp(i,2)
223 1 jft ,jlt ,g ,thkn ,off ,
224 2 gs ,a1 ,a2 ,nu ,thk0 ,
226 4 depsxx ,depsyy ,depszz ,
227 5 depsxy ,depsyz ,depszx ,
228 6 depbxx ,depbyy ,depbxy ,
230 8 sigoxx ,sigoyy ,sigozz ,
231 9 sigoxy ,sigoyz ,sigozx ,
232 a momoxx ,momoyy ,momoxy ,
234 c signxx ,signyy ,signzz ,
235 d signxy ,signyz ,signzx ,
236 e momnxx ,momnyy ,momnxy ,
238 ELSEIF(mtn == 91)
THEN
240 1 jft ,jlt ,nuvar ,bufmat
241 2 thkn ,thk0 ,nel ,ssp ,area ,
242 3 depsxx ,depsyy ,depszz ,
243 4 depsxy ,depsyz ,depszx ,
244 5 depbxx ,depbyy ,depbxy ,
246 7 sigoxx ,sigoyy ,sigozz ,
247 8 sigoxy ,sigoyz ,sigozx ,
248 9 momoxx ,momoyy ,momoxy ,
250 b signxx ,signyy ,signzz ,
251 c signxy ,signyz ,signzx ,
252 d momnxx ,momnyy ,momnxy ,
253 e momnpxz ,momnpyz ,tt ,uvar ,dt_inv ,
254 f viscmx ,aldt ,vol0 ,ipm ,mat ,
255 g pla ,degmb ,degfx ,
256 h ngl ,ezzavg ,areapinch)
271 momp(i,1)= momnpxz(i)
272 momp(i,2)= momnpyz(i)
276 for(i,1) =for(i,1)*off(i)
277 for(i,2) =for(i,2)*off(i)
278 for(i,3) =for(i,3)*off
279 for(i,4) =for(i,4)*off(i)
280 for(i,5) =for(i,5)*off(i)
281 mom(i,1) =mom(i,1)*off(i)
282 mom(i,2) =mom(i,2)*off(i)
283 mom(i,3) =mom(i,3)*off(i)
284 forp(i) =forp(i)*off(i)
285 momp(i,1) =momp(i,1)*off(i)
286 momp(i,2) =momp(i,2)*off(i)
290 degmb(i) = degmb(i)+for(i,1)*exx(i)+for(i,2)*eyy(i)+for(i,3)*exy(i)
291 . + for(i,4)*eyz(i)+for(i,5)*exz(i)
293 degfx(i) = degfx(i)+mom(i,1)*kxx(i)+mom(i,2)*kyy(i)+mom(i,3)*kxy(i)
294 . + half*momp(i,1)*epinchxz(i)+half*momp(i,2)*epinchyz(i)
295 vol2 = half*thk0(i)*area(i)*off(i)
296 eint(i,1) = eint(i,1) + degmb(i)*vol2
297 eint(i,2) = eint(i,2) + degfx(i)*thk0(i)*vol2
305 IF (off(i) == four_over_5 . and. ioff_duct(i) == 0)
THEN
313 IF (imconv == 1)
THEN
316 WRITE(iout, 1000) ngl(indx(i))
317 WRITE(istdo,1100) ngl(indx(i)),tt
318#include "lockoff.inc"
324 1000
FORMAT(1x,
'-- RUPTURE OF SHELL ELEMENT NUMBER ',i10)
325 1100
FORMAT(1x,
'-- RUPTURE OF SHELL ELEMENT :',i10,
' AT TIME :',g11.4)
subroutine mulawglcpinch(elbuf_str, jft, jlt, pm, for, mom, thk, eint, off, gstr, pla, dir, shf, mat, area, exx, eyy, exy, nel, exz, eyz, kxx, kyy, kxy, dm, pid, tf, npf, mtn, dt1c, a1, bufmat, ssp, rho, viscmx, iofc, a2, indx, ngl, zcfac, gs, sigy, g, thk0, epsp, ipla, igeo, ipm, table, ir, is, f_def, ismstr, nu, vol0, kfts, epinchzz, epinchxz, epinchyz, forp, momp, aldt, ezzavg, areapinch)
subroutine sigeps91gpinch(jft, jlt, nuvar, uparam, rho0, thk, thk0, nel, ssp, area, depsxx, depsyy, depszz, depsxy, depsyz, depszx, depbxx, depbyy, depbxy, deppxz, deppyz, sigoxx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, momoxx, momoyy, momoxy, momopxz, momopyz, signxx, signyy, signzz, signxy, signyz, signzx, momnxx, momnyy, momnxy, momnpxz, momnpyz, time, uvar, dt_inv, viscmx, aldt, vol0, ipm, mat, pla, degmb, degfx, ngl, ezzavg, areapinch)