File: teubner_strey.c

package info (click to toggle)
mccode 3.5.19%2Bds5-2
  • links: PTS, VCS
  • area: main
  • in suites: 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 (17 lines) | stat: -rw-r--r-- 612 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <math.h>

#define PI 3.14159265358979323846

double Iq(double q, double volfraction_a, double sld_a, double sld_b, double d, double xi);

#pragma acc routine seq
double Iq(double q, double volfraction_a, double sld_a, double sld_b, double d, double xi) {
    double drho = sld_a - sld_b;
    double k = 2.0 * PI * xi / d;
    double a2 = pow(1.0 + k * k, 2.0);
    double c1 = 2.0 * xi * xi * (1.0 - k * k);
    double c2 = xi * xi * xi * xi;
    double prefactor = 8.0 * PI * volfraction_a * (1.0 - volfraction_a) * drho * drho * c2 / xi;
    return 1.0e-4 * prefactor / (c2 * q * q + c1 * q + a2);
}