32
33
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) :: IXTG(NIXTG,*)
48 my_real ,
INTENT(IN) :: theaccfact
50 my_real ::
area(nel), px1(mvsiz),py1(mvsiz), py2(mvsiz),
51 . tempnc(*), fphi(mvsiz,3), pm(*),dheat(nel),
52 . thk(nel),tempel(nel)
53
54
55
56 INTEGER :: I
57 my_real :: ca,cb ,kc,phix,phiy,a
58
59 ca = pm(75)
60 cb = pm(76)
61
62 DO i=1,nel
63
64
65
66
67
68
69 kc = (ca + cb*tempel(i))*dt /
max(em20,
area(i))*theaccfact
70 phix = tempnc(ixtg(2,i))*px1(i) - tempnc(ixtg(3,i))*px1(i)
71
72 phiy = tempnc(ixtg(2,i))*py1(i) + tempnc(ixtg(3,i))*py2(i) -
73 . tempnc(ixtg(4,i))*(py1(i) + py2(i))
74
75 phix = kc*phix*thk(i)
76 phiy = kc*phiy*thk(i)
77
78
79
80 a = third * dheat(i)
81 fphi(i,1) = a - phix*px1(i) - phiy*py1(i)
82 fphi(i,2) = a + phix*px1(i) - phiy*py2(i)
83 fphi(i,3) = a + phiy*(py1(i)+py2(i))
84 ENDDO
85
86 RETURN
subroutine area(d1, x, x2, y, y2, eint, stif0)