31
32
33
34#include "implicit_f.inc"
35
36
37
38#include "mvsiz_p.inc"
39#include "param_c.inc"
40
41
42
43 INTEGER :: JFT,JLT,NPLAT
44 INTEGER :: IXC(NIXC,*),IPLAT(*)
45 my_real ,
INTENT(IN) :: theaccfact
48 . tempnc(*), fphi(mvsiz,4), pm(npropm),dheat(*),
49 . thk(*),tel(*),bm(mvsiz,*)
50
51
52
53 INTEGER I,EP,N1,,N3,N4
55 . ca,cb ,kc ,phix,phiy,a,temp1,temp2,temp3,temp4,
56 . temp13,temp24,temph
57
58 ca = pm(75)
59 cb = pm(76)
60
61 DO ep=jft,nplat
62 i=iplat(ep)
63
64 kc = ( ca + cb*tel(i))*dtime*theaccfact
65
66 n1 = ixc(2,i)
67 n2 = ixc(3,i)
68 n3 = ixc(4,i)
69 n4 = ixc(5,i)
70
71 temp13 = tempnc(n1)-tempnc(n3)
72 temp24 = tempnc(n2)-tempnc(n4)
73 temph = tempnc(n1)-tempnc(n2)+tempnc(n3)-tempnc(n4)
74
75
76
77
78 phix = temp13*bm(i,1) + temp24*bm(i,2)+bm(i,3)*temph
79
80 phiy = temp13*bm(i,5) + temp24*bm(i,6)+bm(i,7)*temph
81
82 phix = kc*phix*thk(i)*
area(i)
83 phiy = kc*phiy*thk(i)*
area(i)
84
85
86
87
88 a = fourth *fourth * dheat(i)
89
90 fphi(i,1) = a - (phix*(bm(i,1)+bm(i,3)) + phiy*(bm(i,5)+bm(i,7)))
91 fphi(i,2) = a - (phix*(bm(i,2)-bm(i,3)) + phiy*(bm(i,6)-bm(i,7)))
92 fphi(i,3) = a - (phix*(bm(i,3)-bm(i,1)) + phiy*(bm(i,7)-bm(i,5)))
93 fphi(i,4) = a + (phix*(bm(i,2)+bm(i,3)) + phiy*(bm(i,6)+bm(i,7)))
94
95 END DO
96
97 DO ep=nplat+1,jlt
98
99 i=iplat(ep)
100
101 kc = ( ca + cb*tel(i))*dtime
102
103 n1 = ixc(2,i)
104 n2 = ixc(3,i)
105 n3 = ixc(4,i)
106 n4 = ixc(5,i)
107
108 temp1 = tempnc(n1)
109 temp2 = tempnc(n2)
110 temp3 = tempnc(n3)
111 temp4 = tempnc(n4)
112
113
114
115 phix = (bm(i,1)+bm(i,4))*temp1 + (bm(i,10)+bm(i,13))*temp2
116 . + (bm(i,19)+bm(i,22))*temp3 + (bm(i,28)+bm(i,31))*temp2
117
118 phiy = (bm(i,2)+bm(i,5))*temp1 + (bm(i,11)+bm(i,14))*temp2
119 . + (bm(i,20)+bm(i,23))*temp3 + (bm(i,29)+bm(i,32))*temp2
120
121 phix = kc*phix*thk(i)*
area(i)
122 phiy = kc*phiy*thk(i)*
area(i)
123
124
125
126 a = fourth *fourth * dheat(i)
127
128 fphi(i,1) = a - (phix*(bm(i,1)+bm(i,4)) + phiy*(bm(i,2)+bm(i,5)))
129 fphi(i,2) = a - (phix*(bm(i,10)+bm(i,13)) + phiy*(bm(i,11)+bm(i,14)))
130 fphi(i,3) = a - (phix*(bm(i,19)+bm(i,22)) + phiy*(bm(i,20)+bm(i,23)))
131 fphi(i,4) = a - (phix*(bm(i,28)+bm(i,31)) + phiy*(bm(i,29)+bm(i,32)))
132
133 END DO
134
135 RETURN
subroutine area(d1, x, x2, y, y2, eint, stif0)