40 SUBROUTINE agrad0(IPARG ,IXS ,IXQ ,X ,ALE_CONNECT ,
41 . GRAD ,VEUL ,ELBUF_STR ,ITASK )
47 use element_mod ,
only : nixs,nixq
51#include
"implicit_f.inc"
57#include "vect01_c.inc"
63 INTEGER IXS(NIXS,NUMELS), IXQ(NIXQ,NUMELQ)
64 my_real x(3,numnod),grad(*), veul(*)
65 INTEGER IPARG(NPARG,NGROUP),ITASK
66 TYPE (ELBUF_STRUCT_),
DIMENSION (NGROUP),
TARGET :: ELBUF_STR
72 TYPE(g_bufel_) ,
POINTER :: GBUF
76 DO ng=itask+1,ngroup,nthread
77 gbuf => elbuf_str(ng)%GBUF
81 IF((jtur == 1 .OR. jthe == 1) .AND. ity /= 51 .AND.
THEN
91 IF(jale+jlag /= 0)
THEN
92 CALL agrad3(ixs,x,ale_connect,grad(6*nft+1))
94 CALL egrad3(ixs,x,ale_connect,grad(6*nft+1),veul)
96 CALL tgrad3(gbuf%SIG,grad(6*nft+1),nel)
99 IF(jlag+jale /= 0)
THEN
100 CALL agrad2(ixq,x,ale_connect,grad(4*nft+1))
101 ELSEIF(jeul == 1)
THEN
102 CALL egrad2(ixq,x,ale_connect,grad(4*nft+1))
104 CALL tgrad2(gbuf%SIG,grad(4*nft+1),nel)
subroutine agrad0(iparg, ixs, ixq, x, ale_connect, grad, veul, elbuf_str, itask)