33 . NEL ,IXTG ,ITAB ,NGL ,OFFLY )
38 use element_mod ,
only : nixtg
42#include "implicit_f.inc"
51 INTEGER NEL,IXTG(NIXTG,*)
52 INTEGER,
DIMENSION(NEL) ,
INTENT(IN) :: NGL,OFFLY
53 INTEGER,
DIMENSION(NUMNOD),
INTENT(IN ) :: ITAB
54 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: dadv
55 INTEGER,
DIMENSION(NEL) ,
INTENT(OUT) :: FWAVE_EL
56 TYPE (FAILWAVE_STR_) :: FAILWAVE
60 INTEGER I,II,K,N1,N2,N3,FOUND,LEVEL,NINDX,NFAIL
62 INTEGER ,
DIMENSION(NEL) :: INDX
63 INTEGER ,
DIMENSION(3) :: NDL,NDR,NOD_ID,NOD_NN
72 SELECT CASE (failwave%WAVE_MOD)
77 IF (offly(i) == 1 .and. dadv(i) == one)
THEN
78 n1 = failwave%IDXI(ixtg(2,i))
79 n2 = failwave%IDXI(ixtg(3,i))
80 n3 = failwave%IDXI(ixtg(4,i))
81 nfail = failwave%FWAVE_NOD(1,n1,1)
82 . + failwave%FWAVE_NOD(1,n2,1)
83 . + failwave%FWAVE_NOD(1,n3,1)
94 IF (offly(i) == 1 .and. dadv(i) == one)
THEN
105 nod_nn(1) = failwave%IDXI(n1)
106 nod_nn(2) = failwave%IDXI(n2)
107 nod_nn(3) = failwave%IDXI(n3)
115 IF (failwave%MAXLEV(ncurr) > 0)
THEN
119 DO level = 1,failwave%MAXLEV(ncurr)
120 fnod1 = failwave%FWAVE_NOD(1,ncurr,level)
121 fnod2 = failwave%FWAVE_NOD(2,ncurr,level)
123 IF ((fnod2 == 0 .and.
124 . (fnod1 == nod_id(knext) .or. fnod1 == nod_id(kprev)))
126 . (fnod1 > 0 .and. fnod2 > 0 .and.
127 . fnod1 /= nod_id(kprev) .and. fnod1 /= nod_id(knext) .and.
128 . fnod2 /= nod_id(kprev) .and. fnod2 /= nod_id(knext)) )
THEN
subroutine set_failwave_sh3n(failwave, fwave_el, dadv, nel, ixtg, itab, ngl, offly)