source: sans/XOP_Dev/SANSAnalysis/lib/libCylinder.h @ 501

Last change on this file since 501 was 501, checked in by ajj, 14 years ago

Bicelle and Core-Shell Parallelepiped models for Andrea Hamill

  • Property svn:executable set to *
File size: 5.1 KB
Line 
1/*
2        libCylinderFit.h -- equates for CylinderFit XOP
3*/
4
5
6/* Prototypes */
7/* IGOR Fit Functions */
8double CylinderForm(double dp[], double q);
9double EllipCyl76(double dp[], double q);
10double EllipCyl20(double dp[], double q);
11double TriaxialEllipsoid(double dp[], double q);
12double Parallelepiped(double dp[], double q);
13double HollowCylinder(double dp[], double q);
14double EllipsoidForm(double dp[], double q);
15double Cyl_PolyRadius(double dp[], double q);
16double Cyl_PolyLength(double dp[], double q);
17double CoreShellCylinder(double dp[], double q);
18double OblateForm(double dp[], double q);
19double ProlateForm(double dp[], double q);
20double FlexExclVolCyl(double dp[], double q);
21double FlexCyl_PolyLen(double dp[], double q);
22double FlexCyl_PolyRad(double dp[], double q);
23double FlexCyl_Ellip(double dp[], double q);
24double PolyCoShCylinder(double dp[], double q);
25double StackedDiscs(double dp[], double q);
26double LamellarFF(double dp[], double q);
27double LamellarFF_HG(double dp[], double q);
28double LamellarPS(double dp[], double q);
29double LamellarPS_HG(double dp[], double q);
30double Lamellar_ParaCrystal(double dp[], double q);
31double Spherocylinder(double dp[], double q);
32double ConvexLens(double dp[], double q);
33double Dumbbell(double dp[], double q);
34double CappedCylinder(double dp[], double q);
35double Barbell(double dp[], double q);
36double PolyCoreBicelle(double dp[], double q);
37double CSParallelepiped(double dp[], double q);
38
39/* internal functions */
40double CylKernel(double qq, double rr,double h, double theta);
41double NR_BessJ1(double x);
42double EllipCylKernel(double qq, double ra,double nu, double theta);
43double TriaxialKernel(double q, double aa, double bb, double cc, double dx, double dy);
44double PPKernel(double aa, double mu, double uu);
45double HolCylKernel(double qq, double rcore, double rshell, double length, double dum);
46double EllipsoidKernel(double qq, double a, double va, double dum);
47double Cyl_PolyRadKernel(double q, double radius, double length, double zz, double delrho, double dumRad);
48double SchulzPoint_cpr(double dumRad, double radius, double zz);
49double Cyl_PolyLenKernel(double q, double radius, double len_avg, double zz, double delrho, double dumLen);
50double CoreShellCylKernel(double qq, double rcore, double thick, double rhoc, double rhos, double rhosolv, double length, double dum);
51double gfn4(double xx, double crmaj, double crmin, double trmaj, double trmin, double delpc, double delps, double qq);
52double gfn2(double xx, double crmaj, double crmin, double trmaj, double trmin, double delpc, double delps, double qq);
53double FlePolyLen_kernel(double q, double radius, double length, double lb, double zz, double delrho, double zi);
54double FlePolyRad_kernel(double q, double ravg, double Lc, double Lb, double zz, double delrho, double zi);
55double EllipticalCross_fn(double qq, double a, double b);
56double CScyl(double qq, double rad, double radthick, double facthick, double rhoc, double rhos, double rhosolv, double length, double dum);
57double CSCylIntegration(double qq, double rad, double radthick, double facthick, double rhoc, double rhos, double rhosolv, double length);
58double Stackdisc_kern(double qq, double rcore, double rhoc, double rhol, double rhosolv, double length, double thick, double dum, double gsd, double d, double N);
59double paraCryst_sn(double ww, double qval, double davg, long nl, double an);
60double paraCryst_an(double ww, double qval, double davg, long nl);
61double SphCyl_kernel(double w[], double x, double tt, double Theta);
62double ConvLens_kernel(double w[], double x, double tt, double theta);
63double Dumb_kernel(double w[], double x, double tt, double theta);
64double BicelleKernel(double qq, double rad, double radthick, double facthick, double rhoc, double rhoh, double rhor, double rhosolv, double length, double dum);
65double BicelleIntegration(double qq, double rad, double radthick, double facthick, double rhoc, double rhoh, double rhor, double rhosolv, double length);
66double CSPP_Outer(double *, double q, double dum);
67double CSPP_Inner(double *, double mu, double uu);
68
69/////////functions for WRC implementation of flexible cylinders
70static double Sk_WR(double q, double L, double b);
71static double w_WR(double x);
72static double u1(double q, double L, double b);
73static double u_WR(double q, double L, double b);
74static double Rgsquarezero(double q, double L, double b);
75static double Rgsquareshort(double q, double L, double b);
76static double Rgsquare(double q, double L, double b);
77static double AlphaSquare(double x);
78static double miu(double x);
79static double Sdebye(double q, double L, double b);
80static double Sdebye1(double q, double L, double b);
81static double Sexv(double q, double L, double b);
82static double Sexvnew(double q, double L, double b);
83static double a2short(double q, double L, double b, double p1short, double p2short, double q0);
84static double a1short(double q, double L, double b, double p1short, double p2short, double q0);
85static double a2long(double q, double L, double b, double p1, double p2, double q0);
86static double sech_WR(double x);
87static double a1long(double q, double L, double b, double p1, double p2, double q0);
88static double gammaln(double xx);
Note: See TracBrowser for help on using the repository browser.