37 2 V ,X ,XFRAME ,MS,WFEXTT,
38 3 NSENSOR,SENSOR_TAB,WEIGHT,IFRAME,
40 5 NRBYAC,IRBYAC,NPBY ,RBY,ISKN, PYTHON )
50#include
"implicit_f.inc"
61 INTEGER,
INTENT(IN) :: NSENSOR
62 TYPE(PYTHON_),
INTENT(INOUT) :: PYTHON
64 INTEGER ICFIELD(SIZFIELD,*),IB(*)
65 INTEGER WEIGHT(*),ITASK,NRBYAC,IRBYAC(*),NPBY(NNPBY,*),IFRAME(LISKN,*),ISKN(LISKN,*)
66 my_real fac(lfacload,*), tf(*), a(3,*), v(3,*), ms(*),x(3,*), xframe(nxframe,*),wfextt, rby(nrby,*)
67 TYPE (SENSOR_STR_) ,
DIMENSION(NSENSOR) ,
INTENT(IN) :: SENSOR_TAB
71 INTEGER NL, N1, IFRA, IFUNC, ISENS,NN, IAD,J, IADF, IADL,IDIR,IFLAG,N1FRAM,IUN,IMOVFRAM
73 . VROT, X0, Y0, Z0, X1, Y1, Z1, X2, Y2, , VROTM1
74 my_real DIST(3),AREL(3),VN1FRAM(3),AN1FRAM(3),DW(3)
88 iadl = iad-1+(itask+1)*nn
92 IF(ifra /= 0) n1fram = iframe(1,ifra)
95 vn1fram(1) = v(1,n1fram)
96 vn1fram(2) = v(2,n1fram)
97 vn1fram(3) = v(3,n1fram)
98 an1fram(1) = a(1,n1fram)
99 an1fram(2) = a(2,n1fram)
100 an1fram(3) = a(3,n1fram)
125 ts = tt-sensor_tab(isens)%TSTART
129 vrot = fac(1,nl)*finter_mixed(python,nfunct,ifunc,ts*fac(2,nl),npc,tf)
131 IF (dt2 > zero .AND. iflag == 2) vrotm1 = fac(1,nl)*finter_mixed(python,nfunct,ifunc,(ts-dt2)*fac(2,nl),npc,tf)
132 x0 = xframe(10,ifra+1)
133 y0 = xframe(11,ifra+1)
134 z0 = xframe(12,ifra+1)
136 x2 = xframe(1,ifra+1)
137 y2 = xframe(2,ifra+1)
138 z2 = xframe(3,ifra+1)
139 ELSEIF(idir == 5)
THEN
140 x2 = xframe(4,ifra+1)
141 y2 = xframe(5,ifra+1)
142 z2 = xframe(6,ifra+1)
143 ELSEIF(idir == 6)
THEN
144 x2 = xframe(7,ifra+1)
145 y2 = xframe(8,ifra+1)
146 z2 = xframe(9,ifra+1)
149#include "vectorize.inc"
155 dist(1)=x1-(x1*x2+y1*y2+z1*z2)*x2
156 dist(2)=y1-(x1*x2+y1*y2+z1
157 dist(3)=z1-(x1*x2+y1*y2+z1*z2)*z2
158 IF (dt2 > 0 .AND. iflag == 2)
THEN
159 dw(1) = ((vrot-vrotm1)/dt2)*x2
160 dw(2) = ((vrot-vrotm1)/dt2)*y2
161 dw(3) = ((vrot-vrotm1)/dt2)*z2
162 arel(1) = dist(1)*vrot*vrot + dist(2) * dw(3) - dist(3) * dw(2)
163 arel(2) = dist(2)*vrot*vrot + dist(3) * dw(1) - dist(1) * dw(3)
164 arel(3) = dist(3)*vrot*vrot + dist(1) * dw(2) - dist(2) * dw(1)
166 arel(1) = dist(1)*vrot*vrot
167 arel(2) = dist(2)*vrot*vrot
168 arel(3) = dist(3)*vrot*vrot
171 .
CALL relfram_m1(x(1,n1) ,v(1,n1), arel , xframe, vn1fram , an1fram )
172 a(1,n1)=a(1,n1)+arel(1)*ms(n1)
173 a(2,n1)=a(2,n1)+arel(2)*ms(n1)
174 a(3,n1)=a(3,n1)+arel(3)*ms(n1)
176 . wfextt=wfextt + half*ms(n1)*x1*x1*(vrot-vrotm1)*(vrot-vrotm1)
subroutine imp_solv(output, timers, python, icode, iskew, iskwn, ipart, ixtg, ixs, ixq, ixc, ixt, ixp, ixr, ixtg1, itab, itabm1, npc, ibcl, ibfv, sensor_tab, nnlink, lnlink, iparg, igrv, ipari, intbuf_tab, nprw, iconx, npby, lpby, lrivet, nstrf, ljoint, icodt, icodr, isky, adsky, iads_f, ilink, llink, weight, itask, ibvel, lbvel, fbvel, x, d, v, vr, dr, thke, damp, ms, in, pm, skews, geo, eani, bufmat, bufgeo, bufsf, tf, forc, vel, fsav, agrv, fr_wave, parts0, elbuf, rby, rivet, fr_elem, iad_elem, wa, a, ar, stifn, stifr, partsav, fsky, fskyi, iframe, xframe, w16, iactiv, fskym, igeo, ipm, wfext, nodft, nodlt, nint7, num_imp, ns_imp, ne_imp, ind_imp, it, rwbuf, lprw, fr_wall, nbintc, intlist, fopt, rwsav, fsavd, graphe, fac_k, ipiv_k, nkcond, nsensor, monvol, igrsurf, fr_mv, volmon, dirul, nodglob, mumps_par, cddlp, isendto, irecvfrom, newfront, imsch, i2msch, isizxv, ilenxv, islen7, irlen7, islen11, irlen11, islen17, irlen17, irlen7t, islen7t, kinet, num_imp1, temp, dt2prev, waint, lgrav, sh4tree, sh3tree, irlen20, islen20, irlen20t, islen20t, irlen20e, islen20e, irbe3, lrbe3, frbe3, fr_i2m, iad_i2m, fr_rbe3m, iad_rbe3m, frwl6, irbe2, lrbe2, intbuf_tab_c, ikine, diag_sms, icfield, lcfield, cfield, count_remslv, count_remslve, elbuf_tab, elbuf_imp, xdp, weight_md, stack, dimfb, fbsav6, stabsen, tabsensor, drape_sh4n, drape_sh3n, h3d_data, multi_fvm, igrbric, igrsh4n, igrsh3n, igrbeam, forneqs, maxdgap, nddl0, nnzk0, it_t, impbuf_tab, cptreac, fthreac, nodreac, drapeg, interfaces, th_surf, dpl0cld, vel0cld, snpc, stf, glob_therm, wfext_md)