30 2 NI ,DNIDR ,DNIDS ,DNIDT )
34#include "implicit_f.inc"
40 2 ni(16) ,dnidr(16),dnids(16),dnidt(16)
46 . u_m_r,u_p_r,u_m_s,u_p_s,u_m_t,u_p_t,
47 . ums_umt,ums_upt,ups_umt,ups_upt,
48 . umr_ums,umr_ups,upr_ums,upr_ups,
49 . umt_umr,umt_upr,upt_umr,upt_upr,
143 u_m_r = half*(one - r)
144 u_p_r = half*(one + r)
146 u_m_s = half*(one - s)
147 u_p_s = half*(one + s)
149 u_m_t = half*(one - t)
150 u_p_t = half*(one + t)
152 ums_umt = u_m_s * u_m_t
153 ums_upt = u_m_s * u_p_t
154 ups_umt = u_p_s * u_m_t
155 ups_upt = u_p_s * u_p_t
157 umr_ums = u_m_r * u_m_s
158 umr_ups = u_m_r * u_p_s
159 upr_ums = u_p_r * u_m_s
160 upr_ups = u_p_r * u_p_s
162 umt_umr = u_m_t * u_m_r
163 umt_upr = u_m_t * u_p_r
164 upt_umr = u_p_t * u_m_r
165 upt_upr = u_p_t * u_p_r
167 ni(1) = u_m_r * ums_umt * (-r-t-one)
168 ni(2) = u_m_r * ums_upt * (-r+t-one)
169 ni(3) = u_p_r * ums_upt * ( r+t-one)
170 ni(4) = u_p_r * ums_umt * ( r-t-one)
171 ni(5) = u_m_r * ups_umt * (-r-t-one)
172 ni(6) = u_m_r * ups_upt * (-r+t-one)
173 ni(7) = u_p_r * ups_upt * ( r+t-one)
174 ni(8) = u_p_r * ups_umt * ( r-t-one)
176 dnidr(1) = -ums_umt * (-half*t - r)
177 dnidr(2) = -ums_upt * ( half*t - r)
178 dnidr(3) = ums_upt * ( half*t + r)
179 dnidr(4) = ums_umt * (-half*t + r)
180 dnidr(5) = -ups_umt * (-half*t - r)
181 dnidr(6) = -ups_upt * ( half*t - r)
182 dnidr(7) = ups_upt * ( half*t + r)
183 dnidr(8) = ups_umt * (-half*t + r)
185 dnids(1) = -umt_umr * (-r-t-one)*half
186 dnids(2) = -upt_umr * (-r+t-one)*half
187 dnids(3) = -upt_upr * ( r+t-one)*half
188 dnids(4) = -umt_upr * ( r-t-one)*half
189 dnids(5) = umt_umr * (-r-t-one)*half
190 dnids(6) = upt_umr * (-r+t-one)*half
191 dnids(7) = upt_upr * ( r+t-one)*half
192 dnids(8) = umt_upr * ( r-t-one)*half
194 dnidt(1) = -umr_ums * (-half*r - t)
195 dnidt(2) = umr_ums * (-half*r + t)
196 dnidt(3) = upr_ums * (+half*r + t)
197 dnidt(4) = -upr_ums * (+half*r - t)
198 dnidt(5) = -umr_ups * (-half*r - t)
199 dnidt(6) = umr_ups * (-half*r + t)
200 dnidt(7) = upr_ups * (+half*r + t)
201 dnidt(8) = -upr_ups * (+half*r - t)
210 dnidt(10) = a * u_m_s
211 dnidt(14) = a * u_p_s
212 dnids(10) = -a * u_p_t
213 dnids(12) = -a * u_m_t
216 dnidr(10) = a * ums_upt
217 dnidr(12) = a * ums_umt
218 dnidr(14) = a * ups_upt
219 dnidr(16) = a * ups_umt
232 dnidr(9) = -a * u_m_s
233 dnidr(13) = -a * u_p_s
239 dnids(9) = -a * u_m_r
240 dnids(11) = -a * u_p_r
243 dnidt(9) = a * umr_ums
244 dnidt(11) = a * upr_ums
245 dnidt(13) = a * umr_ups
246 dnidt(15) = a * upr_ups