31 2 NI ,DNIDR ,DNIDS ,DNIDT )
35#include "implicit_f.inc"
41 2 ni(20) ,dnidr(20),dnids(20),dnidt(20)
47 . u_m_r,u_p_r,u_m_s,u_p_s,u_m_t,u_p_t,
48 . ums_umt,ums_upt,ups_umt,ups_upt,
49 . umr_ums,umr_ups,upr_ums,upr_ups,
50 . umt_umr,umt_upr,upt_umr,upt_upr,
158 u_m_r = half*(one - r)
159 u_p_r = half*(one + r)
161 u_m_s = half*(one - s)
162 u_p_s = half*(one + s)
164 u_m_t = half*(one - t)
165 u_p_t = half*(one + t)
167 ums_umt = u_m_s * u_m_t
168 ums_upt = u_m_s * u_p_t
169 ups_umt = u_p_s * u_m_t
170 ups_upt = u_p_s * u_p_t
172 umr_ums = u_m_r * u_m_s
173 umr_ups = u_m_r * u_p_s
174 upr_ums = u_p_r * u_m_s
175 upr_ups = u_p_r * u_p_s
177 umt_umr = u_m_t * u_m_r
178 umt_upr = u_m_t * u_p_r
179 upt_umr = u_p_t * u_m_r
180 upt_upr = u_p_t * u_p_r
182 ni(1) = u_m_r * ums_umt * (-r-s-t-two)
183 ni(2) = u_m_r * ums_upt * (-r-s+t-two)
184 ni(3) = u_p_r * ums_upt * ( r-s+t-two)
185 ni(4) = u_p_r * ums_umt * ( r-s-t-two)
186 ni(5) = u_m_r * ups_umt * (-r+s-t-two)
187 ni(6) = u_m_r * ups_upt * (-r+s+t-two)
188 ni(7) = u_p_r * ups_upt * ( r+s+t-two)
189 ni(8) = u_p_r * ups_umt * ( r+s-t-two)
191 dnidr(1) = -ums_umt * (u_m_s + u_m_t - r -three_half)
192 dnidr(2) = -ums_upt * (u_m_s + u_p_t - r -three_half)
193 dnidr(3) = ums_upt * (u_m_s + u_p_t + r -three_half)
194 dnidr(4) = ums_umt * (u_m_s + u_m_t + r -three_half)
195 dnidr(5) = -ups_umt * (u_p_s + u_m_t - r -three_half)
196 dnidr(6) = -ups_upt * (u_p_s + u_p_t - r -three_half)
197 dnidr(7) = ups_upt * (u_p_s + u_p_t + r -three_half)
198 dnidr(8) = ups_umt * (u_p_s + u_m_t + r -three_half)
201 dnids(1) = -umt_umr * (u_m_r + u_m_t - s -three_half)
202 dnids(2) = -upt_umr * (u_m_r + u_p_t - s -three_half)
203 dnids(3) = -upt_upr * (u_p_r + u_p_t - s -three_half)
204 dnids(4) = -umt_upr * (u_p_r + u_m_t - s -three_half)
205 dnids(5) = umt_umr * (u_m_r + u_m_t + s -three_half)
206 dnids(6) = upt_umr * (u_m_r + u_p_t + s -three_half)
207 dnids(7) = upt_upr * (u_p_r + u_p_t + s -three_half)
208 dnids(8) = umt_upr * (u_p_r + u_m_t + s -three_half)
210 dnidt(1) = -umr_ums * (u_m_r + u_m_s - t -three_half)
211 dnidt(2) = umr_ums * (u_m_r + u_m_s + t -three_half)
212 dnidt(3) = upr_ums * (u_p_r + u_m_s + t -three_half)
213 dnidt(4) = -upr_ums * (u_p_r + u_m_s - t -three_half)
214 dnidt(5) = -umr_ups * (u_m_r + u_p_s - t -three_half)
215 dnidt(6) = umr_ups * (u_m_r + u_p_s + t -three_half)
216 dnidt(7) = upr_ups * (u_p_r + u_p_s + t -three_half)
217 dnidt(8) = -upr_ups * (u_p_r + u_p_s - t -three_half)
226 dnidt(10) = a * u_m_s
227 dnidt(18) = a * u_p_s
228 dnidt(12) = -dnidt(10)
229 dnidt(20) = -dnidt(18)
231 dnids(18) = a * u_p_t
232 dnids(20) = a * u_m_t
233 dnids(10) = -dnids(18)
234 dnids(12) = -dnids(20)
237 dnidr(10) = a * ums_upt
238 dnidr(12) = a * ums_umt
239 dnidr(18) = a * ups_upt
240 dnidr(20) = a * ups_umt
249 dnidr(15) = a * u_p_t
250 dnidr(16) = a * u_m_t
251 dnidr(13) = -dnidr(16)
252 dnidr(14) = -dnidr(15)
254 dnidt(14) = a * u_m_r
255 dnidt(15) = a * u_p_r
256 dnidt(13) = -dnidt(14)
257 dnidt(16) = -dnidt(15)
260 dnids(13) = a * umt_umr
261 dnids(14) = a * upt_umr
262 dnids(15) = a * upt_upr
263 dnids(16) = a * umt_upr
272 dnidr(11) = a * u_m_s
273 dnidr(19) = a * u_p_s
274 dnidr(9) = -dnidr(11)
275 dnidr(17) = -dnidr(19)
277 dnids(17) = a * u_m_r
278 dnids(19) = a * u_p_r
279 dnids(9) = -dnids(17)
280 dnids(11) = -dnids(19)
283 dnidt(9) = a * umr_ums
284 dnidt(11) = a * upr_ums
285 dnidt(17) = a * umr_ups
286 dnidt(19) = a * upr_ups