32!||
init_intv ../engine/source/tools/lagmul/lag_ntag.f
43!||
ltag_fxv ../engine/source/tools/lagmul/lag_ntag.f
56!|| nodal_arrays_mod ../common_source/modules/nodal_arrays.f90
63 2 WAT ,V ,MS ,IN ,VR ,
64 3 ITASK ,WAG ,ITAB ,IXS ,IXS20 ,
65 4 IXS16 ,IGRNOD ,FANI ,FSAV ,
66 5 SKEW ,AR ,LAMBDA ,LAGBUF ,IBCSLAG ,
67 6 IXS10 ,GJBUFI ,GJBUFR ,IBMPC ,RBMPC ,
68 7 NPBYL ,LPBYL ,IBFV ,VEL ,NPF ,
69 8 TF ,NEWFRONT,ICONTACT,RWBUF ,LPRW ,
70 9 NPRW ,RBYL ,D ,DR ,KINET ,
71 A NSENSOR,SENSOR_TAB,INTBUF_TAB ,H3D_DATA ,IGRBRIC,
85 use element_mod ,
only : nixs
89#include
"implicit_f.inc"
97 COMMON /lagglob/n_mult
101 type(output_),
intent(inout) :: output
102 INTEGER ,
INTENT(IN) :: NSENSOR,ITASK
103 INTEGER IPARI(NPARI,*),IXS(NIXS,*),IXS16(8,*),
104 . IXS10(6,*),IXS20(12,*),ITAB(*),
105 . LAGBUF(*),IBCSLAG(*),GJBUFI(LKJNI,*),
106 . IBMPC(*),NPBYL(NNPBY,*),LPBYL(*),IBFV(NIFV,*),NPF(*),
107 . NEWFRONT(*),ICONTACT(*),LPRW(*),NPRW(*),KINET(*)
110 . x(3,*), d(3,*), dr(3,*), a(3,*), ar(3,*), v(3,*), vr(3,*),
111 . ms(*), in(*), lambda(*),fani(3,*),fsav(nthvki,*),
112 . skew(lskew,*),wag(*),wat(*),gjbufr(lkjnr,*),rbmpc(*),
113 . vel(lfxvelr,*),tf(*),rwbuf(nrwlp,*),rbyl(nrby,*)
115 TYPE(intbuf_struct_) INTBUF_TAB(*)
116 TYPE(H3D_DATABASE) :: H3D_DATA
117 TYPE (SENSOR_STR_) ,
DIMENSION(NSENSOR) ,
INTENT(IN) :: SENSOR_TAB
118 TYPE(PYTHON_),
INTENT(INOUT) :: PYTHON
119 TYPE(nodal_arrays_),
intent(in) :: nodes
121 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
122 TYPE (GROUP_) ,
DIMENSION(NGRBRIC) :: IGRBRIC
126 INTEGER N,N_MULT,N_MUL_MX,NKMAX,NH,NTY,NCR,
127 . ip0,ip1,ip2,ip3,ip4,ip5,ip6,ip7,ip8,ip8a,ip8b,ip9,ip10,
128 . ip11,ip12,ip13,ip14,ip15,ip16,ip17,ip18,ip19,ip20,
129 . j1,j2,j3,j4,j5,k,n2,n3,n4,n5,n6,lwat,iskip,ncf_s,ncf_e,
130 . inum,iddl,iskw,nb_jlt,nb_jlt_new,nb_stok_n,
131 . num_istock,kindex2,
135 n_mul_mx = lag_ncf + lag_ncl
136 nkmax = lag_nkf + lag_nkl
137 nhmax = lag_nhf + lag_nhl
139 num_istock = 4*numnod
140 lwat =
max(6*(numels16+numels20),nrwlag,2*numnod+num_istock)
144 ip2 = ip1 + n_mul_mx + 1
159 j2 = j1 + lag_ncf + 1
183 IF(itask==0.AND.nbcslag>0)
CALL ltag_bcs(wag(ip6) ,ngrnod,
188 IF(itask==0.AND.ninter>0)
CALL ltag_i2main(wag(ip6) ,
189 . ipari ,intbuf_tab )
193 IF(itask==0.AND.ngjoint>0)
CALL ltag_gjnt(wag(ip6),
198 IF(itask==0.AND.nummpc>0)
CALL ltag_mpc(wag(ip6) ,
199 . ibmpc ,ibmpc(nummpc+1))
203 IF(itask==0.AND.nfvlag>0)
CALL ltag_fxv(wag(ip6) ,
208 IF(itask==0.AND.nrbylag>0)
CALL ltag_rby(wag(ip6) ,
218 IF(nty==7.OR.nty==22)
THEN
220 IF(nty==7) isens = ipari(64,n)
222 ts = sensor_tab(isens)%TSTART
233 1 n ,ipari ,intbuf_tab,x ,
235 3 wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip4) ,wag(ip5) ,
236 4 n_mul_mx ,nkmax ,itab ,wat(kindex2),nb_jlt ,
237 5 nb_jlt_new,nb_stok_n ,newfront ,icontact ,wag(ip7) ,
238 6 wag(ip8a) ,wag(ip6) ,kinet )
245 1 n ,ipari ,intbuf_tab,x ,v ,
246 2 a ,itask ,igrnod ,wag(ip7) ,wat(ip8) ,
247 3 ms ,wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip4) ,
248 4 wag(ip5) ,n_mul_mx ,ixs ,ixs16 ,ixs20 ,
249 5 nkmax ,ixs10 ,wag(ip6) ,igrbric)
254 1 n ,ipari ,intbuf_tab(n) ,x ,
255 2 v ,a ,itask ,igrbric ,
256 3 wag(ip7) ,ms ,n_mult ,wag(ip1) ,
257 4 wag(ip2) ,wag(ip3) ,wag(ip4) ,wag(ip5) ,n_mul_mx ,
273 CALL lag_rwall(rwbuf(1,n),lprw(k),nprw(n),nprw(n2),nprw(n3),
274 2 wat(ip8),x ,v ,a ,wag(ip1),
275 3 wag(ip2),wag(ip3),wag(ip4),wag(ip5),wag(ip6),
276 4 n_mul_mx,nkmax ,n_mult )
291 IF(itask==0 .AND. nbcslag>0)
CALL lag_bcs(
292 1 igrnod ,ibcslag ,skew ,wag(ip0) ,ngrnod ,
293 2 wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip4) ,wag(ip5) ,
294 3 wag(ip6) ,lagbuf(j3),lagbuf(j4),ms ,in ,
295 4 v ,vr ,a ,ar ,iskip ,
301 1 ipari ,intbuf_tab,wag(ip1) ,wag(ip2) ,wag(ip3) ,
302 2 wag(ip4) ,wag(ip5) ,wag(ip6) ,wag(ip7) ,lagbuf(j3),
303 3 lagbuf(j4),in ,ms ,x ,v ,
304 4 vr ,a ,ar ,iskip ,ncf_s ,
309 IF(itask==0 .AND. ngjoint>0)
CALL lag_gjnt(
310 1 gjbufi ,gjbufr ,x ,vr ,ar ,
311 2 wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip4) ,wag(ip5) ,
312 3 wag(ip6) ,wag(ip7) ,lagbuf(j3),lagbuf(j4),ms ,
313 4 in ,v ,a ,iskip ,ncf_s ,
318 IF(itask==0 .AND. nummpc>0)
THEN
323 1 rbmpc ,ibmpc ,ibmpc(inum),ibmpc(iddl),ibmpc(iskw),
324 2 skew ,wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip4) ,
325 3 wag(ip5) ,wag(ip6) ,lagbuf(j3) ,lagbuf(j4) ,ms ,
327 5 iskip ,ncf_s ,n_mult )
332 IF(itask==0 .AND. nfvlag>0)
CALL lag_fxv(
333 1 ibfv ,vel ,skew ,npf ,tf ,
334 2 wag(ip0) ,wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip4) ,
335 3 wag(ip5) ,wag(ip6) ,lagbuf(j3),lagbuf(j4),ms ,
337 5 iskip ,ncf_s ,n_mult ,python, nodes)
345 IF(itask==0 .AND. nrbylag>0)
THEN
347 1 rbyl ,npbyl ,lpbyl ,ms ,in ,
348 2 wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip4) ,wag(ip5) ,
349 3 wag(ip6) ,v ,vr ,a ,ar ,
361 nh = nhmax + 3*(n_mul_mx - n_mult)
363 ip7 = ip6 + n_mult + 1
370 ip14 = ip13 + 6 * numnod
383 1 nh ,n_mult ,ncr ,a ,v ,
384 2 ms ,wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip5) ,
385 3 wag(ip6) ,wag(ip7) ,wag(ip8) ,wag(ip9) ,wag(ip10) ,
386 4 wag(ip11) ,wag(ip12) ,wag(ip13) ,wag(ip14) ,wag(ip15) ,
387 5 wag(ip16) ,wag(ip17) ,wag(ip18) ,wag(ip19) ,lambda ,
388 6 rbyl ,npbyl ,ar ,vr ,in ,
389 7 lagbuf(j1),lagbuf(j2),lagbuf(j3),lagbuf(j4),ncf_s ,
397 2 wag(ip1),wag(ip2),wag(ip3),wag(ip5),lambda ,
398 3 ms ,in ,rbyl ,npbyl ,lpbyl ,
404 .
CALL lag_anith(output,wag(ip1),wag(ip2),wag(ip3),wag(ip4),wag(ip5),
405 . fani ,fsav ,n_mult ,h3d_data )
443 2 WAT ,V ,MS ,IN ,VR ,
444 3 WAG ,ITAB ,IXS ,IXS20 ,
445 4 IXS16 ,FANI ,FSAV ,
446 5 SKEW ,AR ,LAMBDA ,LAGBUF ,IBCSLAG ,
447 6 IXS10 ,GJBUFI ,GJBUFR ,IBMPC ,RBMPC ,
448 7 NPBYL ,LPBYL ,IBFV ,VEL ,NPF ,
449 8 TF ,NEWFRONT,ICONTACT,RWBUF ,LPRW ,
450 9 NPRW ,RBYL ,D ,DR ,KINET ,
451 A NODGLOB,WEIGHT ,NBNCL ,NBIKL ,NBNODL ,
452 B NBNODLR,FR_LAGF ,LLAGF ,IAD_ELEM ,FR_ELEM ,
453 C INTBUF_TAB ,H3D_DATA, PYTHON, nodes)
464 use element_mod ,
only : nixs
468#include "implicit_f.inc"
472#include "param_c.inc"
473#include "com04_c.inc"
475#include "lagmult.inc"
476#include "com01_c.inc"
478#include "scr17_c.inc"
479 COMMON /lagglob/n_mult
483 type(output_),
intent(inout) :: output
484 INTEGER NBNCL, NBIKL, NBNODL, NBNODLR
485 INTEGER IPARI(NPARI,*),IXS(NIXS,*),IXS16(8,*),
486 . ixs10(6,*),ixs20(12,*),itab(*),
487 . lagbuf(*),ibcslag(*),gjbufi(lkjni,*),
488 . ibmpc(*),npbyl(nnpby,*),lpbyl(*),ibfv(nifv,*),npf(*),
489 . newfront(*),icontact(*),lprw(*),nprw(*),kinet(*),
490 . nodglob(*), weight(*), fr_lagf(3,*), llagf(*),
491 . iad_elem(2,*), fr_elem(*)
494 . x(3,*), d(3,*), dr(3,*), a(3,*), ar(3,*), v(3,*), vr(3,*),
495 . ms(*), in(*), lambda(*),fani(3,*),fsav(6,*),
496 . skew(lskew,*),wag(*),wat(*),gjbufr(lkjnr,*),rbmpc(*),
497 . vel(lfxvelr,*),tf(*),rwbuf(nrwlp,*),rbyl(nrby,*)
499 TYPE(intbuf_struct_) INTBUF_TAB(*)
500 TYPE(H3D_DATABASE) :: H3D_DATA
501 TYPE(PYTHON_),
INTENT(INOUT) :: PYTHON
502 TYPE(nodal_arrays_),
intent(in) :: nodes
506 INTEGER N,N_MULT,N_MUL_MX,NKMAX,NH,NTY,NCR,
507 . ip0,ip1,ip2,ip3,ip4,ip5,ip6,ip7,ip8,ip8a,ip8b,ip9,ip10,
508 . ip11,ip12,ip13,ip14,ip15,ip16,ip17,ip18,ip19,ip20,
509 . j1,j2,j3,j4,j5,k,n2,n3,n4,n5,n6,lwat,iskip,
511 . inum,iddl,iskw,nb_jlt,nb_jlt_new,nb_stok_n,
512 . num_istock,kindex2,
513 . ilagm,ik0,n_ik, isiz, lrbuf, nlagf,
516 . lagcom(2*nbncl+4*nbikl),
517 . ag(3,nbnodl),vg(3,nbnodl),msg(nbnodl),
518 . arg(3,nbnodlr),vrg(3,nbnodlr),ing(nbnodlr)
521 nlagf = fr_lagf(3,ispmd+1)
523 n_mul_mx = lag_ncf + lag_ncl
524 nkmax = lag_nkf + lag_nkl
525 nhmax = lag_nhf + lag_nhl
528 num_istock = 4*numnodg
529 lwat =
max(6*(numels16+numels20),nrwlag,2*numnodg+num_istock)
534 ip2 = ip1 + n_mul_mx + 1
545 j2 = j1 + lag_ncf + 1
604 IF(nty==7.OR.nty==22)
THEN
611 CALL ancmsg(msgid=113,anmode=aninfo,
621 CALL ancmsg(msgid=113,anmode=aninfo,
631 CALL ancmsg(msgid=113,anmode=aninfo,
650 CALL ancmsg(msgid=113,anmode=aninfo,
667 IF(ispmd==0 .AND. nbcslag>0)
THEN
668 CALL ancmsg(msgid=113,anmode=aninfo,
675 1 ipari ,intbuf_tab,wag(ip1) ,wag(ip2) ,wag(ip3) ,
676 2 wag(ip4) ,wag(ip5) ,wag(ip6) ,wag(ip7) ,lagbuf(j3),
677 3 lagbuf(j4),in ,ms ,x ,v ,
678 4 vr ,a ,ar ,iskip ,ncf_s ,
682 IF(ispmd==0 .AND. ngjoint>0)
THEN
683 CALL ancmsg(msgid=113,anmode=aninfo,
689 IF(ispmd==0 .AND. nummpc>0)
THEN
694 1 rbmpc ,ibmpc ,ibmpc(inum),ibmpc(iddl),ibmpc(iskw),
695 2 skew ,lagcom ,lagcom(ik0),n_mult ,n_ik )
700 1 ibfv ,vel ,skew ,npf ,tf ,
701 2 lagcom ,lagcom(ik0),n_mult ,nodglob ,weight ,
702 3 n_ik ,python, nodes)
709 IF(ispmd==0 .AND. nrbylag>0)
THEN
710 CALL ancmsg(msgid=113,anmode=aninfo,
719 1 lagcom ,lagcom(ik0),n_mult ,wag(ip0),wag(ip1),
720 2 wag(ip2) ,wag(ip3) ,wag(ip4),wag(ip5),wag(ip6),
721 2 lagbuf(j3),lagbuf(j4) ,fr_lagf ,n_ik )
728 nh = nhmax + 3*(n_mul_mx - n_mult)
730 ip7 = ip6 + n_mult + 1
737 ip14 = ip13 + 6 * numnodg
775 2 in ,ag ,arg ,vg ,vrg ,
776 3 msg ,ing ,fr_lagf,isiz ,nbnodl,
777 4 indexlag,nodglob ,llagf ,nlagf )
781 1 nh ,n_mult ,ncr ,ag ,vg ,
782 2 msg ,wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip5) ,
783 3 wag(ip6) ,wag(ip7) ,wag(ip8) ,wag(ip9) ,wag(ip10) ,
784 4 wag(ip11) ,wag(ip12) ,wag(ip13) ,wag(ip14) ,wag(ip15) ,
785 5 wag(ip16) ,wag(ip17) ,wag(ip18) ,wag(ip19) ,lambda ,
786 6 rbyl ,npbyl ,arg ,vrg ,ing ,
787 7 lagbuf(j1),lagbuf(j2),lagbuf(j3),lagbuf(j4),ncf_s ,
799 1 a ,ar ,ag ,arg ,fr_lagf,
800 2 isiz ,nbnodl ,llagf ,nlagf )
809 lrbuf = 2*isiz*(iad_elem(1,nspmd+1)-iad_elem(1,1))+2*nspmd
811 1 a ,ar ,llagf ,nlagf ,fr_lagf,
812 2 iad_elem,fr_elem,lrbuf ,isiz )
815 2 wag(ip1),wag(ip2),wag(ip3),wag(ip5),lambda ,
816 3 ms ,in ,rbyl ,npbyl ,lpbyl ,
819 CALL lag_anithp(output, wag(ip1),wag(ip2),wag(ip3),wag(ip4),wag(ip5),
820 2 fani ,fsav ,n_mult ,indexlag,ag ,
821 3 fr_lagf ,nbnodl ,llagf ,nlagf ,h3d_data)
subroutine i16main(nin, ipari, intbuf_tab, x, v, a, itask, igrnod, eminx, wat, ms, iadll, lll, jll, sll, xll, n_mul_mx, ixs, ixs16, ixs20, nkmax, ixs10, comntag, igrbric)
subroutine i17main(nin, ipari, intbuf_tab, x, v, a, itask, igrbric, eminx, ms, nc, iadll, lll, jll, sll, xll, n_mul_mx, ixs, ixs16, ixs20, nkmax, comntag)
subroutine i7main_lmult(nin, ipari, intbuf_tab, x, v, a, itask, ms, iadll, lll, jll, sll, xll, n_mul_mx, nkmax, itab, index2, nb_jlt, nb_jlt_new, nb_stok_n, newfront, icontact, itag, xtag, comntag, kinet)
subroutine lag_anithp(output, iadll, lll, jll, sll, xll, fani, fsav, nc, indexlag, fanig, fr_lagf, nbnodl, llagf, nlagf, h3d_data)
subroutine lag_anith(output, iadll, lll, jll, sll, xll, fani, fsav, nc, h3d_data)
subroutine lag_bcs(igrnod, ibcslag, sk, rll, ngrnod, iadll, lll, jll, sll, xll, comntag, icftag, jcftag, mass, iner, v, vr, a, ar, iskip, ncf_s, nc)
subroutine lag_fxv(ibfv, vel, skew, npf, tf, bll, iadll, lll, jll, sll, xll, comntag, icftag, jcftag, ms, in, v, vr, a, ar, iskip, ncf_s, nc, python, nodes)
subroutine lag_fxvp(ibfv, vel, skew, npf, tf, lagcomc, lagcomk, nc, nodglob, weight, ik, python, nodes)
subroutine lag_gjnt(gjbufi, gjbufr, x, vr, ar, iadll, lll, jll, sll, xll, comntag, ltsm, icftag, jcftag, ms, in, v, a, iskip, ncf_s, nc)
subroutine lag_i2main(ipari, intbuf_tab, iadll, lll, jll, sll, xll, comntag, ltsm, icftag, jcftag, in, ms, x, v, vr, a, ar, iskip, ncf_s, n_mult)
subroutine lag_mpc(rbmpc, impcnc, impcnn, impcdl, impcsk, skew, iadll, lll, jll, sll, xll, comntag, icftag, jcftag, ms, in, v, vr, a, ar, iskip, ncf_s, nc)
subroutine lag_mpcp(rbmpc, impcnc, impcnn, impcdl, impcsk, skew, lagcomc, lagcomk, nc, ik)
subroutine lag_multp(output, ipari, x, a, wat, v, ms, in, vr, wag, itab, ixs, ixs20, ixs16, fani, fsav, skew, ar, lambda, lagbuf, ibcslag, ixs10, gjbufi, gjbufr, ibmpc, rbmpc, npbyl, lpbyl, ibfv, vel, npf, tf, newfront, icontact, rwbuf, lprw, nprw, rbyl, d, dr, kinet, nodglob, weight, nbncl, nbikl, nbnodl, nbnodlr, fr_lagf, llagf, iad_elem, fr_elem, intbuf_tab, h3d_data, python, nodes)
subroutine lag_mult(output, ipari, x, a, wat, v, ms, in, vr, itask, wag, itab, ixs, ixs20, ixs16, igrnod, fani, fsav, skew, ar, lambda, lagbuf, ibcslag, ixs10, gjbufi, gjbufr, ibmpc, rbmpc, npbyl, lpbyl, ibfv, vel, npf, tf, newfront, icontact, rwbuf, lprw, nprw, rbyl, d, dr, kinet, nsensor, sensor_tab, intbuf_tab, h3d_data, igrbric, python, nodes)
subroutine lag_mult_solvp(nh, nc, ncr, a, v, mas, iadll, lll, jll, xll, iadh, jcih, hh, z, p, r, q, ltsm, hl, diag_h, diag_l, work1, work2, work3, lambda, rbyl, npbyl, ar, vr, in, iadhf, jcihf, icftag, jcftag, ncf_s, ncf_e, indexlag)
subroutine lag_mult_solv(nh, nc, ncr, a, v, mas, iadll, lll, jll, xll, iadh, jcih, hh, z, p, r, q, ltsm, hl, diag_h, diag_l, work1, work2, work3, lambda, rbyl, npbyl, ar, vr, in, iadhf, jcihf, icftag, jcftag, ncf_s, ncf_e)
subroutine ltag_rby(comntag, npbyl, lpbyl)
subroutine ltag_i2main(comntag, ipari, intbuf_tab)
subroutine ltag_gjnt(comntag, gjbufi)
subroutine init_intv(intv, len)
subroutine ltag_mpc(comntag, impcnc, impcnn)
subroutine ltag_bcs(comntag, ngrnod, igrnod, ibcslag)
subroutine ltag_fxv(comntag, ibfv)
subroutine init_int(i, j)
subroutine lag_rby(rbyl, npbyl, lpbyl, mass, iner, iadll, lll, jll, sll, xll, comntag, v, vr, a, ar, x, nc, ncr)
subroutine rby_decond(x, v, vr, a, ar, iadll, lll, jll, xll, lambda, mass, iner, rbyl, npbyl, lpbyl, nc, ncr)
subroutine lag_rwall(rwl, nsw, nsn, itied, msr, index, x, v, a, iadll, lll, jll, sll, xll, comntag, n_mul_mx, nkmax, nc)
subroutine spmd_gg_mult(a, ar, v, vr, ms, in, ag, arg, vg, vrg, msg, ing, fr_lagf, isiz, nbnodl, indexlag, nodglob, llagf, nlagf_l)
subroutine spmd_get_mult(lagcomc, lagcomk, n_mult, bll, iadll, lll, jll, sll, xll, comntag, icftag, jcftag, fr_lagf, n_ik)
subroutine spmd_sg_mult(a, ar, ag, arg, fr_lagf, isiz, nbnodl, llagf, nlagf_l)
subroutine spmd_exch_mult(a, ar, llagf, nlagf_l, fr_lagf, iad_elem, fr_elem, lrbuf, isiz)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)