32 . NEL ,IXTG ,ITAB ,NGL ,OFFLY )
40#include "implicit_f.inc"
49 INTEGER NEL,IXTG(NIXTG,*)
50 INTEGER,
DIMENSION(NEL) ,
INTENT(IN) :: NGL,OFFLY
51 INTEGER,
DIMENSION(NUMNOD),
INTENT(IN ) :: ITAB
52 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: dadv
53 INTEGER,
DIMENSION(NEL) ,
INTENT(OUT) :: FWAVE_EL
54 TYPE (FAILWAVE_STR_) :: FAILWAVE
58 INTEGER I,II,K,N1,N2,N3,FOUND,LEVEL,IDN,,NFAIL,,,
60 INTEGER ,
DIMENSION(NEL) :: INDX
61 INTEGER ,
DIMENSION(3) :: NDL,NDR,NOD_ID,NOD_NN
70 SELECT CASE (failwave%WAVE_MOD)
72 CASE (1) ! isotropic propagation
75 IF (offly(i) == 1 .and. dadv(i) == one)
THEN
76 n1 = failwave%IDXI(ixtg(2,i))
77 n2 = failwave%IDXI(ixtg(3,i))
78 n3 = failwave%IDXI(ixtg(4,i))
79 nfail = failwave%FWAVE_NOD(1,n1,1)
80 . + failwave%FWAVE_NOD(1,n2,1)
81 . + failwave%FWAVE_NOD(1,n3,1)
92 IF (offly(i) == 1 .and. dadv(i) == one)
THEN
103 nod_nn(1) = failwave%IDXI(n1)
104 nod_nn(2) = failwave%IDXI(n2)
105 nod_nn(3) = failwave%IDXI(n3)
113 IF (failwave%MAXLEV(ncurr) > 0)
THEN
117 DO level = 1,failwave%MAXLEV(ncurr)
118 fnod1 = failwave%FWAVE_NOD(1,ncurr,level)
119 fnod2 = failwave%FWAVE_NOD(2,ncurr,level)
121 IF ((fnod2 == 0 .and.
122 . (fnod1 == nod_id(knext) .or. fnod1 == nod_id(kprev)))
124 . (fnod1 > 0 .and. fnod2 > 0 .and.
125 . fnod1 /= nod_id(kprev) .and. fnod1 /= nod_id(knext) .and.
126 . fnod2 /= nod_id(kprev) .and. fnod2 /= nod_id(knext)) )
THEN
subroutine set_failwave_sh3n(failwave, fwave_el, dadv, nel, ixtg, itab, ngl, offly)