35 1 ELBUF_TAB ,IPARG ,GEO ,IGEO ,IXP ,
36 2 WA ,WAP0 ,IPARTP ,IPART_STATE ,STAT_INDXP,
46#include "implicit_f.inc"
59 INTEGER IXP(NIXP,*),IPARG(NPARG,*),(NPROPGI,*),
60 . IPARTP(*),IPART_STATE(*),STAT_INDXP(*)
63 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
64 double precision WA(*),WAP0(*)
68 INTEGER I,J,K,N,II(3),JJ,LEN,IOFF,IE,NG,NEL,NFT,LFT,
69 . LLT,ITY,ID,IPRT0,IPRT,IGTYP,IPROP,NPT,IPT,ILAY,
70 . IR,IS,PT,L_PLA,G_PLA
71 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA
72 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA_P0
74 TYPE(g_bufel_) ,
POINTER :: GBUF
75 TYPE(l_bufel_) ,
POINTER :: LBUF
78 ./
'#---1----|----2----|----3----|----4----|----5----|----6----|'/
80 ./
'----7----|----8----|----9----|----10---|'/
84 CALL my_alloc(ptwa,stat_numelp)
85 ALLOCATE(ptwa_p0(0:
max(1,stat_numelp_g)))
89 IF (stat_numelp /= 0)
THEN
95 gbuf => elbuf_tab(ng)%GBUF
100 igtyp = igeo(11,iprop)
111 IF (ipart_state(iprt) /= 0)
THEN
112 wa(jj + 1) = gbuf%OFF(i)
114 wa(jj + 3) = ixp(nixp,n)
119 wa(jj + 1) = gbuf%EINT(ii(1)+i)
120 wa(jj + 2) = gbuf%EINT(ii(2)+i)
122 wa(jj + 3) = gbuf%FOR(ii(1)+i)
123 wa(jj + 4) = gbuf%FOR(ii(2)+i)
124 wa(jj + 5) = gbuf%FOR(ii(3)+i)
126 wa(jj + 6) = gbuf%MOM(ii(1)+i)
127 wa(jj + 7) = gbuf%MOM(ii(2)+i)
128 wa(jj + 8) = gbuf%MOM
135 wa(jj + 1) = gbuf%PLA(i)
141 ELSEIF (igtyp == 18)
THEN
148 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,ipt)
149 l_pla = elbuf_tab(ng)%BUFLY(ilay)%L_PLA
150 wa(jj + pt + 1) = lbuf%SIG(ii(1)+i)
151 wa(jj + pt + 2) = lbuf%SIG(ii(2)+i)
152 wa(jj + pt + 3) = lbuf%SIG(ii(3)+i)
154 wa(jj + pt + 4) = lbuf%PLA(i)
156 wa(jj + pt + 4) = zero
192 IF (ispmd == 0 .AND. len > 0)
THEN
200 ioff = nint(wap0(j + 1))
202 iprt = nint(wap0(j + 2))
203 id = nint(wap0(j + 3))
204 igtyp = nint(wap0(j + 4))
205 npt = nint(wap0(j + 5))
210 IF (iprt /= iprt0)
THEN
211 WRITE(iugeo,
'(A)') delimit
212 WRITE(iugeo
'(A)''/INIBEAM/FULL'
214 .
'#----------------------------------------------------------'
215 WRITE(iugeo,
'(A)')
'#BEAM_ID NPT PROP_TYPE'
216 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E20.13) #(EM(I),EB(I) ,I=BEAM_ID)'
217 WRITE(iugeo,
'(A)')
'#FORMAT:(1P3E20.13) #(FX(I),FXY(I),FXZ(I),I=BEAM_ID)'
218 WRITE(iugeo,
'(A)')'
#FORMAT:(1P3E20.13) #(MX(I),MY(I),MZ(I),I=BEAM_ID)'
219 WRITE(iugeo,
'(A)')
'#FORMAT:(1P1E20.13) #(EPSP(I),I=BEAM_ID)'
221 .
'#----------------------------------------------------------'
226 WRITE(iugeo,
'(3I10)') id,npt,igtyp
227 WRITE(iugeo,
'(1P2E20.13)')(wap0(j+k),k=1,2)
228 WRITE(iugeo,
'(1P3E20.13)')(wap0(j+k),k=3,5)
229 WRITE(iugeo,
'(1P3E20.13)')(wap0(j+k),k=6,8)
230 WRITE(iugeo,
'(1P1E20.13)') wap0(j+9)
232 ELSEIF (igtyp == 18)
THEN
234 IF (iprt /= iprt0)
THEN
235 WRITE(iugeo,
'(A)') delimit
236 WRITE(iugeo,
'(A)')
'/INIBEAM/FULL'
238 .
'#----------------------------------------------------------'
240 .
'#BEAM_ID NPT PROP_TYPE'
241 WRITE(iugeo,
'(A)')
'#FORMAT:(1P2E20.13) #(EM(I),EB(I) ,I=BEAM_ID)'
242 WRITE(iugeo,
'(A)')
'#FORMAT:(1P3E20.13) #(FX(I),FXY(I),FXZ(I),I=BEAM_ID)'
243 WRITE(iugeo,
'(A)')
'#FORMAT:(1P3E20.13) #(MX(I),MY(I) ,MZ(I) ,I=BEAM_ID)'
245 .
'#------------------------ REPEAT --------------------------'
247 .
'# FORMAT:(1P3E20.13) ; REPEAT K=1,NPT : ',
248 .
'#(S1(I),S12(I),S13(I),EPSP(I) ,I=BEAM_ID)'
250 .
'#---------------------- END REPEAT ------------------------'
252 .
'#----------------------------------------------------------'
256 WRITE(iugeo,
'(3I10)') id,npt,igtyp
257 WRITE(iugeo,
'(1P2E20.13)')(wap0(j+k),k
258 WRITE(iugeo,
'(1P3E20.13)')(wap0(j+k),k=3,5)
259 WRITE(iugeo,
'(1P3E20.13)')(wap0(j+k
263 WRITE(iugeo,
'(1P4E20.13)')(wap0(j+k),k=1,4)
subroutine stat_p_full(elbuf_tab, iparg, geo, igeo, ixp, wa, wap0, ipartp, ipart_state, stat_indxp, sizp0)