42 . ELBUF_TAB ,QUAD_VECTOR,IFUNC ,IPARG ,GEO ,
43 . IXQ ,IXC ,IXTG ,PM ,
45 . NBF_L ,EHOUR ,ANIM ,NBPART ,IADG ,
46 . IPM ,IGEO ,THKE ,ERR_THK_SH4 ,ERR_THK_SH3,
48 . NV46 ,NERCVOIS ,NESDVOIS ,LERCVOIS ,LESDVOIS,
49 . STACK ,ID_ELEM ,INFO1 ,INFO2 ,
50 . IS_WRITTEN_QUAD,IPARTQ,IPARTTG ,LAYER_INPUT ,IPT_INPUT ,
51 . PLY_INPUT ,GAUSS_INPUT,IUVAR_INPUT,H3D_PART ,KEYWORD ,
52 . BUFMAT ,MULTI_FVM ,IR_INPUT ,IS_INPUT ,IT_INPUT)
63 use element_mod ,
only : nixq,nixc,nixtg
67#include "implicit_f.inc"
71#include "vect01_c.inc"
80 . quad_vector(3,*),x(3,numnod),v(3,numnod),w(3,numnod),thke(*),ehour(*),geo(npropg,numgeo),
81 . anim(*),pm(npropm,*),err_thk_sh4(*), err_thk_sh3(*)
82 INTEGER IPARG(NPARG,NGROUP),IXC(NIXC,NUMELC),IXTG(NIXTG,NUMELTG),EL2FA(*),
83 . IXQ(NIXQ,NUMELQ),IFUNC,NBF,
84 . IADP(*),NBF_L, NBPART,IADG(NSPMD,*),IPM(NPROPMI,NUMMAT),
85 . IGEO(NPROPGI,NUMGEO),INVERT(*), NV46,ID_ELEM(*),
86 . INFO1,INFO2,IS_WRITTEN_QUAD(*),IPARTQ(
89TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
90 TYPE (STACK_PLY) :: STACK
91 CHARACTER(LEN=NCHARLINE100) :: KEYWORD
92 TYPE (MULTI_FVM_STRUCT),
INTENT(IN) :: MULTI_FVM
97 . dam1(mvsiz),dam2(mvsiz),
98 . wpla(mvsiz),dmax(mvsiz),wpmax(mvsiz),fail(mvsiz),
99 . epst1(mvsiz),epst2(mvsiz),epsf1(mvsiz),epsf2(mvsiz),
100 . value(3),ff0,gg0,hh0,ll0,mm0,nn0,mass(mvsiz)
102 . off, p,vonm2,s1,s2,s12,s3,dmgmx,fac,
103 . dir1_1,dir1_2,dir2_1,dir2_2,aa,bb,v1,v2,v3,x21,x32,x34,
104 . x41,y21,y32,y34,y41,z21,z32,z34,z41,suma,vr,vs,x31,y31,
105 . z31,e11,e12,e13,e21,e22,e23,sum,
area,x2l,var,
106 . e1x,e1y,e1z,e2x,e2y,e2z,e3x,e3y,e3z,rx,ry,rz,sx,sy,sz,
107 . vg(5),vly(5),ve(5),bufmat(*),
108 . s11,s22,s33,s4,s5,s6,crit,value1,value2
111 INTEGER I, NG, NEL, NPTR, NPTS, NPTT, NLAY, ILAY,
112 . ir,is,it,il,mlw, nuvar,ius,lenf,ptf,ptm,pts,nfail,
113 . n,nn,k,k1,k2,jturb,mt,imid,ialel,ipid,ish3n,nni,
114 . nn1,nn2,nn3,nn4,nn5,nn6,nn9,nf,buf,nvarf,
115 . offset,ihbe,nptm,npg, mpt,ipt,iadd,iadr,ipmat,ifailt,
116 . iigeo,iadi,isubstack,ithk,nercvois(*),nesdvois(*),
117 . lercvois(*),lesdvois(*),id_ply,nb_plyoff,iok,iadbuf,nuparam,
118 . imat,ivisc,ipos,itrimat
120 . pte(4),ptp(4),ptmat(4),ptvar(4),npt_all,iply,
121 . id_elem_tmp(mvsiz),nix,iok_part(mvsiz),jj(6),npgt,iuvar,
122 . is_written_value(mvsiz)
125 TYPE(g_bufel_) ,
POINTER :: GBUF
126 TYPE(L_BUFEL_) ,
POINTER :: LBUF
130 .
DIMENSION(:),
POINTER :: uvar
143 is_written_quad(i) = 0
148 2 mlw ,nel ,nft ,iad ,ity ,
149 3 npt ,jale ,ismstr ,jeul ,jturb ,
150 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
151 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
152 6 irep ,iint ,igtyp ,israt ,isrot ,
153 7 icsen ,isorth ,isorthg ,ifailure,jsms )
157 isubstack = iparg(71,ng)
169 is_written_value(i) = 0
171 evar(1:3,1:nel) = zero
172 is_written_vector(1:nel) = 0
178 gbuf => elbuf_tab(ng)%GBUF
179 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
180 uvar => elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)%VAR
181 jale=(iparg(7,ng)+iparg(11,ng))
182 jturb=iparg(12,ng)*jale
183 nptr = elbuf_tab(ng)%NPTR
184 npts = elbuf_tab(ng)%NPTS
185 nptt = elbuf_tab(ng)%NPTT
186 nlay = elbuf_tab(ng)%NLAY
187 nuvar = elbuf_tab(ng)%BUFLY(1)%NVAR_MAT
190 id_elem(nft+i) = ixq(nixq,nft+i)
191 IF( h3d_part(ipartq(nft+i)) == 1) iok_part(i) = 1
195 quad_vector(1:3,nft+i) = zero
200 IF (keyword ==
'VECT/VEL')
THEN
204 evar(1,i) = multi_fvm%VEL(1, i + nft)
205 evar(2,i) = multi_fvm%VEL(2, i + nft)
206 evar(3,i) = multi_fvm%VEL(3, i + nft)
207 is_written_vector(i) = 1
212 evar(1,i) = gbuf%MOM(jj(1) + i) / gbuf%RHO(i)
213 evar(2,i) = gbuf%MOM(jj(2) + i) / gbuf%RHO(i)
214 evar(3,i) = gbuf%MOM(jj(3) + i) / gbuf%RHO(i)
215 is_written_vector(i) = 1
219 IF (jcvt == 0 .OR. isorth /= 0)
THEN
221 CALL qrota_vect(x,ixq(1,nft+1),jcvt,evar,gbuf%GAMA,nel)
224 ELSEIF (keyword ==
'VECT/ACC')
THEN
226 IF (mlw == 151 .AND.
ALLOCATED(multi_fvm%ACC))
THEN
228 evar(1,i) = multi_fvm%ACC(1, i + nft)
229 evar(2,i) = multi_fvm%ACC(2, i + nft)
230 evar(3,i) = multi_fvm%ACC(3, i + nft)
231 is_written_vector(i) = 1
237 CALL h3d_write_vectors(iok_part,is_written_quad,quad_vector,nel,0,nft,evar,is_written_vector)
subroutine h3d_quad_vector(elbuf_tab, quad_vector, ifunc, iparg, geo, ixq, ixc, ixtg, pm, el2fa, nbf, iadp, nbf_l, ehour, anim, nbpart, iadg, ipm, igeo, thke, err_thk_sh4, err_thk_sh3, invert, x, v, w, nv46, nercvois, nesdvois, lercvois, lesdvois, stack, id_elem, info1, info2, is_written_quad, ipartq, iparttg, layer_input, ipt_input, ply_input, gauss_input, iuvar_input, h3d_part, keyword, bufmat, multi_fvm, ir_input, is_input, it_input)