#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; float padding; }; 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