41 . ELBUF_TAB ,QUAD_VECTOR,IFUNC ,IPARG ,GEO ,
42 . IXQ ,IXC ,IXTG ,PM ,
44 . NBF_L ,EHOUR ,ANIM ,NBPART ,IADG ,
45 . IPM ,IGEO ,THKE ,ERR_THK_SH4 ,ERR_THK_SH3,
47 . NV46 ,NERCVOIS ,NESDVOIS ,LERCVOIS ,LESDVOIS,
48 . STACK ,ID_ELEM ,INFO1 ,INFO2 ,
49 . IS_WRITTEN_QUAD,IPARTQ,IPARTTG ,LAYER_INPUT ,IPT_INPUT ,
50 . PLY_INPUT ,GAUSS_INPUT,IUVAR_INPUT,H3D_PART ,KEYWORD ,
51 . BUFMAT ,MULTI_FVM ,IR_INPUT ,IS_INPUT ,IT_INPUT)
65#include "implicit_f.inc"
69#include "vect01_c.inc"
78 . quad_vector(3,*),x(3,numnod),v(3,numnod),w(3,numnod),thke(*),ehour(*),geo(npropg,numgeo),
79 . anim(*),pm(npropm,*),err_thk_sh4(*), err_thk_sh3(*)
80 INTEGER IPARG(NPARG,NGROUP),IXC(NIXC,NUMELC),IXTG(NIXTG,NUMELTG),EL2FA(*),
81 . IXQ(NIXQ,NUMELQ),IFUNC,NBF,
82 . IADP(*),NBF_L, NBPART,IADG(NSPMD,*),IPM(NPROPMI,NUMMAT),
83 . IGEO(NPROPGI,NUMGEO),INVERT(*), NV46,ID_ELEM(*),
84 . INFO1,INFO2,IS_WRITTEN_QUAD(*),IPARTQ(*),IPARTTG(*),H3D_PART(*),
85 . LAYER_INPUT ,IPT_INPUT,GAUSS_INPUT,PLY_INPUT,IUVAR_INPUT,
86 . IR_INPUT,IS_INPUT,IT_INPUT,IS_WRITTEN_VECTOR(MVSIZ)
87 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
88 TYPE (STACK_PLY) :: STACK
89 CHARACTER(LEN=NCHARLINE100) ::
90 TYPE (MULTI_FVM_STRUCT),
INTENT(IN) :: MULTI_FVM
95 . dam1(mvsiz),dam2(mvsiz),
96 . wpla(mvsiz),dmax(mvsiz),wpmax(mvsiz),fail(mvsiz),
97 . epst1(mvsiz),epst2(mvsiz),epsf1(mvsiz),epsf2(mvsiz),
98 . value(3),ff0,gg0,hh0,ll0,mm0,nn0,mass(mvsiz)
100 . off, p,vonm2,s1,s2,s12,s3,dmgmx,fac,
101 . dir1_1,dir1_2,dir2_1,dir2_2,aa,bb,v1,v2,v3,x21,x32,x34,
102 . x41,y21,y32,y34,y41,z21,z32,z34,z41,suma,vr,vs,x31,y31,
103 . z31,e11,e12,e13,e21,e22,e23,sum,
area,x2l,var,
104 . e1x,e1y,e1z,e2x,e2y,e2z,e3x,e3y,e3z,rx,ry,rz,sx
105 . vg(5),vly(5),ve(5),bufmat(*),
106 . s11,s22,s33,s4,s5,s6,crit,value1,value2
109 INTEGER I,I1,II,J,NG,NEL,NPTR,NPTS,NPTT,NLAY,L,IFAIL,ILAY,
110 . ir,is,it,il,mlw, nuvar,ius,lenf,ptf,ptm,pts,nfail,
111 . n,nn,k,k1,k2,jturb,mt,imid,ialel,ipid,ish3n,nni,
112 . nn1,nn2,nn3,nn4,nn5,nn6,nn9,nf,buf,nvarf,
113 . offset,ihbe,nptm,npg, mpt,ipt,iadd,iadr,ipmat,ifailt,
114 . iigeo,iadi,isubstack,ithk,nercvois(*),nesdvois(*),
115 . lercvois(*),lesdvois(*),id_ply,nb_plyoff,iok,iadbuf,nuparam,
116 . imat,ivisc,ipos,itrimat
117 INTEGER PID(MVSIZ),MAT(MVSIZ),MATLY(MVSIZ*100),FAILG(100,MVSIZ),
118 . pte(4),ptp(4),ptmat(4),ptvar(4),npt_all,iply,
119 . id_elem_tmp(mvsiz),nix,iok_part(mvsiz),jj(6),npgt,iuvar,
120 . is_written_value(mvsiz)
123 TYPE(G_BUFEL_) ,
POINTER :: GBUF
124 TYPE(L_BUFEL_) ,
POINTER :: LBUF
125 TYPE(BUF_LAY_) ,
POINTER :: BUFLY
126 TYPE(BUF_FAIL_) ,
POINTER :: FBUF
128 .
DIMENSION(:),
POINTER :: uvar
129 TYPE(l_bufel_) ,
POINTER :: LBUF1,LBUF2,LBUF3,LBUF4
130 TYPE(BUF_MAT_) ,
POINTER :: MBUF
131 my_real,
DIMENSION(:) ,
POINTER :: UPARAM
141 is_written_quad(i) = 0
146 2 mlw ,nel ,nft ,iad ,ity ,
147 3 npt ,jale ,ismstr ,jeul ,jturb ,
148 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
149 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
150 6 irep ,iint ,igtyp ,israt ,isrot ,
151 7 icsen ,isorth ,isorthg ,ifailure,jsms )
155 isubstack = iparg(71,ng)
167 is_written_value(i) = 0
169 evar(1:3,1:nel) = zero
170 is_written_vector(1:nel) = 0
176 gbuf => elbuf_tab(ng)%GBUF
177 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
178 uvar => elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)%VAR
179 jale=(iparg(7,ng)+iparg(11,ng))
180 jturb=iparg(12,ng)*jale
181 nptr = elbuf_tab(ng)%NPTR
182 npts = elbuf_tab(ng)%NPTS
183 nptt = elbuf_tab(ng)%NPTT
184 nlay = elbuf_tab(ng)%NLAY
185 nuvar = elbuf_tab(ng)%BUFLY(1)%NVAR_MAT
188 id_elem(nft+i) = ixq(nixq,nft+i)
189 IF( h3d_part(ipartq(nft+i)) == 1) iok_part(i)
193 quad_vector(1:3,nft+i) = zero
198 IF (keyword ==
'VECT/VEL')
THEN
202 evar(1,i) = multi_fvm%VEL(1, i + nft)
203 evar(2,i) = multi_fvm%VEL(2, i + nft)
204 evar(3,i) = multi_fvm%VEL(3, i + nft)
205 is_written_vector(i) = 1
210 evar(1,i) = gbuf%MOM(jj(1) + i) / gbuf%RHO(i)
211 evar(2,i) = gbuf%MOM(jj(2) + i) / gbuf%RHO(i)
212 evar(3,i) = gbuf%MOM(jj(3) + i) / gbuf%RHO(i)
213 is_written_vector(i) = 1
217 IF (jcvt == 0 .OR. isorth /= 0)
THEN
219 CALL qrota_vect(x,ixq(1,nft+1),jcvt,evar,gbuf%GAMA,nel)
222 ELSEIF (keyword ==
'VECT/ACC')
THEN
224 IF (mlw == 151 .AND.
ALLOCATED(multi_fvm%ACC))
THEN
226 evar(1,i) = multi_fvm%ACC(1, i + nft)
227 evar(2,i) = multi_fvm%ACC(2, i + nft)
228 evar(3,i) = multi_fvm%ACC(3, i + nft)
229 is_written_vector(i) = 1
235 CALL h3d_write_vectors(iok_part,is_written_quad,quad_vector,nel,0,nft,evar,is_written_vector)
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)