35 . ELBUF_TAB , IFUNC , IPARG , GEO , IXT ,
36 . IXP , IXR , PM , ANIM ,
37 . ONED_VECTOR , ID_ELEM , ITY_ELEM , INFO1 , INFO2 ,
38 . IS_WRITTEN_ONED, IPARTT , IPARTP , IPARTR, H3D_PART,
39 . KEYWORD , X , D , TORS )
45 use element_mod ,
only : nixt,nixr,nixp
49#include "implicit_f.inc"
62 . pm(npropm,*), geo(npropg,*),
63 . anim(*),oned_vector(3,*),x(3,*),d(3,*),tors(15,*)
64 INTEGER IPARG(NPARG,*),
65 . IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),IFUNC,
67 . is_written_oned(*),id_elem(*),ity_elem(*),
68 . ipartt(*) ,ipartp(*),ipartr(*),h3d_part(*)
71 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
72 CHARACTER(LEN=NCHARLINE100) ::
78 . evar(mvsiz), mass(mvsiz) ,
79 . off, p, vonm2, vonm, s1, s2, s12, s3, value(3),
80 . a1,b1,b2,b3,yeq,f1,m1,m2,m3, xm,
81 .
for,
area, feq, eplas, rho0, a0, xx1, yy1, zz1, al0
82 INTEGER I, NG, NEL, NFT, ITY,
83 . IADD, N, J, LLT, MLW, NB1, NB2, NB3, NB4, NB5,
84 . NB6, NB7, NB8, NB9, NB10, NB11, NB12, NB13, NB14, NB15,
85 . NB16, LLL,NUVAR,IGTYP,
86 . ISTRAIN,NN, K1, K2,JTURB,MT,JALE, IMID, IALEL,IPID,
87 . nn1,nn2,nn3,nn4,nn5,nn6,nn7,nn8,nn9,nn10,nf,
88 . offset,k,inc,kk,ihbe,isrot,ilayer,ir,is,jj(6),iok_part(mvsiz),
89 . is_written_value(mvsiz),n1, n2
92 TYPE() ,
POINTER :: GBUF
112 gbuf => elbuf_tab(ng)%GBUF
122 is_written_value(i) = 0
125 IF (ity == 4) offset = 0
126 IF (ity == 5) offset = numelt
127 IF (ity == 6) offset = numelt+numelp
131 id_elem(offset+nft+i) = ixt(nixt,nft+i)
132 ity_elem(offset+nft+i) = 4
133 IF( h3d_part(ipartt(nft+i)) == 1) iok_part(i) = 1
134 ELSEIF (ity == 5)
THEN
135 id_elem(offset+nft+i) = ixp(nixp,nft+i)
136 ity_elem(offset+nft+i) = 5
137 IF( h3d_part(ipartp(nft+i)) == 1) iok_part(i) = 1
138 ELSEIF (ity == 6)
THEN
139 id_elem(offset+nft+i) = ixr(nixr,nft+i)
140 ity_elem(offset+nft+i) = 6
141 IF( h3d_part(ipartr(nft+i)) == 1) iok_part(i) = 1
145 IF(ity==4 .OR. ity==5 .OR. ity==6)
THEN
147 oned_vector(1:3,offset+nft+i) = zero
155 IF (keyword ==
'FINT')
THEN
158 value(1) = tors(1,offset+nft+i)
159 value(2) = tors(2,offset+nft+i)
160 value(3) = tors(3,offset+nft+i)
180 IF (keyword == 'fint
') THEN
183 VALUE(1) = TORS(1,OFFSET+NFT+I)
184 VALUE(2) = TORS(2,OFFSET+NFT+I)
185 VALUE(3) = TORS(3,OFFSET+NFT+I)
186 CALL H3D_WRITE_VECTOR(IOK_PART,IS_WRITTEN_ONED,ONED_VECTOR,I,OFFSET,NFT,
205 IF (KEYWORD == 'fint
') THEN
208 VALUE(1) = TORS(1,OFFSET+NFT+I)
209 VALUE(2) = TORS(2,OFFSET+NFT+I)
210 VALUE(3) = TORS(3,OFFSET+NFT+I)
211 CALL H3D_WRITE_VECTOR(IOK_PART,IS_WRITTEN_ONED,ONED_VECTOR,I,OFFSET,NFT,
subroutine h3d_oned_vector(elbuf_tab, ifunc, iparg, geo, ixt, ixp, ixr, pm, anim, oned_vector, id_elem, ity_elem, info1, info2, is_written_oned, ipartt, ipartp, ipartr, h3d_part, keyword, x, d, tors)