File: star_polymer.c

package info (click to toggle)
mccode 3.5.19%2Bds5-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,113,256 kB
  • sloc: ansic: 40,697; python: 25,137; yacc: 8,438; sh: 5,405; javascript: 4,596; lex: 1,632; cpp: 742; perl: 296; lisp: 273; makefile: 226; fortran: 132
file content (26 lines) | stat: -rw-r--r-- 537 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
double form_volume(void);

double Iq(double q, double radius2, double arms);

static double star_polymer_kernel(double q, double radius2, double arms)
{

    double u_2 = radius2 * q * q;
    double v = u_2 * arms / (3.0 * arms - 2.0);

    double term1 = v + expm1(-v);
    double term2 = ((arms - 1.0)/2.0) * square(expm1(-v));

    return (2.0 * (term1 + term2)) / (arms * v * v);

}

double form_volume(void)
{
    return 1.0;
}

double Iq(double q, double radius2, double arms)
{
    return star_polymer_kernel(q, radius2, arms);
}