34 SUBROUTINE laser2(NL ,N1 ,N2 ,IFUNC ,IAFUNC ,
35 . LAS ,XLAS ,X ,ELBUF_TAB,PM ,
36 . WA ,IPARG,IXQ ,TF ,NPF ,
46#include "implicit_f.inc"
57 INTEGER NL, N1, N2, IFUNC, IAFUNC
58 INTEGER LAS(2,*), IPARG(NPARG,*), IXQ(7,*), NPF(*)
59 my_real XLAS(*),X(3,*),WA(3,*),TF(*),PM(NPROPM,*)
60 TYPE(elbuf_struct_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
61 DOUBLE PRECISION,
INTENT(INOUT) :: WFEXT
65 INTEGER IL, NG, I, NEL, NFT, II, NP1, NPOINT, IC, NELC, NB1C, NFTC, M4C, M13C,MX, M11C
66 INTEGER MTN,IAD,ITY,NPT,JALE,ISMSTR,
67 . JEUL,JTUR,JTHE,JLAG,NVAUX,JMULT,JHBE,JIVF,JPOR,JPLA,JCLOSE,
68 . irep,iint,igtyp,jcvt,isrot,israt,isorth,isorthg,icsen,ifailure,
71 . chaleur, fi,
alpha, z1, z2, z3, z4, zz, t, ddfi,
72 . dfi, de, bid, rhoc, c0, zm, zmc, y1, y2, y3, y4,
73 . d, vm, dar, fi0, vol, xkzz, rhoa2
74 . a1,a2,aire,atom,af,tc, dfi1, xk0,hnuk,xk,rho,z,te,tscal,fifun
75 TYPE(g_bufel_) ,
POINTER :: GBUF
76 TYPE(L_BUFEL_) ,
POINTER :: LBUF
88 npoint = (npf(ifunc+1)-npf(ifunc))/2
89 CALL interp(tf(npf(ifunc)),tscal,npoint,fifun,bid)
110 gbuf => elbuf_tab(ng)%GBUF
111 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
116 3 npt ,jale ,ismstr ,jeul ,jtur ,
117 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
118 5 nvaux ,jpor ,jcvt ,jclose ,jpla ,
119 6 irep ,iint ,igtyp ,israt ,isrot ,
120 7 icsen ,isorth ,isorthg ,ifailure,jsms )
127 zz = half * (abs(z1 - z3) + abs(z2 - z4))
139 rhoa2 = (rho/atom)**2
140 xk = xk0 * rhoa2 * (z / hnuk)**3 / sqrt(te)
141 xkzz = xk * (one - exp(-hnuk/te)) * zz
142 rhoa2 = ((rho-rho0)/atom)**2
143 IF(te<=ep04) xkzz = xkzz + dar * rhoa2 * zz
145 ddfi = (one - exp(-xkzz))
150 gbuf%EINT(i) = gbuf%EINT(i) + de
151 wfext = wfext + de * vol
164 npoint =(npf(iafunc+1)-np1)/2
166 CALL interp(tf(np1),t,npoint,af,bid)
173 gbuf%EINT(i) = gbuf%EINT(i) + de
174 wfext = wfext + de * vol
182 gbuf => elbuf_tab(ng)%GBUF
188 m4c = nb1c+8*nelc+ic-1
189 m11c = nb1c+12*nelc+ic-1
190 m13c = nb1c+14*nelc+ic-1
195 zm = z1 + z2 + z3 + z4
200 zmc = z1 + z2 + z3 + z4
205 a1 = y2*(z3-z4)+y3*(z4-z2)+y4*(z2-z3)
206 a2 = y2*(z4-z1)+y4*(z1-z2)+y1
210 dfi1 = pm(75,mx) * (two*(te - tc)/zz) / dt2
212 d = (dfi+dfi1) / (rhoc*chaleur)
214 vm = d * aire * rhoc * fourth
216 wa(3,n1) = wa(3,n1) +
217 wa(3,n2) = wa(3,n2) + vm
244 gbuf => elbuf_tab(ng)%GBUF
250 gbuf%EINT(i) = gbuf%EINT(i) + de
252 wfext = wfext + de * vol
subroutine resol(timers, element, nodes, coupling, af, iaf, iskwn, neth, ipart, nom_opt, kxx, ixx, ixtg, ixs, ixq, ixt, ixp, ixr, ifill, mat_elem, ims, npc, ibcl, ibfv, idum, las, laccelm, nnlink, lnlink, iparg, dd_iad, igrv, iexlnk, kinet, ipari, nprw, iconx, npby, lpby, lrivet, nstrf, ljoint, nodpor, monvol, ilink, llink, linale, neflsw, nnflsw, icut, cluster, itask, inoise, thke, damp, pm, skews, geo, eani, bufmat, bufgeo, bufsf, w, veul, fill, dfill, alph, wb, dsave, asave, msnf, tf, forc, vel, fsav, fzero, xlas, accelm, agrv, fr_wave, failwave, parts0, elbuf, rwbuf, sensors, rwsav, rby, rivet, secbuf, volmon, lambda, wa, fv, partsav, uwa, val2, phi, segvar, r, crflsw, flsw, fani, xcut, anin, tani, secfcum, bufnois, idata, rdata, iframe, kxsp, ixsp, nod2sp, ispsym, ispcond, xframe, spbuf, xspsym, vspsym, pv, fsavd, ibvel, lbvel, wasph, w16, isphio, lprtsph, lonfsph, vsphio, fbvel, lagbuf, ibcslag, iactiv, dampr, gjbufi, gjbufr, rbmpc, ibmpc, sphveln, nbrcvois, nbsdvois, lnrcvois, lnsdvois, nercvois, nesdvois, lercvois, lesdvois, npsegcom, lsegcom, nporgeo, ixtg1, npbyl, lpbyl, rbyl, igeo, ipm, madprt, madsh4, madsh3, madsol, madnod, madfail, iad_rby, fr_rby, fr_wall, iad_rby2, fr_rby2, iad_i2m, fr_i2m, addcni2, procni2, iadi2, fr_mv, iadmv2, fr_ll, fr_rl, iadcj, fr_cj, fr_sec, iad_sec, iad_cut, fr_cut, rg_cut, newfront, fr_mad, fxbipm, fxbrpm, fxbnod, fxbmod, fxbglm, fxbcpm, fxbcps, fxblm, fxbfls, fxbdls, fxbdep, fxbvit, fxbacc, fxbelm, fxbsig, fxbgrvi, fxbgrvr, eigipm, eigibuf, eigrpm, lnodpor, fr_i18, graphe, iflow, rflow, lgrav, dd_r2r, fasolfr, fr_lagf, llagf, lprw, icontact, rcontact, sh4tree, sh3tree, ipadmesh, padmesh, msc, mstg, inc, intg, ptg, iskwp, nskwp, isensp, nsensp, iaccp, naccp, ipart_state, acontact, pcontact, factiv, sh4trim, sh3trim, mscnd, incnd, ibfflux, fbfflux, rbym, irbym, lnrbym, icodrbym, ibcv, fconv, ibftemp, fbftemp, iad_rbym, fr_rbym, weight_rm, ms_ply, zi_ply, inod_pxfem, iel_pxfem, iadc_pxfem, adsky_pxfem, icode_ply, icodt_ply, iskew_ply, admsms, madclnod, nom_sect, mcpc, mcptg, dmelc, dmeltg, mssa, dmels, mstr, dmeltr, msp, dmelp, msrt, dmelrt, ibcr, fradia, res_sms, table, irbe2, lrbe2, iad_rbe2, fr_rbe2, phie, msf, procne_pxfem, iadsdp_pxfem, iadrcp_pxfem, icfield, lcfield, cfield, msz2, diag_sms, iloadp, lloadp, loadp, inod_crk, iel_crk, iadc_crk, adsky_crk, cne_crk, procne_crk, iadsdp_crk, iadrcp_crk, ibufssg_io, ibc_ply, dmint2, ibordnode, elbuf_tab, por, nodedge, iad_edge, fr_edge, fr_nbedge, crknodiad, lgauge, gauge, igaup, ngaup, nodlevxf, dd_r2r_elem, nodglobxfe, sph2sol, sol2sph, irst, dmsph, wagap, xfem_tab, elcutc, nodenr, kxfenod2elc, enrtag, rthbu f, kxig3d, ixig3d, knot, wige, wsmcomp, stack, cputime_mp_glob, cputime_mp, tab_ump, poin_ump, sol2sph_typ, irunn_bis, addcsrect, iad_frnor, fr_nor, procnor, iad_fredg, fr_edg, drape_sh4n, drape_sh3n, tab_mat, nativ0_sms, multi_fvm, segquadfr, ms_2d, h3d_data, subsets, igrnod, igrbric, igrquad, igrsh4n, igrsh3n, igrtruss, igrbeam, igrspring, igrpart, igrsurf, forneqs, nloc_dmg, iskwp_l, knotlocpc, knotlocel, pinch_data, tag_skins6, ale_connectivity, xcell, xface, ne_nercvois, ne_nesdvois, ne_lercvois, ne_lesdvois, ibcscyc, lbcscyc, t_monvol, id_global_vois, face_vois, dynain_data, fcont_max, ebcs_tab, diffusion, kloadpinter, loadpinter, dgaploadint, drapeg, user_windows, output, interfaces, dt, loads, python, dpl0cld, vel0cld, ndamp_vrel, id_damp_vrel, fr_damp_vrel, ndamp_vrel_rbyg, names_and_titles, unitab, liflow, lrflow, glob_therm, pblast, rbe3)