File: gauss_lorentz_gel.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 (15 lines) | stat: -rw-r--r-- 580 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    
double Iq(double q, double gauss_scale, double cor_length_static, double lorentz_scale, double cor_length_dynamic);

#pragma acc routine seq
double Iq(double q, double gauss_scale, double cor_length_static, double lorentz_scale, double cor_length_dynamic) {
    // Calculate the Gaussian and Lorentzian terms separately
    double term1 = gauss_scale * exp(-q * q * cor_length_static * cor_length_static / 2.0);
    double term2 = lorentz_scale / (1.0 + q * q * cor_length_dynamic * cor_length_dynamic);

    // Return the sum of the two terms
    return term1 + term2;
}