41 2 WA,WAP0 ,IPARTS, IPART_STATE,
42 3 STAT_INDXS ,X,IGLOB ,IPART,IDEL ,SIZP0)
49 use element_mod ,
only : nixs
53#include
"implicit_f.inc"
63#include "vect01_c.inc"
68 INTEGER SIZP0,IGLOB,IDEL
70 . iparg(nparg,*),ipm(npropmi,*),igeo(npropgi,*),
71 . iparts(*), ipart_state(*), stat_indxs(*),ipart(lipart1,*)
74 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
75 double precision WA(*),WAP0(*)
79 INTEGER I,N,J,K,II(6),JJ,LEN,ISOLNOD, NPTR, NPTS, NPTT,
80 . NG, NEL, MLW,ID, IPRT0, IPRT,IE,
82 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA
83 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA_P0
86 CHARACTER*100 DELIMIT,LINE
88 ./
'#---1----|----2----|----3----|----4----|----5----|----6----|'/
90 ./
'----7----|----8----|----9----|----10---|'/
92 TYPE(l_bufel_) ,
POINTER :: LBUF
93 TYPE(G_BUFEL_) ,
POINTER :: GBUF
97 CALL my_alloc(ptwa,stat_numels)
98 ALLOCATE(ptwa_p0(0:
max(1,stat_numels_g)))
101 IF(stat_numels==0)
GOTO 200
106 isolnod = iparg(28,ng)
117 2 mlw ,nel ,nft ,iad ,ity ,
118 3 npt ,jale ,ismstr ,jeul ,jtur ,
119 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
120 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
121 6 irep ,iint ,igtyp ,israt ,isrot ,
122 7 icsen ,isorth ,isorthg ,ifailure,jsms )
128 IF (jhbe==17.AND.iint==2) jhbe = 18
129 IF (jhbe==1.AND.iint==3) jhbe = 5
130 gbuf => elbuf_tab(ng)%GBUF
131 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
133 nlay = elbuf_tab(ng)%NLAY
137 nptr = elbuf_tab(ng)%NPTR
138 npts = elbuf_tab(ng)%NPTS
139 nptt = elbuf_tab(ng)%NPTT
140 npt = nptr * npts * nptt * nlay
150 IF(ipart_state(iprt)==0)cycle
153 wa(jj+ 2)= ixs(nixs,n)
162 wa(jj+11)= gbuf%OFF(i)
166 lbuf => elbuf_tab(ng)%BUFLY(j)%LBUF(1,1,1)
167 IF (isorth == 1)
THEN
168 IF(igtyp == 21 .OR. igtyp == 22)
THEN
170 IF (igtyp == 22)
THEN
171 gama(1)= lbuf%GAMA(ii(1)+i)
172 gama(2)= lbuf%GAMA(ii(2)+i)
173 ELSEIF (igtyp == 21)
THEN
174 gama(1)= gbuf%GAMA(ii(1)+i)
175 gama(2)= gbuf%GAMA(ii(2)+i)
181 CALL srotorth(x,ixs(1,n),gama,jhbe,igtyp,
190 IF (igtyp == 22)
THEN
191 wa(jj+1)= lbuf%GAMA(ii(1)+i)
192 wa(jj+2)= lbuf%GAMA(ii(2)+i)
193 ELSEIF (igtyp == 21)
THEN
194 wa(jj+1)= gbuf%GAMA(ii(1)+i)
195 wa(jj+2)= gbuf%GAMA(ii(2)+i)
202 ELSEIF (jhbe == 1 .OR.
203 . jhbe == 2 .OR. jhbe == 12)
THEN
204 wa(jj+1)= gbuf%GAMA(ii(1)+i)
205 wa(jj+2)= gbuf%GAMA(ii(2)+i)
206 wa(jj+3)= gbuf%GAMA(ii(3)+i)
207 wa(jj+4)= gbuf%GAMA(ii(4)+i)
208 wa(jj+5)= gbuf%GAMA(ii(5)+i)
209 wa(jj+6)= gbuf%GAMA(ii(6)+i)
211 gama(1) = gbuf%GAMA(ii(1)+i)
212 gama(2) = gbuf%GAMA(ii(2)+i)
213 gama(3) = gbuf%GAMA(ii(3)+i)
214 gama(4) = gbuf%GAMA(ii(4)+i)
215 gama(5) = gbuf%GAMA(ii(5)+i)
216 gama(6) = gbuf%GAMA(ii(6)+i)
217 CALL srotorth(x,ixs(1,n),gama,jhbe,igtyp,
260 IF(ispmd==0.AND.len>0)
THEN
268 iprt = nint(wap0(j + 1))
269 id = nint(wap0(j + 2))
270 isorth = nint(wap0(j + 3))
271 nlay = nint(wap0(j + 4))
272 nptr = nint(wap0(j + 5))
273 npts = nint(wap0(j + 6))
274 nptt = nint(wap0(j + 7))
275 isolnod= nint(wap0(j + 8))
276 jhbe = nint(wap0(j + 9))
277 igtyp = nint(wap0(j +10))
278 ioff = nint(wap0(j + 11))
279 IF(idel==0.OR.(idel==1.AND.ioff >=1))
THEN
281 IF(iprt /= iprt0 .AND. isorth /= 0)
THEN
282 IF (izipstrs == 0)
THEN
283 WRITE(iugeo,
'(A)') delimit
285 WRITE(iugeo,
'(A)')
'/INIBRI/ORTHO_FGLO'
287 WRITE(iugeo,
'(A)')
'/INIBRI/ORTHO'
290 .
'# BRICKID NLAY ISOLNOD IGTYP JJHBE'
292 .
'#------------------------ REPEAT --------------------------'
293 IF(iglob==1.OR.(igtyp /= 21 .AND. igtyp /= 22))
THEN
295 .
'# X1, Y1, Z1, X2, Y2'
300 .
'# COS(PHI), SIN(PHI)'
303 .
'#---------------------- END REPEAT ------------------------'
304 WRITE(iugeo,
'(A)') delimit
306 WRITE(line,
'(A)') delimit
309 WRITE(line,
'(A)')
'/INIBRI/ORTHO_FGLO'
311 WRITE(line,
'(A)')
'/INIBRI/ORTHO'
315 .
'#------------------------ REPEAT --------------------------'
318 .
'# BRICKID NLAY ISOLNOD IGTYP JJHBE'
320 IF(igtyp /= 21 .AND. igtyp /= 22)
THEN
322 .
'# X1, Y1, Z1, X2, Y2'
329 .
'# COS(PHI), SIN(PHI)'
333 .
'#------------------------ REPEAT --------------------------'
335 WRITE(line,
'(A)') delimit
341 IF (izipstrs == 0)
THEN
342 WRITE(iugeo,
'(5I10)') id,nlay,isolnod,igtyp,jhbe
344 WRITE(line,
'(5I10)') id,nlay,isolnod,igtyp,jhbe
348 IF(iglob==1.OR.(igtyp /= 21 .AND. igtyp /= 22))
THEN
351 IF (izipstrs == 0)
THEN
352 WRITE(iugeo,
'(1P5E20.13)')(wap0(jj + k),k=1,5)
353 WRITE(iugeo,
'(1PE20.13)')(wap0(jj + k),k=6,6)
363 IF (izipstrs == 0)
THEN
364 WRITE(iugeo,
'(1P2E20.13)')(wap0(jj + k),k=1,2)
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)