31 2 NI ,DNIDR ,DNIDS ,DNIDT )
35#include "implicit_f.inc"
41 2 ni(20) ,dnidr(20),dnids(20),dnidt(20)
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,
157 u_m_r = half*(one - r)
158 u_p_r = half*(one + r)
160 u_m_s = half*(one - s)
161 u_p_s = half*(one + s)
163 u_m_t = half*(one - t)
164 u_p_t = half*(one + t)
166 ums_umt = u_m_s * u_m_t
167 ums_upt = u_m_s * u_p_t
168 ups_umt = u_p_s * u_m_t
169 ups_upt = u_p_s * u_p_t
171 umr_ums = u_m_r * u_m_s
172 umr_ups = u_m_r * u_p_s
173 upr_ums = u_p_r * u_m_s
174 upr_ups = u_p_r * u_p_s
176 umt_umr = u_m_t * u_m_r
177 umt_upr = u_m_t * u_p_r
178 upt_umr = u_p_t * u_m_r
179 upt_upr = u_p_t * u_p_r
181 ni(1) = u_m_r * ums_umt * (-r-s-t-two)
182 ni(2) = u_m_r * ums_upt * (-r-s+t-two)
183 ni(3) = u_p_r * ums_upt * ( r-s+t-two)
184 ni(4) = u_p_r * ums_umt * ( r-s-t-two)
185 ni(5) = u_m_r * ups_umt * (-r+s-t-two)
186 ni(6) = u_m_r * ups_upt * (-r+s+t-two)
187 ni(7) = u_p_r * ups_upt * ( r+s+t-two)
188 ni(8) = u_p_r * ups_umt * ( r+s-t-two)
190 dnidr(1) = -ums_umt * (u_m_s + u_m_t - r -three_half)
191 dnidr(2) = -ums_upt * (u_m_s + u_p_t - r -three_half)
192 dnidr(3) = ums_upt * (u_m_s + u_p_t + r -three_half)
193 dnidr(4) = ums_umt * (u_m_s + u_m_t + r -three_half)
194 dnidr(5) = -ups_umt * (u_p_s + u_m_t - r -three_half)
195 dnidr(6) = -ups_upt * (u_p_s + u_p_t - r -three_half)
196 dnidr(7) = ups_upt * (u_p_s + u_p_t + r -three_half)
197 dnidr(8) = ups_umt * (u_p_s + u_m_t + r -three_half)
200 dnids(1) = -umt_umr * (u_m_r + u_m_t - s -three_half)
201 dnids(2) = -upt_umr * (u_m_r + u_p_t - s -three_half)
202 dnids(3) = -upt_upr * (u_p_r + u_p_t - s -three_half)
203 dnids(4) = -umt_upr * (u_p_r + u_m_t - s -three_half)
204 dnids(5) = umt_umr * (u_m_r + u_m_t + s -three_half)
205 dnids(6) = upt_umr * (u_m_r + u_p_t + s -three_half)
206 dnids(7) = upt_upr * (u_p_r + u_p_t + s -three_half)
207 dnids(8) = umt_upr * (u_p_r + u_m_t + s -three_half)
209 dnidt(1) = -umr_ums * (u_m_r + u_m_s - t -three_half)
210 dnidt(2) = umr_ums * (u_m_r + u_m_s + t -three_half)
211 dnidt(3) = upr_ums * (u_p_r + u_m_s + t -three_half)
212 dnidt(4) = -upr_ums * (u_p_r + u_m_s - t -three_half)
213 dnidt(5) = -umr_ups * (u_m_r + u_p_s - t -three_half)
214 dnidt(6) = umr_ups * (u_m_r + u_p_s + t -three_half)
215 dnidt(7) = upr_ups * (u_p_r + u_p_s + t -three_half)
216 dnidt(8) = -upr_ups * (u_p_r + u_p_s - t -three_half)
225 dnidt(10) = a * u_m_s
226 dnidt(18) = a * u_p_s
227 dnidt(12) = -dnidt(10)
228 dnidt(20) = -dnidt(18)
230 dnids(18) = a * u_p_t
231 dnids(20) = a * u_m_t
232 dnids(10) = -dnids(18)
233 dnids(12) = -dnids(20)
236 dnidr(10) = a * ums_upt
237 dnidr(12) = a * ums_umt
238 dnidr(18) = a * ups_upt
239 dnidr(20) = a * ups_umt
248 dnidr(15) = a * u_p_t
249 dnidr(16) = a * u_m_t
250 dnidr(13) = -dnidr(16)
251 dnidr(14) = -dnidr(15)
253 dnidt(14) = a * u_m_r
254 dnidt(15) = a * u_p_r
255 dnidt(13) = -dnidt(14)
256 dnidt(16) = -dnidt(15)
259 dnids(13) = a * umt_umr
260 dnids(14) = a * upt_umr
261 dnids(15) = a * upt_upr
262 dnids(16) = a * umt_upr
271 dnidr(11) = a * u_m_s
272 dnidr(19) = a * u_p_s
273 dnidr(9) = -dnidr(11)
274 dnidr(17) = -dnidr(19)
276 dnids(17) = a * u_m_r
277 dnids(19) = a * u_p_r
278 dnids(9) = -dnids(17)
279 dnids(11) = -dnids(19)
282 dnidt(9) = a * umr_ums
283 dnidt(11) = a * upr_ums
284 dnidt(17) = a * umr_ups
285 dnidt(19) = a * upr_ups
subroutine s20forc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, ixs20, iads20, nel, fx, fy, fz, volnp, rx, ry, rz, sx, sy, sz, tx, ty, tz, stig, stin, ul, xx, yy, zz, vx, vy, vz, vdxx, vdyy, vdzz, dnidr, dnids, dnidt, px, py, pz, ipm, istrain, temp, fthe, fthesky, iexpan, gresav, grth, igrth, table, igeo, voln, condn, condnsky, itask, ioutprt, mat_elem, h3d_strain, dt, idel7nok, snpc, stf, sbufmat, svis, idtmins, nsvois, iresp, idel7ng, idtmin, maxfunc, imon_mat, userl_avail, glob_therm, impl_s, idyna, sensors)