C DDINQT SOURCE CHAT 05/01/12 22:37:56 5004 SUBROUTINE DERDERINVARIPQT (SIG,Q_SS,T_SS,N) IMPLICIT INTEGER(I-N) integer n,i,j real*8 sig(n),q_ss(6,6),t_ss(6,6),q,t,tolt,aux0,aux1,aux2, . aux3,aux4,aux5,aux6,pijkl(6,6),wijkl(6,6),cst,snt, . I_s(6),J2_s(6),J3_s(6) call Invari_q(sig,n,q) if (q.lt.1.D-8) then do i=1,6 do j=1,6 q_ss(i,j)=0.D0 t_ss(i,j)=0.D0 enddo enddo return endif call DerDerInvariIJJ(sig,pijkl,wijkl,n) call DerInvariIJJ(sig,I_s,J2_s,J3_s,n) call Invari_t(sig,n,t) tolt=1.D-6 t =3.D0*t if (t.lt.tolt) t=tolt if (t.gt.(4.D0*atan(1.D0)-tolt)) t=4.D0*atan(1.D0)-tolt cst=dcos(t) snt=dsin(t) aux0=3.D0/(2.D0*q) aux1=-9.D0/(4.D0*q**3) aux2=3.D0/(2.D0*q*q)*cst/snt aux3=-9.D0/(2.D0*q**3)/snt aux4=-9.D0/(2.D0*q**4)*cst/snt-27.D0/(4.D0*q**4)*cst/snt**3 aux5=81.D0/(4.D0*q**5)/snt**3 aux6=-243.D0/(4.D0*q**6)*cst/snt**3 do i=1,n do j=1,n q_ss(i,j)=aux0*pijkl(i,j)+aux1*J2_s(i)*J2_s(j) t_ss(i,j)=aux2*pijkl(i,j)+aux3*wijkl(i,j)+ . aux4*J2_s(i)*J2_s(j)+aux6*J3_s(i)*J3_s(j)+ . aux5*(J2_s(i)*J3_s(j)+J3_s(i)*J2_s(j)) enddo enddo return end