31
32
33
34#include "implicit_f.inc"
35
36
37
38#include "mvsiz_p.inc"
39
40
41
42 INTEGER NEL
44 . sig(nel,6), eint(*), qold(*), vol(*), qnew(*), vnew(*), dvol(*),
45 . p01(*), p02(*), e01(*), e02(*), pnew(*)
46
47
48
49
50
51
52 INTEGER I
54 . pe21(mvsiz),
55 . e21, p21, dede, dq, ei3
56
57
58
59
60 DO i=1,nel
61 e21 = e02(i)-e01(i)
62 p21 = p02(i)-p01(i)
63 IF(e21==zero)THEN
64 pe21(i) = zero
65 ELSE
66 pe21(i) = p21/e21
67 ENDIF
68 ENDDO
69
70 DO i=1,nel
71 dede = dvol(i)*pe21(i)*half
72 dq = dvol(i)*(qnew(i)-qold(i))*half
73 qold(i) = qnew(i)
74 ei3 =(e02(i)-dq+e01(i)*dede)/(1.+dede)
76 pnew(i) = p01(i)+(ei3-e01(i))*pe21(i)
77 eint(i) = eint(i)-dvol(i)*(pnew(i)+qnew(i))*half
78 eint(i) = eint(i)/vol(i)
79 ENDDO
80
81 DO i=1,nel
82 sig(i,1) = sig(i,1)-pnew(i)
83 sig(i,2) = sig(i,2)-pnew(i)
84 sig(i,3) = sig(i,3)-pnew(i)
85 ENDDO
86
87 RETURN