kCalculateAmoebaCudaKirkwoodParticle.h 1.46 KB
Newer Older
Mark Friedrichs's avatar
Mark Friedrichs committed
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef AMOEBA_CUDA_KIRKWOOD_PARTICLE_H
#define AMOEBA_CUDA_KIRKWOOD_PARTICLE_H

struct KirkwoodParticle {

    // coordinates charge

    float x;
    float y;
    float z;
    float q;

    // lab frame dipole

    float labFrameDipole[3]; 

    // lab frame quadrupole

    float labFrameQuadrupole_XX;
    float labFrameQuadrupole_XY;
    float labFrameQuadrupole_XZ;
    float labFrameQuadrupole_YY;
    float labFrameQuadrupole_YZ;
    float labFrameQuadrupole_ZZ;

    // induced dipole

    float inducedDipole[3]; 

    // polar induced dipole

    float inducedDipoleP[3];

    // Born radii

    float bornRadius;

    float force[3];
    float torque[3];

    float dBornRadius;
    float dBornRadiusPolar;
Peter Eastman's avatar
Peter Eastman committed
43
    float padding;
Mark Friedrichs's avatar
Mark Friedrichs committed
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91

};

struct KirkwoodEDiffParticle {

    // coordinates charge

    float x;
    float y;
    float z;
    float q;

    // scaling factor

    float thole;
    float damp;
    
    // lab frame dipole

    float labFrameDipole[3]; 

    // lab frame quadrupole

    float labFrameQuadrupole_XX;
    float labFrameQuadrupole_XY;
    float labFrameQuadrupole_XZ;
    float labFrameQuadrupole_YY;
    float labFrameQuadrupole_YZ;
    float labFrameQuadrupole_ZZ;

    // induced dipole and polar counterpart

    float inducedDipole[3]; 
    float inducedDipoleP[3]; 

    // solvent induced dipole and polar counterpart

    float inducedDipoleS[3]; 
    float inducedDipolePS[3]; 

    // Born radii

    float force[3];
    float torque[3];

};

#endif