37 2 IXTG ,WA,WAP0 ,IPARTC, IPARTTG,
38 3 IPART_STATE,STAT_INDXC,STAT_INDXTG,THKE,SIZP0)
47#include "implicit_f.inc"
62 INTEGER IXC(NIXC,*),IXTG(NIXTG,*),
63 . iparg(nparg,*),ipm(npropmi,*),igeo(npropgi,*),
64 . ipartc(*), iparttg(*), ipart_state(*),
65 . stat_indxc(*), stat_indxtg(*)
68 TYPE (elbuf_struct_),
DIMENSION(NGROUP),
TARGET :: elbuf_tab
69 double precision WA(*),WAP0(*)
73 INTEGER I,J,K,N,II,JJ,LEN, IOFF, NG, NEL, NFT, , LFT, NPT,
74 . LLT, MLW, ISTRAIN,ID, IPRT0, IPRT,NPG,IPG,IE,NPTR,NPTS,G_STRA,
76 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA
77 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA_P0
79 . thk, em, eb, h1, h2, h3
80 CHARACTER*100 DELIMIT,LINE
81 TYPE(G_BUFEL_) ,
POINTER :: GBUF
82 TYPE(l_bufel_) ,
POINTER :: LBUF
83 TYPE(buf_lay_) ,
POINTER :: BUFLY
85 .
DIMENSION(:),
POINTER :: strain
88 ./
'#---1----|----2----|----3----|----4----|----5----|----6----|'/
90 ./
'----7----|----8----|----9----|----10---|'/
94 CALL my_alloc(ptwa,
max(stat_numelc ,stat_numeltg))
95 ALLOCATE(ptwa_p0(0:
max(1,stat_numelc_g,stat_numeltg_g)))
98 IF(stat_numelc==0)
GOTO 200
104 gbuf => elbuf_tab(ng)%GBUF
110 nptr = elbuf_tab(ng)%NPTR
111 npts = elbuf_tab(ng)%NPTS
126 IF(ipart_state(iprt)==0)cycle
129 IF (mlw /= 0 .AND. mlw /= 13)
THEN
143 IF (mlw /= 0 .AND. mlw /= 13)
THEN
153 IF (mlw == 0 .or. mlw == 13)
THEN
160 ELSEIF (g_stra /= 0)
THEN
168 k = (ipg-1)*nel*g_stra
171 wa(jj) = strain(kk(j)+i+k)
202 IF(ispmd==0.AND.len>0)
THEN
212 ioff = nint(wap0(j + 1))
214 iprt = nint(wap0(j + 2))
215 IF(iprt /= iprt0)
THEN
216 IF (izipstrs == 0)
THEN
217 WRITE(iugeo,
'(A)') delimit
218 WRITE(iugeo,
'(A)')
'/INISHE/STRA_F'
220 .
'#------------------------ REPEAT --------------------------'
222 .
'# SHELLID NPT NPG THK'
223 WRITE(iugeo,
'(A/A/A)')
224 .
'# REPEAT I=1,NPG :',
225 .
'# E1, E2, E12, E23, E31,',
228 .
'#---------------------- END REPEAT ------------------------'
229 WRITE(iugeo,'(a)
') DELIMIT
231 WRITE(LINE,'(a)
') DELIMIT
232 CALL STRS_TXT50(LINE,100)
233 WRITE(LINE,'(a)
')'/inishe/stra_f
'
234 CALL STRS_TXT50(LINE,100)
236 .'#------------------------ REPEAT --------------------------'
239 .
'# SHELLID NPT NPG THK'
241 WRITE(line,
'(A)')
'# REPEAT I=1,NPG :'
243 WRITE(line,
'(A)')
'# E1, E2, E12, E23, E31,'
245 WRITE(line,
'(A)')
'# K1, K2, K12'
248 .'#---------------------- END REPEAT ------------------------'
250 WRITE(line,
'(A)') delimit
255 id = nint(wap0(j + 3))
256 npt = nint(wap0(j + 4))
257 npg = nint(wap0(j + 5))
260 IF (izipstrs == 0)
THEN
261 WRITE(iugeo,
'(3I10,1PE20.13)')id,npt,npg,thk
263 WRITE(line,
'(3I10,1PE20.13)')id,npt,npg,thk
268 IF (izipstrs == 0)
THEN
269 WRITE(iugeo,
'(1P5E20.13)')(wap0(j + k),k=1,5)
270 WRITE(iugeo,
'(1P3E20.13)')(wap0(j + k),k=6,8)
284 IF (stat_numeltg==0)
GOTO 300
290 gbuf => elbuf_tab(ng)%GBUF
297 nptr = elbuf_tab(ng)%NPTR
298 npts = elbuf_tab(ng)%NPTS
312 IF(ipart_state(iprt)==0)cycle
316 IF (mlw /= 0 .AND. mlw /= 13)
THEN
324 wa(jj) = ixtg(nixtg,n)
330 IF (mlw /= 0 .AND. mlw /= 13)
THEN
334 wa(jj) = thke(n+numelc)
341 IF (mlw == 0 .or. mlw == 13)
THEN
348 ELSEIF (g_stra > 0)
THEN
356 k = (ipg-1)*nel*g_stra
359 wa(jj) = strain(kk(j)+i+k)
390 IF(ispmd==0.AND.len>0)
THEN
393 DO n=1,stat_numeltg_g
400 ioff = nint(wap0(j + 1))
402 iprt = nint(wap0(j + 2))
403 IF(iprt /= iprt0)
THEN
404 IF (izipstrs == 0)
THEN
405 WRITE(iugeo,
'(A)') delimit
406 WRITE(iugeo,
'(A)')
'/INISH3/STRA_F'
408 .
'#------------------------ REPEAT --------------------------'
410 .
'# SH3NID NPT NPG THK'
411 WRITE(iugeo,
'(A/A/A)')
412 .
'# REPEAT I=1,NPG :',
413 .
'# E1, E2, E12, E23, E31,',
416 .
'#---------------------- END REPEAT ------------------------'
417 WRITE(iugeo,
'(A)') delimit
419 WRITE(line,
'(A)') delimit
421 WRITE(line,
'(A)')
'/INISH3/STRA_F'
424 .
'#------------------------ REPEAT --------------------------'
427 .
'# SH3NID NPT NPG THK'
429 WRITE(line,
'(A)')
'# REPEAT I=1,NPG :'
431 WRITE(line,
'(A)')
'# E1, E2, E12, E23, E31,'
433 WRITE(line,
'(A)')
'# K1, K2, K12'
436 .
'#---------------------- END REPEAT ------------------------'
438 WRITE(line,
'(A)') delimit
443 id = nint(wap0(j + 3))
444 npt = nint(wap0(j + 4))
445 npg = nint(wap0(j + 5))
448 IF (izipstrs == 0)
THEN
449 WRITE(iugeo,
'(3I10,1PE20.13)')id,npt,npg,thk
451 WRITE(line,
'(3I10,1PE20.13)')id,npt,npg,thk
455 IF (izipstrs == 0)
THEN
456 WRITE(iugeo,
'(1P5E20.13)')(wap0(j + k),k=1,5)
457 WRITE(iugeo,
'(1P3E20.13)')(wap0(j + k),k=6,8)
subroutine stat_c_straf(elbuf_tab, iparg, ipm, igeo, ixc, ixtg, wa, wap0, ipartc, iparttg, ipart_state, stat_indxc, stat_indxtg, thke, sizp0)