38 . ELBUF_TAB,SPH_TENSOR, IPARG ,ITENS ,KXSP ,PM ,
39 2 EL2FA ,NBF ,TENS ,EPSDOT ,
40 3 NBPART ,X ,IADG ,IPART ,
41 4 IPARTSP ,ISPH3D ,IPM ,IGEO ,ID_ELEM ,
42 5 IS_WRITTEN_SPH, H3D_PART,KEYWORD)
54#include "implicit_f.inc"
58#include "vect01_c.inc"
70 . sph_tensor(6,*), tens(6,*),epsdot(6,*),pm(npropm,*),x(3,*)
71 INTEGER IPARG(NPARG,*),ITENS,
72 . KXSP(NISP,*),EL2FA(*),IADG(NSPMD,*),IPM(NPROPMI,*),
73 . NBF,NBPART,IPART(LIPART1,*),IPARTSP(*),
74 . isph3d,igeo(npropgi,*),is_written_sph(*),id_elem(*),
76 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET ::
77 CHARACTER(LEN=NCHARLINE100):: KEYWORD
84 . off, p,vonm2,s1,s2,s3,
VALUE,dmgmx,fac,
85 . dir1_1,dir1_2,dir2_1,dir2_2,aa,bb,v1,v2,v3,x21,x32,x34,
86 . x41,y21,y32,y34,y41,z21,z32,z34,z41,suma,vr,vs,x31,y31,
87 . z31,e11,e12,e13,e21,e22,e23,sum,
area,x2l,var,
88 . e1x,e1y,e1z,e2x,e2y,e2z,e3x,e3y,e3z,rx,ry,rz,sx,sy,sz,
89 . vg(5),vly(5),ve(5),s4,s5,s6,vonm, gama(6),evar_tmp(6),
92 . g11,g22,g33,g12,g21,g23,g32,g13,g31,
93 . l11,l22,l33,l12,l21,l23,l32,l13,l31,
94 . s11,s22,s33,s12,s21,s23,s32,s13,s31
95 INTEGER I,I1,,J,NG,NEL,NPTR,NPTS,NPTT,NLAY,L,IFAIL
97 . n,nn,k,k1,k2,jturb,mt,imid,ialel,ipid,ish3n,nni,
98 . nn1,nn2,nn3,nn4,nn5,nn6,nn9,nf,buf,nvarf,
99 . ihbe,nptm,npg, mpt,ipt,iadd,iadr,ipmat,ifailt,
100 . iigeo,iadi,isubstack,ithk,
101 . id_ply,nb_plyoff,nuvarr
102 INTEGER (MVSIZ),MAT(MVSIZ),MATLY(MVSIZ*100),FAILG(100,MVSIZ),
103 . PTE(4),PTP(4),PTMAT(4),PTVAR(4),NPT_ALL
109 TYPE(G_BUFEL_) ,
POINTER :: GBUF
110 TYPE(L_BUFEL_) ,
POINTER :: LBUF
111 TYPE(BUF_LAY_) ,
POINTER :: BUFLY
112 TYPE(BUF_FAIL_) ,
POINTER :: FBUF
114 .
DIMENSION(:),
POINTER :: uvar
115 TYPE(l_bufel_) ,
POINTER :: LBUF1,LBUF2,LBUF3,LBUF4
120 nn4 = nn3 + isph3d*(numsph+maxpjet)
123 gbuf => elbuf_tab(ng)%GBUF
124 istrain = iparg(44,ng)
125 isolnod = iparg(28,ng)
128 2 mlw ,nel ,nft ,iad ,ity ,
130 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
131 5 nvaux ,jpor ,kcvt ,jclose ,jplasol ,
132 6 irep ,iint ,igtyp ,israt ,isrot ,
133 7 icsen ,isorth ,isorthg ,ifailure,jsms )
145 gbuf => elbuf_tab(ng)%GBUF
146 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
147 iprt=ipartsp(1 + nft)
151 id_elem(nft+i) = kxsp(nisp,nft+i)
152 IF( h3d_part(ipartsp(nft+i)) == 1) iok_part(i) = 1
153 is_written_tensor(i) = 0
166 IF (keyword ==
'TENS/STRESS')
THEN
170 evar(1,i) = gbuf%SIG(jj(1) + i)
171 evar(2,i) = gbuf%SIG(jj(2) + i)
172 evar(3,i) = gbuf%SIG(jj(3) + i)
173 evar(4,i) = gbuf%SIG(jj(4) + i)
174 evar(5,i) = gbuf%SIG(jj(5) + i
176 is_written_tensor(i) = 1
179 ELSEIF (keyword ==
'TENS/STRAIN')
THEN
182 iprt=ipartsp(1 + nft)
184 istrain= iparg(44,ng)
186 nuvarr = ipm(221,mt1)
187 IF (mlw>=28.AND.mlw/=49)
THEN
189 evar(1,i) = lbuf%STRA(jj(1) + i)
190 evar(2,i) = lbuf%STRA(jj(2) + i)
191 evar(3,i) = lbuf%STRA(jj(3) + i)
192 evar(4,i) = lbuf%STRA(jj(4) + i)*half
193 evar(5,i) = lbuf%STRA(jj(5) + i)*half
194 evar(6,i) = lbuf%STRA(jj(6) + i)*half
195 is_written_tensor(i) = 1
197 ELSEIF(mlw == 14)
THEN
199 evar(1,i) = lbuf%EPE(jj(1) + i)
200 evar(2,i) = lbuf%EPE(jj(2) + i)
201 evar(3,i) = lbuf%EPE(jj(3) + i)
205 is_written_tensor(i) = 1
207 ELSEIF(mlw == 24)
THEN
209 evar(1,i) = lbuf%STRA(jj(1) + i)
210 evar(2,i) = lbuf%STRA(jj(2) + i)
211 evar(3,i) = lbuf%STRA(jj(3) + i)
212 evar(4,i) = lbuf%STRA(jj(4) + i)*half
213 evar(5,i) = lbuf%STRA(jj(5) + i)*half
214 evar(6,i) = lbuf%STRA(jj(6) + i)*half
215 is_written_tensor(i) = 1
217 ELSEIF(istrain == 1)
THEN
218 IF(mlw/=14.AND.mlw/=24.AND.mlw<28.OR.
221 evar(1,i) = lbuf%STRA(jj(1) + i)
222 evar(2,i) = lbuf%STRA(jj(2) + i)
223 evar(3,i) = lbuf%STRA(jj(3) + i)
224 evar(4,i) = lbuf%STRA(jj(4) + i)*half
225 evar(5,i) = lbuf%STRA(jj
226 evar(6,i) = lbuf%STRA(jj(6) + i)*half
227 is_written_tensor(i) = 1
232 ELSEIF (keyword ==
'TENS/DAMA')
THEN
235 IF (mlw == 24. and. nint(pm(56,mt1)) == 1)
THEN
238 evar(1,i) = lbuf%DGLO(jj(1) + i)
239 evar(2,i) = lbuf%DGLO
240 evar(3,i) = lbuf%DGLO(jj(3) + i)
241 evar(4,i) = lbuf%DGLO(jj(4) + i
242 evar(5,i) = lbuf%DGLO(jj(5) + i)
243 evar(6,i) = lbuf%DGLO(jj(6) + i)
244 is_written_tensor(i) = 1
248 l11 = lbuf%DGLO(jj(1) + i)
249 l21 = lbuf%DGLO(jj(2) + i)
250 l31 = lbuf%DGLO(jj(3) + i)
251 l12 = lbuf%DGLO(jj(4) + i)
252 l22 = lbuf%DGLO(jj(5) + i)
253 l32 = lbuf%DGLO(jj(6) + i)
255 l23 = l31*l12-l11*l32
256 l33 = l11*l22-l21*l12
257 g11 = gbuf%GAMA(jj(1) + i)
258 g21 = gbuf%GAMA(jj(2) + i)
259 g31 = gbuf%GAMA(jj(3) + i)
260 g12 = gbuf%GAMA(jj(4) + i)
261 g22 = gbuf%GAMA(jj(5) + i)
262 g32 = gbuf%GAMA(jj(6) + i)
263 g13 = g21*g32-g31*g22
264 g23 = g31*g12-g11*g32
265 g33 = g11*g22-g21*g12
268 s13 =l11*g31+l12*g32+l13*g33
269 s21 =l12*g11+l22*g12+l23*g13
270 s22 =l12*g21+l22*g22+l23*g23
271 s23 =l12*g31+l22*g32+l23*g33
272 s31 =l13*g11+l23*g12+l33*g13
273 s32 =l13*g21+l23*g22+l33*g23
274 s33 =l13*g31+l23*g32+l33*g33
275 evar(1,i) = g11*s11+g12*s21+g13*s31
276 evar(2,i) = g21*s12+g22*s22+g23*s32
277 evar(3,i) = g31*s13+g32*s23+g33*s33
278 evar(4,i) = g11*s12+g12*s22+g13*s32
279 evar(5,i) = g21*s13+g22*s23
280 evar(6,i) = g11*s13+g12*s23+g13*s33
281 is_written_tensor(i) = 1
288 . evar,is_written_tensor)
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)