25!||--- called by ------------------------------------------------------
34 . NEL ,IXC ,ITAB ,NGL ,OFFLY )
39 use element_mod ,
only : nixc
43#include "implicit_f.inc"
54 INTEGER,
DIMENSION(NEL) ,
INTENT(IN) :: NGL,OFFLY
55 INTEGER,
DIMENSION(NUMNOD),
INTENT(IN) :: ITAB
56 my_real ,
DIMENSION(NEL)INTENT(IN)
57 INTEGER,
DIMENSION(NEL) ,
INTENT(OUT) :: FWAVE_EL
58 TYPE (FAILWAVE_STR_) :: FAILWAVE
62 INTEGER I,,K,N1,N2,N3,N4,FOUND,LEVEL,NINDX,NFAIL,FNOD1,FNOD2,
64 INTEGER ,
DIMENSION(NEL) :: INDX
65 INTEGER ,
DIMENSION(4) :: NDL,NDR,NOD_ID,NOD_NN
74 SELECT CASE (failwave%WAVE_MOD)
79 IF (offly(i) == 1 .and. dadv(i) == one)
THEN
80 n1 = failwave%IDXI(ixc(2,i))
81 n2 = failwave%IDXI(ixc(3,i))
82 n3 = failwave%IDXI(ixc(4,i))
83 n4 = failwave%IDXI(ixc(5,i))
84 nfail = failwave%FWAVE_NOD(1,n1,1)
85 . + failwave%FWAVE_NOD(1,n2,1)
86 . + failwave%FWAVE_NOD(1,n3,1)
87 . + failwave%FWAVE_NOD(1,n4,1)
88 IF (nfail > 0) fwave_el(i) = 1
96 IF (offly(i) == 1 .and. dadv(i) == one)
THEN
108 nod_nn(1) = failwave%IDXI(n1)
109 nod_nn(2) = failwave%IDXI(n2)
110 nod_nn(3) = failwave%IDXI(n3)
111 nod_nn(4) = failwave%IDXI(n4)
120 IF (failwave%MAXLEV(ncurr) > 0)
THEN
124 DO level = 1,failwave%MAXLEV(ncurr)
125 fnod1 = failwave%FWAVE_NOD(1,ncurr,level)
126 fnod2 = failwave%FWAVE_NOD(2,ncurr,level)
128 IF (fnod1 == nod_id(knext) .and. fnod2 == 0)
THEN
152 IF (offly(i) == 1 .and. dadv(i) == one)
THEN
164 nod_nn(1) = failwave%IDXI(n1)
165 nod_nn(2) = failwave%IDXI(n2)
166 nod_nn(3) = failwave%IDXI(n3)
167 nod_nn(4) = failwave%IDXI(n4)
176 IF (failwave%MAXLEV(ncurr) > 0)
THEN
180 DO level = 1,failwave%MAXLEV(ncurr)
181 fnod1 = failwave%FWAVE_NOD(1,ncurr,level)
182 fnod2 = failwave%FWAVE_NOD(2,ncurr,level)
185 . (fnod1 == nod_id(knext) .or. fnod1 == nod_id(kprev)))
THEN
188 ELSE IF (fnod1 > 0 .and. fnod2 > 0 .and.
189 . fnod1 /= nod_id(kprev) .and. fnod1 /= nod_id(knext) .and.
190 . fnod2 /= nod_id(kprev) .and. fnod2 /= nod_id(knext))
THEN
subroutine cforc3(timers, elbuf_str, jft, jlt, pm, ixc, x, f, m, v, vr, failwave, nvc, mtn, geo, tf, npf, bufmat, partsav, dt2t, neltst, ityptst, stifn, stifr, fsky, iadc, itab, d, dr, tani, offset, eani, f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, indxof, ipartc, thke, group_param, mat_elem, nel, istrain, ihbe, ithk, iofc, ipla, nft, ismstr, npt, kfts, fzero, igeo, ipm, ifailure, itask, jthe, temp, fthe, fthesky, iexpan, gresav, grth, xedge4n, igrth, msc, dmelc, jsms, table, iparg, ixfem, knod2elc, sensors, elcutc, inod_crk, iel_crk, ibordnode, nodenr, iadc_crk, nodedge, crknodiad, condn, condnsky, stack, isubstack, xfem_str, ig, crkedge, drape_sh4n, ipri, nloc_dmg, indx_drape, igre, jtur, output, dt, snpc, stf, glob_therm, userl_avail, maxfunc, sbufmat, ipart)
subroutine czforc3(timers, elbuf_str, jft, jlt, nft, npt, itab, mtn, ipri, ithk, neltst, istrain, ipla, dt1, dt2t, pm, geo, partsav, ixc, ityptst, bufmat, tf, npf, iadc, failwave, x, dr, v, vr, f, m, stifn, stifr, fsky, tani, indxof, ismstr, group_param, ipartc, thke, nvc, iofc, ihbe, f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, kfts, fzero, igeo, ipm, ifailure, itask, jthe, temp, fthe, fthesky, iexpan, gresav, grth, igrth, xedge4n, msc, dmelc, jsms, table, iparg, mat_elem, ixfem, knod2elc, sensors, elcutc, inod_crk, iel_crk, nodenr, iadc_crk, nodedge, crknodiad, condn, condnsky, stack, isubstack, xfem_str, crkedge, drape_sh4n, nel, nloc_dmg, indx_drape, igre, jtur, dt, ncycle, snpc, stf, glob_therm, idel7nok, userl_avail, maxfunc, sbufmat, ipart, lipart1)
subroutine set_failwave_sh4n(failwave, fwave_el, dadv, nel, ixc, itab, ngl, offly)