dvrhin
C DVRHIN SOURCE CHAT 05/01/12 22:59:15 5004 SUBROUTINE DVFLRHMCINV (SIGINV,XPP,XQQ,XQT,XTT) IMPLICIT INTEGER(I-N) real*8 siginv(3),xqq,xqt,xtt,xpp,q,t real*8 kt,ktd,ktdd,aux,aux2,aux3,tat,cst,cst2, . ktetmc,derktetmc,derderktetmc,aa,bb,snt real*8 coh,phi,ar,tmax,aap,aan,bbp,bbn common /rhmcdata/ coh,phi,ar,tmax,aap,aan,bbp,bbn q=siginv(2) xqq=0.D0 xqt=0.D0 xtt=0.D0 xpp=0.D0 if (abs(q).lt.1.D-17) return call Invari_J3_a_t2(q,siginv(3),t) cst = cos(3.D0*t) aux = sqrt(q*kt**2+(ar*coh)**2) if (abs(t).gt.tmax) then aa = aap bb = bbp if (t.lt.0.D0) then aa = aan bb = bbn endif snt = sin(3.D0*t) aux2= aa+2.D0*bb*snt aux3= aa-4.D0*bb*snt xqq = -(3.D0*bb*snt*aux3/q+(aux2*kt/aux)**2)/(4.D0*aux) xqt = (3.D0*sqrt(3.D0)*bb)/(4.d0*aux*sqrt(q))* . (-kt*kt*aux2/aux**2+(4.D0*bb*snt-aa)/q) xtt = 27.D0*bb**2*(1.D0/q-(kt/aux)**2)/(q*aux*4.D0) else ktd = derktetMC(t) ktdd= derderktetMC(t) tat = tan(3.D0*t) cst2= cst**2 xqq =-(kt*ktd*tat-kt*kt)**2/(4.D0*aux**3)+ . (tat)/(2.D0*aux*q)*(tat/2.D0* . (ktd*ktd+kt*ktdd)+kt*ktd*(1.5D0/cst2-1.D0)) xqt = sqrt(3.D0)/(4.D0*cst*aux*sqrt(q))* . ((kt*kt*ktd*(kt-ktd*tat))/(aux*aux)+ . (tat*(ktd*ktd+kt*ktdd)+kt*ktd*(3.D0/cst2-2.D0))/q) xtt = (0.75D0)/(q*aux*cst2)* . (-(kt*ktd/aux)**2+(ktd*ktd+kt*ktdd+3.D0*kt*ktd*tat)/q) endif return end
© Cast3M 2003 - Tous droits réservés.
Mentions légales