35
36
37
38#include "implicit_f.inc"
39
40
41
42#include "mvsiz_p.inc"
43#include "param_c.inc"
44
45
46
47 INTEGER, INTENT(IN) :: NEL
48 INTEGER, INTENT(IN) :: IMAT
49 INTEGER NPE,NC(MVSIZ,NPE)
50 my_real,
INTENT(IN) :: theaccfact
51 my_real :: vol(*), px(mvsiz,npe), py(mvsiz,npe),pz(mvsiz,npe),
52 . ni(npe),tempnc(*), fphi(mvsiz,npe), pm(npropm,*),heat(*),
53 . dt1,tempel(*),off(*),offg(*)
54
55
56
57 INTEGER :: I,N
58 my_real :: ca, cb, kc, phix(mvsiz), phiy(mvsiz), phiz(mvsiz)
59
60 ca = pm(75,imat)
61 cb = pm(76,imat)
62
63 phix(1:mvsiz) = zero
64 phiy(1:mvsiz) = zero
65 phiz(1:mvsiz) = zero
66
67
68
69 DO n=1,npe
70 DO i= 1,nel
71 IF(off(i)==zero.OR.offg(i)<=zero) cycle
72 phix(i) = phix(i) + tempnc(nc(i,n))*px(i,n)
73 phiy(i) = phiy(i) + tempnc(nc(i,n))*py(i,n)
74 phiz(i) = phiz(i) + tempnc(nc(i,n))*pz(i,n)
75 ENDDO
76 ENDDO
77 DO i= 1,nel
78 IF(off(i)==zero.OR.offg(i)<=zero) cycle
79 kc = (ca + cb*tempel(i))*dt1*vol(i)*theaccfact
80 phix(i) = kc*phix(i)
81 phiy(i) = kc*phiy(i)
82 phiz(i) = kc*phiz(i)
83 ENDDO
84
85
86
87 DO n=1,npe
88 DO i= 1,nel
89 IF (off(i)==zero.OR.offg(i)<=zero) cycle
90 fphi(i,n) = fphi(i,n) + heat(i)*ni(n)
91 . - (phix(i)*px(i,n) + phiy(i)*py(i,n) + phiz(i)*pz(i,n))
92 ENDDO
93 ENDDO
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122 RETURN