33
34
35
36#include "implicit_f.inc"
37
38
39
40#include "mvsiz_p.inc"
41
42
43
44 INTEGER NEL
46 . off(*), snew(nel,6), qold(*), eint(*), voln(*),
47 . dvol(*), sold1(*), sold2(*), sold3(*),
48 . sold4(*), sold5(*), sold6(*), d1(*), d2(*), d3(*),
49 . d4(*), d5(*), d6(*), pold(*), einc(*)
50
51
52
53#include "com08_c.inc"
54
55
56
57 INTEGER I
59 . vavg(mvsiz), e1(mvsiz), e2(mvsiz), e3(mvsiz), e4(mvsiz),
60 . e5(mvsiz), e6(mvsiz), dta
61
62
63 dta =fourth*dt1
64
65 DO i=1,nel
66 e1(i)=d1(i)*(sold1(i)+snew(i,1)+pold(i))
67 e2(i)=d2(i)*(sold2(i)+snew(i,2)+pold(i))
68 e3(i)=d3(i)*(sold3(i)+snew(i,3)+pold(i))
69 e4(i)=d4(i)*(sold4(i)+snew(i,4))
70 e5(i)=d5(i)*(sold5(i)+snew(i,5))
71 e6(i)=d6(i)*(sold6(i)+snew(i,6))
72 ENDDO
73
74 DO i=1,nel
75 vavg(i)=(two*voln(i)-dvol(i))*off(i)
76 dvol(i)=dvol(i)*off(i)
77 einc(i)=vavg(i)*(e1(i)+e2(i)+e3(i)+e4(i)+e5(i)+e6(i))*dta
78 ENDDO
79
80 DO i=1,nel
81 einc(i)=einc(i)-dvol(i)*(pold(i)+qold(i))*half
82 eint(i)=eint(i)+einc(i)
83 ENDDO
84
85 RETURN