34
35
36
37#include "implicit_f.inc"
38
39
40
41#include "mvsiz_p.inc"
42#include "param_c.inc"
43
44
45
46 INTEGER, INTENT(IN) :: NEL
47 INTEGER, INTENT(IN) :: IMAT
48 INTEGER NC(MVSIZ,10)
49 my_real,
INTENT(IN) :: theaccfact
51 . vol(*), px(mvsiz,*), py(mvsiz,*), pz(mvsiz,*),
52 . ni(mvsiz,10), tempnc(*), fphi(mvsiz,10), pm(npropm,*), heat(*),
53 . dt1, tel(*), off(*), offg(*)
54
55
56
57 INTEGER I,N
59 . ca, cb, kc, phix(mvsiz), phiy(mvsiz), phiz(mvsiz)
60
61 ca = pm(75,imat)
62 cb = pm(76,imat)
63
64 phix(1:mvsiz) = zero
65 phiy(1:mvsiz) = zero
66 phiz(1:mvsiz) = zero
67
68
69
70 DO n=1,10
71 DO i=1,nel
72 IF(off(i)==zero.OR.offg(i)<=zero) cycle
73 phix(i) = phix(i) + tempnc(nc(i,n))*px(i,n)
74 phiy(i) = phiy(i) + tempnc(nc(i,n))*py(i,n)
75 phiz(i) = phiz(i) + tempnc(nc(i,n))*pz(i,n)
76 ENDDO
77 ENDDO
78
79 DO i=1,nel
80 IF(off(i)==zero.OR.offg(i)<=zero) cycle
81 kc = (ca + cb*tel(i))*dt1*vol(i)*theaccfact
82 phix(i) = kc*phix(i)
83 phiy(i) = kc*phiy(i)
84 phiz(i) = kc*phiz(i)
85 ENDDO
86
87
88
89 DO n=1,10
90 DO i=1,nel
91 IF(off(i)==zero.OR.offg(i)<=zero) cycle
92 fphi(i,n) = fphi(i,n) + heat(i)*ni(i,n) - (phix(i)*px(i,n) + phiy(i)*py(i,n) + phiz(i)*pz(i,n))
93 ENDDO
94 ENDDO
95
96 RETURN