Ticket #84: GEISSLER.FOR

File GEISSLER.FOR, 1.0 KB (added by jhjcho, 12 years ago)
Line 
1        subroutine gelfit
2*       SHIBAYAMA-GEISSLER TWO-LENGTH SCALE SCATTERING FUNCTION FOR GELS
3
4*       See Sibayama, Tanaka & Han, J Chem Phys, (1992), 97(9), 6829-6841
5*       or  Mallam, Horkay, Hecht, Rennie & Geissler, Macromol, (1991), 24, 543
6
7        include 'frills_sources:function.inc'
8
9        real*8          lscale,gscale,zeta,rg,df,bkgd
10        real*8          a,b,c,d,e
11
12        lscale=p(1)
13        gscale=p(2)
14*       ZETA IS CORRELATION LENGTH IN LORENTZIAN
15        zeta=p(3)
16*       RG IS THE RADIUS OF GYRATION OF THE INHOMOGENEITIES
17        rg=p(4)
18*       DF IS THE FRACTAL EXPONENT
19*       SCATTERING LAW REDUCES TO PURE LORENZTIAN IF DF=2
20        df=p(5)
21        bkgd=p(6)
22
23        if (df.le.0) then
24           write(6,*)' '
25           write(6,*)'The Scaling Exponent must be >=0'
26           write(6,*)'Will set to 2.'
27           write(6,*)' '
28           df=2.
29        end if
30
31        do j=1,nv
32*          LORENTZIAN TERM
33           a=x(j)*x(j)*zeta*zeta
34           b=(1.+(((df+1.)/3.)*a))
35           c=b**(df/2.)
36*          EXPONENTIAL TERM
37           d=x(j)*x(j)*rg*rg
38           e=-1.*(d/3.)
39           f=dexp(e)
40*          SCATTERING LAW
41           ycal(j)=(lscale/c)+(gscale*f)+bkgd
42        end do
43
44        return
45        end