1 | // header for SphereFit.c |
---|
2 | |
---|
3 | /* IGOR Fit Functions */ |
---|
4 | double MultiShell(double dp[], double q); |
---|
5 | double PolyMultiShell(double dp[], double q); |
---|
6 | double SphereForm(double dp[], double q); |
---|
7 | double CoreShellForm(double dp[], double q); |
---|
8 | double PolyCoreForm(double dp[], double q); |
---|
9 | double PolyCoreShellRatio(double dp[], double q); |
---|
10 | double VesicleForm(double dp[], double q); |
---|
11 | double SchulzSpheres(double dp[], double q); |
---|
12 | double PolyRectSpheres(double dp[], double q); |
---|
13 | double PolyHardSphereIntensity(double dp[], double q); |
---|
14 | double BimodalSchulzSpheres(double dp[], double q); |
---|
15 | double GaussPolySphere(double dp[], double q); |
---|
16 | double LogNormalPolySphere(double dp[], double q); |
---|
17 | double BinaryHS(double dp[], double q); |
---|
18 | double BinaryHS_PSF11(double dp[], double q); |
---|
19 | double BinaryHS_PSF12(double dp[], double q); |
---|
20 | double BinaryHS_PSF22(double dp[], double q); |
---|
21 | double OneShell(double dp[], double q); |
---|
22 | double TwoShell(double dp[], double q); |
---|
23 | double ThreeShell(double dp[], double q); |
---|
24 | double FourShell(double dp[], double q); |
---|
25 | double PolyOneShell(double dp[], double q); |
---|
26 | double PolyTwoShell(double dp[], double q); |
---|
27 | double PolyThreeShell(double dp[], double q); |
---|
28 | double PolyFourShell(double dp[], double q); |
---|
29 | double BCC_ParaCrystal(double dp[], double q); |
---|
30 | double FCC_ParaCrystal(double dp[], double q); |
---|
31 | double SC_ParaCrystal(double dp[], double q); |
---|
32 | double FuzzySpheres(double dp[], double q); |
---|
33 | |
---|
34 | //function prototypes |
---|
35 | double F_func(double qr); |
---|
36 | double MultiShellGuts(double q,double rcore,double ts,double tw,double rhocore,double rhoshel,int num); |
---|
37 | double fnt2(double yy, double zz); |
---|
38 | double fnt3(double yy, double pp, double zz); |
---|
39 | double SchulzSphere_Fn(double scale, double ravg, double pd, double rho, double rhos, double x); |
---|
40 | int ashcroft(double qval, double r2, double nf2, double aa, double phi, double *s11, double *s22, double *s12); |
---|
41 | double BCC_Integrand(double w[], double qq, double xx, double yy); |
---|
42 | double BCCeval(double Theta, double Phi, double temp1, double temp3); |
---|
43 | double SphereForm_Paracrystal(double radius, double delrho, double x); |
---|
44 | double FCC_Integrand(double w[], double qq, double xx, double yy); |
---|
45 | double FCCeval(double Theta, double Phi, double temp1, double temp3); |
---|
46 | double SC_Integrand(double w[], double qq, double xx, double yy); |
---|
47 | double SCeval(double Theta, double Phi, double temp3, double temp4, double temp5); |
---|
48 | |
---|
49 | |
---|
50 | |
---|
51 | static double SchulzPoint(double x, double avg, double zz); |
---|
52 | static double gammln(double xx); |
---|
53 | static double Gauss_distr(double sig, double avg, double pt); |
---|
54 | static double LogNormal_distr(double sig, double mu, double pt); |
---|
55 | |
---|