37 SUBROUTINE fxbypid(OUTPUT,IPARG , IXS , IXQ , IXC ,
38 . IXT , IXP , IXR , IXTG , FXBIPM ,
39 . FXBNOD, ONOF , ITAG , ONFELT, ELBUF_STR )
45 use element_mod ,
only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
49#include "implicit_f.inc"
61 TYPE(output_),
INTENT(INOUT) :: OUTPUT
62 INTEGER IPARG(NPARG,*),IXS(NIXS,*), IXQ(NIXQ,*),IXC(NIXC,*),
63 . ixt(nixt,*),ixp(nixp,*),ixr(nixr,*),ixtg(nixtg,*),
64 . fxbipm(*),fxbnod(*),onof,itag(*),onfelt
65 TYPE(),
TARGET ,
DIMENSION(NGROUP) :: ELBUF_STR
70 INTEGER NSN,NG,MLW,ITY,NEL,NFT,IAD,I,II,,IGOF,IWIOUT
72 .
DIMENSION(:),
POINTER :: offg
77 IF (ispmd == 0)
WRITE(iout,*)
' BEGINNING FXBYPID'
82 ELSEIF (onof == 1)
THEN
88 IF(onfelt == 0.OR.onfelt == 1)
THEN
111 IF (ity == 1 .AND. mlw /= 0)
THEN
112 offg => elbuf_str(ng)%GBUF%OFF
115 nall = itag(ixs(2,ii)) * itag(ixs(3,ii)) *
116 + itag(ixs(4,ii)) * itag(ixs(5,ii)) *
117 + itag(ixs(6,ii)) * itag(ixs(7,ii)) *
118 + itag(ixs(8,ii)) * itag(ixs(9,ii))
121 offg(i)= abs(offg(i))
122 WRITE(iout,*)
' BRICK ACTIVATION:',ixs(11,ii)
123 ELSEIF(onfelt == 0)
THEN
124 offg(i) = -abs(offg(i))
125 WRITE(iout,*)
' BRICK DEACTIVATION:',ixs(11,ii)
134 IF (offg(i) > zero) igof=0
140 ELSEIF(ity == 3 .and. mlw /= 0)
THEN
141 offg => elbuf_str(ng)%GBUF%OFF
144 nall = itag(ixc(2,ii)) * itag(ixc(3,ii)) *
145 + itag(ixc(4,ii)) * itag(ixc(5,ii))
147 IF (onfelt == 1)
THEN
148 offg(i) = abs(offg(i))
149 WRITE(iout,*)
' SHELL ACTIVATION:',ixc(7,ii)
150 ELSEIF (onfelt == 0)
THEN
151 offg(i) = -abs(offg(i))
152 WRITE(iout,*)
' SHELL DEACTIVATION:',ixc(7,ii)
161 IF (offg(i) > zero) igof=0
168 offg => elbuf_str(ng)%GBUF%OFF
171 nall = itag(ixt(2,ii)) * itag(ixt(3,ii))
175 WRITE(iout,*)
' TRUSS ACTIVATION:',ixt(5,ii)
176 ELSEIF(onfelt == 0)
THEN
178 WRITE(iout,*)
' TRUSS DEACTIVATION:',ixt(5,ii)
187 IF (offg(i) /= zero) igof=0
194 offg => elbuf_str(ng)%GBUF%OFF
197 nall = itag(ixp(2,ii)) * itag(ixp(3,ii))
200 offg(i)= abs(offg(i))
201 WRITE(iout,*)
' BEAM ACTIVATION:',ixp(6,ii)
202 ELSEIF(onfelt == 0)
THEN
203 offg(i)= -abs(offg(i))
204 WRITE(iout,*)
' BEAM DEACTIVATION:',ixp(6,ii)
213 IF(offg(i)>zero) igof=0
219 ELSEIF(ity == 6.AND.mlw /= 3)
THEN
220 offg => elbuf_str(ng)%GBUF%OFF
223 nall = itag(ixr(2,ii)) * itag(ixr(3,ii))
227 WRITE(iout,*)
' SPRING ACTIVATION:',ixr(nixr,ii)
228 ELSEIF(onfelt == 0)
THEN
230 WRITE(iout,*)
' SPRING DEACTIVATION:',ixr(nixr,ii)
239 IF(offg(i) /= zero) igof=0
245 ELSEIF(ity == 7 .and. mlw /= 0)
THEN
246 offg => elbuf_str(ng)%GBUF%OFF
249 nall = itag(ixtg(2,ii)) * itag(ixtg(3,ii)) *
252 IF (onfelt == 1)
THEN
253 offg(i) = abs(offg(i))
254 WRITE(iout,*)
' SH_3N ACTIVATION:',ixtg(6,ii)
255 ELSEIF (onfelt == 0)
THEN
256 offg(i) = -abs(offg(i))
257 WRITE(iout,*)
' SH_3N DEACTIVATION:',ixtg(6,ii)
266 IF (offg(i) > zero) igof=0
276 IF (ispmd /= 0)
CALL spmd_chkw(iwiout,iout)
286 IF (ispmd == 0)
WRITE(iout,*)
' END FXBYPID'
subroutine fxbypid(output, iparg, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, fxbipm, fxbnod, onof, itag, onfelt, elbuf_str)