30 SUBROUTINE dfunc0(ELBUF_TAB ,FUNC ,IFUNC ,IPARG ,PM ,
31 2 EL2FA ,NBF ,SPBUF ,IPART ,IPARTSP )
39#include "implicit_f.inc"
43#include "vect01_c.inc"
54 . func(*), pm(npropm,*),spbuf(nspbuf,*)
55 INTEGER IPARG(NPARG,*),EL2FA(*),IFUNC,NBF,
56 . ipart(lipart1,*),ipartsp(*)
57 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
63 . p, vonm2, vonm, s1, s2, s12, s3,
VALUE
64 INTEGER I,II(6),NG,NEL,N,MLW,NN,NN1,JTURB,MT,IALEL,IPRT
65 TYPE(g_bufel_) ,
POINTER :: GBUF
92 func(el2fa(nn1+n)) = spbuf(1,n)
95 gbuf => elbuf_tab(ng)%GBUF
96 jturb= iparg(12,ng)*(iparg(7,ng)+iparg(11,ng))
97 ialel= iparg(7,ng)+iparg(11,ng)
105 VALUE = gbuf%EINT(i)/
max(em30,pm(89,mt))
107 VALUE = gbuf%EINT(i)/
max(em30,gbuf%RHO(i))
109 func(el2fa(nn1+n)) =
VALUE
112 ELSEIF (ifunc == 6 .OR. ifunc == 7)
THEN
116 IF(el2fa(nn1+n)/=0)
THEN
117 p = - (gbuf%SIG(ii(1) + i)
118 . + gbuf%SIG(ii(2) + i)
119 . + gbuf%SIG(ii(3) + i) ) * third
123 s2=gbuf%SIG(ii(2) + i) + p
124 s3=gbuf%SIG(ii(3) + i) + p
125 vonm2= three*(gbuf%SIG(ii(4) + i)**2 +
126 . gbuf%SIG(ii(5) + i)**2 +
127 . gbuf%SIG(ii(6) + i)**2 +
128 . half*(s1*s1+s2*s2+s3*s3) )
136 ELSEIF (ifunc >= 14 .AND. ifunc <= 19)
THEN
140 IF(el2fa(nn1+n)/=0)
THEN
141 func(el2fa(nn1+n)) = gbuf%SIG(ii(ifunc - 13) + i)
147 IF(el2fa(nn1+n)/=0)
THEN
148 func(el2fa(nn1+n)) = zero
subroutine dfunc0(elbuf_tab, func, ifunc, iparg, pm, el2fa, nbf, spbuf, ipart, ipartsp)