37
38
39
40#include "implicit_f.inc"
41
42
43
44#include "mvsiz_p.inc"
45#include "param_c.inc"
46
47
48
49 INTEGER, INTENT(IN) :: NEL
50 INTEGER, INTENT(IN) :: IMAT
51 INTEGER NC1(MVSIZ),NC2(MVSIZ),
52 . NC3(MVSIZ),NC4(MVSIZ),NC5(MVSIZ),NC6(MVSIZ),
53 . NC7(MVSIZ),NC8(MVSIZ)
54 my_real,
INTENT(IN) :: theaccfact
55 my_real :: vol(*), px1(mvsiz), py1(mvsiz),pz1(mvsiz),
56 . px2(mvsiz), py2(mvsiz),pz2(mvsiz),
57 . px3(mvsiz), py3(mvsiz),pz3(mvsiz),
58 . px4(mvsiz), py4(mvsiz),pz4(mvsiz),
59 . ni(8), tempnc(*), fphi(mvsiz,8), pm(npropm,*), heat(*),
60 . dt1, tel(*), off(*), offg(*)
61
62
63
64 INTEGER I
66 . ca, cb, kc, phix, phiy, phiz, a
67
68 ca = pm(75,imat)
69 cb = pm(76,imat)
70
71 DO i=1,nel
72 IF(off(i)==zero.OR.offg(i)<=zero) cycle
73 phix = zero
74 phiy = zero
75 phiz = zero
76
77
78
79 phix = tempnc(nc1(i))*px1(i) + tempnc(nc2(i))*px2(i) +
80 . tempnc(nc3(i))*px3(i) + tempnc(nc4(i))*px4(i) -
81 . tempnc(nc5(i))*px3(i) - tempnc(nc6(i))*px4(i) -
82 . tempnc(nc7(i))*px1(i) - tempnc(nc8(i))*px2(i)
83
84 phiy = tempnc(nc1(i))*py1(i) + tempnc(nc2(i))*py2(i) +
85 . tempnc(nc3(i))*py3(i) + tempnc(nc4(i))*py4(i) -
86 . tempnc(nc5(i))*py3(i) - tempnc(nc6(i))*py4(i) -
87 . tempnc(nc7(i))*py1(i) - tempnc(nc8(i))*py2(i)
88
89 phiz = tempnc(nc1(i))*pz1(i) + tempnc(nc2(i))*pz2(i) +
90 . tempnc(nc3(i))*pz3(i) + tempnc(nc4(i))*pz4(i) -
91 . tempnc(nc5(i))*pz3(i) - tempnc(nc6(i))*pz4(i) -
92 . tempnc(nc7(i))*pz1(i) - tempnc(nc8(i))*pz2(i)
93
94 kc = (ca + cb*tel(i))*dt1*vol(i)*theaccfact
95 phix = kc*phix
96 phiy = kc*phiy
97 phiz = kc*phiz
98
99
100
101 a = heat(i)*one_over_8
102 fphi(i,1) = fphi(i,1) +
103 . a - (phix*px1(i) + phiy*py1(i) + phiz*pz1(i))
104 fphi(i,2) = fphi(i,2) +
105 . a - (phix*px2(i) + phiy*py2(i) + phiz*pz2(i))
106 fphi(i,3) = fphi(i,3) +
107 . a - (phix*px3(i) + phiy*py3(i) + phiz*pz3(i))
108 fphi(i,4) = fphi(i,4) +
109 . a - (phix*px4(i) + phiy*py4(i) + phiz*pz4(i))
110 fphi(i,5) = fphi(i,5) +
111 . a + (phix*px3(i) + phiy*py3(i) + phiz*pz3(i))
112 fphi(i,6) = fphi(i,6) +
113 . a + (phix*px4(i) + phiy*py4(i) + phiz*pz4(i))
114 fphi(i,7) = fphi(i,7) +
115 . a + (phix*px1(i) + phiy*py1(i) + phiz*pz1(i))
116 fphi(i,8) = fphi(i,8) +
117 . a + (phix*px2(i) + phiy*py2(i) + phiz*pz2(i))
118 ENDDO
119
120 RETURN