39
40
41
42#include "implicit_f.inc"
43
44
45
46#include "mvsiz_p.inc"
47
48
49
50 INTEGER, INTENT(IN) :: NEL
52 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),px5(mvsiz),
53 . px6(mvsiz),px7(mvsiz),px8(mvsiz),px9(mvsiz),px10(mvsiz),
54 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),py5(mvsiz),
55 . py6(mvsiz),py7(mvsiz),py8(mvsiz),py9(mvsiz),py10(mvsiz),
56 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),pz5(mvsiz),
57 . pz6(mvsiz),pz7(mvsiz),pz8(mvsiz),pz9(mvsiz),pz10(mvsiz),
58 . nx1(mvsiz),nx2(mvsiz),nx3(mvsiz),nx4(mvsiz),nx5(mvsiz),
59 . nx6(mvsiz),nx7(mvsiz),nx8(mvsiz),nx9(mvsiz),nx10(mvsiz),
60 . vol(mvsiz),alph,beta,w,jac_i(10,mvsiz)
61
62
63
64
65
66
67 INTEGER I
69 . d,a4mb4,a4,b4,bb,ab,b2,
70 . dxdr,dxds,dxdt,dydr,dyds,dydt,dzdr,dzds,dzdt
71
72 DOUBLE PRECISION
73 . AA,A4M1,B4M1
74
76 . drdx, dsdx, dtdx,
77 . drdy, dsdy, dtdy,
78 . drdz, dsdz, dtdz
79
80
81
82
83
84
85
86 a4 = four * alph
87 b4 = four * beta
88 a4m1 = a4 - one
89 b4m1 = b4 - one
90 a4mb4 = a4 - b4
91 DO i=1,nel
92 drdx=jac_i(1,i)
93 dsdx=jac_i(4,i)
94 dtdx=jac_i(7,i)
95
96 drdy=jac_i(2,i)
97 dsdy=jac_i(5,i)
98 dtdy=jac_i(8,i)
99
100 drdz=jac_i(3,i)
101 dsdz=jac_i(6,i)
102 dtdz=jac_i(9,i)
103
104 vol(i) = jac_i(10,i)
105
106 px1(i) = b4m1 * drdx
107 py1(i) = b4m1 * drdy
108 pz1(i) = b4m1 * drdz
109
110 px2(i) = b4m1 * dsdx
111 py2(i) = b4m1 * dsdy
112 pz2(i) = b4m1 * dsdz
113
114 px3(i) = b4m1 * dtdx
115 py3(i) = b4m1 * dtdy
116 pz3(i) = b4m1 * dtdz
117
118 px4(i) =-a4m1 * (drdx+dsdx+dtdx)
119 py4(i) =-a4m1 * (drdy+dsdy+dtdy)
120 pz4(i) =-a4m1 * (drdz+dsdz+dtdz)
121
122 px5(i) = b4 * (drdx+dsdx)
123 py5(i) = b4 * (drdy+dsdy)
124 pz5(i) = b4 * (drdz+dsdz)
125
126 px6(i) = b4 * (dsdx+dtdx)
127 py6(i) = b4 * (dsdy+dtdy)
128 pz6(i) = b4 * (dsdz+dtdz)
129
130 px7(i) = b4 * (dtdx+drdx)
131 py7(i) = b4 * (dtdy+drdy)
132 pz7(i) = b4 * (dtdz+drdz)
133
134 px8(i) = a4mb4 * drdx - px6(i)
135 py8(i) = a4mb4 * drdy - py6(i)
136 pz8(i) = a4mb4 * drdz - pz6(i)
137
138 px9(i) = a4mb4 * dsdx - px7(i)
139 py9(i) = a4mb4 * dsdy - py7(i)
140 pz9(i) = a4mb4 * dsdz - pz7(i)
141
142 px10(i)= a4mb4 * dtdx - px5(i)
143 py10(i)= a4mb4 * dtdy - py5(i)
144 pz10(i)= a4mb4 * dtdz - pz5(i)
145
146 ENDDO
147
148 RETURN