40
41
42
43#include "implicit_f.inc"
44
45
46
47#include "tabsiz_c.inc"
48
49
50
51
52 INTEGER, INTENT(IN) :: NEL,,NUVAR,
53 . NFUNC,IFUNC(NFUNC),NPF(SNPC),NVARTMP
55 . uparam
56 my_real,
DIMENSION(NEL),
INTENT(IN)
57 . rho,epsxx,epsyy,
58 . depsxx,depsyy,depsxy,depsyz,depszx,
59 . sigoxx,sigoyy,sigoxy,sigoyz,sigozx,
60 . thkly,shf,epspl
61 my_real ,
DIMENSION(NEL),
INTENT(OUT) ::
62 . soundsp,signxx,signyy,signxy,signyz,signzx,
63 . sigy,etse
64 my_real ,
DIMENSION(NEL),
INTENT(INOUT) ::
65 . pla,thk,off,seq,dpla
66 my_real,
DIMENSION(NEL,6),
INTENT(INOUT) ::
67 . dmg
68 my_real ,
DIMENSION(NEL,NUVAR),
INTENT(INOUT) ::
69 . uvar
70 INTEGER, DIMENSION(NEL,NVARTMP), INTENT(INOUT) :: VARTMP
71
72
73
74 INTEGER
75 . I,II,J,NITER,ITER,NINDX,INDEX(NEL),
76 . ISH,ITR,,IBUCK,ICOMP,LTYPE11,LTYPE12,
77 . LTYPER0,IPOS(NEL),ILEN(NEL),IAD(NEL)
79 . e10,e20,e30,nu12,nu21,nu23,nu32,nu13,nu31,
80 . g120,g23,g31,e1c,gamma,sigy0,beta,m,a,efti0,
81 . eftu0,dftu,efci0,efcu0,dfcu,dsat1,y00,yc0,b,
82 . dmax,yr,ysp,dsat2,y0p0,ycp0,dsat2c,y0pc0,ycpc0,
83 . epsd11,d11,n11,d11u,n11u,epsd12,d22,n22,d12,
84 . n12,epsdr0,dr0,nr0
86 . ddep,dfdsig2,dlam,normyy,normxy,sig_dfdsig,
87 . h(nel),dpyy(nel),dpzz(nel),dpxy(nel),
88 . phi(nel),dezz(nel),dpla_dlam(nel),dphi_dlam(nel),
89 . deelzz(nel),dydx(nel),a11(nel),a22(nel),a12(nel),
90 . dft(nel),dfc(nel),e1(nel),e2(nel
91 . zdp(nel),y(nel),yp(nel),d(nel),dp(nel),df(nel),
92 . g12(nel),efti(nel),eftu(nel),efci(nel),efcu(nel),
93 . f11(nel),f22(nel),f12(nel),f11r(nel),fr0(nel),
94 . y0(nel),yc(nel),y0p(nel),ycp(nel),y0pc(nel),ycpc(nel),
95 . var(nel),dpt(nel),dptc(nel),epspyy(nel)
96
97
98
99
100
101 e10 = uparam(1)
102 e20 = uparam(2)
103 e30 = uparam(3)
104 nu12 = uparam(4)
105 nu21 = uparam(5)
106 nu13 = uparam(6)
107 nu31 = uparam(7)
108 nu23 = uparam(8)
109 nu32 = uparam(9)
110 g120 = uparam(10)
111 g23 = uparam(11)
112 g31 = uparam(12)
113 e1c = uparam(13)
114 gamma = uparam(14)
115 ish = nint(uparam(15))
116 itr = nint(uparam(16))
117 ires = nint(uparam(17))
118 sigy0 = uparam(18)
119 beta = uparam(19)
120 m = uparam(20)
121 a = uparam(21)
122 efti0 = uparam(22)
123 eftu0 = uparam(23)
124 dftu = uparam(24)
125 efci0 = uparam(25)
126 efcu0 = uparam(26)
127 dfcu = uparam(27)
128 ibuck = nint(uparam(28))
129 dsat1 = uparam(29)
130 y00 = uparam(30)
131 yc0 = uparam(31)
132 b = uparam(32)
133 dmax = uparam(33)
134 yr = uparam(34)
135 ysp = uparam(35)
136 dsat2 = uparam(36)
137 y0p0 = uparam(37)
138 ycp0 = uparam(38)
139 dsat2c = uparam(39)
140 y0pc0 = uparam(40)
141 ycpc0 = uparam(41)
142 epsd11 = uparam(42)
143 d11 = uparam(43)
144 n11 = uparam(44)
145 d11u = uparam(45)
146 n11u = uparam(46)
147 epsd12 = uparam(47)
148 d22 = uparam(48)
149 n22 = uparam(49)
150 d12 = uparam(50)
151 n12 = uparam(51)
152 epsdr0 = uparam(52)
153 dr0 = uparam(53)
154 nr0 = uparam(54)
155 ltype11 = nint(uparam(55))
156 ltype12 = nint(uparam(56))
157 ltyper0 = nint(uparam(57))
158
159
160 icomp = 0
161 IF (y0pc0 > zero) icomp = 1
162
163
164 DO i=1,nel
165
166 IF (off(i) < one) off(i) = four_over_5*off(i)
167 IF (off(i) < em01) off(i) = zero
168
169 etse(i) = one
170 h(i) = zero
171
172 dpla(i) = zero
173 dpyy(i) = zero
174 dpxy(i) = zero
175 dpzz(i) = zero
176
177 df(i) = dmg(i,2)
178 d(i) = dmg(i,3)
179 dp(i) = dmg(i,4)
180 dft(i) = dmg(i,5)
181 dfc(i) = dmg(i,6)
182 y(i) = uvar(i,1)
183 yp(i) = uvar(i,2)
184 epspyy(i) = uvar(i,16)
185 ENDDO
186
187
188 DO i = 1,nel
189
190 IF (ltype11 == 1) THEN
191 f11(i) = d11*(abs(epspl(i))/epsd11)**n11
192 ELSEIF (ltype11 == 2) THEN
193 f11(i) = d11*(abs(epspl(i))/epsd11) + n11
194 ELSEIF (ltype11 == 3) THEN
195 f11(i) = d11*log(
max(abs(epspl(i))/epsd11,one)) + log(n11)
196 ELSEIF (ltype11 == 4) THEN
197 f11(i) = d11*tanh(n11*(
max(abs(epspl(i))-epsd11,zero)))
198 ENDIF
199
200 IF (ltype12 == 1) THEN
201 f22(i) = d22*(abs(epspl(i))/epsd12)**n22
202 ELSEIF (ltype12 == 2) THEN
203 f22(i) = d22*(abs(epspl(i))/epsd12) + n22
204 ELSEIF (ltype12 == 3) THEN
205 f22(i) = d22*log(
max(abs(epspl(i))/epsd12,one)) + log(n22)
206 ELSEIF (ltype12 == 4) THEN
207 f22(i) = d22*tanh(n22*(
max(abs(epspl(i))-epsd12,zero)))
208 ENDIF
209
210 IF (ltype12 == 1) THEN
211 f12(i) = d12*(abs(epspl(i))/epsd12)**n12
212 ELSEIF (ltype12 == 2) THEN
213 f12(i) = d12*(abs(epspl(i))/epsd12) + n12
214 ELSEIF (ltype12 == 3) THEN
215 f12(i) = d12*log(
max(abs(epspl(i))/epsd12,one)) + log(n12)
216 ELSEIF (ltype12 == 4) THEN
217 f12(i) = d12*tanh(n12*(
max(abs(epspl(i))-epsd12,zero)))
218 ENDIF
219
220 IF (ltype11 == 1) THEN
221 f11r(i) = d11u*(abs(epspl(i))/epsd11)**n11u
222 ELSEIF (ltype11 == 2) THEN
223 f11r(i) = d11u*(abs(epspl(i))/epsd11) + n11u
224 ELSEIF (ltype11 == 3) THEN
225 f11r(i) = d11u*log(
max(abs(epspl(i))/epsd11,one)) + log(n11u)
226 ELSEIF (ltype11 == 4) THEN
227 f11r(i) = d11u*tanh(n11u*(
max(abs(epspl(i))-epsd11,zero)))
228 ENDIF
229
230 IF (ltyper0 == 1) THEN
231 fr0(i) = dr0*(abs(epspl(i))/epsdr0)**nr0
232 ELSEIF (ltyper0 == 2) THEN
233 fr0(i) = dr0*(abs(epspl(i))/epsdr0) + nr0
234 ELSEIF (ltyper0 == 3) THEN
235 fr0(i) = dr0*log(
max(abs(epspl(i))/epsdr0,one)) + log(nr0)
236 ELSEIF (ltyper0 == 4) THEN
237 fr0(i) = dr0*tanh(nr0*(
max(abs(epspl(i))-epsdr0,zero)))
238 ENDIF
239 ENDDO
240
241
242 DO i = 1,nel
243
244
245 IF (epsxx(i) >= zero) THEN
246 e1(i) = e10
247
248 ELSE
249 e1(i) = e1c/(one + (gamma*e1c*abs(epsxx(i))))
250 ENDIF
251 e1(i) = e1(i)*(one + f11(i))
252
253 e2(i) = e20*(one + f22(i))
254
255 g12(i) = g120*(one + f12(i))
256
257 a11(i) = e1(i)/(one - nu12*nu21)
258 a12(i) = nu21*a11(i)
259 a22(i) = e2(i)/(one - nu12*nu21)
260
261 sigy(i) = sigy0*(one + fr0(i)) + beta*exp(m*log(pla(i)+em20))
262
263 efti(i) = uvar(i,3)
264 IF (uvar(i,3) == zero) efti(i) = efti0*(one + f11r(i))
265 eftu(i) = uvar(i,4)
266 IF (uvar(i,4) == zero) eftu(i) = eftu0*(one + f11r(i))
267 efci(i) = uvar(i,5)
268 IF (uvar(i,5) == zero) efci(i) = efci0*(one + f11r(i))
269 efcu(i) = uvar(i,6)
270 IF (uvar(i,6) == zero) efcu(i) = efcu0*(one + f11r(i))
271
272 y0(i) = uvar(i,7)
273 IF (uvar(i,7) == zero) y0(i) = y00*sqrt(one + f12(i))
274 yc(i) = uvar(i,8)
275 IF (uvar(i,8) == zero) yc(i) = yc0*sqrt(one + f12(i))
276 y0p(i) = uvar(i,9)
277 IF (uvar(i,9) == zero) y0p(i) = y0p0*sqrt(one + f22(i))
278 ycp(i) = uvar(i,10)
279 IF (uvar(i,10) == zero) ycp(i) = ycp0*sqrt(one + f22(i))
280 y0pc(i) = uvar(i,11)
281 IF (uvar(i,11) == zero) y0pc(i) = y0pc0*sqrt(one + f22(i))
282 ycpc(i) = uvar(i,12)
283 IF (uvar(i,12) == zero) ycpc(i) = ycpc0*sqrt(one + f22(i))
284 ENDDO
285
286
287
288
289 DO i=1,nel
290
291
292 signyy(i) = sigoyy(i)/
max((one-dp(i)),em20) + a12(i)*depsxx(i) + a22(i)*depsyy(i)
293 signxy(i) = sigoxy(i)/
max((one- d(i)),em20) + g12(i)*depsxy(i)
294 signyz(i) = sigoyz(i)/
max(
min(one-d(i),one-dp(i)),em20) + g23*depsyz(i)*shf(i)
295 signzx(i) = sigozx(i)/
max(
min(one-d(i),one-dp(i)),em20) + g31*depszx(i)*shf(i)
296
297
298 seq(i) = sqrt((signxy(i))**2 + a*(signyy(i))**2)
299
300 ENDDO
301
302
303
304
305 phi(1:nel) = seq(1:nel) - sigy(1:nel)
306
307 nindx = 0
308 index(1:nel) = 0
309 DO i=1,nel
310 IF ((phi(i)>zero).AND.(off(i) == one)) THEN
311 nindx = nindx+1
312 index(nindx) = i
313 ENDIF
314 ENDDO
315
316
317
318
319
320
321 niter = 3
322
323
324 DO iter = 1, niter
325#include "vectorize.inc"
326
327 DO ii=1,nindx
328 i = index(ii)
329
330
331
332
333
334
335
336
337
338
339
340 normyy = a*signyy(i)/
max(seq(i),em20)
341 normxy = signxy(i)/
max(seq(i),em20)
342
343
344
345
346
347
348 dfdsig2 = normyy*normyy*a22(i) + normxy*normxy*g12(i)
349
350
351
352
353
354
355 h(i) = beta*m*exp((m-1)*log(pla(i)+em20))
356 h(i) =
min(h(i),
max(two*g120,e20))
357
358
359
360 sig_dfdsig = signyy(i)*normyy + signxy(i)*normxy
361 dpla_dlam(i) = sig_dfdsig/
max(sigy(i),em20)
362
363
364
365
366
367 dphi_dlam(i) = - dfdsig2 - h(i)*dpla_dlam(i)
368 dphi_dlam(i) = sign(
max(abs(dphi_dlam(i)),em20),dphi_dlam(i))
369
370
371 dlam = -phi(i)/dphi_dlam(i)
372
373
374 dpyy(i) = dlam*normyy
375 dpxy(i) = dlam*normxy
376
377
378 epspyy(i) = epspyy(i) + dpyy(i)
379
380
381 signyy(i) = signyy(i) - a22(i)*dpyy(i)
382 signxy(i) = signxy(i) - dpxy(i)*g12(i)
383
384
385 ddep = dlam*dpla_dlam(i)
386 dpla(i) =
max(zero, dpla(i) + ddep)
387 pla(i) = pla(i) + ddep
388
389
390 seq(i) = sqrt((signxy(i))**2 + a*(signyy(i))**2)
391
392
393 dpzz(i) = dpzz(i) - dpyy(i)
394
395
396 sigy(i) = sigy(i) + h(i)*dlam*dpla_dlam(i)
397
398
399 phi(i) = seq(i) - sigy(i)
400
401 ENDDO
402
403
404 ENDDO
405
406
407
408
409
410
411
412
413 DO i = 1,nel
414
415
416
417
418 epsf_eq = epsxx(i) + nu21*(epsyy(i)-epspyy(i))
419
420 IF (epsf_eq >= zero) THEN
421 IF (epsf_eq < efti(i)) THEN
422 dft(i) =
max(zero,dft(i))
423 ELSEIF ((epsf_eq >= efti(i)).AND.(epsf_eq < eftu(i))) THEN
424 dft(i) =
max(dftu*((epsf_eq-efti(i))/(eftu(i)-efti(i))),dft(i))
425
426 IF (uvar(i,3) == zero) uvar(i,3) = efti(i)
427 IF (uvar(i,4) == zero) uvar(i,4) = eftu(i)
428 ELSEIF (epsf_eq >= eftu(i)) THEN
429 dft(i) =
max(one - (one - dftu)*(eftu(i)/epsf_eq),dft(i))
430 ENDIF
431 dft(i) =
max(dft(i),zero)
432 dft(i) =
min(dft(i),one)
433 df(i) = dft(i)
434
435 ELSEIF ((epsf_eq < zero).AND.(ibuck > 1)) THEN
436 IF (abs(epsf_eq) < efci(i)) THEN
437 dfc(i) =
max(zero,dfc(i))
438 ELSEIF ((abs(epsf_eq) >= efci(i)).AND.(abs(epsf_eq) < efcu(i))) THEN
439 dfc(i) =
max(dfcu*((abs(epsf_eq)-efci(i))/(efcu(i)-efci(i))),dfc(i))
440
441 IF (uvar(i,5) == zero) uvar(i,5) = efci(i)
442 IF (uvar(i,6) == zero) uvar(i,6) = efcu(i)
443 ELSEIF (abs(epsf_eq) >= efcu(i)) THEN
444 dfc(i) =
max(one - (one - dfcu)*(efcu(i)/abs(epsf_eq)),dfc(i))
445 ENDIF
446 dfc(i) =
max(dfc(i),zero)
447 dfc(i) =
min(dfc(i),one)
448 df(i) = dfc(i)
449 ENDIF
450
451
452
453
454 zd(i) = half*((signxy(i)**2/g120) + (signzx(i)**2/g31))
455
456 IF (icomp > 0) THEN
457 zdp(i) = half*((signyy(i)**2)/e20)
458
459 ELSE
460 zdp(i) = half*(((
max(signyy(i),zero))**2)/e20)
461 ENDIF
462
463 y(i) =
max(y(i) ,sqrt(zd(i)+b*zdp(i)))
464 yp(i) =
max(yp(i),sqrt(zdp(i)))
465 ENDDO
466
467
468
469 IF (ish == 1) THEN
470 DO i = 1,nel
471 IF (y(i)<y0(i)) THEN
472 d(i) = zero
473 ELSEIF ((d(i)<dmax).AND.(y(i)<ysp).AND.(y(i)<yr)) THEN
474 d(i) =
max(y(i)-y0(i),zero)/
max(yc(i),em20)
475 d(i) =
min(d(i),dmax)
476
477 IF (uvar(i,7) == zero) uvar(i,7) = y0(i)
478 IF (uvar(i,8) == zero) uvar(i,8) = yc(i)
479 ELSE
480 d(i) = one - (one - dmax)*uvar(i,1)/
max(y(i),em20)
481 ENDIF
482 d(i) =
max(d(i),zero)
483 d(i) =
min(d(i), one)
484 ENDDO
485
486 ELSEIF (ish == 2) THEN
487 DO i = 1,nel
488 IF (y(i)>y0(i)) THEN
489 d(i) = dsat1*(one - exp((y0(i)-y
490
491 IF (uvar(i,7) == zero) uvar(i,7) = y0(i)
492 IF (uvar(i,8) == zero) uvar(i,8) = yc(i)
493 ELSE
494 d(i) = zero
495 ENDIF
496 d(i) =
max(d(i),zero)
497 d(i) =
min(d(i), one)
498 ENDDO
499
500 ELSEIF (ish == 3) THEN
501 ipos(1:nel) = vartmp(1:nel,1)
502 iad(1:nel) = npf(ifunc(1)) / 2 + 1
503 ilen(1:nel) = npf(ifunc(1)+1) / 2 - iad(1:nel) - ipos(1:nel)
504 DO i = 1,nel
505 var(i) = y(i)/y0(i)
506 ENDDO
507 CALL vinter(tf,iad,ipos,ilen,nel,var,dydx,d)
508 vartmp(1:nel,1) = ipos(1:nel)
509 DO i = 1,nel
510
511 IF (uvar(i,7) == zero .AND. d(i) /= zero) uvar(i,7) = y0(i)
512 d(i) =
max(d(i),zero)
513 d(i) =
min(d(i), one)
514 ENDDO
515 ENDIF
516
517
518
519 IF (itr == 1) THEN
520 DO i = 1,nel
521
522 IF ((icomp > 0).AND.(epsyy(i)<zero)) THEN
523 IF (yp(i)<y0pc(i)) THEN
524 dp(i) = zero
525 ELSEIF ((dp(i)<dmax).AND.(yp(i)<ysp).AND.(yp(i)<yr)) THEN
526 dp(i) =
max(yp(i)-y0pc(i),zero)/
max(ycpc(i),em20)
527 dp(i) =
min(dp(i),dmax)
528
529 IF (uvar(i,11) == zero) uvar(i,11) = y0pc(i)
530 IF (uvar(i,12) == zero) uvar(i,12) = ycpc(i)
531 ELSE
532 dp(i) = one - (one - dmax)*uvar(i,2)/
max(yp(i),em20)
533 ENDIF
534
535 ELSE
536 IF (yp(i)<y0p(i)) THEN
537 dp(i) = zero
538 ELSEIF ((dp(i)<dmax).AND.(yp(i)<ysp).AND.(yp(i)<yr)) THEN
539 dp(i) =
max(yp(i)-y0p(i),zero)/
max(ycp(i),em20)
540 dp(i) =
min(dp(i),dmax)
541
542 IF (uvar(i,9) == zero) uvar(i,9) = y0p(i)
543 IF (uvar(i,10) == zero) uvar(i,10) = ycp(i)
544 ELSE
545 dp(i) = one - (one - dmax)*uvar(i,2)/
max(yp(i),em20)
546 ENDIF
547 ENDIF
548 dp(i) =
max(dp(i),zero)
549 dp(i) =
min(dp(i), one)
550 ENDDO
551
552 ELSEIF (itr == 2) THEN
553 DO i = 1,nel
554
555 IF ((icomp > 0).AND.(epsyy(i)<zero)) THEN
556 IF (yp(i)>y0pc(i)) THEN
557 dp(i) = dsat2c*(one - exp((y0pc(i)-yp(i))/
max(ycpc(i),em20)))
558
559 IF (uvar(i,11) == zero) uvar(i,11) = y0pc(i)
560 IF (uvar(i,12) == zero) uvar(i,12) = ycpc(i)
561 ELSE
562 dp(i) = zero
563 ENDIF
564
565 ELSE
566 IF (yp(i)>y0p(i)) THEN
567 dp(i) = dsat2*(one - exp((y0p(i)-yp(i))/
max(ycp(i),em20)))
568
569 IF (uvar(i,9) == zero) uvar(i,9) = y0p(i)
570 IF (uvar(i,10) == zero) uvar(i,10) = ycp(i)
571 ELSE
572 dp(i) = zero
573 ENDIF
574 ENDIF
575 dp(i) =
max(dp(i),zero)
576 dp(i) =
min(dp(i), one)
577 ENDDO
578
579 ELSEIF (itr == 3) THEN
580
581 IF (icomp > 0) THEN
582 ipos(1:nel) = vartmp(1:nel,3)
583 iad(1:nel) = npf(ifunc(3)) / 2 + 1
584 ilen(1:nel) = npf(ifunc(3)+1) / 2 - iad(1:nel) - ipos(1:nel)
585 DO i = 1,nel
586 var(i) = yp(i)/y0pc(i)
587 ENDDO
588 CALL vinter(tf,iad,ipos,ilen,nel,var,dydx,dptc)
589 vartmp(1:nel,3) = ipos(1:nel)
590 ENDIF
591
592 ipos(1:nel) = vartmp(1:nel,2)
593 iad(1:nel) = npf(ifunc(2)) / 2 + 1
594 ilen(1:nel) = npf(ifunc(2)+1) / 2 - iad(1:nel) - ipos(1:nel)
595 DO i = 1,nel
596 var(i) = yp(i)/y0p(i)
597 ENDDO
598 CALL vinter(tf,iad,ipos,ilen,nel,var,dydx,dpt)
599 vartmp(1:nel,2) = ipos(1:nel)
600 DO i = 1,nel
601
602 IF ((icomp > 0).AND.(epsyy(i)<zero)) THEN
603 dp(i) = dptc(i)
604
605 IF ((uvar(i,11) == zero) .AND. (dp(i) /= zero)) uvar
606
607 ELSE
608 dp(i) = dpt(i)
609
610 IF ((uvar(i,9) == zero) .AND. (dp(i) /= zero)) uvar(i,9) = y0p(i)
611 ENDIF
612 dp(i) =
max(dp(i),zero)
613 dp(i) =
min(dp(i), one)
614 ENDDO
615 ENDIF
616
617 DO i = 1,nel
618
619
620 soundsp(i) = sqrt(
max(a11(i),a22(i))/rho(i))
621
622
623 a11(i) = a11(i)*(one - df(i))
624 a12(i) = nu21*a11(i)*(one - dp(i))
625 a22(i) = a22(i)*(one - dp(i))
626
627
628
629
630 IF (gamma > zero .AND. epsxx(i) < zero) THEN
631 signxx(i) = -(one/gamma)*log(one + gamma*e1c*abs(epsxx(i)))*(one - df(i))*(one + f11(i))
632
633 ELSE
634 signxx(i) = a11(i)*epsxx(i)
635 ENDIF
636 signxx(i) = signxx(i) + a12(i)*(epsyy(i) - epspyy(i))
637 signyy(i) = a12(i)*epsxx(i) + a22(i)*(epsyy(i) - epspyy(i))
638 signxy(i) = signxy(i)*(one - d(i))
639 signyz(i) = signyz(i)*
min(one - d(i),one - dp(i))
640 signzx(i) = signzx(i)*
min(one - d(i),one - dp(i))
641
642
643
644 dmg(i,1) =
max(df(i),d(i),dp(i))
645 dmg(i,2) = df(i)
646 dmg(i,3) = d(i)
647 dmg(i,4) = dp(i)
648 dmg(i,5) = dft(i)
649 dmg(i,6) = dfc(i)
650 uvar(i,1) = y(i)
651 uvar(i,2) = yp(i)
652 uvar(i,16) = epspyy(i)
653
654 ENDDO
655
656
657
658 DO i=1,nel
659
660 IF (dpla(i)>zero) THEN
661 etse(i) = h(i) / (h(i) +
max(e1(i),e2(i)))
662 ELSE
663 etse(i) = one
664 ENDIF
665
666 deelzz(i) = -(nu13/e1(i))*(signxx(i)-sigoxx(i))-(nu23/e2(i))*(signyy(i)-sigoyy(i))
667 dezz(i) = deelzz(i) + dpzz(i)
668 thk(i) = thk(i) + dezz(i)*thkly(i)*off(i)
669 ENDDO
670
subroutine vinter(tf, iad, ipos, ilen, nel, x, dydx, y)