31
32
33
34#include "implicit_f.inc"
35
36
37
38#include "mvsiz_p.inc"
39
40
41
42 INTEGER NEL,NPT
43 DOUBLE PRECISION XX(MVSIZ,10), (MVSIZ,10), ZZ(MVSIZ,10)
44 my_real px(mvsiz,10,5),py(mvsiz,10,5),pz(mvsiz,10,5)
45
46
47
48 INTEGER I,IP,N,K1,K2,K3,K4,,K6,K7,K8,K9,K10,
49 . ,IPERM(10,4)
50 double precision
51 . xa(mvsiz,10),ya(mvsiz,10),za(mvsiz,10),
52 . xb(mvsiz,10),yb(mvsiz,10),zb(mvsiz,10),
53 . a4,b4,a4m1,b4m1,aa,voldp(mvsiz)
55 . alph,beta,w,vol(mvsiz)
56 DATA iperm/
57 . 2, 4, 3, 1, 9,10, 6, 5, 8, 7,
58 . 4, 1, 3, 2, 8, 7,10, 9, 5, 6,
59 . 1, 4, 2, 3, 8, 9, 5, 7,10, 6,
60 . 1, 2, 3, 4, 5, 6, 7, 8, 9,10/
61
62 alph = -huge(alph)
63 beta = -huge(beta)
64 IF(npt==4)THEN
65 alph = zep5854102
66 beta = zep1381966
67 w = fourth
68 ELSEIF(npt==5)THEN
69 alph = half
70 beta = one_over_6
71 w = nine_over_20
72 ENDIF
73 a4 = four * alph
74 b4 = four * beta
75 a4m1 = a4- one
76 b4m1 = b4- one
77
78 DO n=1,4
79 DO i=1,nel
80 xa(i,n) = a4m1*xx(i,n)
81 ya(i,n) = a4m1*yy(i,n)
82 za(i,n) = a4m1*zz(i,n)
83
84 xb(i,n) = b4m1*xx(i,n)
85 yb(i,n) = b4m1*yy(i,n)
86 zb(i,n) = b4m1*zz(i,n)
87 ENDDO
88 ENDDO
89
90 DO n=5,10
91 DO i=1,nel
92 xa(i,n) = a4*xx(i,n)
93 ya(i,n) = a4*yy(i,n)
94 za(i,n) = a4*zz(i,n)
95
96 xb(i,n) = b4*xx(i,n)
97 yb(i,n) = b4*yy(i,n)
98 zb(i,n) = b4*zz(i,n)
99 ENDDO
100 ENDDO
101
102 DO ip=1,4
103 k1 = iperm(1,ip)
104 k2 = iperm(2,ip)
105 k3 = iperm(3,ip)
106 k4 = iperm(4,ip)
107 k5 = iperm(5,ip)
108 k6 = iperm(6,ip)
109 k7 = iperm(7,ip)
110 k8 = iperm(8,ip)
111 k9 = iperm(9,ip)
112 k10= iperm(10,ip)
114 . xb(1,k1),xb(1,k2),xb(1,k3),xa(1,k4),xb(1,k5),
115 . xb(1,k6),xb(1,k7),xb(1,k8),xb(1,k9),xb(1,k10),
116 . xa(1,k8),xa(1,k9),xa(1,k10),
117 . yb(1,k1),yb(1,k2),yb(1,k3),ya(1,k4),yb(1,k5),
118 . yb(1,k6),yb(1,k7),yb(1,k8),yb(1,k9),yb(1,k10),
119 . ya(1,k8),ya(1,k9),ya(1,k10),
120 . zb(1,k1),zb(1,k2),zb(1,k3),za(1,k4),zb(1,k5),
121 . zb(1,k6),zb(1,k7),zb(1,k8),zb(1,k9),zb(1,k10),
122 . za(1,k8),za(1,k9),za(1,k10),
123 . px(1,k1,ip) ,px(1,k2,ip),px(1,k3,ip),px(1,k4,ip),px(1,k5,ip),
124 . px(1,k6,ip) ,px(1,k7,ip),px(1,k8,ip),px(1,k9,ip),px(1,k10,ip),
125 . py(1,k1,ip) ,py(1,k2,ip),py(1,k3,ip),py(1,k4,ip),py(1,k5,ip),
126 . py(1,k6,ip) ,py(1,k7,ip),py(1,k8,ip),py(1,k9,ip),py(1,k10,ip),
127 . pz(1,k1,ip) ,pz(1,k2,ip),pz(1,k3,ip),pz(1,k4,ip),pz(1,k5,ip),
128 . pz(1,k6,ip) ,pz(1,k7,ip),pz(1,k8,ip),pz(1,k9,ip),pz(1,k10,ip),
129 . vol ,voldp,nel)
130
131 ENDDO
132
133
134 IF(npt==5)THEN
135 alph = fourth
136 beta = fourth
137 a4 = one
138 b4 = one
139 a4m1 = zero
140 b4m1 = zero
141 w = - four_over_5
142 ip = 5
143
144 DO n=1,4
145 DO i=1,nel
146 xa(i,n) = zero
147 ya(i,n) = zero
148 za(i,n) = zero
149 ENDDO
150 ENDDO
151
153 . xa(1,k1),xa(1,k2),xa(1,k3),xa(1,k4),xx(1,k5),
154 . xx(1,k6),xx(1,k7),xx(1,k8),xx(1,k9),xx(1,k10),
155 . xx(1,k8),xx(1,k9),xx(1,k10),
156 . ya(1,k1),ya(1,k2),ya(1,k3),ya(1,k4),yy(1,k5),
157 . yy(1,k6),yy(1,k7),yy(1,k8),yy(1,k9),yy(1,k10),
158 . yy(1,k8),yy(1,k9),yy(1,k10),
159 . za(1,k1),za(1,k2),za(1,k3),za(1,k4),zz(1,k5),
160 . zz(1,k6),zz(1,k7),zz(1,k8),zz(1,k9),zz(1,k10),
161 . zz(1,k8),zz(1,k9),zz(1,k10),
162 . px(1,k1,ip) ,px(1,k2,ip),px(1,k3,ip),px(1,k4,ip),px(1,k5,ip),
163 . px(1,k6,ip) ,px(1,k7,ip),px(1,k8,ip),px(1,k9,ip),px(1,k10,ip),
164 . py(1,k1,ip) ,py(1,k2,ip),py(1,k3,ip),py(1,k4,ip),py(1,k5,ip),
165 . py(1,k6,ip) ,py(1,k7,ip),py(1,k8,ip),py(1,k9,ip),py(1,k10,ip),
166 . pz(1,k1,ip) ,pz(1,k2,ip),pz(1,k3,ip),pz(1,k4,ip),pz(1,k5,ip),
167 . pz(1,k6,ip) ,pz(1,k7,ip),pz(1,k8,ip),pz(1,k9,ip),pz(1,k10,ip),
168 . vol ,voldp,nel)
169 ENDIF
170
171 RETURN
subroutine s10jacobnel(alph, beta, w, x1b, x2b, x3b, x4a, x5b, x6b, x7b, x8b, x9b, x10b, x8a, x9a, x10a, y1b, y2b, y3b, y4a, y5b, y6b, y7b, y8b, y9b, y10b, y8a, y9a, y10a, z1b, z2b, z3b, z4a, z5b, z6b, z7b, z8b, z9b, z10b, z8a, z9a, z10a, px1, px2, px3, px4, px5, px6, px7, px8, px9, px10, py1, py2, py3, py4, py5, py6, py7, py8, py9, py10, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, pz9, pz10, vol, voldp, nel)