32 SUBROUTINE fxbsgmaj(ELBUF, FXBELM , FXBSIG, FXBDEP, FXBIPM ,
33 . EIEL , PARTSAV, RT , ITN , IPARG ,
34 . NFX , LVSIG , IRCS ,ELBUF_TAB)
42#include "implicit_f.inc"
57 INTEGER FXBELM(*), FXBIPM(*), ITN, IPARG(NPARG,*), NFX, LVSIG,
60 . elbuf(*), fxbsig(*), fxbdep(*), eiel ,
61 . partsav(npsav,*), rt(*)
62 TYPE (ELBUF_STRUCT_),
DIMENSION (NGROUP),
TARGET :: ELBUF_TAB
66 INTEGER NELS, NELC, NELTG, NML, NME, IM, IG, OFFSET, NFT, NFS,
67 . LAST, IAD1, IAD2, IAD3, I, MX, NFT1, II, OFF,
70 . fac,fac2,sigl(mvsiz,6),sig(mvsiz,6),
71 . eielc(npart),eielp(npart), vsig(lvsig)
72 TYPE(g_bufel_) ,
POINTER :: GBUF
93 last=
min(nvsiz,nels-offset)
97 gbuf => elbuf_tab(ng)%GBUF
107 gbuf%SIG(jj(1)+iel)=zero
108 gbuf%SIG(jj(2)+iel)=zero
109 gbuf%SIG(jj(3)+iel)=zero
110 gbuf%SIG(jj(4)+iel)=zero
111 gbuf%SIG(jj(5)+iel)=zero
112 gbuf%SIG(jj(6)+iel)=zero
113 eielp(mx) = eielp(mx) + gbuf%EINT(iel)*off
120 last=
min(nvsiz,nelc-offset)
124 gbuf => elbuf_tab(ng)%GBUF
134 gbuf%FOR(jj(1)+iel)=zero
135 gbuf%FOR(jj(2)+iel)=zero
136 gbuf%FOR(jj(3)+iel)=zero
137 gbuf%FOR(jj(4)+iel)=zero
138 gbuf%FOR(jj(5)+iel)=zero
140 gbuf%MOM(jj(1)+iel)=zero
141 gbuf%MOM(jj(2)+iel)=zero
142 gbuf%MOM(jj(3)+iel)=zero
144 eielp(mx) = eielp(mx)+
145 . (gbuf%EINT(iel)+gbuf%EINT(iel+nel))*off
147 gbuf%EINT(iel+nel)=zero
153 last=
min(nvsiz,nelt-offset)
157 gbuf => elbuf_tab(ng)%GBUF
162 eielp(mx)=eielp(mx)+gbuf%EINT(iel)*off
169 last=
min(nvsiz,nelp-offset)
173 gbuf => elbuf_tab(ng)%GBUF
183 gbuf%FOR(jj(1)+iel)=zero
184 gbuf%FOR(jj(2)+iel)=zero
185 gbuf%FOR(jj(3)+iel)=zero
187 gbuf%MOM(jj(1)+iel)=zero
188 gbuf%MOM(jj(2)+iel)=zero
189 gbuf%MOM(jj(3)+iel)=zero
191 eielp(mx)=eielp(mx)+(gbuf%EINT(iel)+gbuf%EINT(iel+nel))*off
193 gbuf%EINT(iel+nel)=zero
199 last=
min(nvsiz,neltg-offset)
203 gbuf => elbuf_tab(ng)%GBUF
213 gbuf%FOR(jj(1)+iel)=zero
214 gbuf%FOR(jj(2)+iel)=zero
215 gbuf%FOR(jj(3)+iel)=zero
217 gbuf%FOR(jj(5)+iel)=zero
219 gbuf%MOM(jj(1)+iel)=zero
220 gbuf%MOM(jj(2)+iel)=zero
221 gbuf%MOM(jj(3)+iel)=zero
223 eielp(mx) = eielp(mx)+(gbuf%EINT(iel)+gbuf%EINT(iel+nel))*off
225 gbuf%EINT(iel+nel)=zero
236 vsig(i)=fxbsig(nfs+i)
238 ELSEIF (ifile==1)
THEN
242 READ(ifxs,rec=ircs) (vsig(iad+j),j=1,6)
248 READ(ifxs,rec=ircs) (vsig(iad+j),j=1,ii)
257 last=
min(nvsiz,nels-offset)
261 gbuf => elbuf_tab(ng)%GBUF
269 gbuf%SIG(jj(1)+iel)=gbuf%SIG(jj(1)+iel)+fac*vsig(nfs2+1)
270 gbuf%SIG(jj(2)+iel)=gbuf%SIG(jj(2)+iel)+fac*vsig(nfs2+2)
271 gbuf%SIG(jj(3)+iel)=gbuf%SIG(jj(3)+iel)+fac*vsig(nfs2+3)
272 gbuf%SIG(jj(4)+iel)=gbuf%SIG(jj(4)+iel)+fac*vsig(nfs2+4)
273 gbuf%SIG(jj(5)+iel)=gbuf%SIG(jj(5)+iel)+fac*vsig(nfs2+5)
274 gbuf%SIG(jj(6)+iel)=gbuf%SIG(jj(6)+iel)+fac*vsig(nfs2+6)
275 gbuf%EINT(iel) =gbuf%EINT(iel)+fac2*vsig(nfs2+7)
276 eielc(mx) = eielc(mx) + fac2*vsig(nfs2+7)
284 last=
min(nvsiz,nelc-offset)
289 gbuf => elbuf_tab(ng)%GBUF
296 gbuf%FOR(jj(1)+iel)=gbuf%FOR(jj(1)+iel)+fac*vsig(nfs2+1)
297 gbuf%FOR(jj(2)+iel)=gbuf%FOR(jj(2)+iel)+fac*vsig(nfs2+2)
298 gbuf%FOR(jj(3)+iel)=gbuf%FOR(jj(3)+iel)+fac*vsig(nfs2+3)
299 gbuf%FOR(jj(4)+iel)=gbuf%FOR(jj(4)+iel)+fac*vsig(nfs2+4)
300 gbuf%FOR(jj(5)+iel)=gbuf%FOR(jj(5)+iel)+fac*vsig(nfs2+5)
302 gbuf%MOM(jj(1)+iel)=gbuf%MOM(jj(1)+iel)+fac*vsig(nfs2+6)
303 gbuf%MOM(jj(2)+iel)=gbuf%MOM(jj(2)+iel)+fac*vsig(nfs2+7)
304 gbuf%MOM(jj(3)+iel)=gbuf%MOM(jj(3)+iel)+fac*vsig(nfs2+8)
306 gbuf%EINT(iel)=gbuf%EINT(iel)+fac2*vsig(nfs2+9)
307 gbuf%EINT(iel+nel)=gbuf%EINT(iel+nel)+fac2*vsig(nfs2+10)
308 eielc(mx)=eielc(mx)+fac2*(vsig(nfs2+9)+vsig(nfs2+10))
316 last=
min(nvsiz,nelt-offset)
321 gbuf => elbuf_tab(ng)%GBUF
322 gbuf%FOR(iel)=gbuf%FOR(iel)+fac*vsig(nfs2+1)
323 gbuf%EINT(iel)=gbuf%EINT(iel)+fac2*vsig(nfs2+2)
324 eielc(mx)=eielc(mx)+fac2*vsig(nfs2+2)
332 last=
min(nvsiz,nelp-offset)
337 gbuf => elbuf_tab(ng)%GBUF
344 gbuf%FOR(jj(1)+iel)=gbuf%FOR(jj(1)+iel)+fac*vsig(nfs2+1)
345 gbuf%FOR(jj(2)+iel)=gbuf%FOR(jj(2)+iel)+fac*vsig(nfs2+2)
346 gbuf%FOR(jj(3)+iel)=gbuf%FOR(jj(3)+iel)+fac*vsig(nfs2+3)
348 gbuf%MOM(jj(1)+iel)=gbuf%MOM(jj(1)+iel)+fac*vsig(nfs2+4)
349 gbuf%MOM(jj(2)+iel)=gbuf%MOM(jj(2)+iel)+fac*vsig(nfs2+5)
350 gbuf%MOM(jj(3)+iel)=gbuf%MOM(jj(3)+iel)+fac*vsig(nfs2+6)
352 gbuf%EINT(iel)=gbuf%EINT(iel)+fac2*vsig(nfs2+7)
353 gbuf%EINT(iel+nel)=gbuf%EINT(iel+nel)+fac2*vsig(nfs2+8)
354 eielc(mx)=eielc(mx)+fac2*(vsig(nfs2+7)+vsig(nfs2+8))
362 last=
min(nvsiz,neltg-offset)
367 gbuf => elbuf_tab(ng)%GBUF
374 gbuf%FOR(jj(1)+iel)=gbuf%FOR(jj(1)+iel)+fac*vsig
375 gbuf%FOR(jj(2)+iel)=gbuf%FOR(jj(2)+iel)+fac*vsig(nfs2+2)
376 gbuf%FOR(jj(3)+iel)=gbuf%FOR(jj(3)+iel)+fac*vsig(nfs2+3)
377 gbuf%FOR(jj(4)+iel)=gbuf%FOR(jj(4)+iel)+fac*vsig(nfs2+4)
378 gbuf%FOR(jj(5)+iel)=gbuf%FOR(jj(5)+iel)+fac*vsig(nfs2+5)
381 gbuf%MOM(jj(2)+iel)=gbuf%MOM(jj(2)+iel)+fac*vsig(nfs2+7)
382 gbuf%MOM(jj(3)+iel)=gbuf%MOM(jj(3)+iel)+fac*vsig(nfs2+8)
384 gbuf%EINT(iel)=gbuf%EINT(iel)+fac2*vsig(nfs2+9)
385 gbuf%EINT(iel+nel)=gbuf%EINT(iel+nel)+fac2*vsig(nfs2+10)
386 eielc(mx)=eielc(mx)+fac2*(vsig(nfs2+9)+vsig(nfs2+10))
397 last=
min(nvsiz,nels-offset)
402 gbuf => elbuf_tab(ng)%GBUF
409 sigl(i,1)=elbuf_tab(ng)%GBUF%SIG(jj(1)+iel)
410 sigl(i,2)=elbuf_tab(ng)%GBUF%SIG(jj(2)+iel)
411 sigl(i,3)=elbuf_tab(ng)%GBUF%SIG(jj(3)+iel)
412 sigl(i,4)=elbuf_tab(ng)%GBUF%SIG(jj(4)+iel)
413 sigl(i,5)=elbuf_tab(ng)%GBUF%SIG(jj(5)+iel)
414 sigl(i,6)=elbuf_tab(ng)%GBUF%SIG(jj(6)+iel)
417 CALL schrep(last,sigl,sig,rt)
428 elbuf_tab(ng)%GBUF%SIG(jj(1)+iel)=sig(i,1)
429 elbuf_tab(ng)%GBUF%SIG(jj(2)+iel)=sig(i,2)
430 elbuf_tab(ng)%GBUF%SIG(jj(3)+iel)=sig(i,3)
431 elbuf_tab(ng)%GBUF%SIG(jj(4)+iel)=sig(i,4)
432 elbuf_tab(ng)%GBUF%SIG(jj(5)+iel)=sig(i,5)
433 elbuf_tab(ng)%GBUF%SIG(jj(6)+iel)=sig(i,6)
440 partsav(1,i)=partsav(1,i)-eielp(i)+eielc(i)
455#include
"implicit_f.inc"
459#include "mvsiz_p.inc"
465 . sig(mvsiz,6), sigl(mvsiz,6), r(3,*)
473 . r(1,1)*(r(1,1)*sig(i,1)+r(2,1)*sig(i,4)+r(3,1)*sig(i,6))
474 . +r(2,1)*(r(1,1)*sig(i,4)+r(2,1)*sig(i,2)+r(3,1)*sig(i,5))
475 . +r(3,1)*(r(1,1)*sig(i,6)+r(2,1)*sig(i,5)+r(3,1)*sig(i,3))
477 . r(1,2)*(r(1,2)*sig(i,1)+r(2,2)*sig(i,4)+r(3,2)*sig(i,6))
478 . +r(2,2)*(r(1,2)*sig(i,4)+r(2,2)*sig(i,2)+r(3,2)*sig(i,5))
479 . +r(3,2)*(r(1,2)*sig(i,6)+r(2,2)*sig(i,5)+r(3,2)*sig(i,3))
481 . r(1,3)*(r(1,3)*sig(i,1)+r(2,3)*sig(i,4)+r(3,3)*sig(i,6))
482 . +r(2,3)*(r(1,3)*sig(i,4)+r(2,3)*sig(i,2)+r(3,3)*sig(i,5))
483 . +r(3,3)*(r(1,3)*sig(i,6)+r(2,3)*sig(i,5)+r(3,3)*sig(i,3))
485 . r(1,1)*(r(1,2)*sig(i,1)+r(2,2)*sig(i,4)+r(3,2)*sig(i,6))
486 . +r(2,1)*(r(1,2)*sig(i,4)+r(2,2)*sig(i,2)+r(3,2)*sig(i,5))
487 . +r(3,1)*(r(1,2)*sig(i,6)+r(2,2)*sig(i,5)+r(3,2)*sig(i,3))
489 . r(1,2)*(r(1,3)*sig(i,1)+r(2,3)*sig(i,4)+r(3,3)*sig(i,6))
490 . +r(2,2)*(r(1,3)*sig(i,4)+r(2,3)*sig(i,2)+r(3,3)*sig(i,5))
491 . +r(3,2)*(r(1,3)*sig(i,6)+r(2,3)*sig(i,5)+r(3,3)*sig(i,3))
493 . r(1,1)*(r(1,3)*sig(i,1)+r(2,3)*sig(i,4)+r(3,3)*sig(i,6))
494 . +r(2,1)*(r(1,3)*sig(i,4)+r(2,3)*sig(i,2)+r(3,3)*sig(i,5))
495 . +r(3,1)*(r(1,3)*sig(i,6)+r(2,3)*sig(i,5)+r(3,3)*sig(i,3))