42!||
ltag_bcs ../engine/source/tools/lagmul/lag_ntag.f
50!||--- uses -----------------------------------------------------
60 2 WAT ,V ,MS ,IN ,VR ,
61 3 ITASK ,WAG ,ITAB ,IXS ,IXS20 ,
62 4 IXS16 ,IGRNOD ,FANI ,FSAV ,
63 5 SKEW ,AR ,LAMBDA ,LAGBUF ,IBCSLAG ,
64 6 IXS10 ,GJBUFI ,GJBUFR ,IBMPC ,RBMPC ,
65 7 NPBYL ,LPBYL ,IBFV ,VEL ,NPF ,
66 8 TF ,NEWFRONT,ICONTACT,RWBUF ,LPRW ,
67 9 NPRW ,RBYL ,D ,DR ,KINET ,
68 A NSENSOR,SENSOR_TAB,INTBUF_TAB ,H3D_DATA ,IGRBRIC,
83#include "implicit_f.inc"
91 COMMON /lagglob/n_mult
95 INTEGER ,
INTENT(IN) :: NSENSOR,ITASK
96 INTEGER IPARI(NPARI,*),IXS(NIXS,*),IXS16(8,*),
97 . IXS10(6,*),IXS20(12,*),ITAB(*),
98 . LAGBUF(*),IBCSLAG(*),GJBUFI(LKJNI,*),
99 . IBMPC(*),NPBYL(NNPBY,*),LPBYL(*),IBFV(NIFV,*),NPF(*),
100 . NEWFRONT(*),ICONTACT(*),LPRW(*),NPRW(*),KINET(*)
103 . x(3,*), d(3,*), dr(3,*), a(3,*), ar(3,*), v(3,*), vr(3,*),
104 . ms(*), in(*), lambda(*),fani(3,*),fsav(nthvki,*),
105 . skew(lskew,*),wag(*),wat(*),gjbufr(lkjnr,*),rbmpc(*),
106 . vel(lfxvelr,*),tf(*),rwbuf(nrwlp,*),rbyl(nrby,*)
108 TYPE(intbuf_struct_) INTBUF_TAB(*)
110 TYPE (SENSOR_STR_) ,
DIMENSION(NSENSOR) ,
INTENT(IN) :: SENSOR_TAB
111 TYPE(PYTHON_),
INTENT(INOUT) :: PYTHON
112 TYPE(nodal_arrays_),
intent(in) :: nodes
114 TYPE () ,
DIMENSION(NGRNOD) :: IGRNOD
115 TYPE (GROUP_) ,
DIMENSION(NGRBRIC) :: IGRBRIC
119 INTEGER N,,N_MULT,N_MUL_MX,NKMAX,LENH,NH,NTY,NCR,
121 . ip11,ip12,ip13,ip14,ip15,ip16,ip17,ip18,ip19,ip20,
122 . j1,j2,j3,j4,j5,k,n1,n2,n3,n4,n5,n6,lwat,iskip,ncf_s,ncf_e,
123 . inum,iddl,iskw,ityp,nb_jlt,nb_jlt_new,nb_stok_n,
124 . num_istock,kindex2,
128 n_mul_mx = lag_ncf + lag_ncl
129 nkmax = lag_nkf + lag_nkl
130 nhmax = lag_nhf + lag_nhl
132 num_istock = 4*numnod
133 lwat =
max(6*(numels16+numels20),nrwlag,2*numnod+num_istock)
137 ip2 = ip1 + n_mul_mx + 1
152 j2 = j1 + lag_ncf + 1
176 IF(itask==0.AND.nbcslag>0)
CALL ltag_bcs(wag(ip6) ,ngrnod,
181 IF(itask==0.AND.ninter>0)
CALL ltag_i2main(wag(ip6) ,
182 . ipari ,intbuf_tab )
186 IF(itask==0.AND.ngjoint>0)
CALL ltag_gjnt(wag(ip6),
191 IF(itask==0.AND.nummpc>0)
CALL ltag_mpc(wag(ip6) ,
192 . ibmpc ,ibmpc(nummpc+1))
196 IF(itask==0.AND.nfvlag>0)
CALL ltag_fxv(wag(ip6) ,
201 IF(itask==0.AND.nrbylag>0)
CALL ltag_rby(wag(ip6) ,
211 IF(nty==7.OR.nty==22)
THEN
213 IF(nty==7) isens = ipari(64,n)
215 ts = sensor_tab(isens)%TSTART
226 1 n ,ipari ,intbuf_tab,x ,
228 3 wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip4) ,wag(ip5) ,
229 4 n_mul_mx ,nkmax ,itab ,wat(kindex2),nb_jlt ,
230 5 nb_jlt_new,nb_stok_n ,newfront ,icontact ,wag(ip7) ,
231 6 wag(ip8a) ,wag(ip6) ,kinet )
238 1 n ,ipari ,intbuf_tab,x ,v ,
239 2 a ,itask ,igrnod ,wag(ip7) ,wat(ip8) ,
240 3 ms ,wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip4) ,
241 4 wag(ip5) ,n_mul_mx ,ixs ,ixs16 ,ixs20 ,
242 5 nkmax ,ixs10 ,wag(ip6) ,igrbric)
247 1 n ,ipari ,intbuf_tab(n) ,x ,
248 2 v ,a ,itask ,igrbric ,
249 3 wag(ip7) ,ms ,n_mult ,wag(ip1) ,
250 4 wag(ip2) ,wag(ip3) ,wag(ip4) ,wag(ip5) ,n_mul_mx ,
251 5 ixs ,ixs16 ,ixs20 ,nkmax ,wag(ip6) )
266 CALL lag_rwall(rwbuf(1,n),lprw(k),nprw(n),nprw(n2),nprw(n3),
267 2 wat(ip8),x ,v ,a ,wag(ip1),
268 3 wag(ip2),wag(ip3),wag(ip4),wag(ip5),wag(ip6),
269 4 n_mul_mx,nkmax ,n_mult )
284 IF(itask==0 .AND. nbcslag>0)
CALL lag_bcs(
285 1 igrnod ,ibcslag ,skew ,wag(ip0) ,ngrnod ,
286 2 wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip4) ,wag(ip5) ,
287 3 wag(ip6) ,lagbuf(j3),lagbuf(j4),ms ,in ,
288 4 v ,vr ,a ,ar ,iskip ,
294 1 ipari ,intbuf_tab,wag(ip1) ,wag(ip2) ,wag(ip3) ,
295 2 wag(ip4) ,wag(ip5) ,wag(ip6) ,wag(ip7) ,lagbuf(j3),
296 3 lagbuf(j4),in ,ms ,x ,v ,
297 4 vr ,a ,ar ,iskip ,ncf_s ,
302 IF(itask==0 .AND. ngjoint>0)
CALL lag_gjnt(
303 1 gjbufi ,gjbufr ,x ,vr ,ar ,
304 2 wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip4) ,wag(ip5) ,
305 3 wag(ip6) ,wag(ip7) ,lagbuf(j3),lagbuf(j4),ms ,
311 IF(itask==0 .AND. nummpc>0)
THEN
316 1 rbmpc ,ibmpc ,ibmpc(inum),ibmpc(iddl),ibmpc(iskw),
317 2 skew ,wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip4) ,
318 3 wag(ip5) ,wag(ip6) ,lagbuf(j3) ,lagbuf(j4) ,ms ,
320 5 iskip ,ncf_s ,n_mult )
325 IF(itask==0 .AND. nfvlag>0)
CALL lag_fxv(
326 1 ibfv ,vel ,skew ,npf ,tf ,
327 2 wag(ip0) ,wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip4) ,
328 3 wag(ip5) ,wag(ip6) ,lagbuf(j3),lagbuf(j4),ms ,
330 5 iskip ,ncf_s ,n_mult ,python, nodes)
338 IF(itask==0 .AND. nrbylag>0)
THEN
340 1 rbyl ,npbyl ,lpbyl ,ms ,in ,
341 2 wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip4) ,wag(ip5) ,
342 3 wag(ip6) ,v ,vr ,a ,ar ,
354 nh = nhmax + 3*(n_mul_mx - n_mult)
356 ip7 = ip6 + n_mult + 1
363 ip14 = ip13 + 6 * numnod
376 1 nh ,n_mult ,ncr ,a ,v ,
377 2 ms ,wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip5) ,
378 3 wag(ip6) ,wag(ip7) ,wag(ip8) ,wag(ip9) ,wag(ip10) ,
379 4 wag(ip11) ,wag(ip12) ,wag(ip13) ,wag(ip14) ,wag(ip15) ,
380 5 wag(ip16) ,wag(ip17) ,wag(ip18) ,wag(ip19) ,lambda ,
381 6 rbyl ,npbyl ,ar ,vr ,in ,
382 7 lagbuf(j1),lagbuf(j2),lagbuf(j3),lagbuf(j4),ncf_s ,
390 2 wag(ip1),wag(ip2),wag(ip3),wag(ip5),lambda ,
391 3 ms ,in ,rbyl ,npbyl ,lpbyl ,
397 .
CALL lag_anith(wag(ip1),wag(ip2),wag(ip3),wag(ip4),wag(ip5),
398 . fani ,fsav ,n_mult ,h3d_data )
412!||
init_int ../engine/source/tools/lagmul/lag_ntag.f
426!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.f90
433 2 WAT ,V ,MS ,IN ,VR ,
434 3 WAG ,ITAB ,IXS ,IXS20 ,
435 4 IXS16 ,FANI ,FSAV ,
436 5 SKEW ,AR ,LAMBDA ,LAGBUF ,IBCSLAG ,
437 6 IXS10 ,GJBUFI ,GJBUFR ,IBMPC ,RBMPC ,
438 7 NPBYL ,LPBYL ,IBFV ,VEL ,NPF ,
439 8 TF ,NEWFRONT,ICONTACT,RWBUF ,LPRW ,
440 9 NPRW ,RBYL ,D ,DR ,KINET ,
441 A NODGLOB,WEIGHT ,NBNCL ,NBIKL ,NBNODL ,
442 B NBNODLR,FR_LAGF ,LLAGF ,IAD_ELEM ,FR_ELEM ,
443 C INTBUF_TAB ,H3D_DATA, PYTHON, nodes)
455#include "implicit_f.inc"
459#include "param_c.inc"
460#include "com04_c.inc"
462#include "lagmult.inc"
463#include "com01_c.inc"
465#include "scr17_c.inc"
466 COMMON /lagglob/n_mult
470 INTEGER NBNCL, NBIKL, NBNODL, NBNODLR
471 INTEGER (NPARI,*),IXS(NIXS,*),IXS16(8,*),
472 . ixs10(6,*),ixs20(12,*),itab(*),
473 . lagbuf(*),ibcslag(*),gjbufi(lkjni,*),
474 . ibmpc(*),npbyl(nnpby,*),lpbyl(*),ibfv(nifv,*),npf(*),
475 . newfront(*),icontact(*),lprw(*),nprw(*),kinet(*),
476 . nodglob(*), weight(*), fr_lagf(3,*), llagf(*),
477 . iad_elem(2,*), fr_elem(*)
480 . x(3,*), d(3,*), dr(3,*), a(3,*), ar(3,*), v(3,*), vr(3,*),
481 . ms(*), in(*), lambda(*),fani(3,*),fsav(6,*),
482 . skew(lskew,*),wag(*),wat(*),gjbufr(lkjnr,*),rbmpc(*),
483 . vel(lfxvelr,*),tf(*),rwbuf(nrwlp,*),rbyl(nrby,*)
485 TYPE(intbuf_struct_) INTBUF_TAB(*)
486 TYPE(H3D_DATABASE) :: H3D_DATA
487 TYPE(PYTHON_),
INTENT(INOUT) :: PYTHON
488 TYPE(nodal_arrays_),
intent(in) :: nodes
492 INTEGER N,I,N_MULT,N_MUL_MX,NKMAX,LENH,NH,NTY,NCR,
493 . ip0,ip1,ip2,ip3,ip4,ip5,ip6,ip7,ip8,ip8a,ip8b,ip9,ip10,
494 . ip11,ip12,ip13,ip14,ip15,ip16,ip17,ip18,ip19,ip20,
495 . j1,j2,j3,j4,j5,k,n1,n2,n3,n4,n5,n6,lwat,iskip,
497 . inum,iddl,iskw,ityp,nb_jlt,nb_jlt_new,nb_stok_n,
498 . num_istock,kindex2,
499 . ilagm,ik0,n_ik, nnodmax, isiz, lrbuf, nlagf,
502 . lagcom(2*nbncl+4*nbikl),
503 . ag(3,nbnodl),vg(3,nbnodl),msg(nbnodl),
504 . arg(3,nbnodlr),vrg(3,nbnodlr),ing(nbnodlr)
507 nlagf = fr_lagf(3,ispmd+1)
509 n_mul_mx = lag_ncf + lag_ncl
510 nkmax = lag_nkf + lag_nkl
511 nhmax = lag_nhf + lag_nhl
514 num_istock = 4*numnodg
520 ip2 = ip1 + n_mul_mx + 1
531 j2 = j1 + lag_ncf + 1
590 IF(nty==7.OR.nty==22)
THEN
597 CALL ancmsg(msgid=113,anmode=aninfo,
607 CALL ancmsg(msgid=113,anmode=aninfo,
617 CALL ancmsg(msgid=113,anmode=aninfo,
636 CALL ancmsg(msgid=113,anmode=aninfo,
653 IF(ispmd==0 .AND. nbcslag>0)
THEN
654 CALL ancmsg(msgid=113,anmode=aninfo,
661 1 ipari ,intbuf_tab,wag(ip1) ,wag(ip2) ,wag(ip3) ,
662 2 wag(ip4) ,wag(ip5) ,wag(ip6) ,wag(ip7) ,lagbuf(j3),
663 3 lagbuf(j4),in ,ms ,x ,v ,
664 4 vr ,a ,ar ,iskip ,ncf_s ,
668 IF(ispmd==0 .AND. ngjoint>0)
THEN
669 CALL ancmsg(msgid=113,anmode=aninfo,
675 IF(ispmd==0 .AND. nummpc>0)
THEN
680 1 rbmpc ,ibmpc ,ibmpc(inum),ibmpc(iddl),ibmpc(iskw),
681 2 skew ,lagcom ,lagcom(ik0),n_mult ,n_ik )
686 1 ibfv ,vel ,skew ,npf ,tf ,
687 2 lagcom ,lagcom(ik0),n_mult ,nodglob ,weight ,
688 3 n_ik ,python, nodes
695 IF(ispmd==0 .AND. nrbylag>0)
THEN
696 CALL ancmsg(msgid=113,anmode=aninfo,
705 1 lagcom ,lagcom(ik0),n_mult ,wag(ip0),wag(ip1),
706 2 wag(ip2) ,wag(ip3) ,wag(ip4),wag(ip5),wag(ip6),
707 2 lagbuf(j3),lagbuf(j4) ,fr_lagf ,n_ik )
714 nh = nhmax + 3*(n_mul_mx - n_mult)
716 ip7 = ip6 + n_mult + 1
723 ip14 = ip13 + 6 * numnodg
761 2 in ,ag ,arg ,vg ,vrg ,
762 3 msg ,ing ,fr_lagf,isiz ,nbnodl,
763 4 indexlag,nodglob ,llagf ,nlagf )
767 1 nh ,n_mult ,ncr ,ag ,vg ,
768 2 msg ,wag(ip1) ,wag(ip2) ,wag(ip3) ,wag(ip5) ,
769 3 wag(ip6) ,wag(ip7) ,wag(ip8) ,wag(ip9) ,wag(ip10) ,
770 4 wag(ip11) ,wag(ip12) ,wag(ip13) ,wag(ip14) ,wag(ip15) ,
771 5 wag(ip16) ,wag(ip17) ,wag(ip18) ,wag(ip19) ,lambda ,
772 6 rbyl ,npbyl ,arg ,vrg ,ing ,
773 7 lagbuf(j1),lagbuf(j2),lagbuf(j3),lagbuf(j4),ncf_s ,
785 1 a ,ar ,ag ,arg ,fr_lagf,
786 2 isiz ,nbnodl ,llagf ,nlagf )
795 lrbuf = 2*isiz*(iad_elem(1,nspmd+1)-iad_elem(1,1))+2*nspmd
797 1 a ,ar ,llagf ,nlagf ,fr_lagf,
798 2 iad_elem,fr_elem,lrbuf ,isiz )
801 2 wag(ip1),wag(ip2),wag(ip3),wag(ip5),lambda ,
802 3 ms ,in ,rbyl ,npbyl ,lpbyl ,
805 CALL lag_anithp(wag(ip1),wag(ip2),wag(ip3),wag(ip4),wag(ip5),
806 2 fani ,fsav ,n_mult ,indexlag,ag ,
807 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_anith(iadll, lll, jll, sll, xll, fani, fsav, nc, h3d_data)
subroutine lag_anithp(iadll, lll, jll, sll, xll, fani, fsav, nc, indexlag, fanig, fr_lagf, nbnodl, llagf, nlagf, 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_mult(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_multp(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_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)