41 . ELBUF_TAB ,SOLID_VECTOR ,IFUNC ,IPARG ,GEO ,
42 . IXQ ,IXS ,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 ,ITY_ELEM ,IPARTS ,LAYER_INPUT ,
49 . IR_INPUT ,IS_INPUT ,IT_INPUT ,IUVAR_INPUT ,H3D_PART ,
50 . IS_WRITTEN_SOLID,INFO1 ,KEYWORD ,FANI_CELL ,
51 . H3D_DATA ,MULTI_FVM)
66#include "implicit_f.inc"
70#include "vect01_c.inc"
80 . solid_vector(3,*),x(3,numnod),v(3,numnod),w(3,numnod),thke(*),ehour(*),geo(npropg,numgeo),
81 . anim(*),pm(npropm,nummat),err_thk_sh4(*), err_thk_sh3(*)
82 INTEGER IPARG(NPARG,NGROUP),IXS(NIXS,NUMELS),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(*), ,ID_ELEM(*),ITY_ELEM(*),IPARTS(*),
86 . H3D_PART(*),IS_WRITTEN_SOLID(*),INFO1,LAYER_INPUT,,IS_INPUT,IT_INPUT,
88 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
89 TYPE (STACK_PLY) :: STACK
90 CHARACTER(LEN=NCHARLINE100) :: KEYWORD
91 TYPE(FANI_CELL_),
INTENT(IN) :: FANI_CELL
92 TYPE (H3D_DATABASE) :: H3D_DATA
93 TYPE (MULTI_FVM_STRUCT),
INTENT(IN) :: MULTI_FVM
98 INTEGER I,NG,NEL,NPTR,,NPTT,NLAY,ILAY,IR,IS,IT,MLW,OFFSET,
99 . nercvois(*),nesdvois(*),lercvois(*),lesdvois(*),iuvar,idx,ilen,ipos,
100 . isolnod,ivisc,nptg,tshell,tsh_ort,iok_part(mvsiz),jj(6),is_written_value(mvsiz)
101 TYPE(g_bufel_) ,
POINTER :: GBUF
102 TYPE(l_bufel_) ,
POINTER :: LBUF
103 TYPE(buf_mat_) ,
POINTER :: MBUF
106 is_written_solid(i) = 0
113 2 mlw ,nel ,nft ,iad ,ity ,
114 3 npt ,jale ,ismstr ,jeul ,jtur ,
115 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
116 5 nvaux ,jpor ,jcvt ,jclose ,jplasol
117 6 irep ,iint ,igtyp ,israt ,isrot ,
118 7 icsen ,isorth ,isorthg ,ifailure,jsms )
121 isolnod = iparg(28,ng)
133 is_written_value(i) = 0
138 IF (jcvt==1.AND.isorth/=0) jcvt=2
141 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)
142 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
143 nlay = elbuf_tab(ng)%NLAY
144 nptr = elbuf_tab(ng)%NPTR
145 npts = elbuf_tab(ng)%NPTS
146 nptt = elbuf_tab(ng)%NPTT
147 nptg = nptt*npts*nptr*nlay
150 IF (igtyp==20 .OR. igtyp==21 .OR. igtyp
151 IF (igtyp==21 .OR. igtyp==22) tsh_ort = 1
152 IF (ity == 1) offset = 0
156 id_elem(offset+nft+i) = ixs(nixs,nft+i)
157 ity_elem(offset+nft+i) = 1
158 IF( h3d_part(iparts(nft+i)) == 1) iok_part(i) = 1
167 IF (ilay == -2) ilay = 1
168 IF (ilay == -3) ilay = nlay
170 IF (keyword ==
'VECT/VEL')
THEN
174 value(1) = multi_fvm%VEL(1, i + nft)
175 value(2) = multi_fvm%VEL(2, i + nft)
176 value(3) = multi_fvm%VEL(3, i + nft)
177 CALL h3d_write_vector(iok_part,is_written_solid,solid_vector,i,offset,nft,
VALUE)
181 IF(gbuf%G_MOM>0 )
THEN
182 value(1) = gbuf%MOM(jj(1) + i) / gbuf%RHO(i)
183 value(2) = gbuf%MOM(jj(2) + i) / gbuf%RHO(i)
184 value(3) = gbuf%MOM(jj(3) + i) / gbuf%RHO(i)
191 IF (keyword ==
'VECT/CONT')
THEN
195 value(1) = fani_cell%F18(1,i+nft)
196 value(2) = fani_cell%F18(2,i+nft)
197 value(3) = fani_cell%F18(3,i+nft)
198 CALL h3d_write_vector(iok_part,is_written_solid,solid_vector,i,offset,nft,
VALUE)
203 IF (keyword ==
'VECT/ACC')
THEN
205 IF (mlw == 151 .AND.
ALLOCATED(multi_fvm%ACC))
THEN
207 value(1) = multi_fvm%ACC(1, i + nft)
208 value(2) = multi_fvm%ACC(2, i + nft)
209 value(3) = multi_fvm%ACC(3, i + nft)
210 CALL h3d_write_vector(iok_part,is_written_solid,solid_vector,i,offset,nft,
VALUE)
subroutine h3d_solid_vector(elbuf_tab, solid_vector, ifunc, iparg, geo, ixq, ixs, 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, ity_elem, iparts, layer_input, ir_input, is_input, it_input, iuvar_input, h3d_part, is_written_solid, info1, keyword, fani_cell, h3d_data, multi_fvm)
subroutine initbuf(iparg, ng, mtn, llt, nft, iad, ity, npt, jale, ismstr, jeul, jtur, jthe, jlag, jmult, jhbe, jivf, mid, jpor, jcvt, jclose, jpla, irep, iint, igtyp, israt, isrot, icsen, isorth, isorthg, ifailure, jsms)