31 1 JFT ,JLT ,PM ,FOR ,MOM ,
32 2 THK ,OFF ,DT1C ,NU ,THK0 ,
33 3 GS ,EPSP ,IOFC ,INDX ,NEL ,
34 4 NGL ,EXZ ,EYZ ,MX ,IOFF_DUCT,
35 5 DEGMB ,DEGFX ,DEPSXX ,DEPSYY ,DEPSXY ,
36 6 DEPSYZ ,DEPSZX ,DEPBXX ,DEPBYY ,DEPBXY ,
37 7 SIGOXX ,SIGOYY ,SIGOXY ,SIGOYZ ,SIGOZX ,
38 8 MOMOXX ,MOMOYY ,MOMOXY ,SIGNXX ,SIGNYY ,
39 9 SIGNXY ,SIGNYZ ,SIGNZX ,MOMNXX ,MOMNYY ,
48#include "implicit_f.inc"
65 INTEGER JFT,JLT,IOFC,NEL,IOFF_DUCT(*),MX
66 INTEGER NGL(MVSIZ),INDX(MVSIZ)
69 . OFF(*),DT1C(*),GS(*),THK(*),EPSP(MVSIZ)
71 . EXZ(MVSIZ),EYZ(MVSIZ),KXX(MVSIZ),(MVSIZ),KXY(MVSIZ),
72 . NU(MVSIZ),THK0(MVSIZ),DEGMB(MVSIZ),DEGFX(MVSIZ)
74 . FOR(NEL,5),MOM(NEL,3),
75 . depsxx(nel),depsyy(nel),depsxy(nel),depsyz(nel),depszx(nel),
76 . depbxx(nel),depbyy(nel),depbxy(nel),
77 . sigoxx(nel),sigoyy(nel),sigoxy(nel),sigoyz(nel),sigozx(nel),
78 . signxx(nel),signyy(nel),signxy(nel),signyz(nel),signzx(nel),
79 . momoxx(nel),momoyy(nel),momoxy(nel),
80 . momnxx(nel),momnyy(nel),momnxy(nel)
81 TYPE(elbuf_struct_),
TARGET :: ELBUF_STR
85 INTEGER ICC(MVSIZ),I,J,ICC_1,NINDX
87 . F1(MVSIZ),F2(MVSIZ),F3(MVSIZ),F4(MVSIZ),F5(MVSIZ),
88 . YM(MVSIZ),FP1(MVSIZ),FP2(MVSIZ),FP3(MVSIZ),
89 . M1(MVSIZ),M2(MVSIZ),M3(MVSIZ),MP1(MVSIZ),MP2(MVSIZ),MP3(MVSIZ),
90 . DWELM(MVSIZ),DWELF(MVSIZ),CA(MVSIZ),CB(MVSIZ),CN(MVSIZ),
91 . epmx(mvsiz),
ymax(mvsiz),yeq(mvsiz),dwpla(mvsiz),hh(mvsiz),
92 . rr(mvsiz),c1(mvsiz),c2(mvsiz),c3(mvsiz),cc(mvsiz),
93 . b1(mvsiz),b2(mvsiz),b3(mvsiz),epdr(mvsiz),epsl(mvsiz),hl(mvsiz),
94 . yldl(mvsiz),a1(mvsiz),a2(mvsiz),g(mvsiz),
95 . degmb_loc(mvsiz),degsh_loc(mvsiz),degfx_loc(mvsiz),
96 . alpe(mvsiz),yld(mvsiz)
98 . depsl,ymi,a1i,thk12,ezz,dpla,aaa,bbb,ccc,
99 . p1,p2,p3,q1,q2,q3,ym_1,a1_1,c1_1,c2_1,c3_1,ca_1,cb_1,
100 . cn_1,epmx_1,ymax_1,cc_1,epsl_1,hl_1,yldl_1
102 TYPE(g_bufel_) ,
POINTER :: GBUF
104 GBUF => elbuf_str%GBUF
106 DATA p1/ 0.9659258/, p2/-0.2588190/, p3/ 1.7320508/
107 DATA q1/ 1.1153548/, q2/+0.2988584/, q3/ 0.5773503/
123 icc_1 = nint(pm(49,mx))
137 epdr(i) =
max(em20,pm(44,mx)*dt1c(i))
148 yld(i) = ca(i)+cb(i)*exp(cn(i) * log(gbuf%PLA(i)+em30))
150 depsl =
max(zero,gbuf%PLA(i)-epsl(i))
151 yld(i) =
min(yld(i),yldl(i)+hl(i)*depsl)
152 yld(i) =
max(yld(i),zero)
153 alpe(i)=
min(one,yld(i)/(yld(i)+ym(i)*depsl))
155 g(i) = half*ymi/(one+nu(i))
156 a1i = ymi/(one-nu(i)**2)
157 alpe(i)=
max(em30,a1i/a1(i))
160 thk12 = thk0(i)/twelve
166#include "vectorize.inc"
168 degsh_loc(i) = for(i,4)*eyz(i)+for(i,5)*exz(i)
169 degmb_loc(i) = degmb(i) - degsh_loc(i)
170 degfx_loc(i) = degfx(i)
175#include "vectorize.inc"
177 f1(i) = sigoxx(i) + a1(i)*depsxx(i)+a2(i)*depsyy(i)
178 f2(i) = sigoyy(i) + a1(i)*depsyy(i)+a2(i)*depsxx(i)
179 f3(i) = sigoxy(i) + g(i) *depsxy(i)
180 f4(i) = sigoyz(i) + alpe(i)*gs(i)*depsyz(i)
181 f5(i) = sigozx(i) + alpe(i)*gs(i)*depszx(i)
183 fp1(i) = p1*f1(i) + p2*f2(i)
184 fp2(i) = p2*f1(i) + p1*f2(i)
186 yeq(i) = fp1(i)**2 + fp2(i)**2
187 yeq(i) = yeq(i) + fp3(i)**2
189 m1(i) = momoxx(i) + b1(i)*depbxx(i)+b2(i)*depbyy(i)
190 m2(i) = momoyy(i) + b1(i)*depbyy(i)+b2(i)*depbxx(i)
191 m3(i) = momoxy(i) + b3(i)*depbxy(i)
193 mp1(i) = (p1*m1(i) + p2*m2(i))*four
194 mp2(i) = (p2*m1(i) + p1*m2(i))*four
195 mp3(i) = p3*m3(i) * four
196 yeq(i) = yeq(i) + mp1(i)**2+mp2(i)**2
197 yeq(i) = sqrt(yeq(i) + mp3(i)**2)
203 epsp(i) = abs(degmb_loc(i)+degfx_loc(i)*thk0(i))/(yeq(i)+em20)
204 epsp(i) =
max(epsp(i),epdr(i))
205 yld(i) = yld(i)*(one+cc(i)*log(epsp(i)/epdr(i)))
206 IF (icc(i) == 2) yld(i)=
min(yld(i),
ymax(i))
207 rr(i) =
min(one,yld(i)/(yeq(i)+em20))
212#include "vectorize.inc"
214 f1(i) =(q1*fp1(i) + q2*fp2(i))*rr(i)
215 f2(i) =(q2*fp1(i) + q1*fp2(i))*rr(i)
216 f3(i) = q3*fp3(i)*rr(i)
218 dwelm(i) =(f1(i)+sigoxx(i))*(c1(i)*(f1(i)-sigoxx(i))+
219 . c2(i)*(f2(i)-sigoyy(i)))+
220 . (f2(i)+sigoyy(i))*(c2(i)*(f1(i)-sigoxx(i))+
221 . c1(i)*(f2(i)-sigoyy(i)))+
222 . (f3(i)+sigoxy(i))*(c3(i)*(f3(i)-sigoxy(i)))
223 degmb_loc(i) = degmb_loc(i) + f1(i)*depsxx(i)+f2(i)*depsyy(i)+f3(i)*depsxy(i)
227 m1(i) =(q1*mp1(i) + q2*mp2(i))*rr(i)*fourth
228 m2(i) =(q2*mp1(i) + q1*mp2(i))*rr(i)*fourth
229 m3(i) = q3*mp3(i)*rr(i)*fourth
231 dwelf(i) =(m1(i)+momoxx(i))*twelve*(c1(i)*(m1(i)-momoxx(i))+
232 . c2(i)*(m2(i)-momoyy(i)))+
233 . (m2(i)+momoyy(i))*twelve*(c2(i)*(m1(i)-momoxx(i))+
234 . c1(i)*(m2(i)-momoyy(i)))+
235 . (m3(i)+momoxy(i))*twelve*(c3(i)*(m3(i)-momoxy(i)))
236 degfx_loc(i) = degfx_loc(i) + m1(i)*depbxx(i)+m2(i)*depbyy(i)+m3(i)*depbxy(i)
239#include "vectorize.inc"
241 dwpla(i) = degmb_loc(i) + degfx_loc(i)*thk0(i)-dwelm(i)-dwelf(i)
247 dpla = off(i) *
max(zero,half*dwpla(i)/
max(em20,yld(i)))
248 gbuf%PLA(i) = gbuf%PLA(i) + dpla
249 aaa = abs(dwelm(i)+dwelf(i))
251 ccc =
max(em20,aaa+bbb)
252 ezz = - (depsxx(i) + depsyy(i)) * (nu(i)*aaa/(one-nu(i)) + bbb) / ccc
253 thk(i) = thk(i) * (one + ezz*off(i))
259 IF (off(i) < em01) off(i) = zero
260 IF (off(i) < one) off(i) = off(i)*four_over_5
266 IF (off(i) < one) cycle
267 IF (gbuf%PLA(i) < epmx(i)) cycle
275 IF (inconv == 1)
THEN
278 WRITE(iout, 1000) ngl(indx(j))
279 WRITE(istdo,1100) ngl(indx(j)),tt
280#include "lockoff.inc"
298 1000
FORMAT(1x,
'-- RUPTURE OF SHELL ELEMENT NUMBER ',i10)
299 1100
FORMAT(1x,
'-- RUPTURE OF SHELL ELEMENT :',i10,
' AT TIME :',g11.4)
subroutine mulawglc(elbuf_str, jft, jlt, pm, for, mom, thk, eint, off, gstr, 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, epsd_glob, ipla, igeo, ipm, table, ir, is, f_def, ismstr, nu, vol0, kfts, zshift, idamp_freq_range, mat_elem, damp_buf, for_g)
subroutine sigeps22g(elbuf_str, jft, jlt, pm, for, mom, thk, off, dt1c, nu, thk0, gs, epsp, iofc, indx, nel, ngl, exz, eyz, mx, ioff_duct, degmb, degfx, depsxx, depsyy, depsxy, depsyz, depszx, depbxx, depbyy, depbxy, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, momoxx, momoyy, momoxy, signxx, signyy, signxy, signyz, signzx, momnxx, momnyy, momnxy)